R中同一句子内的文本挖掘

时间:2017-04-17 16:38:55

标签: r text-mining

我有一个文本文件

  

“我今天写作。今天我想写作。今天是美好的一天”

我试图在一个句子中找到“写今天”的例子。可能会发生“今天写作”不在一起但仍然是同一句话的一部分(例如:第二句),需要捕捉到同样。

所以在上面的例子中,我的计数将是2。

知道如何在R中做到这一点? TIA

2 个答案:

答案 0 :(得分:2)

有很多方法可以做到这一点,但是用tidytext,

library(tidyverse)
library(tidytext)

data_frame(text = "I am writing today. Today I am thinking of writing. Today is great day") %>%
    unnest_tokens(sentence, text, 'sentences', to_lower = FALSE) %>%
    mutate(sentence_number = row_number()) %>%
    unnest_tokens(word, sentence, 'words', drop = FALSE) %>%
    group_by(sentence_number) %>% 
    filter('today' %in% word, 'writing' %in% word) %>% 
    select(-word) %>% distinct() %>% ungroup() %>%
    mutate(count = n())

#> # A tibble: 2 × 3
#>                          sentence sentence_number count
#>                             <chr>           <int> <int>
#> 1             I am writing today.               1     2
#> 2 Today I am thinking of writing.               2     2

答案 1 :(得分:-1)

  1. 小写一切。
  2. 用点分开。
  3. 预处理句子(词干/词汇/停用词)
  4. 应用正则表达式 ((\ bwriting \ B'EM> \ btoday \ b)中。|(\ btoday \ B'/ EM> \ bwriting \ b))的