我昨天用语言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中的一组文本和一组特定术语(标签)构建Term-Document-Matrix?
答案 0 :(得分:3)
根据@alko的建议,我强烈推荐gensim。
请按照此页面中描述的内容进行操作: http://radimrehurek.com/gensim/tut1.html#from-strings-to-vectors
我会给予最难的&#34;部分,建立自己的文本
texts = [[word for word in doc.lower().split() if word in TagSet] for doc in TextSet]
从那里你构建字典并转换为矩阵(应该是gensim doc中的一堆复制/粘贴)
我无法测试textmining包,但如果您仍想使用它,则可以使用以下格式返回doc的列表:
newTextSet = [&#34; &#34; .join(doc)for doc in texts]