What Algorithm/method do I use for a Question Answering System's Question Processing?
我一直在为我的问答系统搜索可能的算法,我认为唯一可能使用的是Parsing
,但我在上一个问题中询问了解析,有了答案,我认为它不可能被使用?(我不确定)。
我使用Parsing
的想法是将问题分解成每个单词,然后它将通过一个单词存储库来确定所说的单词类型(名词、形容词、动词等)。我使用Parsing
的目的是删除或确定问题的主题。
我的另一个想法是ChatterBot
。一个喋喋不休的人使用一个词的查询如果我没弄错的话,请纠正我,这些单词被分配到另一个单词。它会从查询中随机选择一个单词。
示例:用户声明:Hello>ChatterBot的可能回复:Hi,Hello,Hey
我不太确定在问答中可能使用的方法/算法是什么,我读过维基百科的帖子:http://en.wikipedia.org/wiki/Question_answering,但我不太明白在Question Processing
中使用什么算法。
谢谢您。
PS:我正在用Javascript开发Q=问题
最佳答案
您可以使用朴素的bayes分类器来查看问题并确定它们的主题。你需要大量的训练数据和一个相当狭窄的领域。
对这个问题的复杂反应涉及到许多机器推理技术,这些技术有点超出我的技能水平,无法很好地解释我的想法是使用一个马尔可夫网络,其中每个单词都有一个或两个相邻单词的边。对每个单词进行一系列的测试,这些测试表明该单词可能是其某个可能含义的成员(例如,如果该单词大写,则标记更可能是名称,但如果下一个单词是“A”,则标记很可能是动词意义上的名称。)机器可以从中尝试确定句子的实际含义,这将再次依赖于使用难以想象的大量训练数据。
Coursera的概率图形模型类(也可能是它们的NLP类)可能是最好的资源,如果你有兴趣成为这方面的技能(PGM是我知道这件事的唯一原因!)