2017-06-13 60 views
0

我需要使用文本挖掘/ NLP /信息檢索從文本文檔中提取源和目標項?使用文本挖掘/ NLP提取詞類(來源和目的地)?

例如:

1. i am travelling from New York to London. 
2. i am heading towards playground from home. 
3. i will be going to Sweden from Boston. 
4. i was flying from School to Home. 

輸出可以如下:

S. No. | source | Destination 
------ | ----------|------------ 
     1| New York | London 
     2| playground | home 
     3| Sweden  | Boston 
     4| School  | Home 
+0

這看起來像[自然語言理解](https://en.wikipedia.org/wiki/Natural_language_understanding)問題。 NLTK可以生成[話語表示結構](http://www.nltk.org/book/ch10.html),它們可以生成文本的含義。 –

+0

@AndersonGreen謝謝,這真的會有所幫助。 –

回答

2

這聽起來像你需要兩樣東西:

  1. 一個依賴解析數據的到識別由'到'和'從'管理的名詞(如果這些確實是你關心的唯一兩個介詞回合)
  2. A (非)命名實體識別器驗證位置被引用。

對於第1部分,這裏有很多依賴關係解析器。你用Stanford NLP和NLTK標記了這個問題,所以它聽起來像是你正在使用Java或Python。斯坦福解析器可以提供依賴關係解析,所以這是一個很好的選擇,但有很多選項可用。

對於第2部分,如果您只需要指定的目的地(紐約),CoreNLP的NER就能正常工作。你也可以考慮使用Spacy(https://spacy.io/),它提供了Python中的依賴分析和NER。

如果您需要匹配「操場」之類的東西,則需要一個非命名實體識別組件。這些數量較少,但您可以嘗試使用xrenner(https://corpling.uis.georgetown.edu/xrenner/),它也可以從PyPI以Python包的形式提供。它使用Basic Stanford Dependencies作爲輸入(而不是Universal Dependencies)來進行依賴性分析,因此您可以在步驟1中使用這些依賴性分析並將結果提供給xrenner。

請記住,所有這些工具都是隨機的,無論你做什麼,都會有一定的錯誤率。

希望這會有所幫助!

+0

由於這個問題是關於NLTK的,因此從輸入文本中簡單地[生成話語表示結構](http://www.nltk.org/book/ch10.html)可能會更容易。 –