如何解决获取“doc2bow 需要输入的 unicode 标记数组,而不是单个字符串”作为尝试使用 gensim 执行 nlp” 有解决方案吗?
import gensim
LDA = gensim.models.ldamodel.LdaModel
dictionnary = corpora.Dictionary(docCleaned) #Error message appears here!!!
doc_term_matrix = [dictionary.doc2bow(doc) for doc in docCleaned]
错误信息 ->
TypeError: doc2bow 需要输入的 unicode 标记数组,而不是 单串
解决方法
corpora.Dictionary
需要一个字符串列表,而您只向构造函数提供一个字符串。
您可能希望将字符串拆分为“文档”。这取决于您拥有的文本的性质。在最坏的情况下,当每个“文档”将是一个字符串时 - 您可以在标点符号上拆分:
import string
import re
dictionnary = corpora.Dictionary(re.split('[' + re.escape(string.punctuation) + ']',docCleaned))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。