私は金融テキストの音色を分類するためにLoughran/McDonald辞書を使用しようとしています。テキスト分類 - エラー: 'count'が定義されていません
# Get tone dictionary
import re
with open('lmdict.txt') as list:
lines = list.readlines()
dict = {}
for l in lines:
if l[0:2] == '>>':
cat = l[2:].strip()
dict[cat] = []
else:
l = l.strip()
if l:
dict[cat].append(l)
# Set up regular expressions
regex = {}
for cat in dict.keys():
pattern = '\\b(?:' + '|'.join(dict[cat]) + ')\\b'
regex[cat] = re.compile(pattern, re.IGNORECASE)
# Get tone count
text = "Bsp.text"
wordcount = len(text.split())
for cat in count.keys():
count[cat] = len(regex[cat].findall(text))
print(count)
いくつかのエラーは前に発生したので、私は、私が好きな文書を割り当てることが再インポートおよびテキスト=「Bsp.text」を追加しました:ここ
は、私はオンラインを見つけたコードです変数のテキスト(私はそれを正しくしたと思いますか?)として分類します。 残念ながら、別のエラーが今そこにある:
Traceback (most recent call last):
File "C:\Users\M\Desktop\Python34\xWordlist.py", line 25, in <module>
for cat in count.keys():
NameError: name 'count' is not defined
どのように私はこの問題を解決することができますか?私はPythonの初心者ですので、コードに間違いがある場合は教えてください。私は本当にそれを感謝します!
UPDATE:私はそれが今取り組んでいる、コードの最後の部分を変更:
# Get tone count
with open('Bsp.txt', 'r') as content_file:
content = content_file.read()
count = {}
wordcount = len(content.split())
for cat in dict.keys():
count[cat] = len(regex[cat].findall(content))
print(count)
そうです、それは定義されていません。なぜあなたはそれがそうであろうと思ったのかは明らかではありません。あなたは「カウント」がどこから来ると思いますか? – jonrsharpe
私は変数名が間違っていると思います。あなたは決して 'count'を割り当てませんでした。割り当てられる変数は 'wordcount'です。 'count 'はどこに割り当てられますか? – skjoshi
ありがとうございます。私はコードの最後の部分を編集しました。 出力は{'負':0、 '正':0}です。 なぜまだ0ですか?確かに、テキストの中の辞書には否定的なものと肯定的なものがあります...それを数えるために何を追加しなければなりませんか? @skjoshi –