我一直在做一些自然语言处理工作。
对于英语词性标注,它相当简单,因为我只需要使用内置的 nltk 函数。我想以类似的方式处理德语文本。
由于 nltk 没有内置的德语函数,我尝试使用斯坦福 POSTagger:
from nltk.tag.stanford import StanfordPOSTagger
import os
import nltk
java_path = "C:/Program Files/Java/jdk1.8.0_71/bin/java.exe"
os.environ['JAVAHOME'] = java_path
sentence = "Man könnte Klöckner vorhalten, sich an ihre eigenen Appelle nicht zu halten. Doch niemand in der Union wagte das. Nicht einmal die von ihr attackierten Briefschreiber. Klöckner genießt im Moment Narrenfreiheit."
tokens = nltk.word_tokenize(sentence, 'german')
german_postagger1 = StanfordPOSTagger(r'E:/python/nlptest/models/german-hgc.tagger', r'E:/python/nlptest/stanford-postagger.jar')
gp1 = german_postagger1.tag(tokens)
处理完成需要将近7秒,这对我来说是难以忍受的。
我还尝试了模块 Pattern ,但它不支持 Python 3,而我使用的是 Python 3.4。
是否有其他更快的方法来对德语句子进行 POS 标记?
最佳答案
TreeTagger是一个快速、易于安装、记录完善的基于决策树的标记器,支持多种语言(是的,它是由德国人构建的)和 python wrapper .
关于python - 如何对德语文本进行 POS 标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36030428/