问题标签 [snowball-stemmer]

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 投票
0 回答
287 浏览

maven - Lucene 打破了 Snowball 词干分析器的依赖

在我的 Java 项目(使用Maven)中,我将Gate 8.0作为进行一些自然语言处理的基础,它加载了Stemmer_Snowball插件(参见插件列表)。正如文档所述,Stemmer 正在处理 Snowball 词干分析器上的资源包装器 ( http://snowball.tartarus.org )。

Gate 加上词干分析器运行良好,直到我将Hibernate Search ORM 5.9(因此 Lucene)依赖项添加到项目中:

事实证明,该lucene-analyzers-common软件包覆盖了一些旧版本的org.tartarus.snowball软件包(有关更多信息,请参阅软件包摘要),现在自定义 Lucene Snowball 软件包和原始 Snowball 软件包不兼容:

  1. 雪球原版: https ://github.com/snowballstem/snowball/tree/master/java/org/tartarus/snowball
  2. Lucene Snowball 版本: https ://github.com/apache/lucene-solr/tree/master/lucene/analysis/common/src/java/org/tartarus/snowball

请注意,即使 Lucene 覆盖了 Snowball 包类,它也会保留原始包名,这会使库不兼容。

我想在我的项目中同时使用 Gate(使用原始 Snowball 词干分析器)和 Hibernate Search(使用自定义 Lucene Snowball 词干分析器)。Maven 优雅地阻止我们加载同一个包的多个版本,那么在这种情况下我该怎么办?

更新:我在 Lucene 的问题跟踪器上添加了一个问题

0 投票
1 回答
748 浏览

python - 德语词干分析器不会删除女性后缀“-in”和“-innen”

在德语中,每份工作都有女性化和男性化的版本。女性化的是通过添加“-in”后缀从男性化的。在复数形式中,这变成了“-innen”。

例子:

目前,我正在使用 NLTK 的nltk.stem.snowball.GermanStemmer. 它返回这些词干:

有没有办法让这个词干分析器为所有四个版本(女性版和男性版)返回相同的词干?或者,是否有其他词干分析器这样做?

更新

我最终添加了“-innen”和“-in”作为第 1 步后缀元组中的第一个条目,如下所示:

这样,上述所有单词都分别被提取为lehrarzt。此外,到目前为止我尝试过的所有其他“工作形式”都是正确的,这意味着男性和女性形式具有相同的词干。此外,如果“工作形式”源自动词,例如Lehrer/in,则它们与动词具有相同的词干。

0 投票
1 回答
244 浏览

java - 是否有一种简单且标准的方式来自定义 Lucene 雪球词干分析器?

我正在使用 Lucene 7.x 和 ItalianStemmer。我看过 ItalianStemmer 类的代码,似乎需要很长时间才能理解。因此,我正在寻找一种快速(可能是标准)的方式来定制意大利词干分析器,而不需要扩展 ItalianStemmer 或 SnowballProgram,因为我只有几天时间。

关键是我不明白为什么“saluto”(问候)这个名字是“sal”。它的词干应该是“salut”,因为动词“salutare”(问候)的词干是“salut”。此外,“sala”(房间)和“sale”(房间)也被词根为“sal”,这很容易混淆,因为它们的含义不同。

0 投票
1 回答
88 浏览

elasticsearch - AWS ElasticSearch 服务 - 我可以使用任何词干分析器吗?

尝试使用类似于雪球的英语词干分析器来确保多个搜索查询。

有标准的aws吗?还是我需要安装插件?我试过以下2,得到以下:

{"error":{"root_cause":[{"type":"remote_transport_exception","reason":"[dd63ee99c9186dd4b38e282ea58cbe6b][x.x.x.x:9300][indices:admin/create]"}],"type":"illegal_argument_exception","reason":"unknown setting [index.filter.my_stemmer.language] please check that any required plugins are installed, or check the breaking changes documentation for removed settings","suppressed":[{"type":"illegal_argument_exception","reason":"unknown setting [index.filter.my_stemmer.type] please check that any required plugins are installed, or check the breaking changes documentation for removed settings"}]},"status":400}

尝试1:

尝试2:

0 投票
0 回答
72 浏览

python - 创建自定义标记器

我必须使用创建自定义标记器CountVectorizer(),它将执行以下操作:

  1. 使用 nltk 中的 word_tokenizer 将文本拆分为标记
  2. 删除带有标点符号、数字和标记的标记nltk.corpus.stopwords('russian')
  3. 冲压SnowballStemmer

是否可以仅通过更改参数来完成此任务CountVectorizer

我想创建一个字典,但我认为有一种方法可以使它更容易。

我的尝试:

0 投票
1 回答
22 浏览

python - 修复 SnowballStemmer 错误“AttributeError: 'English' object has no attribute 'Default”

你好:) 我正在使用包 SnowballStemmer,但我收到了一个错误。我很高兴得到任何帮助:)

代码:

这里的错误:

0 投票
0 回答
35 浏览

python - 如何修复“SnowballStemmer”对象没有“StemWords”属性?

这是代码:

错误:

我很高兴能得到任何帮助来解决这个问题。先感谢您。