【问题标题】:ValueError: Iterable over raw text documents expected, string object receivedValueError:可迭代原始文本文档,收到字符串对象
【发布时间】:2019-10-07 19:22:38
【问题描述】:

尝试使用TFIDFcount vectorizer识别a的权重值

当我为每一行单独执行下面的代码时,它可以正常工作。添加循环或使用函数时会引发错误。

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."

在下面的链接中看到了同样的错误

clicl here to view the example

【问题讨论】:

  • 请用正确的缩进编辑您的问题。

标签: python-3.x text tf-idf countvectorizer


【解决方案1】:

对功能和工作进行了更改。

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))

【讨论】:

    猜你喜欢
    • 2018-09-23
    • 2020-09-20
    • 1970-01-01
    • 2011-07-14
    • 2022-01-13
    • 2011-03-31
    • 1970-01-01
    • 2011-08-12
    • 1970-01-01
    相关资源
    最近更新 更多