2017-04-25 118 views
0

我正在尋找一個詞形還原模塊/ lib下,將轉移一句話:
「這是偉大的」到「這是」。的Python:語言規範化

我熟悉的一些諸如詞幹和詞形歸併在NLTK可用的工具,但是它不正是我要找的

我的目標是將各種不同的方式說同樣的事情減少。

回答

2

有幾種方法可以做到這一點。

1)您可以使用預定義的一組同義詞替換單詞,如WordNet。您可以使用nltk包使用WordNet語料庫。

nltk文檔有一個很好解釋的例子this

此方法將僅涵蓋預定義的同義詞,並不會從您正在使用的數據中「學習」類似的概念。例如,起重機可以是車輛或鳥。

2)另一種方法是使用LSA來識別語料庫中單詞使用的相似概念。

如果您將文本看作單詞的矢量(語料庫中的每個單詞),則您的矢量具有V維度,其中V是語料庫中唯一單詞的總數。意思是,你試圖解決的問題是降低維度。 LSA適用於降維。

瞭解更多關於LSA的信息wikipedia

通過使用sklearn's TruncatedSVD class,可以使用LSA方法。

2

這是一個更具實驗性,但另一種可能性是使用文字嵌入。

的話偉大良好應該有類似的發生背景,所以他們的載體應該是相似的,您羣集你的話像,並將其聚合到同一個詞/概念。

當然,這將很大程度上取決於您用於生成嵌入的語料庫和方法。

+1

我肯定會研究word2vec這樣的詞嵌入,而不是LSA,如果集合足夠大的話 –