问题标签 [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.
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 – 包含必须特别词干的单词的字典。(我可以在这里坚持我的“你”/“你”和“应该”问题)
现在,愚蠢的问题。如何更改变量?我到处寻找变量,我不断得到“对象没有属性”......
python - 如何使用雪球的加泰罗尼亚语词干分析器?
我想使用这里提供的加泰罗尼亚语词干分析器:http: //snowball.tartarus.org/algorithms/catalan/stemmer.html
但是,当我这样做时:
它说:
不支持加泰罗尼亚语
有人可以帮助我吗?我究竟做错了什么?
对于西班牙语,当我输入时它确实有效:
非常感谢!
r - tm 包中的 stemDocment 不适用于过去时词
我有一个文件'check_text.txt',其中包含“说说制造”。我想对其进行词干提取以获得“say say say make make”。我尝试stemDocument
在tm
包中使用,如下所示,但只得到“说说制造”。有没有办法对过去时词进行词干提取?在现实世界的自然语言处理中是否有必要这样做?谢谢!
编辑:我也试过wordStem
包SnowballC
r - 制作文字云,但使用组合词?
我正在尝试制作出版物关键字的词云。例如:教育数据挖掘;协作学习;计算机科学...等
我当前的代码如下:
但是,使用此代码,它会自行拆分每个单词,但我需要的是组合单词/短语。例如:教育数据挖掘是我需要展示的一个短语,而不是正在发生的事情:“教育”“数据”“挖掘”。有没有办法将每个单词组合在一起?分号可能有助于作为分隔符。
谢谢。
python - KeyError:“找不到词干算法”使用 Snowballstemmer 进行阿拉伯语
我在这里为阿拉伯语安装了这个词干分析器。我用这段代码运行它:
当我运行它时,我得到了这个:
elasticsearch - 雪球词干分析器不工作
我使用 elasticsearch2.3.3 和 Nest 2.3.2 为附件创建了索引。下面给出了我的索引。我正在文档中搜索带有复数的单数单词。请阅读雪球词干分析器将执行这种类型的转换。但是搜索时没有返回记录。是否需要将任何额外的插件/单词集合添加到应用程序中才能使其工作。任何人都可以帮忙。
我也试过stemmer_override。但没有运气
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 雪球算法的一部分,因此可能无法更改。这是否意味着我必须摆脱整个规范化步骤,或者我可以提供我自己版本的雪球算法,我只是去掉我不喜欢的部分(没有找到任何关于如何使用自定义的文档用于标准化的雪球算法)?
干杯
汤姆
nlp - 雪球词干:定义空区域
我试图了解雪球词干算法。HW90也有类似的例子,但不是我的。该算法使用两个区域 R1 和 R2,定义如下:
R1 是元音后面的第一个非元音之后的区域,如果没有这样的非元音,R1 是单词末尾的空区域。
R2 是 R1 中元音之后的第一个非元音之后的区域,或者如果没有这样的非元音,则为单词末尾的空区域。
我不明白,“单词末尾的空区域”是什么。有人可以给我一些例子吗?
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 文件中的类名是小写的。