2

我一直在研究 C# 中的问答引擎。我已经实现了大多数现代系统的功能并取得了很好的效果。尽管有 Wordnet 的帮助,但我还未能解决的一个问题是将用户输入更改为正确的术语。

例如

changing Weight -> Mass
changing Tall   -> Height

我的问题是关于是否存在某种资源可以帮助我完成将术语更改为正确术语的任务。

谢谢你

4

2 回答 2

0

我知道如何有效地做到这一点的唯一方法是拥有大量的用户查询会话和对会话的幸福度度量,然后找到用词 x 代替词 y(可能给定一些上下文 z)之间的相关性,从而提高用户的幸福感。

这是一篇关于生成查询替换的合理论文。

这是一篇关于从锚文本生成同义词的新论文,它不需要查询日志。

于 2013-01-17T03:00:29.120 回答
0

查看 WordNet 中的所有同义词集MassWeight我可以看到没有共享同义词集,因此没有共同意义。确实具有相同含义的单词可以通过它们的同义词集标签进行匹配,我相信您已经意识到。

在我自己的自然语言引擎 (http://nlp.abodit.com) 中,我允许用户在他们定义的语法中使用任何同义词集标签,但在这种情况下我仍然会创建两个单独的语法规则,一个识别关于质量的问题,一个识别关于质量的问题认识有关体重的问题。

但是,还有一些 Wordnet 文件也可以为您提供同义词集之间的类关系。例如,如果您在我的演示页面中输入“定义质量”,您将看到:-

4. wn30:synset-mass-noun-1
the property of a body that causes it to have weight in a gravitational field
--type--> wn30:synset-fundamental_quantity-noun-1
--type--> wn30:synset-physical_property-noun-1
ITokenText, IToken, INoun, Singular 

如果你对“重量”做同样的事情,你也会发现它与“物理属性”也有阶级关系。

在我的系统中,您可以编写一个规则来识别有关“物理属性”的问题,也许还有一个命名对象,然后尝试找出他们可能询问的物理属性。而且,也许,如果你不能匹配,也许只是告诉他们所有关于物体的物理特性。

我系统中的方法签名将类似于...

 ... QuestionAboutPhysicalProperties (... IPhysicalProperty prop,
                                          INamedObject obj, ...)

...在代码中,我会查看 obj 的属性并尝试找到一个名为“prop”的属性。

于 2013-01-17T03:26:59.657 回答