hire_text<-read.csv("C:/Users/ASUS/Desktop/text.csv") hire_text hire_text %>% mutate(id = 1:n()) -> hire_txt #给文档编号3 worker(type = "tag") -> wk #构造一个分词器,需要得到词性56 hire_txt %>% mutate(words = map(hire_text,tagging,jieba = wk)) %>% mutate(word_tag = map(words,enframe,name = "tag",value = "word")) %>% select(id,word_tag) -> hire_words #构造提取关键词的函数 extract_keywords = function(dt){ textrank_keywords(dt$word,relevant = str_detect(dt$tag,"^n"),ngram_max = 2) %>% keywords } hire_words %>% mutate(textrank.key = map(word_tag,extract_keywords)) %>% select(-word_tag) -> tr_keyword
时间: 2024-03-14 17:47:12 浏览: 105
hire-and-fire-6.rar_fire_hire and fire_mightmcc
根据你提供的代码,出现了一个错误。错误在于`map()`函数的第一个参数`word_tag`,它需要的是一个列表,但是`word_tag`是一个列名,所以会导致以下错误信息:
```
Error in `map()`: In argument: `textrank.key = map(word_tag, extract_keywords)`. Caused by error in `map()`: In index: 1. With name: text.
```
如果你想要使用`word_tag`这一列,应该使用`hire_words$word_tag`,而不是`word_tag`。请修改代码如下:
```
hire_words %>%
mutate(textrank.key = map(hire_words$word_tag, extract_keywords)) %>%
select(-word_tag) -> tr_keyword
```
这样修改后,`map()`函数的第一个参数就是一个列表了,可以正确地运行提取关键词的函数`extract_keywords()`。
阅读全文