Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何对德语文本进行POS标记?_Python_Nlp_Nltk_Pos Tagger - Fatal编程技术网

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

Python 如何对德语文本进行POS标记?,python,nlp,nltk,pos-tagger,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']

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

对于英语词性标注,它相当简单,因为我只需要使用内置的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秒钟,这对我来说是无法忍受的

我也尝试了这个模块,但它不支持Python 3,我使用的是Python 3.4


有没有其他更快捷的方法对德语句子进行POS标记?

是一种易于安装的基于decison树的快速标记器,支持多种语言(是的,它是由德语构建的)和一个。

免责声明:无耻的插件

尝试安装完整的
nltk_cli
(),并使用以下命令:

alvas@ubi:~/git/nltk_cli$ echo "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." > test.in

alvas@ubi:~/git/nltk_cli$ python3 stanford.py --tool=postagger \
> --jar=$HOME/stanford-postagger/stanford-postagger.jar \
> --model=$HOME/stanford-postagger/models/german-fast.tagger \
> --input=test.in
[out]:

Man#PIS könnte#VMFIN Klöckner#NE vorhalten,#VVFIN sich#PRF an#APPR ihre#PPOSAT eigenen#ADJA Appelle#NN nicht#PTKNEG zu#APPR halten.#ADJA Doch#KON niemand#PIS in#APPR der#ART Union#NN wagte#VVFIN das.#ADV Nicht#PTKNEG einmal#ADV die#ART von#APPR ihr#PPOSAT attackierten#ADJA Briefschreiber.#NN Klöckner#NE genießt#VVFIN im#APPRART Moment#NN Narrenfreiheit.#NE

快速基于规则的词性和形态标记器支持13种语言的预训练模型,包括德语(词性和形态标记)。它是用Python(和ASLOJava)实现的


例如,Python实现的英文标记速度,使用Core2Duo 2.4GHz的计算机,单线程实现的标记速度为8K字/秒。使用功能更强大的计算机,您可以实现更快的标记速度

无耻插头?:)很酷的工具。@erip哎呀,忘了加那个了。更新答案=)