问题标签 [snowball]

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 回答
267 浏览

python - 如何使用 nltk.stem.snowball 对 Shakespere/KJV 进行词干

我想阻止早期现代英语文本:

显然,我需要做的只是对 Snowball Stemmer做一个小小的调整:

并将结尾放入英语词干分析器中,列表

慢慢地

步骤 1b 应扩展到

edly ingly est eth

就 Snowball 脚本而言,必须添加结尾 'est' 'eth' 而不是结尾 'ing'。

太好了,所以我只需要更改变量。也许添加一个特殊规则来处理“thee”/“thou”/“you”和“shal”/“shall”。NLTK 文档将变量显示为:

nltk.stem.snowball.EnglishStemmer(ignore_stopwords=False)

基础: nltk.stem.snowball._StandardStemmer

英国雪球词干分析器。

变量:

__vowels – 英语元音。

__double_consonants – 英语双辅音。

__li_ending – 可能直接出现在词尾“li”之前的字母。

__step0_suffixes – 在算法的第 0 步中要删除的后缀。

__step1a_suffixes – 算法步骤 1a 中要删除的后缀。

__step1b_suffixes – 算法步骤 1b 中要删除的后缀。(开始了)

__step2_suffixes – 算法第 2 步中要删除的后缀。

__step3_suffixes – 算法第 3 步中要删除的后缀。

__step4_suffixes – 算法第 4 步中要删除的后缀。

__step5_suffixes – 算法第 5 步中要删除的后缀。

__special_words – 包含必须特别词干的单词的字典。(我可以在这里坚持我的“你”/“你”和“应该”问题)

现在,愚蠢的问题。如何更改变量?我到处寻找变量,我不断得到“对象没有属性”......

0 投票
1 回答
767 浏览

python - 如何使用雪球的加泰罗尼亚语词干分析器?

我想使用这里提供的加泰罗尼亚语词干分析器:http: //snowball.tartarus.org/algorithms/catalan/stemmer.html

但是,当我这样做时:

它说:

不支持加泰罗尼亚语

有人可以帮助我吗?我究竟做错了什么?

对于西班牙语,当我输入时它确实有效:

非常感谢!

0 投票
0 回答
236 浏览

elasticsearch - 法语中的 Elasticsearch 雪球词干不正确

我在法语中看到了相同词干的问题。

这是一个例子:法语中的雪球

或者

token钥匙

你怎么做才能让所有这些词都有相同的词干?

0 投票
1 回答
1821 浏览

r - tm 包中的 stemDocment 不适用于过去时词

我有一个文件'check_text.txt',其中包含“说说制造”。我想对其进行词干提取以获得“say say say make make”。我尝试stemDocumenttm包中使用,如下所示,但只得到“说说制造”。有没有办法对过去时词进行词干提取?在现实世界的自然语言处理中是否有必要这样做?谢谢!

编辑:我也试过wordStemSnowballC

0 投票
3 回答
6542 浏览

r - 制作文字云,但使用组合词?

我正在尝试制作出版物关键字的词云。例如:教育数据挖掘;协作学习;计算机科学...等

我当前的代码如下:

但是,使用此代码,它会自行拆分每个单词,但我需要的是组合单词/短语。例如:教育数据挖掘是我需要展示的一个短语,而不是正在发生的事情:“教育”“数据”“挖掘”。有没有办法将每个单词组合在一起?分号可能有助于作为分隔符。

谢谢。

0 投票
2 回答
743 浏览

python - KeyError:“找不到词干算法”使用 Snowballstemmer 进行阿拉伯语

我在这里为阿拉伯语安装了这个词干分析器。我用这段代码运行它:

当我运行它时,我得到了这个:

0 投票
1 回答
714 浏览

elasticsearch - 雪球词干分析器不工作

我使用 elasticsearch2.3.3 和 Nest 2.3.2 为附件创建了索引。下面给出了我的索引。我正在文档中搜索带有复数的单数单词。请阅读雪球词干分析器将执行这种类型的转换。但是搜索时没有返回记录。是否需要将任何额外的插件/单词集合添加到应用程序中才能使其工作。任何人都可以帮忙。

我也试过stemmer_override。但没有运气

0 投票
2 回答
1362 浏览

elasticsearch - Elasticsearch 如何配置语言分析器(德语)或构建自定义规范器

我正在使用德语分析器来标记一些内容。我知道它基本上是“小写”,“german_stop”,“german_keywords”,“german_normalization”,“german_stemmer”的宏过滤器。

我的问题与规范化过滤器有关。这是Elasticsearch 文档和过滤器的Lucene 实现。问题在于 ae ue 和 oe 被视为德语字母 ä,ö 和 ü,因此转换为 a,o,u。

第二个转变很好,但第一个导致的问题多于它解决的问题。德语文本中通常没有真正代表ä、ü、ö的ae、ue、oe。大多数情况下,它们实际出现在外来词中,源自拉丁语或英语,例如“Aearodynamik”(空气动力学)。然后过滤器将“Ae”解释为“Ä”,然后将其转换为“A”。这会产生“arodynamik”作为令牌。通常这不是问题,因为搜索词也使用该过滤器进行了标准化。但是,如果与通配符搜索结合使用,这确实会成为一个问题:

想象一个像“FooEdit”这样的词,它将被标记为“foodit”。搜索“edit OR *edit*”(这是我在用户搜索“edit”时的正常搜索)不会产生结果,因为“edit”的“e”丢失了。因为我的内容有很多这样的词,而且人们正在搜索部分词,所以它不像看起来那么极端。

所以我的问题是有没有办法摆脱'ae - > a'转换?我的理解是,这是German2 雪球算法的一部分,因此可能无法更改。这是否意味着我必须摆脱整个规范化步骤,或者我可以提供我自己版本的雪球算法,我只是去掉我不喜欢的部分(没有找到任何关于如何使用自定义的文档用于标准化的雪球算法)?

干杯

汤姆

0 投票
1 回答
63 浏览

nlp - 雪球词干:定义空区域

我试图了解雪球词干算法。HW90也有类似的例子,但不是我的。该算法使用两个区域 R1 和 R2,定义如下:

R1 是元音后面的第一个非元音之后的区域,如果没有这样的非元音,R1 是单词末尾的空区域。

R2 是 R1 中元音之后的第一个非元音之后的区域,或者如果没有这样的非元音,则为单词末尾的空区域。

http://snowball.tartarus.org/texts/r1r2.html

我不明白,“单词末尾的空区域”是什么。有人可以给我一些例子吗?

0 投票
0 回答
101 浏览

java - 如何使用 rJava 从这个 JAR 文件中实例化一个类?

我正在用 R 做一个文本分析项目,需要一个词干分析器。我找到了一个雪球词干分析器的 java 编译的 JAR 文件。文档: http:
//lucene.apache.org/core/3_0_3/api/contrib-snowball/
下载链接(底部链接):
http
://www.java2s.com/Code/JarDownload/snowball/ 现在,至于我可以说,这个 R 代码应该创建一个新的词干分析器对象:

但是最后一行代码给出了以下错误:

在花了很多时间之后(其中包括阅读以下帖子寻求帮助:https ://darrenjw.wordpress.com/2011/01/01/calling-java-code-from-r/ ),我得到了卡住了,因为我不确定确切的问题是什么。据我所知,它可能是按可能性顺序排列的:
1.我的代码中的错误
2.依赖关系的问题 3.JAR
文件以某种方式损坏

谁能给我一些关于问题可能出在哪里的指示?

编辑:已回答,见评论。此特定 jar 文件中的类名是小写的。