1

我想从用户提供的文本语句中提取相关词。例如。对于“矩形有几条边?”这个问题。单词应该是“矩形”、“边”、“许多”、“如何”。

我们发现我的目标是建立一个 NLP 问答系统。但是现在我只想从问题中提取所需的关键字,问题的范围不是很大。

我遇到过各种数据挖掘工具,但不太确定它们是否真的对此有用。它们似乎有点太高级或不完全相关。

请让我知道是否有任何适合要求的工具,或者我应该继续尝试自己编码。

请提供您认为可能有帮助的任何类型的指针。

4

2 回答 2

1

如果您只有问题,您可以尝试词性标注 (POS) 和命名实体提取 (NER)。特别是名词会很有趣。有许多相同的开源工具,Brill 的 POS tager、Lingpipe、Open NLP 等。但是,如果您也有来自您感兴趣的领域的语料库,您可以从中提取关键词和短语:使用单词和短语的频率与其他一些基本语料库相比有多么不同。给定一个问题,您可以查找这些关键词和短语。

于 2010-10-27T10:43:53.800 回答
1

Apart from srean's advice to use POS tagging and NER, many people use search engine tools (specifically Lucene, but several other exist) to do question answering. They index a set of documents that should contain the answer, use the question as a query, retrieve a set of document and filter those to find the answer. Search engine tools have built-in term weighting.

That's the baseline setup; for more advanced systems, they do all kind of preprocessing on the question and the documents, including stop word filtering, POS tagging, parsing, NER, genetic algorithms, etc.

See this paper for an example of this setup.

于 2010-10-27T14:16:58.647 回答