0

NLTK を使用して分散プロットを作成しようとしています。私が知る限り、私は指示に従っています。NLTK に付属のサンプル テキストを呼び出してサンプルを実行すると、動作します。自分のテキスト ファイルを呼び出すと、上記のエラーが発生します。

私の:

>>> text11 = "Text_test.txt"
>>> text11.dispersion_plot(["semiosis", "dialectic", "essentially", "icon", "logo"])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'str' object has no attribute 'dispersion_plot'

サンプルコード:

text4.dispersion_plot(["citizens", "democracy", "freedom", "duties", "America"])

アドバイス/ヘルプに感謝します!

4

1 に答える 1

3

トークン化した後、NLTK Text オブジェクトにする必要があることに注意してください。また、text11コードで使用されている変数は"Text_test.txt"、ファイル内のテキストではなく、文字列ですText_test.txt

仮定して

  1. あなたが持っていてmatplotlibnumpyインストールされています。これは、dispersion_plot動作するために必要です
  2. あなたのファイルは/home/myfile.txt
  3. あなたのファイルは、彼らが使用するもののような単純なテキストです

次に、これでうまくいくはずです

# from Ch. 3
f=open('/home/myfile.txt','rU')    # open the file
raw = f.read()                     # read the text
tokens = nltk.word_tokenize(raw)   # tokenize it
mytext = nltk.Text(tokens)         # turn text into a NLTK Text object

# from Ch. 1
mytext.dispersion_plot(["semiosis", "dialectic", "essentially", "icon", "logo"])
于 2013-10-20T16:38:46.617 に答える