我昨天用R语言问了同样的问题here 。但我现在想用 Python 来做这件事,因为它看起来更快、更节省内存。
我正在使用Python textmining library .
# create list of texts:
TextSet = ["java", "firefox java", "R php", "html php"]
TagSet = ["java", "php", "javascript"]
# CALCULATE TERM DOC MATRIX
tdm = textmining.TermDocumentMatrix()
for text in TextSet:
tdm.add_doc(text)
# KEEP ONLY TERMS INSIDE TAGS LIST
# Code in R: tdm.onlytags <- tdm[rownames(tdm)%in%TagSet$tag,]
# Code in Python 2.7: ?????
如何在 Python 中从一组文本和一组特定术语(标签)构建术语文档矩阵?
最佳答案
根据@alko的建议,我强烈推荐gensim。
只需按照本页中的描述操作即可: http://radimrehurek.com/gensim/tut1.html#from-strings-to-vectors
我将给出“最难”的部分,构建你自己的“文本”
texts = [[word for word in doc.lower().split() if word in TagSet] for doc in TextSet]
从那里构建字典并转换为矩阵(应该是来自 gensim 文档的一堆复制/粘贴)
<小时/>我无法测试文本挖掘包,但如果您仍然想使用它,您可以以您开始使用的格式取回文档列表:
newTextSet = ["".join(doc) 用于文本中的文档]
关于python - 使用给定的文本和标签集构建术语文档矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19789832/