是否可以自动分组属于同一类的动词变位?从一个大型的维基百科数据集中,我希望提取所有动词,根据所有的时态将它们分组,并放入变位表中。
现在时
(我) 吃
(你) 吃
…
过去现在时
(我) 吃了
(你) 吃了
…
使用机器学习可以实现吗?我找到了spacy.io,可以用来识别一个词是否是动词,但我不知道如何自动“分组”。
任何建议都将不胜感激!
回答:
你的问题涉及多个子问题。熟悉这些术语将有助于你找到现有的工具和解决方案。
要完成这个任务,你需要:
- 识别维基百科数据集中哪些标记是动词。
- 对于每个动词标记,识别所使用的变位形式。
- 对于每个动词标记,识别动词的词根(也称为“字典形式”)。这将告诉你该标记属于哪个“组”。
第一个任务通常由词性标注器完成。词性标注器扫描文本的标记并识别每个标记的词性。
第二个子任务通常称为“形态分析”,执行此任务的工具称为形态分析器。一些词性标注器也会提供此信息,你可以通过查看标注器使用的标签集来判断。然而,即使它们提供变位信息,通常也不如形态分析器提供的详细。
最后,第三个任务称为词形还原。大多数词性标注器和形态分析器都会提供词根。
这些任务都有许多方法和工具被创建出来,很多涉及机器学习方法。例如,我工作的实验室使用在监督数据集上训练的神经网络进行形态分析。不过,这些工具的构建和调整可能需要很长时间,对于主要语言(特别是英语)有现成的解决方案。
我不知道目前英语的最新工具是什么。但现在你知道了这些术语,你可以自己调查可用的工具。从文档页面上可以看到,Spacy 提供了你需要的大部分信息:它能识别动词并提供词根。它似乎也通过不同的“标签”区分了一些变位形式(例如,“VBG”和“VBZ”)。这里有一个完整的列表,标题为“词性标注”:https://spacy.io/api/annotation。不过,不确定这些标签是否涵盖了你关注的所有变位形式。