3

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

当我搜索“执行”时,我得到了“执行”和“性能”的出现。
当我搜索“性能”时,我只得到“性能”的命中,即使“性能”仍应注册为“性能”的单词形式。

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

编辑(2012 年 7 月 11 日 16:34)-
我运行了几个测试组合,看看我是否可以为自己找到一个模式,嗯......这并不是那么有希望(大写很重要!?!)。
获得这些结果的文档是一个简单的单词文档,每个单词形式都有大写和小写。每次搜索都会找到该单词的大写和小写版本。
以下是一些搜索的结果及其明显的结论 (执行“右键单击->在新选项卡中打开图像”以查看完整尺寸的图像细节)
如果有人可以链接到为我澄清这一点的文档,将不胜感激!

编辑(2012 年 7 月 12 日 9:49)-
更悲伤:我尝试从 Word 中的界面切换到 C# 中的 Find.Execute 命令,而 matchSoundsLike 参数的功能与 UI 高级查找功能的功能不同: (似乎程序化的 matchSoundsLike 标志只能找到匹配大小写的声音形式,即使我已将 matchCase 明确设置为 false。

4

1 回答 1

0

这似乎是对Query Expansion的改编,这是 Information Retrieval 中一个相当重要的领域。

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

就预先存在的库而言,大多数包都专注于网络搜索和数据库,所以我很难找到任何东西来搜索文本文件。Google Query Expansion没有明确说它是 Google API 的扩展,但这是我得到的印象。Microsoft SQL Server 似乎内置了此功能。有一个Apache Lucene 模块也实现了这一点。MySQL 也有一个实现

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

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

于 2012-07-12T02:17:20.713 回答