Jython для Java с TextBlob
В настоящее время я работаю над проектом Java с интеграцией Python. Для этого я использую следующие пакеты и ide:
Затмение Луны Jython 2.7.0 TextBlob v0.10.0-dev
Вот мой фрагмент кода Java:
PythonInterpreter interpreter = new PythonInterpreter();
interpreter.execfile("AnSoMiaPy/analyser/test1.py");
PyObject translated_text = interpreter.get("translated_text");
interpreter.close();
System.out.println("translated_text: " + translated_text.toString());
Код Python также довольно прост.
#!/usr/bin/python
# -*- coding: UTF-8 -*-
from textblob import TextBlob
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
text = '''
The titular threat of The Blob has always struck me as the ultimate movie
monster: an insatiably hungry, amoeba-like mass able to penetrate
virtually any safeguard, capable of--as a doomed doctor chillingly
describes it--"assimilating flesh on contact.
Snide comparisons to gelatin be damned, it's a concept with the most
devastating of potential consequences, not unlike the grey goo scenario
proposed by technological theorists fearful of
artificial intelligence run rampant.
'''
blob = TextBlob(text)
blob.noun_phrases # WordList(['titular threat', 'blob',
# 'ultimate movie monster',
# 'amoeba-like mass', ...])
for sentence in blob.sentences:
print(sentence.sentiment.polarity)
# 0.060
# -0.341
translated_text = blob.translate(to="de")
print(translated_text)
print blob.sentiment.polarity
Когда я выполняю код Python, я получаю то, что ожидаю:
0.06 -0.341666666667 Der Titular Bedrohung des BLOB с его минимальными возможностями Фильм о гешлагене: монстр: в школе, в школе, в Зальцбурге, в Зигерском университете, в Зальцбургском крае - неискушаемый молодой человек - молодой человек auf Kontakt. Abfällige Vergleiche zu Gelatine verdammt sein, es is ein Konzept, mit dem die me me meisten ver meerende der meglichen Folgen, nicht anders als die graue Schmiere-Szenario durch technologische Теоретик теоретических знаний90-эксперт 90-е годы - 90-е годы - 90-е годы - 90-е годы - 90-е поколение-90-я специализация: интеллектуальный анализ90-ый класс 90
Однако когда я вызываю python-скрипт с помощью jython, я получаю следующий результат:
0.0 0.0 Der Titular Bedrohung des BLOB с его уникальными способностями Фильм о гшлагене Монстр: Эйн Унтерсэттлих Хангриг, Амбенартиж Массе в дер Лаге, Германия, в Германии - Немецкий университет юстиции Германии Контактная информация Vergeiche zu Gelatine verdammt sein, es is ein Konzept, mit dem die me me meisten ver meerende der meglichen Folgen, nicht anders als die graue Schmiere-Szenario durch technologische Теоретик fürchten vorgeschla, перевод на английский язык: русский язык: русский язык: язык, знания, знания, знания, знания, опыт, знания, знания, данные, названия, материалы, тексты, материалы, переводные материалы: BLOB, как и прежде, окончательный фильм. Монстр: ein unersüttlich hungrig, amébenartige Masse in der Lage, zu durchdringen practisch jede Sicherung, in der Lage ist - als Untergang geweihten, Arzt unterkishtühtühtüht. Abfüllige Vergleiche zu Gelatine verdammt sein, es is ein Konzept, mit dem die meisten verheerende der m¶glichen Folgen, nicht anders als die graue Schmiere-Szenario durch technologische Теоретик для изучения и изучения интеллектуальных технологий.")
Sentiment.polarity внезапно становится равным 0, и после обращения к переведенной переменной в java и ее печати кодировка ascii выглядит немного странно.
Кто-нибудь сталкивался с подобной проблемой?