Ứng dụng mô hình skip-thought giải quyết bài toán tìm kiếm câu đồng nghĩa trong văn bản

Nghiên cứu khoa học công nghệ  
ỨNG DỤNG MÔ HÌNH SKIP-THOUGHT GIẢI QUYẾT BÀI TOÁN  
TÌM KIẾM CÂU ĐỒNG NGHĨA TRONG VĂN BẢN  
Ngô Hữu Phúc1, Vi Bảo Ngọc1*, Nguyễn Viết Học1, Đoàn Văn Hòa2  
Tóm tắt: Đánh giá mức độ đồng nghĩa giữa các câu là nhiệm vụ trọng tâm để  
thực hiện mục tiêu hiểu ngôn ngữ tự nhiên - một trong những thách thức lớn trong  
xử lý ngôn ngữ tự nhiên. Sử dụng Deep Learning cho bài toán so khớp ngữ nghĩa  
của câu đã thay đổi cách tiếp cận, khắc phục được những khó khăn mà các phương  
pháp truyền thống trước đây gặp phải. Nhiều thuật toán đã được phát triển để có  
thể biểu diễn câu bằng một vector với số chiều cố định, việc này giúp cho việc xử lý  
ngôn ngữ tự nhiên dựa trên câu trở nên dễ dàng và hiệu quả hơn. Các phương pháp  
trên đều trích rút đặc trưng thủ công hoặc sử dụng các thuật toán học có giám sát  
nhưng với không gian ngữ liệu ngày càng phong phú, các phương pháp này tỏ ra  
không còn hiệu quả. Điều đó là động lực để ra đời các phương pháp học không  
giám sát, tận dụng sức mạnh tính toán của thiết bị hiện nay. Skip–thought là một  
trong những mô hình Deep Learning điển hình cho việc sử dụng thuật toán học  
không giám sát trong xử lý ngôn ngữ tự nhiên. Trong nghiên cứu này, mô hình Skip-  
thought để tìm kiếm câu đồng nghĩa trong văn bản tiếng Việt. Với thử nghiệm trên  
bộ ngữ liệu VnPara, mô hình Skip-thought đạt độ chính xác lên đến 93.96%, vượt  
trội so với độ chính xác 89.1%. đã đạt được trước đây.  
Từ khóa: Xử lý ngôn ngữ tự nghiên; Học sâu; Skip – thought; Câu đồng nghĩa.  
1. ĐẶT VẤN ĐỀ  
Đánh giá độ tương đồng về ngữ nghĩa trong xử lý ngôn ngữ tự nhiên có rất  
nhiều ứng dụng trong thực tiễn, ví dụ như xác định quan hệ giữa các câu truy vấn  
trong máy tìm kiếm, tạo từ khóa cho quảng cáo. Trong y học, có thể kể đến các  
ứng dụng như phân cụm gene, tìm kiếm gen bệnh, biểu diễn gene. Trong xử lý  
ngôn ngữ tự nhiên, đánh giá độ tương đồng về ngữ nghĩa rất có ý nghĩa cho các bài  
toán: tóm tắt văn bản, phân loại văn bản, tìm kiếm thông tin. Bài toán nhóm tác giả  
đang quan tâm là tìm kiếm câu đồng nghĩa trong văn bản, phục vụ tìm kiếm văn  
bản theo ngữ nghĩa câu truy vấn.  
Đánh giá độ tương đồng ngữ nghĩa theo phương pháp trước đây có thể chia làm  
các hướng chính như sau: dựa vào kho ngữ liệu, dựa vào tri thức. Các phương pháp  
này chủ yếu dựa trên sự tương đồng về ngữ nghĩa của các từ trong câu. Tìm kiếm  
sự đồng nghĩa giữa các từ là một bước quan trọng để thực hiện các nhiệm vụ tiếp  
theo: tìm kiếm sự đồng nghĩa giữa câu, đoạn văn, văn bản [1]. Từ đồng nghĩa là  
những từ tương đồng với nhau về nghĩa, khác nhau về âm thanh và có phân biệt  
với nhau về một vài sắc thái ngữ nghĩa hoặc sắc thái phong cách, hoặc đồng thời cả  
hai. Dựa vào tri thức là những phương pháp sử dụng thông tin trích xuất từ những  
mạng từ[2,3,4], từ điển bách khoa[5], từ điển đồng nghĩa, cây ngữ nghĩa[6]. Khó  
khăn gặp phải của nhóm phương pháp này là việc xây dựng mạng từ, từ điển bách  
khoa, từ điển đồng nghĩa hay cây ngữ nghĩa tốn rất nhiều công sức và chi phí.  
Chưa kể đến kết quả của phép đo sẽ bị ảnh hưởng nhiều bởi những yếu tố trên.  
Đồng thời nếu chỉ so sánh về mặt từ thì sẽ mất ý nghĩa ngữ pháp trong câu. Dựa  
vào kho ngữ liệu để xác định mức độ đồng nghĩa là những phương pháp sử dụng  
thông tin thu nhận được từ những kho ngữ liệu lớn từ nhiều nguồn điển hình là  
93  
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 04 - 2019  
Công nghệ thông tin  
thuật toán LSA[7,8], HAL[9]. Nhược điểm của LSA và HAL là tạo thành không  
gian vector rất thưa, chưa biểu diễn được câu trực tiếp mà phải qua tính toán thông  
qua các từ cấu thành câu. Ngoài ra, còn có các cách tiếp cận khác sử dụng các phép  
đo trên không gian vector của từ để đánh giá độ đồng nghĩa[10]. Những phương  
pháp kể trên có cùng nhược điểm là chưa tính đến thứ tự từ trong câu. Ví dụ:“con  
cáo nhảy qua đầu con gà” và “con gà nhảy qua đầu con cáo” sẽ được đánh giá là  
giống nhau hoàn toàn với các phương pháp cũ.  
Trong cộng đồng xử lý ngôn ngữ tiếng Việt, mặc dù vai trò của đánh giá mức  
độ tương đồng ngữ nghĩa của câu rất quan trọng nhưng các nghiên cứu có tính hệ  
thống còn rất hạn chế do thiếu sự đầu tư, hạn chế về tài nguyên và tính kế thừa.  
Cho đến thời điểm này, chỉ duy nhất có phương pháp của tác giả Ngô Xuân Bách  
và cộng sự đưa ra nhằm xác định câu đồng nghĩa dựa vào kết hợp các độ đo khác  
nhau[11]. Nhóm tác giả sử dụng 9 độ đo khác nhau: Levenshtein, Jaro-Winkler,  
Manhattan, Euclidean, cosine, n-gram ( n = 3), hệ số so khớp, hệ số Dice và hệ số  
Jaccard để tính đặc trưng cặp câu đầu vào. Với mỗi cặp câu đầu vào, tác giả xây  
dựng 7 cặp câu với các mức độ trừu tượng khác nhau:  
1- Giữ nguyên các âm tiết và thứ tự trong câu.  
2- Âm tiết được thay thế bằng từ  
3- Từ được thay thế bằng loại từ  
4- Giữ lại từ loại là danh từ, động từ, tính từ, giữ nguyên thứ tự xuất hiện  
5- Như 4 nhưng chỉ giữ lại danh từ  
6- Như 4 nhưng chỉ giữ lại động từ  
7- Như 4 nhưng chỉ giữ lại tính từ  
Với mỗi lần áp dụng 9 độ đo cho một trong những cặp câu trên sẽ cho ra tập  
đặc trưng mô tả cặp câu. Tác giả kết hợp các tập đặc trưng và đánh giá bằng các  
thuật toán phân loại: KNN, SVM, Maximum Entropy, Naive Bayes để lựa chọn ra  
các tập đặc trưng mô tả cặp câu đầu vào tốt nhất. Kết quả trung bình đạt được là:  
Accuracy = 89.10%, F1-score = 86.77%.  
Deep Learning là công cụ mạnh mẽ để xử lý các bài toán phức tạp mà các  
phương pháp học máy trước đó chưa thể giải quyết được. Một số mô hình Deep  
Learning ứng dụng rộng rãi như mạng nhân chập CNN, mạng hồi quy RNN, mạng  
hồi quy GRU, mạng hồi quy LSTM, mạng nơron sâu DNN. Trong xử lý ngôn ngữ  
tự nhiên, các mạng hồi quy được dùng nhiều hơn, ứng dụng trong việc mô hình  
hóa ngôn ngữ, phát hiện đoạn văn cùng nghĩa, sinh văn bản vì mạng hồi quy lưu  
giữ được sự liên kết của các thành phần trong câu, đồng thời không bị hạn chế bởi  
số độ dài của câu. Thành công của mạng hồi quy trong xử lý ngôn ngữ tự nhiên  
phải kể đến mô hình Encoder-Decoder, được nhóm nghiên cứu của Google Brain  
sử dụng trong dịch máy[12]. Trong mô hình Encoder-Decoder, Encoder và  
Deocder là hai mạng nơron hồi quy hoạt động độc lập. Encoder nhận đầu vào là  
một câu với độ dài không cố định, ánh xạ câu sang một biểu diễn vector với số  
chiều cố định; Decoder ánh xạ biểu diễn của Encoder sang câu mục tiêu. Encoder  
và Decoder sẽ được huấn luyện cùng nhau để cực đại hóa xác suất điều kiện dự  
đoán ra câu mục tiêu khi cho một câu đầu vào. Trên ý tưởng đó, kết hợp với kết  
quả đạt được của mô hình Skip-gram Word2vec[13]. Thay vì sử dụng một bộ  
Encoder và một bộ Decoder, Skip-thought sử dụng một bộ Encoder nhận đầu vào  
94  
N. H. Phúc, …, Đ. V. Hòa, “Ứng dụng mô hình Skip-thought … trong văn bản.”  
Nghiên cứu khoa học công nghệ  
là một câu cho ra trạng thái ẩn và hai bộ Decoder cùng sử dụng trạng thái ẩn này  
để dự đoán hai câu mục tiêu đầu ra trước và sau, cùng ngữ cảnh với câu đầu vào  
Encoder. Vì thế nếu những câu nằm trong cùng ngữ cảnh thì sẽ có xác suất gần  
nghĩa với nhau cao.  
Mô hình này đã được áp dụng thành công vào ngôn ngữ tiếng Anh và cho kết  
quả vượt trội. Tuy nhiên các thử nghiệm cho văn bản tiếng Việt chưa được cộng  
đồng nghiên cứu quan tâm. Trong bài báo này, chúng tôi sử dụng Skip-thought  
huấn luyện trên bộ ngữ liệu thu thập từ các nguồn khác nhau trên Internet  
(vnexpress.net, vnthuquan.net, vietnamnet.vn, vanbanphapluat.net…). Sau đó đánh  
giá bằng các độ đo, kết hợp với một số mô hình học máy và so sánh với phương  
pháp của nhóm tác giả Ngô Xuân Bách trên cùng bộ ngữ liệu Vnpara [11].  
Các nội dung tiếp theo của bài báo gồm: mục 2 giới thiệu mô hình Skip-  
thought và ứng dụng trong bài toán tìm câu đồng nghĩa; mục 3 là một số thử  
nghiệm và đánh giá mô hình qua bộ ngữ liệu được công bố trong[11]; trong mục 4  
là một số kết luận.  
2. MÔ HÌNH SKIP-THOUGHT  
2.1. Mạng hồi quy  
Việc phát triển các thuật toán học máy cho lĩnh vực xử lý ngôn ngữ tự nhiên,  
cụ thể hơn là hiểu ngôn ngữ tự nhiên đã được chú ý và phát triển từ lâu. Những  
năm gần đây, mạng hồi quy, mạng nhân chập được ứng dụng nhiều để thực hiện  
việc ánh xạ các vector từ sang vector câu. Những thuật toán này dựa trên các dữ  
liệu được gán nhãn, tính lỗi lan truyền ngược để cập nhật các trọng số. Trong xử lý  
ngôn ngữ tự nhiên, các mạng hay được dùng như RNN, GRU, LSTM. Trong phần  
này, chúng tôi điểm qua về RNN, GRU. LSTM là biến thể của GRU song được  
cho là tốn kém chi phí tính toán nên chúng tôi không đề cập.  
2.1.1 Recurrent Neural Network (RNN)  
Ý tưởng chính của RNN là sử dụng chuỗi các thông tin liên tục nhau. Trong các  
mạng nơ-ron truyền thống tất cả các đầu vào và cả đầu ra là độc lập với nhau. Tức  
là chúng không liên kết thành với nhau về mặt thời gian. Các mô hình như vậy  
không phù hợp cho các bài toán mà dữ liệu là tuần tự. RNN được gọi là hồi quy  
(Recurrent) bởi lẽ chúng thực hiện cùng một tác vụ cho tất cả các phần tử của một  
chuỗi với đầu ra phụ thuộc vào cả các phép tính trước đó. RNN có khả năng nhớ  
những trạng thái trước đó của dữ liệu, do đó có thể biểu diễn được mối liên hệ giữa  
các dữ liệu đầu vào. Mô hình RNN như sau:  
Hình 1. Mô hình RNN.  
Trong đó:  
st f (Uxt1 Wst1 )  
(1)  
95  
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 04 - 2019  
Công nghệ thông tin  
ot softmax(Vst )  
(2)  
Hàm f ở đây là một hàm phi tuyến, thông thường là hàm hoặc hàm ReLu .  
2.1.2. GRU  
Vấn đề mà mạng RNN chưa giải quyết được là những phụ thuộc xa của đầu  
vào và nguy cơ biến mất đạo hàm. GRU cải tiến RNN bằng cách thêm vào cổng  
điều khiển cập nhật và quên. Hai cổng này kiểm soát việc có cho phép thông tin  
của trạng thái trước đi qua hay không. Chính vì thế GRU có thể lưu giữ những  
thông tin từ những trạng thái ở rất xa trạng thái hiện tại và quên những thông tin  
trạng thái không quan trọng. Mô hình toán học của GRU như sau:  
r (U (r) xt W (r)st1)  
t
zt (U (z) xt W (z)st1)  
(3)  
st tanh(Wxt U(r st1)  
t
st (1zt ) st1 zt st  
Trong đó, st1 là trạng thái của mạng tại thời điểm t-1. r là cổng quên, r quyết  
t
t
định sẽ quên thông tin nào trong st1 . zt là cổng cập nhật, công thức tương tự với  
cổng quên, nhưng khác nhau ở trọng số và chức năng. Trạng thái hiện tại sử dụng  
cổng quên để xác định bao nhiêu thông tin được giữ lại trong st . Thành phần cuối  
cùng là st sẽ quyết định bao nhiêu thông tin của trạng thái hiện tại sẽ truyền cho  
trạng thái sau. Nếu thành phần vector của zt tiến về 1, thông tin trạng thái hiện tại  
sẽ được truyền nhiều hơn, nếu thành phần vector zt tiến về 0, thông tin trạng thái  
hiện tại gần như được giữ lại và chỉ truyền thông tin của trạng thái trước đó t-1.  
2.2. Skip - thought  
Trong công bố[14], Ryan Kiros đưa ra một mô hình học không giám sát. Lấy ý  
tưởng từ mô hình Skip-gram của Word2vec, thay vì dùng một từ để dự đoán các từ  
trong ngữ cảnh, tác giả sử dụng một câu để dự đoán các câu trong ngữ cảnh.  
Skip-thought là một biến thể của mô hình Encoder-Decoder. Trong đó Encoder  
ánh xạ các từ trong câu vào không gian vector và Decoder tái xây dựng lại câu  
trong ngữ cảnh. Một số lựa chọn cho Encoder-Decoder như: RNN-RNN, GRU-  
GRU, LSTM-LSTM. Các mô hình Encoder-Decoder hiện đang được ứng dụng  
nhiều trong lĩnh vực dịch máy. Skip-thought mở rộng thêm một Decoder cho mô  
hình. Bây giờ, Encoder ánh xạ một câu vào không gian vector, Decoder thứ nhất  
(D1) xây dựng lại câu trước đó theo tuần tự câu trong văn bản, Decoder thứ hai  
(D2) xây dựng lại câu kế tiếp. Như vậy nếu hai câu nằm trong cùng một ngữ cảnh  
thì khả năng cao sẽ cùng biểu đạt nghĩa tương tự. Đầu ra của Decoder dưới dạng  
mô hình xác suất: p(y1,, yT | x1,, xT).  
Hình 2. Mô hình Skip-thought.  
96  
N. H. Phúc, …, Đ. V. Hòa, “Ứng dụng mô hình Skip-thought … trong văn bản.”  
Nghiên cứu khoa học công nghệ  
Skip- thought có thể sử dụng RNN, GRU, LSTM. Như đã nêu trên, RNN gặp  
vấn đề về phụ thuộc xa, sử dụng LSTM lại tốn kém chi phí tính toán, vì vậy sử  
dụng GRU sẽ cân bằng được hai yếu tố chi phí tính toán và hiệu quả mô hình.  
GRU giải quyết được vấn đề phụ thuộc xa và tiêu biến đạo hàm của RNN đồng  
thời đơn giản và hiệu quả gần tương đương với LSTM.  
Encoder sẽ đọc từng từ, ánh xạ toàn bộ câu thứ i sang vector có chiều dài cố  
định si . Hai bộ Decoder sẽ sử dụng si để dự đoán các câu trong ngữ cảnh. Mô hình  
xác suất của Decoder D1 sẽ được viết dưới dạng:  
T
p(y1i1,, yTi1 | si )   
p(yi1 | y1i1,, yi1, si )  
(4)  
(5)  
t
t1  
t1  
p(yti1 | y1i1,, yi1, si ) exp(vt sti1)  
t1  
Mô hình xác suất của Decoder D2 tương tự như D1, thay chỉ số i-1 bằng i+1.  
Trong đóvt là hàng thứ t của ma trận V tương ứng với từ yt . V là ma trận trọng số  
trước lớp softmax cuối cùng của Decoder.  
Dùng hàm mất mát Cross Entropy đánh giá huấn luyện mô hình, hàm mục tiêu  
Skip-thought được viết gọn thành:  
max ( logp (yi1 | yi1,si )logp (yi1 | yi1,si ))  
(6)  
t
t  
t
t  
t
t
Hình 3. Chi tiết mô hình Skip-thought.  
Với là bộ các tham số mô hình cần tối ưu. Chi tiết mô hình như hình như  
hình 3.  
97  
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 04 - 2019  
Công nghệ thông tin  
Ví dụ: Giả sử ta có văn bản huấn luyện là:  
“Samsung sẽ bán Galaxy S7 và S7 edge tại Việt Nam vào ngày 18/3 tới đây.  
Hãng cũng kỳ vọng sẽ có doanh số bán ra bằng hoặc cao hơn so với các thị trường  
Mỹ và Australia. Theo một số hệ thống cửa hàng điện thoại di động, lượng đặt  
hàng trước của Galaxy S7 còn ấn tượng hơn nhiều thế hệ Galaxy S6 ra mắt năm  
ngoái.”  
Sau các bước tách câu, tách từ, và thay số, email, IP, ngày tháng, từ ít gặp hoặc  
không có trong từ điển word2vec bằng ký tự “?”, ta có dữ liệu đưa vào huấn luyện  
được thể hiện trong Bảng 1.  
Bảng 1. Dữ liệu đầu vào Skip-thought.  
Encoder  
Hãng cũng kỳ_vọng sẽ có doanh_số bán ra bằng hoặc cao hơn so với các  
thị_trường Mỹ và Australia  
Decoder  
# Samsung sẽ bán Galaxy ? và ? edge tại Việt_Nam vào ngày ?  
tới đây #  
1
# Samsung sẽ bán Galaxy ? và ? edge tại Việt_Nam vào ngày ?  
tới đây #  
# Theo một số hệ_thống cửa_hàng điện_thoại di_động, lượng  
đặt hàng trước của Galaxy ? còn ấn_tượng hơn nhiều thế_hệ  
Galaxy ? ra mắt năm ngoái #  
2
# Theo một số hệ_thống cửa_hàng điện_thoại di_động, lượng  
đặt hàng trước của Galaxy ? còn ấn_tượng hơn nhiều thế_hệ  
Galaxy ? ra mắt năm ngoái #  
Sau khi huấn luyện xong mô hình, chỉ giữ lại Encoder. Encoder có nhiệm vụ  
ánh xạ câu vào không gian ngữ nghĩa[15]. Trên không gian ngữ nghĩa, mỗi câu sẽ  
là một điểm, đánh giá đồng nghĩa của câu có thể dựa vào các độ đo khoảng cách,  
các điểm phân bố gần nhau sẽ tương đồng về mặt ngữ nghĩa. Ngoài ra có thể sử  
dụng các thuật toán học máy khác nhau để phân loại các điểm này như các dữ liệu  
thông thường khác.  
3. THỬ NGHIỆM VÀ ĐÁNH GIÁ  
Nhóm tác giả xây dựng Skip-thought bằng ngôn ngữ lập trình Python sử dụng  
thư viện Keras, backend Tensorflow; chạy trên GPU Nvidia Geforce Tesla K80 do  
Google cung cấp miễn phí.  
Trước khi huấn luyện Skip-thought, chúng tôi huấn luyện bổ sung mô hình  
Word2vec. Word2vec sẽ ánh xạ các từ vào không gian vector từ, mỗi vector gồm  
300 thành phần theo đề xuất của Mikolov [13]. Quá trình thu thập dữ liệu và huấn  
luyện Word2vec được thực hiện tại phòng lab Công nghệ Multimedia và TT  
Thông minh – Khoa CNTT – HVKTQS với máy tính CPU Intel Core i7 2600,  
Ram 8Gb, GPU Nvidia Geforce GT 705.  
98  
N. H. Phúc, …, Đ. V. Hòa, “Ứng dụng mô hình Skip-thought … trong văn bản.”  
Nghiên cứu khoa học công nghệ  
Kho ngữ liệu huấn luyện Word2vec và Skipthought ~2Gb được chúng tôi thu  
thập từ các bài báo, các sách từ internet, tiến hành tiền xử lý: loại bỏ số, địa chỉ  
email, các đường link, các dấu đặc biệt, địa chỉ IP,… Sau đó văn bản được tách  
thành các câu bằng các ký tự kết thúc. Các câu sẽ được tách thành các từ, ở đây  
chúng tôi sử dụng bộ tách câu VnTokenizer của nhóm tác giả Lê Hồng Phương.  
Thử nghiệm cho thấy khi sử dụng Word2vec huấn luyện bổ sung mô hình hội  
tụ nhanh hơn. Ngoài ra, khi xây dựng từ điển cho Skip-thought, số lượng từ có thể  
lên đến hơn 200.000 từ. Sẽ có những từ có tần suất xuất hiện rất thấp, điều này sẽ  
làm tốn chi phí tính toán không cần thiết. Chính vì thể chúng tôi chỉ sử dụng lớp  
Embedding gồm 10.000 từ có tần suất xuất hiện cao nhất. Đối với những từ bị bỏ  
đi, chúng tôi thay bằng ký tự đặc biệt UNK = ‘?’ để không làm mất bố cục câu.  
Chúng tôi gán thêm hai ký tự đặc biệt để đánh dấu bắt đầu câu và kết thúc câu. Sau  
pha huấn luyện, lớp Embedding 10.000 từ sẽ được thay thế bằng lớp Embedding  
gồm hơn 400.000 từ, điều này không ảnh hưởng đến kết quả huấn luyện mà mở  
rộng khả năng xử lý các từ chưa được gặp trong huấn luyện.  
Trong thử nghiệm của mình, nhóm tác giả chọn GRU cho cả Encoder và  
Decoder. Số chiều của trạng thái ẩn được đặt là 800. Tác giả Kiros đề xuất số chiều  
trạng thái ẩn là 1200 nhưng qua quá trình huấn luyện, chúng tôi thử với số chiều  
tăng dần là 400, 600, 800, 1200 thì giá trị của hàm mất mát không thay đổi nhiều  
nhưng mô hình thì chậm hơn đáng kể. Với số chiều là 400 và 600 thì mô hình bị  
underfit, độ chính xác chỉ đạt ~40% sau quá trình huấn luyện. Do đó chúng tôi  
chọn số chiều trạng thái ẩn là 800, độ chính xác mô hình sau huấn luyện là 85%.  
Bảng 2. Ảnh hưởng cúa số trạng thái ẩn đến mô hình.  
TT Số chiều trạng Số tham số mô Thời gian trung Hàm mất mát sau  
thái ẩn  
hình  
bình mỗi epochs  
5 epochs  
1
2
2
3
400  
600  
800  
8.796.003  
14.759.003  
24,402,903  
33,828,003  
20h  
28h  
42h  
72h  
1.16  
1.20  
1.03  
1.05  
1.200  
Pha huấn luyện sử dụng kỹ thuật teacher-forcing nhằm tăng tốc độ và độ chính  
xác của mô hình, tránh được việc tính đạo hàm lan truyền ngược.  
Trong thực nghiệm, mô hình dừng lại sau 18 epochs, chi phí thời gian cho mỗi  
epochs là ~20 tiếng, giá trị hàm mất mát ~0.61. Hình 4 thể hiện sự biến đổi của  
hàm mất mát theo số lượng epochs đã thực hiện.  
Để đánh giá mô hình chúng tôi sử dụng bộ ngữ liệu VnPara do tác giả Ngô  
Xuân Bách công bố và sử dụng trong[11]. Bộ ngữ liệu gồm có 3000 cặp câu, được  
gán nhãn sẵn. Bộ ngữ liệu được xây dựng trên các tin mạng (dantri.com.vn,  
vnexpress.net, thanhnien.com.vn, .v.v.). Tác giả lấy ra hai câu từ hai tin có cùng  
chủ đề, sau đó xác định hai câu đó có tương đồng về nghĩa hay không. Việc xác  
định câu có tương đồng về nghĩa hay không do hai người thực hiện độc lập. Hệ số  
tin cậy Kappa đạt được là 0.9. Kết quả là 1500 được gán nhãn là tương đồng ngữ  
nghĩa (nhãn 1), 1500 gán nhãn là không tương đồng (nhãn 0).  
99  
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 04 - 2019  
Công nghệ thông tin  
Hình 4. Giá trị hàm mất mát mô hình.  
Bảng 3. Ví dụ về mẫu ngữ liệu trong kho ngữ liệu VnPara.  
Câu  
Nội dung  
Nhãn  
Trả lời câu hỏi này tôi xin nói lên suy nghĩ của mình về bóng đá  
nhà nghề từ đó suy ra bóng đá của ta hiện nay để các quan chức  
quản lý bóng đá chuyên nghiệp suy nghĩ rút kinh nghiệm .  
Sự thực 100% đội bóng chuyên nghiệp Việt Nam hiện giờ không  
thể dùng doanh thu từ bóng đá ( gồm tiền thưởng thành tích bản  
quyền truyền hình bán vé hoạt động thương mại ) để tự nuôi sống  
mình khi thực tế nguồn thu này quá nhỏ và manh mún .  
1
0
2
Hơn 10 năm qua công nghệ thông tin đã trở thành ngành kinh tế  
mũi nhọn có tốc độ tăng trưởng và hiệu quả cao đóng góp trực tiếp  
gần 7% GDP của đất nước đồng thời có tác động lan tỏa thúc đẩy  
phát triển nhiều ngành nhiều lĩnh vực kinh tế - xã hội .  
Hơn 10 năm qua công nghệ thông tin đã trở thành ngành kinh tế  
có tốc độ tăng trưởng cao đóng góp trực tiếp gần 7% GDP và là  
một lợi thế phát triển đặc biệt của Việt Nam .  
1
2
1
Chúng tôi dùng Encoder của mô hình để tính 6.000 vector của 3.000 cặp trong  
câu bộ ngữ liệu Vnpara. Sau đó chia tập ngữ liệu thành 2 phần với tỷ lệ 70% dùng  
cho huấn luyện và 30% dùng cho kiểm thử. Chúng tôi xác định hai câu đồng nghĩa  
bằng cách thiết lập ngưỡng cứng cho độ đo tương tự cosine của hai vector v1 , v2 là  
vector biểu diễn hai câu trong cùng một mẫu Vnpara (cặp câu được xác định là  
đồng nghĩa nếu độ đo tương tự cosine vượt qua ngưỡng). Ngưỡng này được lựa  
chọn thông qua việc thử lần lượt các giá trị trên tập huấn luyện cho độ chính xác  
phân loại cao nhất. Đồng thời, theo thử nghiệm của Kiros, chúng tôi kết hợp hai  
vector v1 , v2 bằng các nối v1 v2 ( là phép nhân từng thành phần) và | v1 v2 | ,  
vector cuối cùng sẽ là đầu vào cho một số phương pháp học máy khác (2,3,4) được  
mô tả trong bảng 4.  
Cùng thử nghiệm trên bộ ngữ liệu VnPara, Ngô Xuân Bách và đồng nghiệp thu  
được kết quả có độ chính xác Accuracy là 89.10%, và F1-Score là 86.77%. Trong  
khi đó, kết quả chúng tôi vượt trội hơn hẳn nếu sử dụng ngưỡng 0.52 để phân lớp,  
với độ chính xác Accuracy là 93.96% và F1-Score là 94%.  
100  
N. H. Phúc, …, Đ. V. Hòa, “Ứng dụng mô hình Skip-thought … trong văn bản.”  
Nghiên cứu khoa học công nghệ  
Bảng 4. Kết quả của các phương pháp phân lớp khác nhau.  
Pha Accuracy Precision Recall F1-Score  
Huấn luyện 91.92 %  
TT  
1
Thuật toán  
91%  
93%  
93%  
95%  
100%  
96%  
100%  
94%  
75%  
69%  
92%  
94%  
100%  
93%  
Ngưỡng cứng-  
Cosine (0.52)  
Kiểm thử  
Huấn luyện  
Kiểm thử  
Huấn luyện  
Kiểm thử  
93.96%  
100%  
93.28%  
100%  
93.67%  
100%  
91%  
100%  
94%  
2
SVM  
MLP  
100%  
94%  
86%  
3
Huấn luyện 82.96%  
Kiểm thử 76.8%  
99%  
100%  
4
K-NN (n=10)  
82%  
Trong bài toán đặt ra, tìm kiếm câu đồng nghĩa trong văn bản là tìm kiếm không  
chính xác. Với mỗi cặp câu được gán nhãn 1 truy vấn, lấy câu thứ nhất để truy vấn  
n câu gần nghĩa nhất trong tập câu thứ hai, nếu trong tập n kết quả trả về được sắp  
xếp theo giá trị độ đo tương tự cosine có chứa câu thứ hai cùng mẫu thì truy vấn  
được coi là chính xác.  
Với cách đánh giá trên, kết quả đạt thể hiện ở bảng 5:  
Bảng 5. Độ chính xác truy vấn n câu gần nghĩa nhất.  
n câu gần nhất Độ chính xác  
Số trường hợp đúng không truy vấn được  
5
10  
15  
96.9%  
97.5%  
97.8%  
50  
40  
36  
Ví dụ: một truy vấn trên VnPara: “Chỉ có 149% CĐV chọn khả năng Van Gaal  
giành chức vô địch Ngoại hạng Anh ở mùa dẫn dắt đầu tiên ( 2014-2015 ) .” cho  
kết quả với 5 câu gần nhất được thể hiện trong bảng 6.  
Bảng 6. Kết quả 5 câu gần nghĩa nhất với: “Chỉ có 149% CĐV  
chọn khả năng Van Gaal giành chức vô địch Ngoại hạng Anh  
ở mùa dẫn dắt đầu tiên (2014-2015).”  
Độ tương  
tự Cosine  
Nội dung  
Nhãn  
Chỉ có 149% CĐV chọn khả năng Van Gaal đoạt chức vô  
địch Ngoại hạng Anh ở mùa dẫn dắt đầu tiên ( 2014-2015 ) .  
Có 59% CĐV bày tỏ rất lạc quan với tin tưởng rằng Van  
0.7264552  
1
0
0.6088296 Gaal sẽ giành cú ăn hai Ngoại hạng Anh và FA Cup trong  
mùa sắp tới .  
Số lượng không nhỏ ( 126% ) bày tỏ không tin tưởng khi  
0.5019548 cho rằng khả năng Man Utd chỉ giành suất dự Europa  
League trong mùa đầu tiên làm việc với Van Gaal .  
Trong trường hợp Real có được nốt mục tiêu James  
0
0
Rodriguez cuộc chiến nơi tuyến giữa ở Bernabeu sẽ càng  
0.4935432  
khủng khiếp hơn và đến lúc đó ngay cả Modric cũng sẽ phải  
ra rìa .  
101  
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 04 - 2019  
Công nghệ thông tin  
Độ tương  
tự Cosine  
Nội dung  
Nhãn  
Hai danh hiệu FA Cup hoặc Capital One Cup là hai thành  
tích mà 53% còn lại cho rằng MU sẽ giành được.  
0.4896697  
0
Một số trường hợp đúng mà chương trình chưa truy vấn được thể hiện trong  
bảng 7.  
Bảng 7. Một số trường hợp đúng chương trình chưa truy vấn được.  
Nội dung  
Nhãn  
Đánh giá về dài hạn ông Thayer cho rằng Trung Quốc không từ bỏ tham  
vọng kiểm soát Biển Đông trong phạm vi đường chín đoạn .  
1
Về lâu về dài ông Thayer cho rằng Trung Quốc không từ bỏ tham vọng  
kiểm soát Biển Đông và sẽ tiếp tục các hoạt động khai hoang như đang làm  
ở Trường Sa và tăng cường áp lực với Philippines .  
Trong đơn ông Hà Xuân trình bày trước đây ông có nhờ bà Phát gửi giùm  
số tiền 90.000  
Mọi người thống nhất giao cho ông và con gái nuôi hợp pháp của bà Phát  
đồng đứng ra quản lý số tài sản đã được kiểm kê .  
Làm người phải giữ chữ tín .  
1
1
1
Chữ tín phải được đặt lên hàng đầu .  
Giá USD tự do duy trì xu thế giảm mạnh còn 21.250 đồng được cho là  
nguyên nhân kéo giá vàng xuống .  
Các ngân hàng cho biết một trong những nguyên nhân khiến giá USD giảm  
là do cung cầu trên thị trường khá dồi dào .  
4. KẾT LUẬN  
Nghiên cứu và kết quả thử nghiệm cho thấy mô hình Skip- thought đã khắc  
phục được nhược điểm của các phương pháp cũ, đồng thời phù hợp với bài toán  
tìm kiếm câu đồng nghĩa trong văn bản tiếng Việt. Qua đánh giá mô hình với bộ  
ngữ liệu Vnpara, kết quả thử nghiệm khi sử dụng Skip-thought đạt độ chính xác  
lên đến 93.96% vượt trội so với phương pháp của nhóm Ngô Xuân Bách (89.1%).  
Áp dụng cho bài toán tìm kiếm câu đồng nghĩa trong văn bản, kiểm thử trên bộ  
ngữ liệu Vnpara cho kết quả 96.9% với cách đánh giá trên mục 3.  
TÀI LIỆU THAM KHẢO  
[1]. Wael H. Gomaa and Aly A. Fahmy, “A Survey of Text Similarity  
Approaches,” Int. J. Comput. Appl., vol. 68, no. 13, pp. 13–18, 2013.  
[2]. D. Kazakov and S. Dobnik, “Inductive learning of lexical semantics with  
typed unification grammars,” no. May, 2014.  
[3]. W. Zhibiao and M. Palmer, “VERB SEMANTICS AND LEXICAL  
SELECTION,” 32nd Annu. Meet. Assoc. Comput. Linguist., pp. 133–138, 1994.  
[4]. H. Liu and P. Wang, “Assessing sentence similarity using WordNet based  
word similarity,” J. Softw., vol. 8, no. 6, pp. 1451–1458, 2013.  
[5]. H. T. Nguyen, P. H. Duong, and V. T. Vo, “Vietnamese sentence similarity  
102  
N. H. Phúc, …, Đ. V. Hòa, “Ứng dụng mô hình Skip-thought … trong văn bản.”  
Nghiên cứu khoa học công nghệ  
based on concepts,” Lect. Notes Comput. Sci. (including Subser. Lect. Notes  
Artif. Intell. Lect. Notes Bioinformatics), vol. 8838, 2014.  
[6]. M. C. Lee, J. W. Chang, and T. C. Hsieh, “A Grammar-Based Semantic  
Similarity Algorithm for Natural Language Sentences,” vol. 2014, 2014.  
[7]. T. K. Landauer, P. W. Foltz, and D. Laham, “An Introduction to Latent  
Semantic Analysis,” Discourse Process., vol. 25, pp. 259–284, 1998.  
[8]. S. Simmons and Z. Estes, “Using latent semantic analysis to estimate  
similarity,” Proc. Cogn. Sci. Soc., pp. 2169–2173, 2006.  
[9]. K. Lund and C. Burgess, “Producing high-dimensional semantic spaces from  
lexical co-occurrence,” Behav. Res. Methods, Instruments, Comput., vol. 28,  
no. 2, pp. 203–208, 1996.  
[10].C. Exposure and D. Ed, “From Word Embeddings To Document Distances,”  
no. September, 2009.  
[11].N. X. Bach, T. T. Oanh, N. T. Hai, and T. M. Phuong, “Paraphrase  
Identification in Vietnamese Documents,” Proc. - 2015 IEEE Int. Conf.  
Knowl. Syst. Eng. KSE 2015, pp. 174–179, 2015.  
[12].Y. Wu et al., “Google’s Neural Machine Translation System: Bridging the  
Gap between Human and Machine Translation,” pp. 1–23, 2016.  
[13].T. Mikolov, I. Sutskever, K. Chen, G. Corrado, and J. Dean, “Distributed  
Representations of Words and Phrases and their Compositionality,” IEEE  
Trans. neural networks, vol. 14, no. 6, pp. 1569–72, Oct. 2013.  
[14].R. Kiros et al., “Skip-Thought Vectors,” no. 786, pp. 1–11, 2015.  
[15].Y. Bengio, R. Ducharme, V. Pascal, and J. Christian, “A Neural Probabilistic  
Language Model,” J. Mach. Learn. Res., vol. 3, pp. 1137–1155, 2003.  
ABSTRACT  
USING SKIP – THOUGHT FOR FINDING SEMANTIC SIMILAR  
SENTENCES IN VIETNAMESE TEXTS  
Evaluation of semantic similarity has been an important task in natural  
language processing. Using Deep Learning for sematic matching has  
dominated other tradional methods. Many models has been developed for  
present a sentence as a vector, however most of these use supervised  
learning technique, it is not suitable for the problems with enormous data.  
Skip – thought is an unsupervised deep learning which has been used in  
many application of natural language processing. This paper present this  
method for finding semantic similar sentences in Vietnamese texts.  
Keywords: Natural Language Processing; Deep Learning; Sematic Similarity; Skip-thought.  
Nhận bài ngày 28 tháng 12 năm 2018  
Hoàn thiện ngày 28 tháng 02 năm 2019  
Chấp nhận đăng ngày 18 tháng 3 năm 2019  
Địa chỉ: 1 Học viện Kỹ thuật quân sự;  
2Viện CNTT, Viện KH-CN quân sự.  
*Email: [email protected].  
103  
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 04 - 2019  
pdf 11 trang Mãnh Khiết 15/01/2024 8140 Free
Bạn đang xem tài liệu "Ứng dụng mô hình skip-thought giải quyết bài toán tìm kiếm câu đồng nghĩa trong văn bản", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfung_dung_mo_hinh_skip_thought_giai_quyet_bai_toan_tim_kiem_c.pdf