2011-05-18 95 views
0

我正在制作一个(自我配置的)知识引擎,用户输入一个问题并在线搜索百科全书,然后返回一个简单的答案。如何使用PHP将查询分解为词类,从而可以确定问题的主题?举个例子,举个例子,问题是“谁是英国首相?”显然,谁是代名词,是否是助动词,是否是一篇文章(因此可能会被忽略,句子仍然有意义),而英国首相将是我认为的主要疑问。感谢您的帮助!PHP查询分析

回答

0

你应该看看POS标记(词性),谷歌它。 一个这样的恶搞是斯坦福NLP恶搞(自然语言处理组) http://nlp.stanford.edu/software/tagger.shtml

+0

谢谢!欣赏它 – Matt 2011-05-18 02:24:09

+0

谢菲尔德大学有一个很好的NLP工具包。 http://gate.ac.uk/ – Satish 2011-05-18 02:24:34

0

这是不是真的那么难,你正在做的信息查询,不发出命令,从头开始做。他们的关键在于恰当地分解这个词。

确定是否存在疑问代词(在您的示例中为“who”),它将出现在句子的开头。不要把它和一个关系代词混淆起来,而这个关系代词会在以后出现。从查询中提取出来,并将其用作二阶精炼器。

这个问题是英国首相,这是你做你的核心搜索,使用疑问作为子选手(谁,什么,在哪里等)。

如果有一个关系代词,可以用作二阶选择器或分组在主选择器中。

您只需转储文章等停用词。