- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
library(SnowballC) > > str str.st-6ren">
我正在使用 SnowballC 处理文本文档,但意识到它会词干诸如“many”和“only”之类的单词,即使它们不应该被词干。
> library(SnowballC)
>
> str <- c("many", "only", "things")
> str.stemmed <- stemDocument(str)
> str.stemmed
[1] "mani" "onli" "thing"
>
> dic <- c("many", "only", "online", "things")
> str.complete <- stemCompletion(str.stemmed, dic)
> str.complete
mani onli thing
"" "online" "things"
你可以看到,词干提取后,“many”和“only”变成了“mani”和“onli”,之后无法用stemCompletion补全回来,因为“many”中的字母不包含“mani”。请注意“onli”如何完成为“online”而不是原来的“only”。
这是为什么呢?这是解决这个问题的方法吗?
最佳答案
词干提取通常作为一组规则来执行,即从单词中剥离所有词缀(包括派生词缀和屈折变化词缀),留下其词根。词形还原通常仅删除屈折词缀。词干提取是词形还原的更激进的版本。鉴于您想要什么,您似乎更喜欢词形还原。
为了比较两者,大多数词形还原器仅限于处理英语中名词和动词词缀的一些规则 --ed、-s、>-ing,例如。他们必须处理一些不规则的情况,但通过一些训练数据,可能可以涵盖许多情况。
词干分析者预计会进行更深入的挖掘。因此,他们可以进行的可能转换的空间更大,因此您更有可能最终出现错误。
要了解数据中发生的情况,让我们看看具体情况。
online -> onli:到底为什么会发生这种情况?对此不太确定;可能有一些规则试图迎合像 medic-ine 和 medic 这样的词>-al、sub-mari-ne 和 mari- ne、imagi-ne 和 imagi-国家。。
only -> onli, many -> mani:这些看起来特别奇怪,但可能更比之前的规则合理——尤其是在处理以 -ed 结尾的动词时。如果您要词干否认、研究、修改、指定,您会希望它们是相当于它们的未变形形式拒绝、研究、修改、指定。您可以制定规则将每个动词转换为未变形的形式,但作者选择将词根设为以 -i 结尾的形式。为了确保这些匹配,-y 结尾也必须转换为 -i。
使用词形还原器,您可能会得到更可预测的结果。由于它们只删除屈折词缀,因此您将获得only、many、online和thing,因为您通缉。好的词干分析器和词形还原器都可以很好地工作,但是词干分析器要做更多的事情,因此有更多的错误空间。
关于r - R 词干中的 SnowballC "many"和 "only",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29925840/
我想搜索一个单词及其在句子中的变体。例如,单词“happy”的变体是“happiest”、“happier”。有java库支持吗? 最佳答案 您可以使用Porter stemming algorith
愚蠢的,但我无法访问 NLTK 中的主干函数。 我打电话 import nltk nltk.stem.porter.step1ab() 但我被告知该对象没有 step1ab 属性。我想我以某种方式没有
我想将 DataFrame 的列和索引限制为这样的内容 ps = PorterStemmer() df_dic = pd.read_csv('inquirerbasic_clean.csv', sep
查看以下脚本tortest.py,它反复切换TOR电路并检查IP地址是否已更改: #!/usr/bin/env python2.7 # -*- coding: utf-8 -*- import jso
我是一名优秀的程序员,十分优秀!