问题标签 [stemming]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
839 浏览

solr - 在 Solr 中自定义 KStem 过滤器

我正在尝试评估将 Solr 中的词干过滤器从 Porter 切换到 KStem。我看到了有关通过 direct_conflations.txt 文件和其他文件配置 KStem 的能力的参考,但我似乎找不到有关如何格式化此文件或如何告诉 KStem 加载此配置文件的文档。

这是加载 KStem 的 schema.xml 中的示例 solr 配置

使用 Porter,您可以像这样配置受保护的字:

我想知道是否有类似的方式来配置 KStem,有人知道或有人知道这在哪里记录吗?

0 投票
1 回答
956 浏览

solr - SOLR 和词干

有没有一种简单的方法可以简单地从 solr 中排除某些单词?我们有一个充满食物的数据库,每次我们搜索“炸虾”之类的东西时,它都会返回“炸虾配薯条”之类的结果

对于我们近 98% 的搜索,词干在所有其他情况下都可以正常工作,我们希望保持词干不变。

我们只需要从词干处理过程中省略某些词,例如“fries”和“fried”,这样它们是独一无二的,而不是彼此的变体。因此,当我们搜索“薯条”时,它只会找到“薯条”,而不是“炸鲶鱼”或任何带有“炸”字的东西。

谢谢!

0 投票
2 回答
972 浏览

python - NLTK 和 Lucene 之间的 Stemmers 兼容性

我在 Java 中使用 Lucene 来索引语料库并从中提取词干词表。我使用EnglishAnalyzer进行词干。然后我把单词表交给 Python 来用 NLTK 做一些事情。NLTK 中是否有与 Lucene 的 EnglishAnalyzer 使用的词干分析器完全兼容的词干分析器?

我知道我也可以使用 PyLucene 来规避这一点,但我想尽量减少依赖关系。

0 投票
1 回答
6467 浏览

lucene - 弹性搜索词干

我正在使用 ElasticSerach,我想为英语设置基本词干。所以基本上,战斗机返回战斗或任何包含战斗词根的词。

我有点困惑如何实现这一点。我正在阅读分析器、标记器和过滤器,并且有多种词干算法可以在 ElasticSearch 中使用。我只是不确定要使用哪个组合 - 雪球、词干分析器、搬运工词干或同义词过滤器。

此外,映射的示例将非常有帮助。

0 投票
1 回答
586 浏览

c# - Word 如何在高级搜索中找到匹配的词形?

我有一个同时出现“执行”和“性能”的 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。

0 投票
1 回答
495 浏览

search - 如何在 apache Solr 中搜索单个单词?

我正在使用 Apache Solr 使用 DataImportHandler 进行索引。文档结构如下:

id(long)、title(text)、abstract(text)、pubDate(date)

我结合了文本搜索的标题和摘要文件。我的问题是当我查询“标题:实用程序”时,它给出的结果如下:

身份证、头衔

6、金融交易洞察能源与公用事业2008 年 12 月

11、经济低迷时期的住宅公用事业零售策略

16、Financial Deal Insights: Energy & Utilities Review of 2008

41、太阳能是公用事业公司战略的核心

我只想搜索“实用程序”,但它也给出了实用程序的结果......我也尝试了 title:"utility" 和 title:utility~1 但它不起作用。我读到了“词干”,但我不知道如何使用它……请帮助我……谢谢……

0 投票
1 回答
279 浏览

solr - 使用词干提取时如何基于 rawquerystring 提升 solr 结果

使用词干提取时,包含复数词的搜索关键字,如“cats”,在 Solr parsedquery 中被转换为“cat”。

Solr 结果现在包含匹配“cat”和“cats”的文档。

我想对包含“cats”的文档给予更高的提升,而其他结果(匹配“cat”,而不是“cats”)以较低的分数跟随这些文档。

这可能吗?

0 投票
1 回答
818 浏览

lucene - 词干+通配符:意想不到的效果

我正在编辑一个 lucene .net 实现(2.3.2),以包括词干和自动通配符(在单词末尾添加 *)。

我发现带有通配符的确切单词不起作用。(所以 stack* 适用于 stackoverflow,但 stackoverflow* 没有受到影响),并且想知道是什么原因造成的,以及如何修复它。

提前致谢。(也感谢你没有问我为什么要同时实现自动通配符和词干。)

我将让查询始终作为查询的前缀,这样我就不必在查询中添加任何讨厌的“*”,所以我们会看看是否有什么变得清楚。

编辑:只有词干不能使用通配符。示例 Silicate* 不起作用,但 silic* 起作用。

0 投票
4 回答
10715 浏览

r - R 词干字符串/文档/语料库

我正在尝试在 R 中做一些词干处理,但它似乎只适用于单个文档。我的最终目标是一个术语文档矩阵,它显示文档中每个术语的频率。

这是一个例子:

此方法适用于词干部分,但不适用于术语文档矩阵部分:

因此,我尝试先创建术语文档矩阵,但这次没有词干:

这里的词显然不是词干的。

有什么建议么?

0 投票
2 回答
117 浏览

perl - 如何读取包含我不想在 perl 中使用 Lingua::Stem 的 add_exceptions($exceptions_hash_ref) 进行词干处理的单词的可编辑文件?

我正在使用 Perl 的 Lingua::Stem 模块 ( Lingua::Stem ),并且我想要一个文本文件或其他可编辑的文件格式来包含我不想要词干的单词列表。我希望能够随时向文件中添加单词。

他们的例子表明:

做这个的最好方式是什么?

我使用他们的方法对一些异常进行硬编码,但我想用一个文件来做到这一点。