на основании предыдущего вопроса я изменил свой код, но все еще не работает. нажмите здесь
У меня есть сценарий python, который читает текст и применяет функции предварительной обработки для выполнения анализа. Проблема в том, что я хочу посчитать частоту слов, но система cra sh и отображает приведенную ниже ошибку.
Файл "F: \ AIenv \ textAnalysis \ setup.py", строка 219 , в tag_and_save file.write (word + "/" + tag + "(частота =" + freq_tagged_data [word] + ") \ n")
TypeError: индексы списка должны быть целыми или кусочками, а не str
def get_freq(tagged):
freq_dist = {}
freqs = FreqDist(tagged)
freq_dist = [(word, freq) for word ,freq in freqs.items()]
# print(freq_dist)
return freq_dist
def tag_and_save(tagger,text,path):
clt = clean_text(text)
tagged_data = tagger.tag(clt)
tagged_data = sorted(tagged_data,key=operator.itemgetter(1))
freq_tagged_data = get_freq(tagged_data)
file = open(path,"w",encoding = "UTF8")
for word,tag in tagged_data:
file.write(word+"/"+tag+" (frequency="+ freq_tagged_data[word] +")\n")
file.close()
, если я пытаюсь преобразовать слово в int ()
def tag_and_save(tagger,text,path):
clt = clean_text(text)
tagged_data = tagger.tag(clt)
tagged_data = sorted(tagged_data,key=operator.itemgetter(1))
freq_tagged_data = get_freq(tagged_data)
file = open(path,"w",encoding = "UTF8")
for word,tag in tagged_data:
file.write(word+"/"+tag+" (frequency="+ freq_tagged_data[int(word)] +")\n")
file.close()
, отображается следующее сообщение об ошибке:
Файл "F: \ AIenv \ textAnalysis \ setup.py ", строка 219, в файле tag_and_save file.write (word +" / "+ tag +" (частота = "+ freq_tagged_data [int (word)] +") \ n ") ValueError: недопустимый литерал для int ( ) с основанием 10: ''
ожидаемый результат должен быть таким:
('***** / DTNN') 3