Я занимаюсь обработкой естественного языка.Как я могу пометить немецкие тексты POS?
Для английской маркировки POS это довольно просто, потому что мне нужно использовать только встроенные функции nltk. Я хочу так же обрабатывать немецкие тексты.
Поскольку NLTK не имеет встроенную функцию для немецкого, я попытался с помощью Stanford 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?
Бесстыдный штекер? :) Классный инструмент. – erip
@erip Упс забыл добавить это. Обновленный ответ =) – alvas