ValueError: ожидается итерация по необработанным текстовым документам, получен строковый объект - PullRequest
0 голосов
/ 21 мая 2019

Попытка определить весовое значение с помощью TFIDF и count vectorizer

Приведенный ниже код прекрасно работает, когда я выполняю это индивидуально для каждой строки.Он выдает ошибку при добавлении цикла или использовании функции.

function and tried using a lambda function 
def t_keywo(text):
    tf_idf_vector=tfidf_transformer.transform(cv.transform(text))
    #sort the tf-idf vectors by descending order of scores
    sorted_items=sort_coo(tf_idf_vector.tocoo())
    keywords=extract_topn_from_vector(feature_names,sorted_items)

    return keywords

for loop 

for i in range(len(df_cs_l)):
    tf_idf_vector=tfidf_transformer.transform(cv.transform(df_cs_l[i]))
    #sort the tf-idf vectors by descending order of scores
    sorted_items=sort_coo(tf_idf_vector.tocoo())
    keywords=extract_topn_from_vector(feature_names,sorted_items)
    ref={'Text':i,'words': keywords}
    rel.append(ref)


, когда я выполнил вышеупомянутый код, он выдает меня ниже ошибки

Error: "ValueError: Iterable over raw text documents expected, string object received."

виделта же ошибка в приведенной ниже ссылке

нажмите здесь, чтобы посмотреть пример

1 Ответ

0 голосов
/ 22 мая 2019

внесли изменения в функцию и работают.

def t_keywo(text,cv,tfidf_transformer,tf_idf_vector):
    tf_idf_vector=tfidf_transformer.transform(cv.transform([text]))
    #sort the tf-idf vectors by descending order of scores
    sorted_items=sort_coo(tf_idf_vector.tocoo())
    keywords=extract_topn_from_vector(feature_names,sorted_items)

    return keywords

df_cs['keywords'] = df_cs['text'].apply(lambda x:t_keywo(x,cv,tfidf_transformer,tf_idf_vector))

...