德语中的Python情感分析NLTK
我最近开始研究德语文本中的情感分析项目,并计划使用词法分析器来改进结果。德语中的Python情感分析NLTK
NLTK附带德国雪球干燥器,我已经试过使用它,但我不确定结果。也许它应该是这样,但作为一个计算机科学家而不是语言学家,我有一个问题与屈曲动词形式源于不同的词干。
取“suchen”(搜索)这个词,它被认为是第一人称单数的“such”,而第三人称单数是“sucht”。
我知道也有词形化,但据我所知,没有工作的德语lemmatizer被整合到NLTK中。有GermaNet,但他们的NLTK集成似乎已被中止。
到达这一点:我希望折中的动词形式被归为同一词干,至少对于同一时期内的常规动词。如果这不是我的目标有用的要求,请告诉我为什么。如果是这样,你知道有哪些额外的资源可以帮助我实现这个目标吗?
编辑:我忘了提及,任何软件都应该可以免费用于教育和研究目的。
作为一名计算机科学家,您肯定正在寻找正确的方向来解决这个语言问题;)。词干通常比较简单,用于信息检索任务,试图减少词典的大小,但通常不足以用于更复杂的语言分析。 Lemmatisation部分与用于词干的用例重叠,但包括将动词变形全部重写为相同的根形式(引理),并且还将“工作”区分为名词和“工作”作为动词(尽管这取决于一点lemmatiser的实施和质量)。为此,它通常需要更多信息(如POS标签,语法树),因此需要更长的时间,使其不适合IR任务,通常处理大量数据。除了GermaNet(不知道它被中止了,但从未真正尝试过它,因为它是免费的,但你必须签署协议才能访问它),还有SpaCy,你可以拥有一个SpaCy看看:https://spacy.io/docs/usage/
非常容易安装和使用。看到网站上的安装说明,然后使用下载德国的东西:
python -m spacy download de
则:
>>> import spacy
>>> nlp = spacy.load('de')
>>> doc = nlp('Wir suchen ein Beispiel')
>>> for token in doc:
... print(token, token.lemma, token.lemma_)
...
Wir 521 wir
suchen 1162 suchen
ein 486 ein
Beispiel 809 Beispiel
>>> doc = nlp('Er sucht ein Beispiel')
>>> for token in doc:
... print(token, token.lemma, token.lemma_)
...
Er 513 er
sucht 1901 sucht
ein 486 ein
Beispiel 809 Beispiel
正如你所看到的,遗憾的是它并没有你的具体例子做了很好的工作( suchen),我不确定数字代表什么(即必须是引理编号,但不确定可以从中得到什么其他信息),但也许你可以试一试,看看它是否对你有帮助。
谢谢,我一定会试一试,当我回到它。 – Florian