1

現在、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 エンコーディングが少し奇妙に見えます。

誰かが同様の問題を経験しましたか?

4

0 に答える 0