我聽說谷歌使用多達7克的語義相似度比較。我有興趣找到在上下文中相似的單詞(即貓和狗),我想知道如何計算n-gram模型上兩個單詞的相似度,因爲n> 2.簡單的NLP:如何使用ngram做詞相似?
所以基本上給了一個('hello','my','name'), ('hello','my','name'),這個文字就像「你好,我的名字是等等等等,我喜歡貓」,並且我生成了一個3克組合我的','名字','是'), ('name','is','blah'), ('is','blah','blah'), ('blah','blah '','I'), ('blah','I','love'), ('I','love','cats')]
請不要回應,如果你沒有給出如何做這個特定的NGRAM問題的建議
我可以用什麼樣的計算來找到'貓'和'名'之間的相似性? (應該是0.5)我知道如何用bigram來做這件事,只需將freq(cats,name)/(freq(cats,)+ freq(name,))分開。但是對於n> 2呢?
你爲什麼說你的上下文中的「貓」和「名」是「相似的」?你能否通過「上下文相似性」來定義你的意思? – hashable 2010-03-15 06:56:39
好吧,我不是說他們是相似的,但我只是說我想從0到1的分數,這給了我相似的程度。 名稱和貓例如應該在0.3左右,幾乎沒有任何相似之處,但對於大型數據庫,貓和狗應該大致在0.85左右,因爲它們在最大環境下非常相似。 – sadawd 2010-03-15 12:32:49
我發現你的問題不清楚。如果根據上下文,你可能會嘗試下列短語:使用Python NLTK,使用分塊工具來定位短語,不需要N-gram。應用這些短語之間的自相關我愛狗,我喜歡貓會有相當程度的相關性。如果真的你想看看狗和貓在我看來與N-grams無關。如果我正在查看fr,那麼我知道的最簡單的方法就是使用WordNet的圖距測量來比較狗和貓。 – user2444314 2013-06-02 01:17:33