5

我有两组数据:

  • 一组标签(单个单词,如php,html等)

  • 一组文本

我现在希望构建一个 Term-Document-Matrix 来表示tags 元素中text元素的出现次数。

我查看了R 库 tmTermDocumentMatrix函数,但我看不到将标签指定为输入的可能性。

有没有办法做到这一点?

我对任何工具(R、Python、其他)持开放态度,尽管使用 R 会很棒。


让我们将数据设置为:

TagSet <- data.frame(c("c","java","php","javascript","android"))
colnames(TagSet)[1] <- "tag"

TextSet <- data.frame(c("How to check if a java file is a javascript script java blah","blah blah php"))
colnames(TextSet)[1] <- "text"

现在我想根据 TagSet 获得 TextSet 的 TermDocumentMatrix。

我试过这个:

myCorpus <- Corpus(VectorSource(TextSet$text))
tdm <- TermDocumentMatrix(myCorpus, control = list(removePunctuation = TRUE, stopwords=TRUE))


>inspect(tdm)
A term-document matrix (7 terms, 2 documents)

Non-/sparse entries: 8/6
Sparsity           : 43%
Maximal term length: 10 
Weighting          : term frequency (tf)

            Docs
Terms        1 2
  blah       1 2
  check      1 0
  file       1 0
  java       2 0
  javascript 1 0
  php        0 1
  script     1 0

但这是根据文本的单词检查文本,而我想检查是否存在已定义的标签。

4

2 回答 2

10
tdm.onlytags <- tdm[rownames(tdm)%in%TagSet$tag,]

仅选择您指定的单词,然后继续进行分析。

于 2013-10-31T14:26:29.363 回答
2
DocumentTermMatrix(docs, list(dictionary = Dictionary$Var1)) 

您可以使用 set 标签预定义字典

于 2016-04-19T09:45:44.763 回答