分类
nlp

Go语言的词干还原器库GoLem

英语的屈折形态

英语中的屈折变化是对英语单词的变形,以表示语法关系或词义的不同细节。这种变化主要包括名词, 动词 和 形容词的词态改变。

1. 名词的屈折变化里,最常见的主要是单复数形式。比如,“cat” 的复数形式是 “cats”,或者”child”的复数形式是”children”;另外还有所有格,如 “John” 改变为 “John’s” 表示John的东西或所有物。

2. 动词的屈折变化包括了进行时态 (“is doing”), 完成时态 (“has done”), 过去时态 (“did”), 过去分词 (“done”) 等。这种改变不仅表示了动作的时间,而且还体现了动作的完成度,主语与动词是否一致等。

3. 形容词的屈折变化主要体现在比较级和最高级上,比如 “big”, “bigger”, “biggest” 分别表示”大”、“更大”和”最大”。

词干还原/屈折还原

在进行字典查询的时候,我们有需要把单词的屈折变化还原,得到词干,这样才能更方便的去查询字典。

比如,字典只有cat这个词,但是我们有时候看文章的时候遇到的可能是cats这个复数形式。或者,我们看到的是doing、has done、did或者done,但是字典中只有do这个词条。

Golem

GoLem 是一个托管在 GitHub 上的开源项目,设计为用 Go 编程语言实现的基于字典的词形还原器。 词形还原器是自然语言处理中使用的一种工具,用于将单词还原为其基本形式或词根形式。 例如,它将单词“aligning”转换为“align”。

该项目位于 GitHub 存储库“aaaton/golem”下,因其支持多种语言的多功能性而特别引人注目。 目前,它支持英语、瑞典语、法语、西班牙语、意大利语和德语。 GoLem 的灵活性允许添加更多语言,前提是这些语言有必要的词典可用。 用户可以针对他们想要使用的每种语言单独获取这些词典。