2.3 Ph˜Ïng pháp ti∏p c™n và ∑ xußt
2.3.3 Bi∫u diπn d¸a trên mô hình word2vec
Các mô hình word2vec [65] và các˘ng dˆng cıa nó ã ˜Òc s˚dˆng rßt nhi∑u t¯ cÎng Áng hÂc máy. S¸ bi∫u diπn véc-tÏ dày ∞c cıa các t¯ ã hÂc ˜Òc t¯
word2vec ã ˜Òc ch˘ng minh là có ˛ nghæa ng˙ nghæa và rßt h˙u ích trong nhi∑u tr˜Ìng hÒp s˚dˆng, t¯NLP ∏n phân tích luÁng d˙liªu m§ng. Cách bi∫u diπn véc-tÏ cıa các t¯ ˜Òc hÂc bi word2vec ∞c biªt h˙u ích trong tr˜Ìng hÒp d˙ liªu th˜a nh˜ các câu h‰i, câu tr£ lÌi trong các cQA.
Trong nghiên c˘u này, mô hình continuous Skip-gram [65] cıa bÎ công cˆ
word2vec1 ˜Òc s˚ dˆng ∫ sinh ra s¸ bi∫u diπn véc-tÏ cıa các t¯ trong cÏ s
d˙ liªu. ¶u tiên, tßt c£các câu trong câu h‰i mÓi và trong các câu h‰i, câu tr£
lÌi trong cÏ s d˙ liªu ˜Òc phân tích thành các t¯ tË và các t¯ ˜Òc chuy∫n 1https://code.google.com/p/word2vec
thành các véc-tÏ t¯ s˚ dˆng mô hình hußn luyªn l§i word2vec. ∫ xây d¸ng các véc-tÏ câu h‰i, véc-tÏ câu tr£ lÌi t¯ các véc-tÏ t¯ này nghiên c˘u s˚ dˆng các cách tÍng hÒp theo hai ph˜Ïng pháp sau:
Ph˜Ïng pháp 1.
Ëi vÓi mÈi câu h‰i, câu tr£lÌi, th¸c hiªn tính trung bình các véc-tÏt¯cıa nó
∫ có mÎt véc-tÏ duy nhßt bi∫u diπn nÎi dung cıa câu h‰i, câu tr£ lÌi. Viªc xây d¸ng véc-tÏtÍng hÒp này ã cho thßy các k∏t qu£tËt trong mÎt sËnhiªm vˆNLP nh˜: xác ‡nh tính a d§ng cıa ngôn ng˙ (language variety identification) [79], phân biªt các ngôn ng˙ giËng nhau (discriminating similar languages) [80]. Sau khi bi∫u diπn các câu h‰i, câu tr£ lÌi d˜Ói d§ng các véc-tÏ t˜Ïng ˘ng, lu™n án th¸c hiªn tính toán s¸ t˜Ïng Áng gi˙a hai véc-tÏ và s˚ dˆng i∫m sË t˜Ïng t¸
này nh˜ là mÎt thành ph¶n trong véc-tÏ ∞c tr˜ng dùng ∫ phân lo§i. – ây, s¸ giËng nhau gi˙a hai véc-tÏ ˜Òc ˜Óc l˜Òng b¨ng cách s˚ dˆng phép o cosine nh˜ công th˘c 2.1 d˜Ói ây. cosine_similarity(u, v) = Pn i=1ui⇤vi qPn i=1(ui)2⇤qPn i=1(vi)2 (2.1)
Trong ó u và v là các véc-tÏ n chi∑u bi∫u diπn câu h‰i, câu tr£ lÌi. ui, vi là thành ph¶n th˘ i cıa véc-tÏ u, v.
Ph˜Ïng pháp 2.
Ëi vÓi mÈi câu h‰i, câu tr£ lÌi, lu™n án không tính trung bình tßt c£ các véc-tÏ t¯ cıa các t¯ trong câu h‰i, câu tr£ lÌi mà th¸c hiªn theo các b˜Óc nh˜
sau:
• Bi∫u diπn mÈi câu h‰i, câu tr£ lÌi d˜Ói d§ng các véc-tÏ (w1, w2, ...). Trong ówi là s¸bi∫u diπn véc-tÏ t¯cıa t¯th˘ itrong câu h‰i (ho∞c câu tr£lÌi).
• Gi£ c¶n tính Î t˜Ïng t¸ gi˙a câu h‰i mÓi q⇤ và câu tr£ lÌi a. Trong ó q⇤
và a ˜Òc bi∫u diπn nh˜ sau:
q⇤= (w1, w2, ..., wn);a= (v1, v2, ..., vh)
• Ëi vÓi mÈi véc-tÏ t¯trong q⇤, t˘c là vÓi mÈi wi, lu™n án tìm mÎt véc-tÏ t¯
vj trong a mà Î t˜Ïng t¸ cosine gi˙a wi và vj là lÓn nhßt theo công th˘c 2.2 sau:
Trong ó: h là sË l˜Òng các t¯ trong câu tr£ lÌi a, wi là s¸ bi∫u diπn véc-tÏ
t¯ cıa t¯ th˘ i trong câu h‰i mÓi q⇤, vj là s¸ bi∫u diπn véc-tÏ t¯ cıa t¯ th˘ j
trong câu tr£ lÌi a. cosine_similarity(wi, vj) là Î t˜Ïng t¸ cosine gi˙a hai s¸
bi∫u diπn véc-tÏ cıa t¯ th˘ i trong câu h‰i q⇤ và t¯th˘ j trong câu tr£ lÌi a. CuËi cùng, i∫m sË t˜Ïng t¸ gi˙a câu h‰i mÓi q⇤ và câu tr£ lÌi a ˜Òc tính toán nh˜ công th˘c 2.3 d˜Ói ây.
similarity(q⇤, a) =
Pn
i=1score(wi)
n (2.3)
Trong ó n là sËcác t¯trong câu h‰i mÓi q⇤.
Ví dˆ, muËn tính toán Ît˜Ïng t¸ ng˙ nghæa gi˙a câu h‰i q và câu tr£lÌi a: q: “Where i can buy good oil for massage?”.
a: “You might be able to find Body Massage Oil in Body Shop at Landmark or City Center, and if they do have it there, its guaranteed to be good for massage, as some places sell duplicates, so watch out as this could”.
Sau khi lo§i b‰ các t¯ d¯ng và phân tích q, a thành các t¯ tË ta ˜Òc: q = [’buy’, ’good’, ’oil’, ’massage’]
a = [’might’, ’able’, ’find’, ’body’, ’massage’, ’oil’, ’body’, ’shop’, ’landmark’, ’city’, ’center’, ’guaranteed’, ’good’, ’massage’, ’places’, ’sell’, ’duplicates’, ’watch’, ’could’]
Ti∏p theo, mÈi t¯trong q, a ˜Òc bi∫u diπn d˜Ói d§ng véc-tÏ t¯s˚dˆng công cˆ word2vec. D˜Ói ây là ví dˆ v∑ s¸bi∫u diπn véc-tÏ cıa t¯“buy” s˚ dˆng mô hình hußn luyªn vÓi các véc-tÏ có kích th˜Óc 200 chi∑u, window = 5.
buy = [0.12547274, -0.0006824 , -0.16503827, -0.04432229, ..., -0.0713679] Ti∏p theo, áp dˆng công th˘c 2.2 ∫ tính toán Î o t˜Ïng t¸ gi˙a s¸ bi∫u diπn véc-tÏ cıa mÈi ph¶n t˚ cıa q vÓi s¸ bi∫u diπn véc-tÏ cıa mÎt ph¶n t˚ cıa
a nh¨m tìm ph¶n t˚có Ît˜Ïng t¸lÓn nhßt. B£ng 2.1 là k∏t qu£tính Ît˜Ïng t¸ ng˙nghæa gi˙a ph¶n t˚ “buy” trong câu h‰i q vÓi các ph¶n t˚cıa câu tr£ lÌi
a.
T¯k∏t qu£ B£ng 2.1 ta tìm ˜Òc ph¶n t˚ “sell” trong a có Î t˜Ïng t¸ng˙
nghæa vÓi “buy” là lÓn nhßt. Làm t˜Ïng t¸vÓi các ph¶n t˚còn l§i cıa câu h‰i q
B£ng 2.1: Ví dˆv∑ Î t˜Ïng t¸ng˙nghæa gi˙a các t¯might 0,1332314666069283 center -0,020736326092408 might 0,1332314666069283 center -0,020736326092408 able 0,1174890514125115 guaranteed 0,196367328844765 find 0,3300814062994700 good 0,183549822864530 body -0,1196677276883508 places 0,058161406537266 massage 0,0912631258931306 sell 0,830846135147275 oil 0,0385737232937172 duplicates 0,048597386652849 shop 0,3226466418346399 watch 0,251157514295025 landmark 0,0113720747351204 could 0,110003749739739 city 0,0113006427365205 B£ng 2.2: K∏t qu£tìm t¯ có Î t˜Ïng t¸ ng˙nghæa lÓn nhßt Ph¶n t˚ thuÎcq Ph¶n t˚thuÎc a Î t˜Ïng t¸ buy sell 0,830846135147275 good good 0,999999999999999 oil oil 1,000000000000000 massage massage 0,999999999999999 Sau ó áp dˆng công th˘c 2.3 ∫ tính Î t˜Ïng t¸ gi˙a q và a ˜Òc k∏t qu£: similarity(q, a) = 0,830846135147275 + 0,999999999999999 + 1,000000000000000 + 0,999999999999999 4 = 0,957711533786818 Th¸c hiªn t˜Ïng t¸ nh˜ trên ∫ tính toán ˜Òc Î t˜Ïng t¸ gi˙a q⇤ vÓi qi, gi˙a q⇤ vÓi kij (trong ó kij là nh˙ng t¯, cˆm t¯ ˜Òc trích rút nh˜ trong mˆc 2.3.2). B£ng 2.3 là mÎt ví dˆ v∑ viªc so sánh các k∏t qu£tính toán Î t˜Ïng t¸
ng˙ nghæa gi˙a q⇤ và aij vÓi hai ph˜Ïng pháp khác nhau.
B£ng 2.3: Ví dˆv∑ tính toán Ît˜Ïng t¸ng˙ nghæa gi˙a câu h‰i và câu tr£lÌi
Câu h‰i Câu tr£ lÌi Ît˜Ïng t¸ Ph˜Ïng pháp 1 Where I can buy good oil for massage?
You might be able to find Body Massage Oil in Body Shop at Landmark or City Centre, and if they do have it there, it’s guaranteed to be good for massage, as some places sell duplicates, so watch out as this could.
0,639722918787718 Ph˜Ïng