r - 使用 tidytext 在 ngram 分析中保留连字符
问题描述
我正在对传记进行文本分析。我想保留由连字符连接的许多“简单”单词组成的“复杂”单词。
例如,如果我有以下向量:
Example<- c("bovine retention-of-placenta sulpha-trimethoprim mineral-vitamin-liquid-mixture)
***我编辑了这一部分以使我需要的输出更清晰***
我希望我的传记在尺寸为 3x1 的 data.frame 中(这是您在使用unnest_tokens
from时获得的格式tidytext
:
1 bovine retention-of-placenta
2 retention-of-placenta sulpha-trimethoprim
3 sulpha-trimethoprim mineral-vitamin-liquid-mixture
****本期结束****
我的问题是,对于 tidytext,选项标记与“ngrams”(这是我正在执行的分析)或“regex”(这是我可以用来对这些连字符进行条件处理的命令)一起使用
这是我目前正在使用的代码:
spdiag_bigrams<-diagnostics%>%unnest_tokens(bigram, text, token = "ngrams", n = 2)
我怎样才能同时做这两件事?
谢谢你
解决方案
确实,tidytext默认会去除大部分标点符号,但不会去除下划线:
library(tidyverse)
library(tidytext)
example <- c("bovine retention-of-placenta sulpha-trimethoprim mineral-vitamin-liquid-mixture")
tibble(text = example) %>%
mutate(text = str_replace_all(text, "-", "_")) %>%
unnest_tokens(word, text)
#> # A tibble: 4 x 1
#> word
#> <chr>
#> 1 bovine
#> 2 retention_of_placenta
#> 3 sulpha_trimethoprim
#> 4 mineral_vitamin_liquid_mixture
由reprex 包(v0.3.0)于 2019 年 11 月 1 日创建
有时我将这种方法用于多词标记,或者如果您想分析标点符号和单词,请查看可用的strip_punct = FALSE
选项。
推荐阅读
- javascript - 状态未定义
- spring - 如何将地图字段添加到数据库?
- apache-spark - 如何比较两个表并用其他表中的值替换空值
- python - Ansible - When 使用变量的语句
- scala - 如何为第一个数据帧中匹配的特定列值的所有值获取第二个数据帧的数据?
- java - from bs4 import BeautifulSoup ImportError: No module named bs4 when call a python method from java using jython
- c# - 有没有办法在不使用数字的情况下将 Char 转换为 Int?
- php - 如何使用分页在自定义 WordPress 循环中添加下一个和上一个链接
- javascript - React 和 turn.js(turn 不是函数)
- reactjs - null 值代替 date 导致浏览器在使用图表 js 时崩溃