Word如何在高级搜索中找到匹配的单词表单?

时间:2012-07-11 19:09:35

标签: c# algorithm search ms-word stemming

我有一个单词文档,其中包含“执行”和“性能”。当我在Word UI中使用高级查找工具(目标最终将其转换为用于C#编程搜索的Find.Execute命令)时,如果选中了“匹配所有单词表单”选项,则会得到不同的结果。

当我搜索“执行”时,我同时获得“执行”和“执行”的发生 当我搜索“性能”时,我只会获得“性能”的命中,即使“执行”仍然应该注册为“性能”的单词形式。

有没有人知道Word如何使用其搜索算法,或者我如何确保搜索“性能”同时显示“执行”和“性能”的结果?

编辑(7/11/12 16:34) -
我运行了几个测试组合,看看我是否能为自己找到一个模式,而且......它没有那么有希望(资本化很重要!?!)。
从这些结果获得的文档是一个简单的单词文档,每个单词形式都有大写和小写大写。每次搜索都会找到单词的大写和小写版本 Here are the results of a few searches and their apparent conclusions (执行'右键单击>在新标签页中打开图像'以查看完整尺寸的图像细节)
如果有人可以链接到文件澄清这一点,我将非常感谢!

编辑(7/12/12 9:49) -
更悲伤的是:我尝试从Word中的界面切换到C#中的Find.Execute命令,并且matchSoundsLike参数的功能与UI高级查找功能相同:(似乎编程的matchSoundsLike标志只能找到声音 - 就像匹配大小写的表单一样,即使我将matchCase显式设置为false。

1 个答案:

答案 0 :(得分:0)

这似乎是对Query Expansion的改编,这是信息检索中一个相当重要的领域。

我建议不要自己构建一个查询扩展引擎,因为这更像是一个硕士(或可能是博士)论文的项目,而不是一个较大项目的较小功能。但是,如果您仍希望自己实现此功能,我建议您从Google Scholar search for "query expansion"开始,并阅读一些现代技术。

就预先存在的库而言,大多数软件包都专注于Web搜索和数据库,因此我很难找到搜索文本文件的任何内容。 Google Query Expansion没有明确说明它是Google API的扩展,但这是我得到的印象。 Microsoft SQL Server似乎have this functionality built-in。有一个Apache Lucene module也实现了这一点。 MySQL也有an implementation

如果您希望使用预先存在的软件包,您似乎至少需要修改程序的结构,以便将文本存储在数据库中。这会将您的问题从文本搜索问题转变为语料库搜索问题,这些问题经过深入研究,并且将由外部资源提供更多文档和工具。也就是说,在不知道您的数据的情况下,我不知道这是否是值得解决的问题,也不应该选择哪种结构。

祝你好运。对不起,我无法直接回答你的问题,但我希望我能给你一些很好的信息来源。