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 geweihten Arzt unterkühlen Fleisschlagen auf Kontakt. Abfällige Vergleiche zu Gelatin 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.159091

但是,当我使用 jython 调用 python 脚本时,我得到以下结果:

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 Fle 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 translate_text: 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