Ich benutze Stanford CoreNLP für Pos-Tagging und NER auf einem vor-tokenisierten chinesischen Text, ich lese das offizielle Dokument https://stanfordnlp.github.io/CoreNLP/tokenize.html, sagen, dass die Option tokenize.whitespace 'Wenn gesetzt Zu wahr, trennt Wörter nur, wenn Leerräume angetroffen werden. Genau das möchte ich.Stanford CoreNLP tokenize.whitespace Eigenschaft funktioniert nicht auf Chinesisch
Aber ich benutze Python, pycorenlp, um mit CoreNLP Server zu interagieren und nichts über Java zu wissen. Dann lese ich die anwser How to NER and POS tag a pre-tokenized text with Stanford CoreNLP? und dachte, dass das einzige, was zu tun ist, "tokenize.whitespace" = "true" und eine andere Eigenschaft in meinem Post-Request-Eigenschaften-Wörterbuch hinzuzufügen, aber es funktioniert einfach nicht. Ich ließ meinen Server wie folgt:
java -Xmx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -serverProperties StanfordCoreNLP-chinese.properties -port 9000 -timeout 150000
und in meinem jupyter Notebook:
from pycorenlp import StanfordCoreNLP
nlp = StanfordCoreNLP('http://localhost:9000')
output = nlp.annotate('公司 作为 物联网 行业', properties={
'annotators': 'pos,ner',
'tokenize.whitespace': 'true', # first property
'ssplit.eolonly': 'true', # second property
'outputFormat': 'json'
})
for sentence in output['sentences']:
print(' '.join([token['word'] for token in sentence['tokens']]))
die gibt:
公司 作为 物 联网 行业
Die CoreNLP noch Zeichenüber das Token '物 联网', nur wie wenn ich die zwei Eigenschaften nicht addiere. Dann habe ich versucht, eine .properties-Datei zu erstellen und sie in der Befehlszeile anstelle von StanfordCoreNLP-chinese.properties zu verwenden, aber es funktioniert auch nicht. In meinem test.properties:
tokenize.whitespace=true
ssplit.eolonly=true
Dann lief ich den Server wie folgt:
java -Xmx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -serverProperties 'test.properties' -port 9000 -timeout 150000
Noch verhielt es sich, als ob ich nichts verändert hatte. Weiß jemand, was ich vermisse? Jede Hilfe wird geschätzt :)