在我们的软件中,我们必须分析纯文本文件。首先,我们应该将文本分成段落,然后分成句子,然后分成标记。最后的步骤(据我了解)是
stemming
和 lemmatization
。
如果我们有这样的文本:
We are singing great songs about heroes
,我希望看到标记为 [we
,be
,sing
,great
,song
,about
,hero
]。为了实现这一目标 - 据我所知 - 我们需要某种方法来以某种方式找到原始文本中的标记,但困难的部分是对其进行词干/词形还原。
我知道有一个 python 项目 NLTK 或 spaCy 擅长这些事情,但我们需要在这个项目中使用 C#。我搜索了几个小时,但找不到任何可用的软件包。简直不敢相信,所以我必须问 - 是否有任何库,或者必须以某种方式从 C# 调用这些库才能做到这一点?
根据我的经验,尝试在 Python 之外进行 NLP 是一个巨大的痛苦,但是有一些库可以实现这一点,例如https://github.com/curiosity-ai/catalyst,它似乎支持词形还原。
由于词干提取通常只是一些基于规则的基本算法的实现,因此您也可以改编另一种编程语言的一些代码或复制现有的直接实现,如下所示:https://github.com/nemec/porter2-词干提取器