代码之家  ›  专栏  ›  技术社区  ›  BARIK FATI

如何构建hashtags语料库(文本挖掘)

  •  0
  • BARIK FATI  · 技术社区  · 7 年前

    我试图通过挖掘所有的标签来分析twitter数据。我想把所有的hashtag放在一个语料库中,并将这个语料库映射到一个单词列表。你知道我如何处理这个问题吗? 这是我的数据快照

    这是我使用的代码,但我的DTM中有一个问题,即完全稀疏

    step1 <- strsplit(newFile$Hashtag, "#")
    step2 <- lapply(step1, tail, -1)
    result <- lapply(step2, function(x){
    sapply(strsplit(x, " "), head, 1)
    })
    result2<-do.call(c, unlist(result, recursive=FALSE))
    myCorpus <- tm::Corpus(VectorSource(result2)) # create a corpus
    

    这是关于我的语料库的信息

    myCorpus
      <<SimpleCorpus>>
     Metadata:  corpus specific: 1, document level (indexed): 0
     Content:  documents: 12635
    

    和我的DTM

    <<DocumentTermMatrix (documents: 12635, terms: 6280)>>
    Non-/sparse entries: 12285/79335515
    Sparsity           : 100%
    Maximal term length: 36
    Weighting          : term frequency (tf)
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   Tito Sanz    7 年前

    你的问题是你正在使用 str_split . 您应该尝试:

    str_extract_all("This all are hashtag #hello #I #am #a #buch #of #hashtags", "#\\S+")

    As results this list:
    [[1]]
    [1] "#hello"    "#I"        "#am"       "#a"        "#buch"     "#of"      
    [7] "#hashtags"
    

    如果您想要的结果是数据帧,请使用 simplify = T :

    str_extract_all("This all are hashtag #hello #I #am #a #buch #of #hashtags", "#\\S+", simplify = T)
    

    因此:

         [,1]     [,2] [,3]  [,4] [,5]    [,6]  [,7]       
    [1,] "#hello" "#I" "#am" "#a" "#buch" "#of" "#hashtags"