python - 如何对德语文本进行 POS 标记?

标签 python nlp nltk pos-tagger

我一直在做一些自然语言处理工作。

对于英语词性标注,它相当简单,因为我只需要使用内置的 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/

相关文章:

python - 如何使用 GPT-2 求出一个句子的概率?

nlp - 在 spacy 中使用基于规则的语法进行分块

Python nltk 资源 u'tokenizers/punkt/english.pickle' 未找到 bu 它实际上存在

javascript - 关联数组不适用于 eval() JavaScript

python - 在python中使用的mysql查询中获取输出(某个整数L),例如(9L),其中包含9

python - Python 中的高性能海量短字符串搜索

php - 什么 NLP 库适合对共享主机上的英文文本进行基本分析?

python - 如何在不使用任何内置函数的情况下实现优先队列?

tensorflow - 如何在TensorFlow GRU模型中添加Attention层?

python-3.x - 如何从 Pandas 数据框创建语料库以使用 NLTK