我正在创建一个(自我配音的)知识引擎,用户输入问题并搜索在线百科全书,然后返回一个简单的答案。如何使用PHP将查询拆分为部分语句,以便可以识别问题的主题?比如说,例如,查询是“谁是英国首相?”显然,谁是一个代名词,是一个辅助动词,是一篇文章(所以它可能被忽略,句子仍然有意义),英国首相将是我想的主要问题。谢谢你的帮助!
答案 0 :(得分:0)
你应该看看POS Taggers(词性),google for it。 一个这样的标记是斯坦福NLP标记(自然语言处理组) http://nlp.stanford.edu/software/tagger.shtml
答案 1 :(得分:0)
当你正在进行信息查询而不是发出命令时,这从头开始并不难。他们的关键是正确地分解这句话。
确定是否存在疑问代词(在您的示例中为“谁”),这将出现在句子的开头。不要把它与关系代词混淆,后者会在以后出现。将其从查询中取出,并将其用作二阶修订器。
这个主题是英国首相,这是你用核心搜索的方式,使用疑问作为一个子选择器(谁,什么,哪里等)。
如果有关系代词,可以用作二阶选择器或在主选择器中分组。
你可以像文章一样转储停用词。