Stemmers vs Lemmatizers

自然语言处理(NLP),尤其是英语,已经发展成为如果存在“完美”的引理词,词干将成为一种古老技术的阶段。这是因为词干分析器将单词/标记的表面形式改变为一些无意义的词干。


然后,“完美”变形器的定义是值得怀疑的,因为不同的NLP任务需要不同级别的词形还原。例如,在动词/名词/形容词形式之间转换单词。


词干


[in]: having

[out]: hav

Lemmatizers


[in]: having

[out]: have

所以问题是,英语词干器今天有用吗?因为我们有大量的英语词汇化工具


如果不是,那么我们应该如何着手构建强大的lemmatizers可以取nounify,verbify,adjectify和adverbify 预处理?


如何将词形还原任务轻松扩展到与英语具有相似形态结构的其他语言?


RISEBY
浏览 560回答 3
3回答

冉冉说

Q1:“[..]英语词干器今天有用吗?因为我们有大量的英语词法化工具”是。Stemmers比lemmatizers更简单,更小,通常更快,对于许多应用,它们的结果足够好。使用lemmatizer是浪费资源。例如,考虑信息检索中的维数减少。您可以在搜索到的文档和查询中通过driv替换所有驱动器/驱动器。你不介意它是驱动器或DRIV或x17a $只要聚类inflectionally相关词放在一起。Q2:“[..]我们应该如何继续构建强大的引理器,这些引理器可以采用名词化,verbify,adjectify和adverbify preprocesses?什么是你的一个引理的定义,它包括推导(驱动 - 驱动程序)或只拐点(驱动器 - 驱动器 - 开)?它是否考虑了语义?如果你想包括派生(大多数人会说包括修改名词等),那么请记住,派生比变形更不规则。有很多特质,差距等等。你真的想要改变(改变火车)和改变(作为硬币)以获得相同的引理吗?如果没有,你在哪里绘制边界?如何神经 - 失去勇气,地球 - 坟 - 世人,......这真的取决于应用程序。如果你考虑到语义(根据具体情况,银行会被标记为银行货币或银行河流),你有多深(你是否将银行机构与银行建设区分开来)?有些应用程序可能根本不关心这个问题,有些应用程序可能想要区分基本语义,有些可能希望它被罚款。问题3:“如何将词形还原任务轻松扩展到与英语具有相似形态结构的其他语言?”“与英语相似的形态结构”是什么意思?英语的屈折形态非常少。对于其他形态类型的语言(真正的屈折,凝聚,模板......),有很好的词形推理器。除了粘合语言之外,我认为查找表(比如压缩的trie)是最好的解决方案。(可能有一些未知单词的备份规则,如专有名称)。查找之后是某种消歧(范围从微不足道 - 采取第一个,或采取与POS标签一致的第一个,更复杂)。更复杂的消歧通常是监督的随机算法(例如TreeTagger或更快),尽管机器学习和手动创建的规则的组合也已经完成(参见例如此)。显然,对于大多数语言,您不希望手动创建查找表,而是根据该语言的形态描述生成查找表。对于屈折语言,你可以采用捷克语的Hajic或俄语的Mikheev的工程方式,或者,如果你大胆,你可以使用两级形态学。或者您可以在两者之间做一些事情,例如Hana(我自己)(请注意,这些都是包含词形还原的完整形态分析器)。或者你可以用无人监督的方式学习变形器 a yarowsky和Wicentowski,可能需要手动后处理,纠正最频繁的单词。有太多的选择,它实际上取决于你想要对结果做什么。

哈士奇WWW

词干或词形还原的一个经典应用是搜索引擎结果的改进:通过对查询以及(在索引之前)对所有索引的索引应用词干(或词形还原),搜索“拥有”的用户能够找到包含“has”的结果。(可以说,动词在大多数搜索查询中有点不常见,但同样的原则适用于名词,特别是在具有丰富名词形态的语言中。)出于搜索结果改进的目的,干(或引理)是否有意义(“有”)或不有(“hav”)实际上并不重要。它只需要能够代表有问题的词及其所有的屈折形式。事实上,有些系统使用数字或其他类型的id-strings而不是词干或引理(或基本形式或任何它可能被称为)。因此,这是一个应用程序的示例,其中词干分析器(根据您的定义)与词形变换器一样好。但是,我并不完全相信你的(隐含的)“词干分子”和“词形变换器”的定义是普遍接受的。我不确定这些术语是否有普遍接受的定义,但我定义它们的方式如下:Stemmer:使用已知后缀的规则和列表,将屈折形式减少为词干或基本形式的函数。Lemmatizer:一个执行相同缩减的函数,但使用全面的完整形式字典来处理不规则形式。基于这些定义,一个词形变换器本质上是一个更高质量(也更昂贵)的词干分析器版本。
打开App,查看更多内容
随时随地看视频慕课网APP