2017-06-13 103 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)可能会更容易。 –