Я пытаюсь использовать возможности coreNLP для сегментирования, POS и NER на китайских текстах. Я пытаюсь использовать официальный пакет Python StanfordCoreNLP на windows 10
с python 3.6
.
Я не знаю, как заставить CoreNLP работать на китайском языке. Я скачал файл stanford-corenlp-full-2018-02-27.zip, а также файл stanford-chinese-corenlp-2018-02-27-model.jar
с официального сайта corenlp . Частично проблема заключается в том, что для Stanford's CoreNLP существуют сотни оболочек Python, включая nltk
, stanfordcorenlp
, py-corenlp
и т. Д .; что затрудняет мне поиск того, что именно мне нужно сделать для какого-то конкретного пакета. В настоящее время у меня есть английский, работающий с пакетом corenlp
. Я подозреваю, что решение - передать язык или путь китайского .jar в сегментатор.
Код для английского языка (с официального сайта):
import corenlp
text = "Chris wrote a simple sentence that he parsed with Stanford CoreNLP."
with corenlp.CoreNLPClient(annotators="tokenize ssplit".split()) as client:
ann = client.annotate(text)
sentence = ann.sentence[0]
sentence.token[0].word
>>>"Chris"
Попытка с предложением на китайском языке приводит к ошибке памяти для тегов POS или NER и ошибке кодирования (я полагаю) для токенизации.