0

テキストのセマンティック分析を行うために、TextRazor Python ライブラリを使用しようとしています。

私のテキストは次のように定義されています。

def text():
    return r"""Bla Bla Bla"""

上記の tet で上記のライブラリからメソッド「analyze」を実行すると、次のエラーが発生します。

post_data = [("text", text.encode("utf-8")),
AttributeError: 'function' object has no attribute 'encode'

TextRazor Python ライブラリがテキストを読み取れるように、テキストを定義する方法を知っている人はいますか? ところで、OpenCalais Python ライブラリでも同じテキストが正常に機能します。

ありがとう。

4

3 に答える 3

2

エラーは textrazor とは関係ありません。encodeこれは、文字列オブジェクトではなく関数オブジェクトを呼び出しているためです。

def text():
    return r"""Bla Bla Bla"""

# INCORRECT: calling encode on the function object.
text.encode("utf-8")

# CORRECT: calling encode on the string returned by the function
text().encode("utf-8")
于 2013-05-30T23:31:40.633 に答える
-1

TextRazor で問題を調査した後、彼らは解決策を思いつきましたが、それはテキスト定義とは何の関係もありませんでした。どうやら、テキストを分析するときは、最初に "set_do_cleanup_HTML(False)" を実行する必要があるようです。そのため、TextRazor エンジンは空の HTML 文字列をクリーンアップしようとしません。したがって、コードは次のようになります。

client.set_do_cleanup_HTML(False)

response1 = client.analyze(テキスト())

一番。

于 2013-05-30T22:08:59.877 に答える