Nghiên cứu khoa học công nghệ<br />
<br />
PHƯƠNG PHÁP ĐÁNH GIÁ ĐỘ TƯƠNG TỰ NGỮ NGHĨA GIỮA<br />
CÁC VĂN BẢN TIẾNG VIỆT DỰA TRÊN MÔ HÌNH WORD2VEC<br />
Ngô Hữu Phúc1*, Phạm Văn Lai2, Vi Bảo Ngọc1, Nguyễn Chí Công1,<br />
Nguyễn Mạnh Trường3<br />
Tóm tắt: Đánh giá độ tương tự ngữ nghĩa giữa các văn bản được sử dụng trong<br />
nhiều ứng dụng như tìm kiếm thông tin, tóm tắt văn bản,và dịch máy. Với văn bản<br />
tiếng Việt, một trong các hướng tiếp cận là dựa trên việc so khớp từ bởi vì đơn giản,<br />
và dễ cài đặt. Gần đây, một phương pháp đánh giá mới được phát triển dựa trên<br />
việc so khớp từ và khoảng cách Levenshtein giữa 2 xâu. Tuy nhiên, phương pháp này<br />
chưa quan tâm đến hiện tượng từ đồng nghĩa. Trong bài báo này, chúng tôi tích hợp<br />
mô hình Word2Vec vào phương pháp trên nhằm bổ sung việc đánh giá ngữ nghĩa<br />
của các từ trong văn bản. Kết quả thử nghiệm cho thấy độ chính xác trung bình của<br />
phương pháp đề xuất được nâng từ 47.37% lên 79.07%.<br />
Từ khóa: Xử lý ngôn ngữ tự nghiên; Học sâu; Độ tương tự ngữ nghĩa; Mô hình vector từ.<br />
<br />
1. ĐẶT VẤN ĐỀ<br />
Đánh giá độ tương tự ngữ nghĩa giữa các văn bản đóng vai trò quan trọng trong<br />
phát triển các ứng dụng xử lý ngôn ngữ tự nhiên như: mô hình vector trong các bài<br />
toán tìm kiếm thông tin, phân lớp văn bản, dịch máy tự động, đánh giá tính chặt<br />
chẽ của văn bản, … Trong một số trường hợp, phương pháp đánh giá độ tương tự<br />
giữa hai đoạn văn bản sử dụng việc so khớp từ đơn giản, dựa trên số đơn vị từ<br />
vựng xuất hiện ở cả hai đoạn văn bản đầu vào. Một số cải tiến với phương pháp<br />
đơn giản này đã được đề xuất để nâng cao hiệu quả đánh giá: xem xét đến gốc từ<br />
(stemming), loại bỏ các từ dừng, gán nhãn từ loại (part-of-speech tagging), so khớp<br />
tập con dài nhất, …. Tuy nhiên, sử dụng độ tương tự từ vựng không phải lúc nào<br />
cũng xác định được độ tương tự ngữ nghĩa văn bản.<br />
Trong khi đó có rất nhiều phương pháp đánh giá độ tương tự ngữ nghĩa giữa từ<br />
với từ, hoặc dựa trên cơ sở tri thức (knowledge-based), hoặc dựa trên kho ngữ liệu<br />
(corpus-based). Các độ đo này được áp dụng thành công trong một số bài toán xử<br />
lý ngôn ngữ như phát hiện từ dùng sai nghĩa, nhận dạng từ đồng nghĩa, …. Từ đó,<br />
một số nghiên cứu đưa ra các phương pháp đánh giá độ tương tự ngữ nghĩa văn<br />
bản dựa trên việc khai thác các thông tin có được từ độ tương tự ngữ nghĩa của các<br />
từ thành phần trong văn bản [6, 9, 12].<br />
Đối với văn bản tiếng Việt, các mô hình tính độ tương tự văn bản thường dựa<br />
trên quan hệ ngữ nghĩa giữa các từ. Một số mô hình dựa trên bộ từ điển đồng nghĩa<br />
WordNet dành cho tiếng Anh [1], do WordNet cho tiếng Việt hiện vẫn đang được<br />
hoàn thiện và chưa được công bố. Do đó, các phương pháp dựa trên WordNet phụ<br />
thuộc vào việc dịch Anh – Việt. Một số phương pháp khác được đề xuất thay thế<br />
WordNet như phương pháp phân tích ngữ nghĩa tiềm ẩn (Latent Semantic Analysis<br />
- LSA), hay phân tích chủ đề ẩn (Latent Dirichlet Allocation – LDA), hoặc sử dụng<br />
mạng ngữ nghĩa Wikipedia [3]. Bên cạnh đó, nhóm tác giả H. N. Phát, H. H. Hạnh<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 - 2018 103<br />
Công nghệ thông tin<br />
<br />
và P. C. Vinh [2] đề xuất một phương pháp đánh giá độ tương tự giữa hai văn bản<br />
dựa trên việc so khớp từ và khoảng cách Levenshtein giữa 2 xâu. Tuy nhiên,<br />
phương pháp này không thể khẳng định được độ tương tự ngữ nghĩa của văn bản<br />
do chưa quan tâm đến hiện tượng đồng nghĩa của từ.<br />
Trong những năm gần đây, một nhóm các nhà nghiên cứu dẫn đầu bởi Tomas<br />
Mikolov tại Google đã đưa ra mô hình Word2Vec dựa trên kỹ thuật học sâu (Deep<br />
Learning) [7,8]. Mô hình Word2Vec cũng không đòi hỏi khối lượng tính toán<br />
nhiều như LDA và nó giữ được mối quan hệ tuyến tính giữa các từ với nhau so với<br />
mô hình LSA. Trong [8], Mikolov cũng chỉ ra rằng việc kết hợp mô hình Skip-<br />
Gram với giải thuật học sâu đem lại kết quả tốt hơn mô hình LSA. Mô hình<br />
Word2Vec biểu diễn các từ thông qua các vector thực, từ đó có thể tính độ tương<br />
tự giữa về mặt ngữ nghĩa giữa từ và từ (từ đồng nghĩa) thông qua độ đo Cosine<br />
giữa các vector từ tương ứng. Do vậy, trong nghiên cứu này, chúng tôi sử dụng mô<br />
hình vector từ Word2Vec, để đánh giá độ tương từ giữa từ với từ, sau đó kết hợp<br />
với độ đo được đề xuất ở [2] để đưa ra một phương pháp mới nhằm đánh giá độ<br />
tương tự ngữ nghĩa giữa các văn bản tiếng Việt.<br />
2. PHƯƠNG PHÁP TÍNH ĐỘ TƯƠNG TỰ GIỮA 2 CÂU<br />
2.1. Khoảng Levenshtein và ứng dụng trong bài toán so khớp<br />
Khoảng cách Levenshtein [11] thể hiện sự khác biệt giữa 2 xâu kí tự. Khoảng<br />
cách này được sử dụng trong việc tính toán sự giống và khác nhau giữa 2 xâu, như<br />
chương trình kiểm tra lỗi chính tả của Winword Spellchecker.<br />
Dựa trên khoảng cách Levenshtein, một độ đo để xác định sự tương tự về từ<br />
vựng của các câu được đề xuất như sau [2]: giả sử, muốn tính toán sự tương tự về<br />
từ vựng giữa câu s và t, ta thực hiện các bước sau:<br />
- Bước 1: Thực hiện thao tác tách từ với 2 câu s, t. Sau đó đưa các từ vào hai<br />
túi từ tương ứng.<br />
- Bước 2: Loại bỏ các cặp từ giống nhau trong hai túi từ.<br />
- Bước 3: Nếu cả hai túi rỗng, khoảng cách giữa hai câu đầu vào sẽ là 0.<br />
Ngược lại, các từ còn lại trong hai túi được kết nối thành hai xâu s’ và t’,<br />
sau đó tính khoảng cách Levenshtein giữa 2 xâu s’ và t’.<br />
- Bước 4: Độ tương tự về từ vựng giữa 2 câu s và t được xác định như sau:<br />
Levenshtein_distance s ', t ' <br />
Lexical_Similarity( s , t ) 1 (1)<br />
max_len s , t <br />
Trong đó Levenshtein_distance là khoảng cách Levenshtein giữa xâu s’ và t’,<br />
và max_len là độ dài của câu dài nhất trong 2 câu s và t.<br />
Ví dụ: Tính độ tương tự về từ vựng của 2 câu:<br />
s = “Tôi đồng_ý với ý_kiến trên” ; t = “Tôi nhất_trí với ý_kiến trên”<br />
<br />
<br />
<br />
104 N. H. Phúc, …, N. M. Tường, “Phương pháp đánh giá … dựa trên mô hình Word2Vec.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
Tách 2 câu s, t thành các từ, đưa chúng vào 2 túi từ:<br />
bag_of_words(s) = {“Tôi”, “đồng_ý”, “với”, “ý_kiến”, “trên”}<br />
bag_of_words(t) = {“Tôi”, “nhất_trí”, “với”, “ý_kiến”, “trên”}<br />
Loại bỏ các từ “Tôi”, “với”, “ý_kiến”, “trên” ra khỏi hai túi từ, ta thu được:<br />
bags_of_words(s) = {“đồng_ý”}; bags_of_words(t) = {“nhất_trí”}<br />
Nối các từ còn lại trong 2 túi từ thành 2 xâu, sau đó tính khoảng cách Levenshtein<br />
giữa 2 xâu được kết quả như sau:<br />
Levenshtein_distance "®ång_ý","nhÊt trÝ" 7<br />
Như vậy, sự tương tự giữa 2 câu s và t sẽ là:<br />
Levenshtein_distance s', t' 7<br />
Lexical_Similarity( s , t ) 1 1 0.7586<br />
max_len s, t 29<br />
Với kết quả trên, có thể thấy, mặc dù hai câu có nghĩa như nhau, tuy nhiên<br />
khoảng cách vẫn còn quá nhỏ. Đề xuất cải tiến mới được trình bầy trong mục 3 của<br />
phần này để khắc phục nhược điểm trên.<br />
2.2. Mô hình vector từ Word2Vec<br />
Trong các bài toán xử lý ngôn ngữ tự nhiên, các từ thường được mã hóa bởi<br />
vector chỉ số (hay còn gọi là one-hot vector) có kích thước bằng kích thước của bộ<br />
tự điển, từ này xuất hiện tại vị trí nào trong từ điển thì thành phần tương ứng trong<br />
vector bằng 1 và ngược lại bằng 0. Cách biểu diễn này khá đơn giản, dễ hiểu tuy<br />
nhiên có nhược điểm: thứ nhất biểu diễn thu được thưa, thứ hai với cách biểu diễn<br />
này không thể hiện được mối quan hệ ngữ nghĩa giữa các từ. Khắc phục những<br />
nhược điểm này, một số phương pháp học máy đã tạo ra những cách biểu diễn tốt<br />
hơn, một trong đó là biểu diễn từ phân tán (distributed word representation) sử<br />
dụng mô hình Word2Vec.<br />
Có 2 mô hình Word2Vec [7,8] được đề xuất: mô hình CBOW (Contiuous Bag<br />
of Word) và mô hình Skip – Gram. Trong cả 2 mô hình, một cửa sổ sẽ dịch chuyển<br />
trên bộ ngữ liệu và tại mỗi bước mạng sẽ được huấn luyện với các từ nằm trong<br />
cửa sổ đó (còn được gọi là ngữ cảnh của từ). Mô hình CBOW được huấn luyện để<br />
dự báo từ xuất hiện ở trung tâm ngữ cảnh dựa vào các từ xung quanh, còn mô hình<br />
Skip – Gram được huấn luyện để dự báo ngữ cảnh xung quanh của từ. Sau khi<br />
mạng neuron được huấn luyện xong, vector thể hiện phép biến đổi tuyến tính ở lớp<br />
ẩn sẽ là vector biểu diễn của từ trung tâm. Trong các bài toán liên quan đến ngữ<br />
nghĩa của từ, mô hình Skip – Gram được đánh giá phù hợp hơn [12]. Do vậy, trong<br />
nghiên cứu này, chúng tôi sử dụng mô hình Skip – Gram.<br />
Mô hình Skip-Gram: Hình dưới thể hiện mô hình mạng Skip-Gram. Trong đó:<br />
V là kích thước của bộ từ điển; N là kích thước lớp ẩn (đồng thời cũng là kích<br />
thước của vector từ sẽ thu được sau khi huấn luyện); Đầu vào là từ vựng thứ k<br />
trong từ điển, ký hiệu wk , được mã hóa dưới dạng one – hot vector xV 1 ; WV N là<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 - 2018 105<br />
Công nghệ thông tin<br />
'<br />
ma trận trọng số giữa lớp đầu vào và lớp ẩn; WV N là ma trận trọng số giữa lớp ẩn<br />
và lớp đầu ra; C số từ trong ngữ cảnh của từ đầu vào.<br />
<br />
<br />
<br />
<br />
Quá trình học:<br />
T<br />
• Trọng số của lớp ẩn được tính theo công thức: h x W Wk : vw k<br />
<br />
<br />
• Đầu ra của node thứ j của từ ra thứ c ở lớp ra được tính thông qua hàm<br />
softmax như sau:<br />
exp uc , j <br />
p w j wo , c | wk yc , j V<br />
(2)<br />
exp u i<br />
i 1<br />
<br />
<br />
<br />
<br />
trong đó: w j là từ thứ j trong từ điển; wo , c là từ xuất hiện tại vị trí c trong ngữ cảnh;<br />
' '<br />
Do các kênh ở lớp ra có chung một trọng số nên uc , j u j vw h với vw là hàng j j<br />
<br />
<br />
'<br />
thứ j của ma trận WV N<br />
<br />
*<br />
1 j jc* <br />
• Ký hiệu jc là vị trí của từ wo , c trong từ điển; và t c , j , như<br />
0 j jc <br />
*<br />
<br />
<br />
<br />
vậy tc , j chính là đầu ra mong muốn tại kênh c. Do vậy, hàm lỗi ở lớp ra được tính<br />
như sau: ec , j yc , j tc , j<br />
'<br />
• Cập nhật lần lượt các ma trận trọng số WV N , WV N theo công thức sau:<br />
<br />
<br />
<br />
106 N. H. Phúc, …, N. M. Tường, “Phương pháp đánh giá … dựa trên mô hình Word2Vec.”<br />
Nghiên cứu khoa học công nghệ<br />
C V C<br />
<br />
ec , j w ij x j<br />
( new ) ( old ) '<br />
ec , j hi ; wij<br />
'(new) '( old )<br />
wij wij wij (3)<br />
c 1 j 1 c 1<br />
<br />
trong đó 0 là tham số huấn luyện.<br />
• Quá trình huấn luyện dừng khi vượt quá số lần lặp cho trước, hoặc khi sai<br />
số (lỗi) đủ nhỏ.<br />
2.3. Độ tương tự giữa 2 văn bản dựa vào mô hình Word2Vec<br />
Với mô hình Word2Vec, dựa vào độ đo Cosine giữa 2 vector, ta có thể lựa<br />
chọn ra rất nhiều từ tương tự với từ đã cho (độ đo Cosine càng lớn, độ tương tự<br />
càng lớn). Tuy nhiên trong nghiên cứu này, chúng tôi chỉ lấy những từ có khoảng<br />
cách Cosine lớn hơn một ngưỡng xác định, ngưỡng này được lựa chọn thông qua<br />
thử nghiệm được trình bày ở mục 3. Ta gọi đó là các từ gần gũi (thường là các từ<br />
đồng nghĩa) với từ đã cho.<br />
Khi có tập từ gần gũi, ta sẽ cải tiến thuật toán đo độ tương tự về từ vựng giữa 2<br />
câu để thu được độ tương tự ngữ nghĩa giữa 2 câu, cụ thể như sau:<br />
- Bước 1: Thực hiện thao tác tách từ với 2 câu s, t. Sau đó đưa các từ vào hai<br />
túi từ tương ứng.<br />
- Bước 2: Loại bỏ các cặp từ giống nhau trong hai túi từ.<br />
- Bước 3: Loại bỏ các cặp từ gần gũi trong hai túi từ.<br />
- Bước 3: Nếu cả hai túi rỗng, khoảng cách giữa hai câu đầu vào sẽ là 0.<br />
Ngược lại, các từ còn lại trong hai túi được kết nối thành hai xâu s’ và t’ và<br />
tính khoảng cách Levenshtein giữa 2 xâu đó.<br />
- Bước 4: Độ tương tự về ngữ nghĩa giữa 2 câu s và t được xác định như sau:<br />
Levenshtein_distance s ', t ' <br />
Semantic _Similarity( s , t ) 1 (4)<br />
max_len s, t <br />
Trong đó Levenshtein_distance là khoảng cách Levenshtein giữa xâu s’ và t’,<br />
và max_len là độ dài của câu dài nhất trong 2 câu s và t.<br />
Ví dụ: Tính độ tương tự về từ vựng của 2 câu:<br />
s = “Tôi đồng_ý với ý_kiến trên”<br />
t = “Tôi nhất_trí với ý_kiến trên”<br />
Tách 2 câu s, t thành các từ, đưa chúng vào 2 túi từ:<br />
bag_of_words(s) = {“Tôi”, “đồng_ý”, “với”, “ý_kiến”, “trên”}<br />
bag_of_words(t) = {“Tôi”, “nhất_trí”, “với”, “ý_kiến”, “trên”}<br />
Loại bỏ các cặp từ giống nhau ra khỏi túi từ. Ngoài ra, 2 cặp từ “đồng_ý”<br />
và “nhất_trí” có khoảng cách cosine là 0.67 nên ta có thể loại thêm 2 từ đó ra khỏi<br />
túi từ. Sau khi loại ta sẽ có các túi sau:<br />
bags_of_words(s) = {“”}; bags_of_words(t) = {“”}<br />
Như vậy, độ tương tự giữa câu s và t sẽ là:<br />
<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 - 2018 107<br />
Công nghệ thông tin<br />
<br />
Levenshtein_distance "","" 0<br />
Semantic_Similarity( s, t ) 1 1 1<br />
max_len s, t 29<br />
Như vậy 2 câu trên tương tự với hệ số tương tự cao nhất. Kết quả cho thấy với<br />
việc sử dụng mô hình Word2Vec để xác định các từ gần gũi, độ đo<br />
Sematic_Simlarity đã phản ánh được độ tương tự về mặt ngữ nghĩa giữa 2 câu.<br />
3. THỬ NGHIỆM VÀ ĐÁNH GIÁ<br />
Các thử nghiệm của chúng tôi được tiến hành cài đặt và chạy thử nghiệm trên<br />
máy Laptop Core i5 tốc độ 1.6 Ghz, 8 Gb Ram.<br />
Với mô hình Word2Vec, độ tương tự giữa hai từ được dựa vào độ đo Cosine<br />
giữa 2 vector, độ đo Cosine càng lớn, độ tương tự càng lớn. Tuy nhiên, chưa có<br />
nghiên cứu nào chỉ ra 2 từ đồng nghĩa thì có khoảng cách Cosine bằng bao nhiêu,<br />
do vậy chúng tôi tiến hành thử nghiệm nhằm tìm ra một giá trị ngưỡng phù hợp để<br />
xác định 2 từ gần gũi (đồng nghĩa). Hai từ sẽ được coi là gần gũi nếu khoảng cách<br />
Cosine giữa 2 từ này lớn hơn hoặc bằng giá trị ngưỡng.<br />
Trong các thử nghiệm, để thu được vector từ, chúng tôi sử dụng mô hình đã<br />
được huấn luyện và công bố tại http://streetcodevn.com/, mô hình này sử dụng thư<br />
viện Deeplearning4j trong Java. Sau đó, chúng tôi huấn luyện bổ sung với ngữ liệu<br />
thu được từ các văn kiện Đại hội Đảng, báo lao động, báo nhân dân, ….. Dữ liệu<br />
tiếng Việt đầu vào được xử lý tách câu và tách từ lần lượt, sử dụng 2 công cụ<br />
vnSentDetector và vnTokenizer do nhóm của Lê Hồng Phương và đồng nghiệp xây<br />
dựng[ 4,5].<br />
Thử nghiệm 1. Xác định ngưỡng tương tự giữa từ với từ<br />
Trong thử nghiệm này, chúng tôi lấy 300 từ trong từ điển, sau đó với mỗi từ, sử<br />
dụng lần lượt các ngưỡng 0.4, 0.5, 0.6 để xác định các từ gần gũi với từ đã cho.<br />
Kết quả được thể hiện ở Bảng 1.<br />
Bảng 1. Thử nghiệm độ tương tự từ với từ trong Word2Vec.<br />
Ngưỡng = 0.4 Ngưỡng = 0.5 Ngưỡng = 0.6<br />
SL từ SL<br />
SL từ SL từ SL từ SL từ<br />
gần gũi Tỉ lệ từ Tỉ lệ Tỉ lệ<br />
sai gần gũi gần gũi sai<br />
TB thu sai sai sai % sai %<br />
TB TB TB TB<br />
được TB<br />
46.62 18.05 2.12 11.75 8.45 0.46 2.57<br />
39.11 36.46<br />
% % %<br />
Từ kết quả ta nhận thấy: Với ngưỡng 0.4, với mỗi từ thu được trung bình khoảng<br />
39 từ được xem là đồng nghĩa, tuy nhiên trong đó khi được xem xét cụ thể về mặt<br />
ngữ nghĩa có tỉ lệ sai lên đến 46.62%. Tương tự với ngưỡng 0.5 và 0.6 tỉ lệ sai lần<br />
lượt là 11.75% và 2.57%. Với ngưỡng 0.6, tỉ lệ sai nhỏ tuy nhiên số từ đồng nghĩa<br />
<br />
<br />
<br />
108 N. H. Phúc, …, N. M. Tường, “Phương pháp đánh giá … dựa trên mô hình Word2Vec.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
tìm được cũng ít đi đáng kể, chỉ khoảng 8 từ, trong khi với Tiếng Việt có rất nhiều từ<br />
đồng nghĩa. Do vậy, chúng tôi chọn ngưỡng 0.5 do có số lượng từ vừa đủ, trung bình<br />
với mỗi từ ta tìm được 18 từ đồng nghĩa vài tỉ lệ sai vào khoảng 11.75%.<br />
Thử nghiệm 2. Xác định ngưỡng tương tự giữa câu với câu<br />
Cũng tương tự như việc xác định 2 từ đồng nghĩa, để xác định 2 câu đồng<br />
nghĩa ta cũng cần xác định các ngưỡng về độ đo. Trong thử nghiệm này, để xác<br />
định ngưỡng phù hợp với từng độ đo, chúng tôi tiến hành tính độ tương tự giữa<br />
150 cặp câu đồng nghĩa, với 2 độ đo: Lexical_Similarity được đề xuất trong [2], và<br />
độ đo Semantic_Similarity do chúng tôi đề xuất. Độ tương tự trung bình của 150<br />
cặp câu tương ứng với 2 độ đo Lexical_Similarity và Semantic_Similarity là<br />
0.4144 và 0.672. Do vậy, trong thử nghiệm tiếp theo, để xác định độ tương tự giữa<br />
2 câu, chúng tôi sử dụng ngưỡng 0.4 cho độ đo Lexical_Similarity và ngưỡng 0.6<br />
cho độ đo Semantic_Similarity.<br />
Thử nghiệm 3. Tìm câu đồng nghĩa với câu cho trước trong một văn bản.<br />
Nghiên cứu của chúng tôi được sử dụng để hỗ trợ quá trình tổng hợp ý kiến hội<br />
nghị, do vậy sau khi xác định ngưỡng với từng độ đo, chúng tôi tiến hành thử<br />
nghiệm tìm câu đồng nghĩa với câu cho trước trong một văn bản gồm n câu (so<br />
khớp 1 – n).<br />
Bài toán tổng hợp ý kiến hội nghị có thể được phát biểu ngắn gọn như sau:<br />
trong một cuộc họp có nhiều chủ đề, với mỗi chủ đề có n ý kiến phát biểu, mỗi ý<br />
kiến có m thư kí ghi chép lại. Người tổng hợp biên bản sẽ có văn bản được tổng<br />
hợp từ m thư ký. Như vậy số lượng các nội dung trùng lặp là nhiều, có thể trùng<br />
lặp toàn bộ hoặc một phần nội dung nhưng được diễn đạt theo các cách khác nhau<br />
cả về hình thức lẫn ngữ nghĩa. Người tổng hợp biên bản muốn thực hiện công việc<br />
một cách nhanh chóng cần phát hiện và loại bỏ các ý kiến trùng lặp về nội dung và<br />
hình thức để đưa ra được đánh giá chung nhất.<br />
Do vậy các văn bản thử nghiệm có thể coi là văn bản được tổng hợp từ m thư<br />
ký, như vậy với 1 nội dung sẽ có m cách diễn đạt khác nhau, tương ứng với m câu<br />
đồng nghĩa xuất hiện trong văn bản đó.<br />
Bảng 2 và bảng 3 thể hiện kết quả tìm kiếm sử dụng lần lượt độ đo<br />
Lexical_Similarity và Sematic_Similarity.<br />
Bảng 2. Thử nghiệm so khớp 1 – n với độ đo Lexical_Similarity.<br />
STT n m Đúng Sai Thiếu Tỉ lệ đúng Tỉ lệ sai Tỉ lệ thiếu<br />
1 10 4 2 1 1 50.00% 25.00% 25.00%<br />
2 50 7 3 2 2 42.86% 28.57% 28.57%<br />
3 100 20 9 3 8 45.00% 15.00% 40.00%<br />
4 200 45 22 8 15 48.89% 17.78% 33.33%<br />
Tổng 360 76 36 14 26 47.37% 18.42% 34.21%<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 - 2018 109<br />
Công nghệ thông tin<br />
<br />
Bảng 3. Thử nghiệm so khớp 1 – n với độ đo Semantic_Similarity 1-n.<br />
STT n m Đúng Sai Thiếu Tỉ lệ đúng Tỉ lệ sai Tỉ lệ thiếu<br />
1 10 4 3 1 0 75.00% 25.00% 0.00%<br />
2 50 7 6 1 0 85.71% 14.29% 0.00%<br />
3 100 20 16 3 1 80.00% 15.00% 5.00%<br />
4 200 45 34 7 4 75.56% 15.56% 8.89%<br />
Tổng 360 60 47 9 4 79.07% 17.46% 3.47%<br />
<br />
Kết quả thu được cho thấy độ đo đề xuất Semantic_Similarity cho đã nâng độ<br />
chính xác trung bình từ 47.37% lên 79.07%<br />
4. KẾT LUẬN<br />
Với việc xác định các tập từ đồng nghĩa dựa trên khoảng cách Cosine giữa 2<br />
vector mã hóa từ xác định bởi mô hình Word2Vec, chúng tôi đã đề xuất một phương<br />
pháp mới đo độ tương tự ngữ nghĩa giữa hai văn bản tiếng Việt. Kết quả thử nghiệm<br />
cho thấy rằng độ đo mới thu được kết quả tốt và tỏ ra phù hợp khi áp dụng vào bài<br />
toán tổng hợp văn bản. Trong thử nghiệm với bài toán tổng hợp văn bản tiếng Việt,<br />
kết quả đạt được là trên 75% có thể chấp nhận được trong những điều kiện thực tế.<br />
Phương pháp đề xuất không xét đến từ loại, do đó khi áp dụng trong các ứng dụng<br />
xử lý ngôn ngữ tự nhiên khác cần thêm các nghiên cứu tiếp theo.<br />
TÀI LIỆU THAM KHẢO<br />
[1]. D. T. Long, T. T. Tùng, T. T. Dũng, Phương pháp đánh giá độ tương tự văn<br />
bản Tiếng Việt, Tạp chí Khoa học Viện Đại học Mở Hà Nội, 2017.<br />
[2]. H. N. Phát, H. H. Hạnh và P. C. Vinh, Thuật toán mới về so khớp Ontology,<br />
FAIR, 2015.<br />
[3]. Hien Nguyen, Phuc Duong, Vinh Vo, Vietnamese Sentence Similarity Based<br />
on Concepts, 13th IFIP International Conference on Computer Information<br />
Systems and Industrial Management (CISIM), Nov 2014.<br />
[4]. L. H. Phuong and H. T. Vinh, A Maximum Entropy Approach to Sentence<br />
Boundary Detection of Vietnamese Texts, IEEE International Conference on<br />
Research, Innovation and Vision for the Future RIVF 2008, Vietnam, 2008<br />
[5]. L. H. Phuong, N.T.M. Huyen, Roussanaly A., H. T. Vinh, A Hybrid Approach<br />
to Word Segmentation of Vietnamese Texts. In: Martín-Vide C., Otto F., Fernau<br />
H. (eds) Language and Automata Theory and Applications. LATA 2008.<br />
Lecture Notes in Computer Science, vol 5196. Springer, Heidelberg, 2008.<br />
[6]. Landauer, T. K., Foltz, P. and Laham, D., Introduction to latent semantic<br />
analysis. Discourse Processes 25, 1998.<br />
<br />
<br />
<br />
<br />
110 N. H. Phúc, …, N. M. Tường, “Phương pháp đánh giá … dựa trên mô hình Word2Vec.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
[7]. Mikolov, T., Chen, K., Corrado, G., and Dean, J., Efficient estimation of word<br />
representations in vector space, arXiv preprint arXiv:1301.3781, 2013.<br />
[8]. Mikolov, T., Sutskever, I., Chen, K., Corrado, G. S., and Dean, J., Distributed<br />
representations of words and phrases and their compositionality, In Advances<br />
in Neural Information Processing Systems, 2013, 3111-3119.<br />
[9]. Rada Mihalcea, CourtneyCorley, Carlo Strapparava, Corpus-based and<br />
Knowledge-based Measures of Text Semantic Similarity, American<br />
Association for Artificial Intelligence, 2006, 775-780.<br />
[10]. Voorhees, E. Using WordNet to disambiguate word senses for text retrieval.<br />
Proceedings of the 16th international ACM SIGIR conference, 1993.<br />
[11]. V. I. Levenshtein, Binary codes capable of correcting deletions, insertions,<br />
and reversals, Soviet Physics Doklady10, 1966, 707–710<br />
[12]. Xin Rong, Word2Vec Parameter Learning Explained, Journal of Computing<br />
Research Repository, 2014.<br />
[13]. Yuhua Li, David McLean, Zuhair A. Bandar, James D. O’Shea, and Keeley<br />
Crockett, Sentence Similarity Based on Semantic Nets and Corpus Statistics,<br />
IEEE transactions on knowledge and data engineering, Vol. 18, No. 8, 2006.<br />
ABSTRACT<br />
A NEW METHOD FOR EVALUATING SEMANTIC SIMILARITY OF<br />
VIETNAMESE TEXTS BASED ON WORD2VEC MODEL<br />
Evaluation of semantic similarity has been used in many applications such<br />
as information retrieval, text summarization, and machine translation. Some<br />
methods for evaluating semantic similarity of Vietnamese are based on word<br />
matching because of simplify and easy implementation. Recently, there was a<br />
proposed measure of text similarity by combining the word matching and<br />
Levenshtein distance of two strings. However, this method does not consider<br />
synonyms. This paper presents a novel method for measuring the semantic<br />
similarity of Vietnamese texts by integrating Word2Vec model into the above<br />
method. The novelty of proposed methods is the compensation of the semantic<br />
similarity evaluation by the Word2Vec model. The results show that the<br />
proposed measure outperforms, and it increases the average accuracy from<br />
47.37% to 78.83%.<br />
Keywords: Natural Language Processing; Deep Learning; Sematic Similarity; Word2Vec.<br />
<br />
Nhận bài ngày 27 tháng 6 năm 2018<br />
Hoàn thiện ngày 27 tháng 9 năm 2018<br />
Chấp nhận đăng ngày 05 tháng 11 năm 2018<br />
1<br />
Địa chỉ: Học viện Kỹ thuật quân sự ;<br />
2<br />
Viện Công nghệ Thông tin/ Viện KH – CNQS;<br />
3<br />
Cục 75, Tổng cục 2.<br />
*<br />
Email: laipv1984@gmail.com.<br />
<br />
<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 - 2018 111<br />