ỦY BAN NHÂN DÂN TỈNH BÌNH DƯƠNG
TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT
NGUYỄN CAO CƯỜNG
TRÍCH RÚT THÔNG TIN DU LỊCH
BẰNG PHƯƠNG PHÁP HỌC SÂU
LUẬN VĂN THẠC SĨ
CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN
MÃ SỐ: 8480104
BÌNH DƯƠNG - 2019
ỦY BAN NHÂN DÂN TỈNH BÌNH DƯƠNG
TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT
NGUYỄN CAO CƯỜNG
TRÍCH RÚT THÔNG TIN DU LỊCH
BẰNG PHƯƠNG PHÁP HỌC SÂU
LUẬN VĂN THẠC SĨ
CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN
MÃ SỐ: 8480104
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS. BÙI THANH HÙNG
BÌNH DƯƠNG - 2019
LỜI CAM ĐOAN
Tôi là Nguyễn Cao Cường, học viên lớp CH16HT01, ngành Hệ thống thông
tin, trường Đại học Thủ Dầu Một.
Tôi cam đoan rằng luận văn “Trích rút thông tin du lịch bằng phương pháp học
sâu” là do tôi tự vận dụng những kiến thức đã được trang bị, tự tìm tòi, thực nghiệm
và phát triển theo sự hướng dẫn của TS. Bùi Thanh Hùng. Luận văn này không phải
được sao chép từ các tài liệu, công trình nghiên cứu của người khác mà không ghi
trích dẫn cụ thể.
Tôi hoàn toàn chịu trách nhiệm cho lời cam đoan này.
Bình Dương, ngày 30 tháng 6 năm 2019
Tác giả
Nguyễn Cao Cường
LỜI CẢM ƠN
Tôi cảm ơn tất cả các bạn học cùng lớp CH16HT. Tôi đã cùng các bạn trải qua
những khó khăn, thử thách trong học tập, cùng nhau vượt qua những bài tiểu luận
ngợp thở, cùng nhau đi hội thảo khoa học dữ liệu ở các trướng lớn, cùng nhau thảo
luận và báo cáo nhóm.
Tôi cảm ơn các giảng viên trường Đại học Thủ Dầu Một cùng các thầy của
trường bạn, đã hết sức nhiệt tình trong truyền thụ trí thức, giúp tôi và các bạn có được
những nền tảng kiến thức vững vàng và tầm nhìn tốt hơn về tương lai của nghành học.
Và hơn hết, tôi cảm ơn thầy hướng dẫn, TS. Bùi Thanh Hùng, cùng 2 bạn
chung nhóm. Thầy đã giúp đỡ rất nhiều trong quá trình thực hiện luận văn, từ việc bổ
sung thêm các kiến thức về Khoa học dữ liệu, đến những thực nghiệm đòi hỏi kỹ
thuật lập trình cao. Thầy đã hết lòng hướng dẫn nhóm hoàn thành luận văn. Cùng với
2 bạn chung nhóm, tôi đã có nhiều những trải nghiệm thú vị khi làm việc chung, các
bạn đã rất gắn bó và giúp đỡ nhau rất nhiều.
Sau cùng, tôi cảm ơn gia đình, các đồng nghiệp và bạn bè, đã luôn động viên,
chia sẻ công việc và giúp tôi có nhiều hơn thời gian hoàn thành luận văn này.
Cảm ơn và cảm ơn rất nhiều!
MỤC LỤC
MỤC LỤC ............................................................................................................. 1
TÓM TẮT LUẬN VĂN ....................................................................................... 3
DANH MỤC THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT..................................... 5
DANH MỤC BẢNG BIỂU .................................................................................. 6
DANH MỤC HÌNH VẼ, ĐỒ THỊ ....................................................................... 7
CHƯƠNG 1 TỔNG QUAN VỀ LĨNH VỰC NGHIÊN CỨU .......................... 9
1.1. LÍ DO CHỌN ĐỀ TÀI ................................................................................................................................9
1.2. MỤC TIÊU NGHIÊN CỨU .......................................................................................................................11
1.3. ĐỐI TƯỢNG, PHẠM VI NGHIÊN CỨU .....................................................................................................11
1.4. PHƯƠNG PHÁP NGHIÊN CỨU ................................................................................................................13
1.5. BỐ CỤC LUẬN VĂN ...............................................................................................................................13
CHƯƠNG 2
CƠ SỞ LÝ THUYẾT ............................................................. 15
2.1. XỬ LÝ NGÔN NGỮ ................................................................................................................................15
2.1.1 Tách từ (Tokenizer) .....................................................................................................................15
2.1.2 Xác định loại từ trong câu (Part-Of-Speech tagging) ................................................................15
2.1.3 Xác định cụm từ (Chunking) ......................................................................................................17
2.1.4 Phân tích cú pháp (Parsing) .......................................................................................................18
2.2. CÁC PHƯƠNG PHÁP BIỂU DIỄN TỪ DƯỚI DẠNG VÉC TƠ ......................................................................18
2.3.1. Từ nhúng tần xuất (Frequency-based embedding) ...................................................................19
2.3.2. Từ nhúng dự đoán (Prediction-based embedding) ...................................................................23
2.3. HỌC SÂU ..............................................................................................................................................26
2.3.1. Mạng nơ-ron nhân tạo (ANN) ...................................................................................................26
2.3.2. Mạng nơ-ron tích chập CNN (Convolutional Neutral Network) ..............................................34
2.3.3. Mạng nơ-ron hồi quy RNN (Recurrent Neural Network) ........................................................37
2.3.4. Mạng nơ-ron ngắn dài LSTM (Long-short term memory) .......................................................39
2.3.5. Mạng nơ-ron dài ngắn song song (Bi-LSTM) ..........................................................................41
2.3.6. Mạng lai CNN –Bi LSTM ..........................................................................................................43
2.4. TRÍCH XUẤT THÔNG TIN (INFORMATION EXTRACTION – IE) ............................................................43
2.4.1. Tổng quan về bài toán Trích xuất thông tin ..............................................................................43
2.4.2. Hướng tiếp cận nghiên cứu .......................................................................................................45
2.4.3. Các nghiên cứu gần đây.............................................................................................................54
2.4.4. Đề xuất hướng nghiên cứu ........................................................................................................55
CHƯƠNG 3
MÔ HÌNH ĐỀ XUẤT ............................................................ 57
1
3.1. TỔNG QUAN VỀ MÔ HÌNH ĐỀ XUẤT .....................................................................................................57
3.2. CÁC ĐẶC TRƯNG CỦA MÔ HÌNH ĐỀ XUẤT............................................................................................60
3.2.1. Từ nhúng – Word embeddings...................................................................................................60
3.2.2. Các đặc trưng cú pháp ...............................................................................................................61
3.3. TRÍCH XUẤT THÔNG TIN DU LỊCH .......................................................................................................62
3.3.1 Mô hình học sâu CNN-BLSTM ..................................................................................................64
3.3.2 Trích xuất thông tin ....................................................................................................................65
CHƯƠNG 4
THỰC NGHIỆM .................................................................... 67
4.1. DỮ LIỆU ...............................................................................................................................................67
4.2.
PHƯƠNG PHÁP ĐÁNH GIÁ MÔ HÌNH .......................................................................................69
4.3.
THỰC NGHIỆM VÀ ĐÁNH GIÁ HIỆU SUẤT ...............................................................................70
4.3.1.
Môi trường thực nghiệm .......................................................................................................70
4.3.2 Kế quả đạt được ...........................................................................................................................70
4.4. XÂY DỰNG ỨNG DỤNG WEB TRỰC QUAN HÓA KẾT QUẢ .....................................................................71
CHƯƠNG 5
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ............................ 73
5.1. KẾT QUẢ ĐẠT ĐƯỢC ............................................................................................................................73
5.2. HƯỚNG PHÁT TRIỂN ............................................................................................................................73
TÀI LIỆU THAM KHẢO ................................................................................. 74
2
TÓM TẮT LUẬN VĂN
Xã hội ngày càng phát triển, đời sống ngày càng được nâng cao nên nhu
cầu du lịch của con người ngày càng tăng. Với công nghệ 4.0, mọi thông tin đều
được chia sẻ, lưu trữ và khai thác liên tục. Nhu cầu về các sản phẩm du lịch ngày
càng nhiều, các thông tin về du lịch tràn ngập trên các trang web, mạng xã hội.
Việc khai thác thông tin liên quan đến du lịch là một nhu cầu, đã và đang tăng lên
theo thời gian. Trích xuất thông tin từ tài liệu du lịch đem lại nhiều lợi ích cho
ngành du lịch cũng như các dịch vụ liên quan đến du lịch. Một hệ thống tự động
trích xuất thông tin sẽ rút trích những thông tin phi cấu trúc thành có cấu trúc. Từ
những thông tin có cấu trúc đó, các chuyên gia du lịch, nhà kinh tế có thể thống
kê, phân tích, tổng hợp và có thể đưa ra dự đoán, dự báo.
Làm sao để khai thác được thông tin du lịch trong khi các thông tin chia sẻ
trong cộng đồng đa số là văn bản, hình ảnh, video. Trích xuất thông tin
(information extraction) là nhiệm vụ thuộc nghành xử lý ngôn ngữ tự nhiên NLP
(natural language processing) có thể làm được việc này. Trích xuất thông tin từ
văn bản đang gặt hái được nhiều kết quả cao. Với sự phát triển mạnh về véc-tơ hóa
từ ngữ, cũng như các thuật toán trong xử lý ngôn ngữ tự nhiên đã góp phần cho
nhiệm vụ trích xuất thông tin có nhiều thành công. Gần đây, công nghệ phần cứng
đã thúc đẩy mạnh cho các thuật toán học sâu, học nhiều tầng (deep learning) khả
thi hơn và đem lại kết quả rất cao. Bên cạnh xử lý nhận dạng giọng nói, khuôn mặt,
vật thể, thuật toán học sâu còn cho kết qủa rất cao trong xử lý văn bản. Nắm bắt
được xu hướng này, luận văn đã nghiên cứu, áp dụng mô hình học sâu vào xử lý
trích rút thông tin từ tài liệu du lịch, cụ thể là tài liệu văn bản.
Bài toán trích rút thông tin về cơ bản có nhiều tác vụ như trích rút thực thể,
trích rút quan hệ, giải quyết đồng tham chiếu. Do thời gian làm luận văn có hạn,
chuẩn bị dữ liệu gặp nhiều khó khăn, nên luận văn chỉ thực hiện áp dụng tác vụ
trích rút thực thể du lịch bằng phương pháp học sâu. Như vậy có thể xem bài toán
trích rút thông tin du lịch là bài toán phân lớp, học có giám sát. Hay nói cách khác,
ta thực hiện gán nhãn những đối tượng trong văn bản thuộc về một trong các lớp:
Lớp tên thực thể địa điểm du lịch, tên thực thể người du lịch, lớp tên thực thể tổ
3
chức-công ty du lịch, lớp tên thực thể đặc sản vùng miền,v..v. Do văn bản khi tách
câu, tách từ tạo thành chuỗi các đối tượng, nên bài toán trở thành bài toán gán nhãn
chuỗi (Labeling Sequence).
Luận văn sử dụng word2vec để số hóa từ đồng thời khai thác hiệu quả các
thuộc tính ngữ pháp như: từ loại, cụm từ. Đặc biệt là triển khai các thuật toán học
sâu vào mô hình phân lớp chuỗi và kết hợp 2 mô hình Bi-LSTM và CNN để tăng
hiệu suất của mô hình. Luận văn thực nghiệm mô hình training, testing và predict,
đồng thời xây dựng công cụ web để mô phỏng kết quả.
4
DANH MỤC THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT
Từ viết tắt
ANN
BiLSTM
Từ chuẩn
Artificial Neural Netword
Bidirectional Long short-term
memory
Diễn giải
Mạng nơ-ron nhân tạo
Mạng LSTM 2 hướng
BIO
Begin-Inside-Outside
Nhãn BIO notation
CNN
Convolutional Neural Network
Mạng nơ-ron tích chập
Convolutional Neural Netword CNN-BiLSTM
Bidirectional Long short-term
memory
Mô hình kết hợp CNN và
Bi-LSTM
Trường ngẫu nhiên có điều
CRF
Conditional Random Field
DL
Deep learning
Học sâu
HMM
Hidden Markov Model
Mô hình Markov ẩn
IE
Information Extraction
Trích rút thông tin
IE
Information Extraction
Trích rút thông tin
LSTM
Long short-term memory
kiện.
Mạng nơ ron bộ nhớ ngắn
dài
Maximum entropy Markov
Mô hình Markov cực đại
models
hóa entropy
NER
Named entity recognition
Nhận dạng thực thể qua tên
NLP
Natural Languague Processing
Xử lý ngôn ngữ tự nhiên
NN
Neural Network
Mạng nơ-ron
POS
Part-Of-Speech
Từ loại
RNN
Recurrent Neural Network
Mạng nơ ron tái phát
MEMMs
5
DANH MỤC BẢNG BIỂU
Bảng 2.1: Phân tích ví dụ ..................................................................................... 46
Bảng 2.2: Phân tích nhãn NER ............................................................................ 48
Bảng 3.1: Bảng phân tích từ nhúng ..................................................................... 58
Bảng 4.1: Bảng thống kê dữ liệu .......................................................................... 67
Bảng 4.2: Bảng thống kê nhãn NER trong dữ liệu .............................................. 68
Bảng 4.3: Bảng kết quả F1 .................................................................................. 71
6
DANH MỤC HÌNH VẼ, ĐỒ THỊ
Hình 2.1: Các vector từ so sánh........................................................................... 18
Hình 2.2: Context Window ................................................................................... 20
Hình 2.3: Co-occurrence Matrix.......................................................................... 21
Hình 2.4: Mô hình CBOW .................................................................................... 23
Hình 2.5: Mô hình Skip-gram .............................................................................. 24
Hình 2.6: Kiến trúc ANN ...................................................................................... 26
Hình 2.7: Nơ-ron sinh học. .................................................................................. 27
Hình 2.8: Perceptron ........................................................................................... 27
Hình 2.9: Hàm xích-ma (Sigmoid Function) ....................................................... 28
Hình 2.10: Mô hình Nơ-ron ................................................................................. 29
Hình 2.11: Mạng nơ-ron (Neural Network). ........................................................ 29
Hình 2.12: Mạng nơ-ron 2 lớp ẩn. ....................................................................... 30
Hình 2.13: Mạng nơ ron tích chập trong xử lý ảnh [20] ..................................... 35
Hình 2.14: Một mạng hồi quy đơn giản ............................................................... 37
Hình 2.15: Vấn đề phụ thuộc xa trong RNN ........................................................ 39
Hình 2.16: Mô hình của một hệ thống lặp lại của LSTM. ................................... 40
Hình 2.17: LSTM hai hướng ................................................................................ 42
Hình 2.18: Hệ thống trích rút thông tin ............................................................... 44
Hình 2.19: Lưu đồ trích rút thông tin .................................................................. 45
Hình 2.20: Ví dụ mô hình Markov. ...................................................................... 48
Hình 2.21: Biểu đồ phân tích Markow ................................................................. 49
Hình 2.22: Mô hình Bidirectional LSTM-CRF .................................................... 52
Hình 2.23: Mô hình Bidirectional LSTM-CNNs .................................................. 52
Hình 2.24: Mô hình Bidirectional LSTM-CNNS-CRF ......................................... 53
Hình 2.25: Mô hình ELMo ................................................................................... 54
Hình 3.1: Mô hình đề xuất sử dụng kết hợp CNN-BiLSTM ................................. 57
Hình 3.2: Sơ đồ hoạt động phối hợp giữ CNN và BLSTM .................................. 59
Hình 3.3: Vector nhúng với nhiều nhóm chiều .................................................... 61
Hình 3.4: Sơ đồ thể hiện các bước của mô hình .................................................. 63
7
Hình 3.5: Mô hình CNN trong đề xuất................................................................. 64
Hình 3.6: Mô hình phân lớp ................................................................................. 65
Hình 3.7: Hàm học sâu ........................................................................................ 66
Hình 4.1: Tỷ lệ phân chia dữ liệu theo câu .......................................................... 67
Hình 4.2: Tỉ lệ phân chia dữ liệu theo từ ............................................................. 68
Hình 4.3: Biểu đồ số lượng thực thể trong các tập dữ liệu ................................. 68
Hình 4.4: Trực quan Train, Validation, Test ....................................................... 69
Hình 4.5: Cách tính Precision và Recall. ........................................................... 70
Hình 4.6: Mô hình tổng thể .................................................................................. 71
Hình 4.7: Giao diện Web nhận dữ liệu ................................................................ 72
Hình 4.8: Giao diện Web trả kết quả ................................................................... 72
8
CHƯƠNG 1
TỔNG QUAN VỀ LĨNH VỰC NGHIÊN CỨU
1.1. Lí do chọn đề tài
Trong giai đoạn lịch sử của 2 cuộc cách mạng công nghiệp 3.0 và 4.0 đã tạo
ra một lượng dữ liệu số khổng lồ thuộc rất nhiều lĩnh vực của con người. Việc khai
thác dữ liệu phục vụ cho từng lĩnh vực nghành nghề đang được chú ý rất nhiều
trong nhiều năm qua.
Khi có được dữ liệu trao đổi (chat) của khách hàng và nhà cung cấp dịch vụ
thì con người tạo ra Trợ lý ảo1, một cái tên khác là chatbot. Hầu như các trang web
hiện nay đều có trợ lý ảo, trợ lý ảo nỗi tiếng có thể kể tên đó là: Google Assistant2,
Cortana3
Khi có được dữ liệu đánh giá (review) của khách hàng về sản phẩm con
người nghĩ ra hệ thống phân tích cảm xúc từ đó đánh giá sản phẩm để thu hồi hay
tái đầu tư. Cũng tương tự như vậy, dữ liệu nghành ngân hàng sẽ giúp con người dự
đoán nợ xấu, dự đoán được hướng đầu từ sinh nhiều lợi nhuận.
Không những ngành kinh tế mà chính trị cũng có lợi khi khai thác dữ liệu.
Chẳng hạn khi phân tích dữ liệu bình luận (comment) của cư dân, chính phủ có thể
biết được bộ máy của mình có tốt không hay có bị nguy hiểm không. Nổi tiếng có
thể kể đến đó là: Big Data đã giúp Trump chiến thắng trong cuộc Bầu cử Mỹ4
Hòa mình vào xu thế chung của thời đại, luận văn có ý tưởng khai thác
thông tin về nghành du lịch.
Chúng ta biết rằng khi đời sống xã hội được nâng cao thì nhu cầu du lịch
của con người sẽ ngày càng phát triển, nghĩa là dữ liệu về du lịch sẽ ngày càng
phình to. Chẳng hạn sau khi đi du lịch về chúng ta bình luận trên mạng xã hội về
chuyến đi, chúng ta nói về những địa điểm du lịch, các sản phẩm du lịch, các tour
1
https://vi.wikipedia.org/wiki/Trợ_lý_ảo_(trí_tuệ_nhân_tạo)
2
https://vi.wikipedia.org/wiki/Google_Assistant
https://vi.wikipedia.org/wiki/Cortana_(phần_mềm)
4
https://vietnamnet.vn/vn/cong-nghe/ung-dung/big-data-giup-donald-trump-chien-thang-trongcuoc-bau-cu-my-big-data-nguy-hiem-den-muc-nao-346181.html
3
9
du lịch, để rồi từ đó chúng ta thể hiện cảm xúc của mình: yêu thích hay ghét, hay
lên án một sản phẩm du lịch nào đó. Cũng có thể, chúng ta viết cảm nhận về chuyến
đi trên nhiều trang web. Hay một cách khác nữa, chúng ta sẽ có ngày càng nhiều
email về các chuyến du lịch từ các hãng, cũng như hàng loạt video, audio, hình
ảnh từ các chuyến đi được tạo ra.
Bạn sẽ làm gì khi có những dữ liệu này?
Dữ liệu số do con người tạo ra rất đa dạng, phần lớn là dữ liệu phi cấu trúc,
khoảng 70%–80% (Unstructured data5), phần ít là dữ liệu đã có cấu trúc chẳng hạn
như các database của các công ty. Văn bản chiếm phần đa trong dữ liệu phi cấu
trúc này. Vì tính bất thường (irregularities) và mơ hồ (ambiguities) nên dữ liệu liệu
phi cấu trúc rất khó xử lý so với dữ liệu có cấu trúc rõ ràng.
Dữ liệu nghành du lịch cũng chủ yếu là dữ liệu văn bản. Như vậy luận văn
xin chỉ tập trung vào xử lý văn bản du lịch để khai thác những giá trị mà dữ liệu
thực tế mang lại.
Câu hỏi chúng ta làm gì khi có dữ liệu văn bản? Là câu hỏi đã được trả lời
từ rất là lâu, chúng ta đã có ngành khai thác dữ liệu văn bản(Text mining)6, nằm
trong Data mining. Text mining sẽ giúp chúng ta làm. Vậy Text mining là gì?
“Khai thác văn bản (tiếng Anh: Text mining hoặc text data mining) là một
quá trình xử lý và trích xuất thông tin nằm trong văn bản, quá trình này là một phần
của việc phân tích văn bản trong khai thác dữ liệu. Thông tin được thể hiện dưới
dạng các mẫu, xu hướng, thứ tự sắp xếp được trích xuất thông qua các luật hoặc
thông qua quá trình học dựa trên các mẫu thống kê.” 7
“Khai thác văn bản bao gồm các bước cơ bản như: tiền xử lý, học mô hình,
phán đoán, tổng hợp phân tích và trình bày kết quả. Tiền xử lý có thể gồm việc
phân tách đoạn văn bản thành các đoạn nhỏ hơn, làm giàu văn bản bằng các tri
thức bên ngoài, hoặc loại bỏ những thông tin nhiễu trong văn bản. Quá trình học
là quá trình tìm ra các mẫu trong một tập các văn bản đã được tiền xử lý hoặc chưa
5
https://en.wikipedia.org/wiki/Unstructured_data
https://vi.wikipedia.org/wiki/Khai_thác_văn_bản
7
https://vi.wikipedia.org/wiki/Khai_thác_văn_bản
6
10
qua tiền xử lý, kết quả quá trình học là một mô hình biểu diễn các mẫu được tìm
thấy. Quá trình phán đoán là quá trình áp dùng mô hình vừa học được trên các văn
bản mới, văn bản mới sẽ được gán nhãn thêm thông tin. Cuối cùng là quá trình
tổng hợp và trình bày kết quả. Khai phá văn chia thành các vấn đề nhỏ hơn bao
gồm phân loại tài liệu (text categorization, text classification), nhóm tài liệu (text
clustering), trích xuất thực thể (concept/entity extraction), khai phá quan điểm
(sentiment analysis), tóm tắt tài liệu (document summarization), và trích xuất quan
hệ giữa các thực thể (entity relation modeling)” 8
Khai thác văn bản có nhiều nhiệm vụ, bên cạnh những nhiệm vụ đó thì lại
có rất nhiều phương pháp để thực hiện. Do đó, để giới hạn phạm vị nghiên cứu,
luận văn chỉ trình bày nhiệm vụ trích rút thông tin (Information Extraction) bằng
phương pháp rất mới hiện nay, phương pháp học sâu (deep learning).
1.2. Mục tiêu nghiên cứu
Mục tiêu nghiên cứu của luận văn là làm sao ứng dụng được các mô hình
học sâu vào nhiệm vụ trích rút thông tin từ văn bản du lịch, sau đó đánh giá được
độ chính xác của phương pháp này qua các độ đo học máy. Đồng thời xây dựng
được một công cụ dựa trên mô hình này nhằm trích rút được thông tin từ văn bản
thực tế.
1.3. Đối tượng, phạm vi nghiên cứu
Để hoàn thành mục tiêu nghiên cứu luận văn cần xác định rõ các đối tượng
cần nghiên cứu:
Nghiên cứu và thực hiện các phương pháp tiền xử lý văn bản tiếng Việt
như: Tách từ (Word tokenize), tách câu (Sentence tokenize), phân cụm (chuking),
Gắn thẻ từ loại ( Part of Speech Tagging)9
Sau khi đã có đối tượng (token), ta cần số hóa chúng để máy tính có thể tính
toán. Có rất nhiều phương pháp số hóa như TF-IDF10, Bag of Word11… đặc biệt
https://vi.wikipedia.org/wiki/Khai_thác_văn_bản
https://www.aclweb.org/anthology/U17-1013
10
https://vi.wikipedia.org/wiki/Tf–idf
11
https://vi.wikipedia.org/wiki/Mô_hình_túi_từ
8
9
11
hiện nay là phương pháp từ nhúng word2vec (word embedding12). Luận văn sẽ
dùng phương pháp từ nhúng để số hóa các đối tượng (token).
Bài toán trích rút thông tin du lịch là bài toán thuộc nhóm trích xuất thông
tin (Information Extraction) trong nghành NLP. Hiện tại Information Extraction
có thể làm được: Nhận diện thực thể đặt tên (Named-entity recognition), Trích xuất
quan hệ (Relation Extraction), Giải quyết đồng tham chiếu (Coreference
Resolution), Liên kết thực thể (Entity Linking), Trích xuất sự kiện (Event
Extraction). Do giới hạn về thời gian nên, Luận văn chỉ thực hiện bài toán Namedentity recognition để rút trích thực thể là tên địa điểm, người, tổ chức du lịch trong
văn bản.
Với bài toán NER (Named-entity recognition), hiện tại, nhiều người đang
dùng thuật toán Trường điều kiện ngẫu nhiên (CRF)13, tuy nhiên chỉ số Accuracy
thấp hơn là khi kết hợp thêm các mạng nơ-ron nhân tạo14(artificial neural network,
nói tắt neural network)
Để việc áp dụng thêm mạng nơ-ron nhân tạo vào bài toán NER đúng nguyên
lý, luận văn đã phải nghiên cứu và thực nghiệm các bài toán xử lý văn bằng Neural
Network chẳng hạn như: Deep Convolutional Neural Networks for Sentiment
Analysis of Short Texts15, How to Predict Sentiment From Movie Reviews Using
Deep Learning (Text Classification)16
Ứng dụng mạng nơ-ron nhân tạo ở đây nghĩa là sử dụng các mô hình học
sâu (Deep learning) như: Mạng nơ-ron hồi quy (RNN), Mạng nơ-ron tích chập
(CNN), Mạng nơ-ron nhớ dài-ngắn (LSTM), Mạng nơ-ron nhớ dài-ngắn song song
(BiLSTM) vào bài toán cụ thể.
Phạm vi nghiên cứu của luận văn là giải bài toán trích rút thông tin bằng
phương pháp học máy (Machine learning), học có giám sát (Supervised learning).
Bài toán NER là bài toán phân lớp (Classification), gán nhãn các token thuộc lớp
12
https://en.wikipedia.org/wiki/Word_embedding
https://vi.wikipedia.org/wiki/Trường_điều_kiện_ngẫu_nhiên
14
https://vi.wikipedia.org/wiki/Mạng_nơ-ron_nhân_tạo
15
C´ıcero Nogueira dos Santos Brazilian Research Lab IBM Research,
[email protected]
16
https://machinelearningmastery.com/predict-sentiment-movie-reviews-using-deep-learning/
13
12
thông tin nào. Đối với bài toán này luận văn đã chuẩn bị dữ liệu training và testing
đúng theo nguyên tắc học máy để đánh giá một cách khách quan mô hình NER mà
luận văn áp dụng. Do việc chuẩn bị dữ liệu mất nhiều thời gian nên luận văn có sử
dụng dữ liệu của VLSP17 và thêm dữ liệu được download từ trang web du lịch.
1.4. Phương pháp nghiên cứu
Vận dụng những kiến thức đã được trang bị, tác giả đọc những bài báo có
liên quan đến bài toán mà luận văn cần giải quyết, sau đó chạy thực nghiệm để
xem kết quả, đồng thời đánh giá các phương pháp nào tốt và ứng dụng được cho
bài toán đang làm. Về việc thu thập dữ liệu cho bài toán, tác giả cố gắng lấy dữ
liệu khách quan nhất có thể, để dữ liệu có thể phân bố đồng đều, tuy nhiên khi sử
dụng phương pháp học sâu thì dữ liệu phải thật lớn mới có thể đánh giá sát với
thực tế. Về mặt này luận văn xin đánh giá mô hình qua dữ liệu training và testing
đã thu thập được.
1.5. Bố cục luận văn
Luận văn được chia thành 5 chương với các nội dung như sau:
Chương 1 – Tổng quan về lĩnh vực nghiên cứu
Sơ lược tổng quan về vấn đề nghiên cứu trên phương diện tổng quan nhất, nêu ra
mục tiêu, phương pháp nghiên cứu và bố cục luận văn.
Chương 2 – Cơ sở lý thuyết
Giới thiệu tổng quan về xử lý văn bản như tách từ, xác định từ loại trong câu, xác
định cụm từ, phân tích cú pháp. Trình bày phương pháp biểu diễn từ đưới dạng
vector, phương pháp học sâu và các ứng dụng của nó. Giới thiệu về trích xuất thông
tin, đề ra các hương tiếp cận, phân tích và lựa chọn hướng tiếp cận dùng trong luận
văn.
Chương 3 – Mô hình đề xuất
Trình bày về mô hình đề xuất phân tích những đặc trưng của mô hình đề xuất.
Chương 4 – Thực nghiệm
17
http://vlsp.org.vn/
13
Giới thiệu bộ dữ liệu, quá trình xử lí dữ liệu, phần thực nghiệm và đánh giá thực
nghiệm.
Chương 5 – Kết luận và hướng phát triển
14
CHƯƠNG 2
CƠ SỞ LÝ THUYẾT
2.1. Xử lý ngôn ngữ
2.1.1 Tách từ (Tokenizer)
Tách từ là một quá trình xử lý nhằm mục đích xác định ranh giới của các từ
trong câu văn, cũng có thể hiểu đơn giản rằng tách từ là quá trình xác định các từ
đơn, từ ghép… có trong câu. Đối với xử lý ngôn ngữ, để có thể xác định cấu trúc
ngữ pháp của câu, xác định từ loại của một từ trong câu, yêu cầu nhất thiết đặt ra
là phải xác định được đâu là từ trong câu. Vấn đề này tưởng chừng đơn giản với
con người nhưng đối với máy tính, đây là bài toán rất khó giải quyết.
Chính vì lý do đó tách từ được xem là bước xử lý quan trọng đối với các hệ
thống Xử Lý Ngôn Ngữ Tự Nhiên, đặc biệt là đối với các ngôn ngữ thuộc vùng
Đông Á theo loại hình ngôn ngữ đơn lập, ví dụ: tiếng Trung Quốc, tiếng Nhật,
tiếng Thái, và tiếng Việt. Với các ngôn ngữ thuộc loại hình này, ranh giới từ không
chỉ đơn giản là những khoảng trắng như trong các ngôn ngữ thuộc loại hình hòa
kết như tiếng Anh…, mà có sự liên hệ chặt chẽ giữa các tiếng với nhau, một từ có
thể cấu tạo bởi một hoặc nhiều tiếng. Vì vậy đối với các ngôn ngữ thuộc vùng
Đông Á, vấn đề của bài toán tách từ là khử được sự nhập nhằng trong ranh giới từ.
Bài toán tách từ là bài toán quan trọng đối với tiếng Việt. Khác với tiếng
Anh, một từ tiếng Việt có thể được tạo bởi nhiều hơn một âm. Ví dụ từ (word)
“cá_nhân” được tạo lên bởi 2 âm (syllable) là “cá” và “nhân”. Trong khi hai từ đơn
“cá” và từ đơn “nhân” lại có thể mang ý nghĩa khác. Do vậy, tách từ tiếng Việt là
bước quan trọng chúng ta cần thực hiện trước khi đưa dữ liệu vào các bước tiếp
theo, ví dụ như word embedding.
2.1.2 Xác định loại từ trong câu (Part-Of-Speech tagging)
Sau khi tách từ (Tokenizer) ta được các từ có nghĩa, đây chính là đối tượng
(token) nhỏ nhất để xử lý. Khi ghép các từ thành câu đúng cú pháp, ta cần phải biết
từ loại của chúng. Việc xác định loại từ trong câu (Part-Of-Speech tagging) là bài
toán cơ bản của Xử lý ngôn ngữ tự nhiên (NLP). Đây là bài toán phân lớp, nghĩa
15
là ta cần xác định từ (token) vào lớp từ loại nào, chẳng hạn, vào từ loại động từ,
tính từ, danh từ,v..v.
Nhưng do các từ thường không đứng độc lập mà chúng thường xuất hiện
trong câu, cũng như nhãn từ loại của từ này thường bị chi phối bởi từ loại của các
từ đứng bên cạnh nó, cả bên trái lẫn bên phải, nên bài toán này cũng có một cái tên
khác là Gán nhãn chuỗi (Sequence Labeling).
Trong gán nhãn từ loại, mục tiêu của chúng ta khi đưa chuỗi đầu vào là một
câu ví dụ như “con ruồi đậu mâm xôi đậu”
Ta có chuỗi token như sau: [“con”, “ruồi”, “đậu”, “mâm”, “xôi”, “đậu”] thì
chuỗi nhãn(tag sequence) đầu ra sẽ là: [“D”, “N”, “V”, “N”, “N”, “N”], trong đó,
D: determinator (định từ), N: noun (danh từ), V: verb (động từ).
Gán nhãn (sequence labeling problem, tagging problem) có các bài toán
thường gặp: POS tagging (gán nhãn từ loại). Nó là cơ sở phục vụ cho các bài toán
về ngữ nghĩa cao hơn. Ngoài ra còn có một số bài tóa như:
-
Named-Entity recognition (gán nhãn tên thực thể)
-
Machine translation (dịch máy). Đầu vào là một câu của ngôn ngữ A,
đầu ra là câu của ngôn ngữ B tương ứng. Bài toán này từng rất cấp thiết
trong chiến tranh thế giới thứ 2, khi mà thông tin tình báo của địch cần
được dịch trong thời gian ngắn nhất, giúp cho các lãnh đạo có thể đưa
ra những chiến lược cấp thiết.
-
Speech recognition (nhận diện tiếng nói). Đầu vào là âm thanh tiếng nói,
đầu ra là câu dạng văn bản. Ngày nay, theo thống kê của Apple, người
dùng thích sử dụng tiếng nói của mình để nhập văn bản hơn là cách nhập
dữ liệu bằng bàn phím như truyền thống, đồng thời tương tác giữa người
và máy theo cách này có tốc độ nhập liệu nhanh hơn.
Khi làm việc với bài toán này ta sẽ đối mặt với hai thách thức chính:
-
Nhập nhằng (ambiguity): một từ có thể có nhiều từ loại, hay một từ có
thể có nhiều nghĩa, Ví dụ “con ruồi đậu mâm xôi đậu“, từ “đậu” có lúc
là động từ (hành động đậu lên một vật thể) hoặc có lúc là danh từ (tên
của một loài thực vật).
16