亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何比較句子與關鍵字位置的想法?

如何比較句子與關鍵字位置的想法?

瀟湘沐 2022-06-02 17:27:54
我想比較這兩個句子。例如,sentence1="football is good, cricket is bad" sentence2="cricket is good,football is bad"通常這些句子沒有關系,這意味著它們的含義不同。但是當我與 python nltk 工具進行比較時,它會給出 100% 的相似性。我該如何解決這個問題?我需要幫助。
查看完整描述

2 回答

?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

是wup_similarity的,內部使用單個標記的同義詞集來計算相似度


Wu-Palmer Similarity: Return a score denoting how similar two word senses are, based on the depth of the two senses in the taxonomy and that of their Least Common Subsumer (most specific ancestor node).


因為cricket和的祖先節點football是相同的。wup_similarity將返回1。


如果你想解決這個問題,使用wup_similarity不是一個好的選擇。最簡單的基于令牌的方法是擬合 avectorizer然后計算相似度。例如。


from sklearn.feature_extraction.text import CountVectorizer

from sklearn.metrics.pairwise import cosine_similarity


corpus = ["football is good,cricket is bad", "cricket is good,football is bad"]

vectorizer = CountVectorizer(ngram_range=(1, 3))

vectorizer.fit(corpus)


x1 = vectorizer.transform(["football is good,cricket is bad"])

x2 = vectorizer.transform(["cricket is good,football is bad"])


cosine_similarity(x1, x2)

不過,還有更智能的方法可以測量語義相似度。其中一個可以輕松試用的是 Google 的 USE Encoder??吹竭@個鏈接


查看完整回答
反對 回復 2022-06-02
?
www說

TA貢獻1775條經驗 獲得超8個贊

這種方式語義相似性有點棘手,因為即使您使用上下文計數(n-gram > 5),您也無法很好地處理反義詞(例如黑色和白色)。在使用不同的方法之前,您可以嘗試使用淺解析器或依賴解析器來提取可以用作維度的主謂關系或主謂賓關系(例如 )。如果這不能為您提供預期的相似性(或適合您的應用程序的值),請使用在非常大的數據上訓練的詞嵌入。



查看完整回答
反對 回復 2022-06-02
  • 2 回答
  • 0 關注
  • 121 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號