現在、Python 統合を使用した Java プロジェクトに取り組んでいます。そのために、次のパッケージと ide を使用しています。
Eclipse luna 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 hat mich als die ultimative Film immer geschlagen Monster: ein unersättlich hangrig, amöbenartige Masse in der Lage, zu durchdringen praktisch jede Sicherung, in der Lage ist - als Untergang gewassheihten Arzt unterkümireibt es be Flillier " auf Kontakt. Abfällige Vergleiche zu Gelatine verdammt sein, es ist ein Konzept, mit dem die meisten verheerende der möglichen Folgen, nicht anders als die graue Schmiere-Szenario durch technologische Theoretiker fürchten vorgeschlagen künstliche Intelligenz wuchern. -0.159091090
ただし、jython で python-script を呼び出すと、次の結果が得られます。
0.0 0.0 Der Titular Bedrohung des BLOB hat mich als die ultimative Film immer geschlagen Monster: ein unersättlich hangrig, amöbenartige Masse in der Lage, zu durchdringen praktisch jede Sicherung, in der Lage ist - als Untergang geweihten Arzt unterkühlt es beschreibt - "assimilieren fleihten Kontakt. Abfällige Vergleiche zu Gelatine verdammt sein, es ist ein Konzept, mit dem die meisten verheerende der möglichen Folgen, nicht anders als die graue Schmiere-Szenario durch technologische Theoretiker fürchten vorgeschlagen künstliche Intelligenz wuchern. 0.0 translator_text: TextBlob(" BLOB hat mich als die ultimative Film immer geschlagen Monster: ein unersättlich hangrig, amöbenartige Masse in der Lage, zu durchdringen praktisch jede Sicherung,In der Lage ist - als Untergang geweihten Arzt unterkühlt es beschreibt - "assimilieren Fleisch auf Kontakt. Abfällige Vergleiche zu Gelatine verdammt sein, es ist ein Konzept, mit dem die meisten verheerende der möglichen Folgen, nicht anders als die graue Schmiere -Szenario durch technologische Theoretiker fürchten vorgeschlagen künstliche Intelligenz wuchern.")
sentiment.polarity が突然 0 になり、Java で変換された変数にアクセスして出力した後、ASCII エンコーディングが少し奇妙に見えます。
誰かが同様の問題を経験しましたか?