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