2016-11-18 46 views
3

這是一個相當廣泛的問題,我沒有尋找具體的實現(好吧,如果某件事情,解決了這個問題,已經存在,將是可怕的)。如果任何人都可以告訴我如何獲取請求的信息,那將是完美的。信息檢索 - 尋找術語的同義詞

讓我來描述一個例子的問題。我有一個大學的名字(例如牛津大學)。我要過濾推特,以找到提到這所大學的蠢蛋。顯然,他們中的大多數不會直接包含「牛津大學」這個詞,而是可能會使用像「Oxon」,「Oxf」或「牛津」這樣的詞。

我的問題是如何自動找到一個單詞的所有同義詞(更確切地說 - 我只對大學的名字感興趣)。

+0

我想你不是在尋找同義詞,而是尋找人們在twitter中使用的單詞的所有變體,這是否正確?如果你需要同義詞,你可以使用像WordNet這樣的詞典來找到同義詞,反義詞等等。 –

回答

1

通常情況下,答案就是使用詞幹。麻煩的是你沒有使用字典中的單詞。大學的名字通常有大量的不遵循約定的縮寫。下一個合乎邏輯的步驟是使用正則表達式,但Twitter不支持正則表達式進行搜索,所有信息必須一般搜索並進行後處理。

所以最好的辦法是使用查詢運算符的組合來儘可能縮小搜索範圍https://dev.twitter.com/rest/public/search。然後在你的服務器端發佈進程。雖然這是一個非常優雅的回答,並且有很多手工工作,但我沒有看到另一種方法。

0

根據您使用的語言和平臺,有可用的NER提取器,例如Java,您可以使用Standford的庫,因此無需編寫自己的。對於Java也請參閱answer,它有更多有用的工具。

運行該工具後,您可以瀏覽不同的類別以首先直觀地識別相關事物(如Oxford Oxf MIT等),然後可能需要通過使用word2vec運行詞幹/詞幹聚類來執行一些後處理。