1

我昨天在这里用 R 语言问了同样的问题。但我现在想在 Python 中执行此操作,因为它看起来更快且内存效率更高。

我正在使用Python 文本挖掘库

# 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 中的一组文本和一组特定的术语(标签)构建术语文档矩阵?

4

1 回答 1

3

正如@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 doc 的一堆复制/粘贴)


我无法测试 textmining 包,但如果您仍想使用它,您可以取回您开始使用的格式的文档列表:

newTextSet = [" ".join(doc) for doc in texts]

于 2013-11-06T14:21:48.870 回答