我应该同时进行词形还原和词干提取吗?

7

我正在用Python编写一个文本分类系统。这是我规范化每个标记的方法:

lem, stem = WordNetLemmatizer(), PorterStemmer()
for doc in corpus:
    for word in doc:
        lemma = stem.stem(lem.lemmatize(word))

我不想只进行词形还原的原因是我注意到WordNetLemmatizer没有处理一些常见的屈折变化。例如,在副词的情况下,lem.lemmatize('walking')会返回walking
同时进行词干提取和词形还原明智吗?还是重复了?研究人员通常只做其中之一而不是两者都做吗?

1
请查看 https://www.kaggle.com/alvations/basic-nlp-with-nltk (“词干提取和词形还原”部分)。 - alvas
2
重复的问题:https://dev59.com/4WQm5IYBdhLWcg3w0Bq5。 - alvas
3个回答

6

在我看来,进行词干提取和词形还原中的任意一项或两项同时使用会导致非常微小的差异,但是我建议只使用词干提取,因为词形还原有时需要“pos”才能更精确地执行。

例如,如果您想对“better”执行词形还原,则应明确指定pos:print(lemmatizer.lemmatize(“better”,pos =“a”))

如果未提供,默认值为“名词”


2

walking的词形还原是有歧义的。当作形容词使用时,其基本形式应该为walking而不是walk。

更正:研究表明,在信息检索任务中,通常词干处理优于词形还原。可以在这里找到两者之间的质量比较和解释。


2
请问什么是“IR”任务? - theEconCsEngineer
@theEconCsEngineer 信息检索 - Mew

1
我认为,如果词形还原和词干提取的结果相同,那么对词形还原的词进行词干提取是多余的(这也是我期望的结果)。然而,选择词干提取器或词形还原器取决于您的需求。我的直觉是,词干提取可以增加召回率并降低精确度,而词形还原则相反。考虑到这些得分,对于您的具体问题来说,哪个更重要?另一种关于这些得分的选项是计算F-1得分,它是精确度和召回率的调和平均值。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接