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