如何将某些单词更改为训练列表的标记形式

编码

我试图将某些字符串更改为train.

train = c('love/POS','happy/POS','sad/NEG','fearsome/NEG','lazy/NEG')
test = c('I love you', 'I am so happy now', 'You look sad somehow', 'the lazy boy look so fearsome')

和他们在一起,我想做出这样的结果

[1]'I love/POS you' 'I am so happy/POS now' 'You look sad/NEG somehow' 'the lazy/NEG boy look so fearsome/NEG'

当然,我可以gsub像这样使用原始方式

part1 = gsub('love', 'love/POS', test)
part2 = gsub('happy', 'happy/POS', part1)
.......

但是,当我有更大的培训列表时,这种方式根本没有成效。

为了以更有效的方式使其成为可能,我尝试了

process1 = unlist(strsplit(test, '[[:space:]]+'))

mgsub <- function(pattern, replacement, x, ...) {
  if (length(pattern)!=length(replacement)) {
    stop("pattern and replacement do not have the same length.")
  }
  result <- x
  for (i in 1:length(pattern)) {
    result <- gsub(pattern[i], replacement[i], result, ...)
  }
  result
}

trainedtest = mgsub(process1, train, test)
trainedtest

事实上,它根本不起作用,因为process1train列表的长度不一样。从技术上讲,我应该制作一个程序,该程序可以选择某些单词来更改为火车列表的标记形式,并计算process1之间的相似度train

有没有办法让它成为可能?

索托斯

这是使用matchwith的基本 R 解决方案nomatch = 0(即不匹配则不返回任何内容 - 默认为 NA)

v1 <- sub('/.*', '', train)
sapply(strsplit(test, ' '), function(i)
       {i[grepl(paste(v1, collapse = '|'), i)] <- train[match(i, v1, nomatch = 0)]; 
                                                              paste(i, collapse = ' ')})

#[1] "I love/POS you"    "I am so happy/POS now"  "You look sad/NEG somehow"             
#[4] "the lazy/NEG boy look so fearsome/NEG"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将单词更改为特定单词?

来自分类Dev

如何将选定的recyclerview列表项更改为标记为其他颜色

来自分类Dev

如何将数据更改为*但仅更改单词的50%

来自分类Dev

如何将列表更改为列表列表?

来自分类Dev

如何将Openlayer 2标记更改为Openlayer 3

来自分类Dev

如何将递归代码更改为迭代形式

来自分类Dev

如何将列表更改为具有元组的列表?

来自分类Dev

如何将列表正确更改为字符串?

来自分类Dev

如何将列表的名称更改为唯一

来自分类Dev

如何将字符列表更改为 ASCII 格式?

来自分类Dev

如何将“ \”更改为“ /”

来自分类Dev

如何将jTextPane中所有突出显示的单词更改为jTextField中给定的单词?

来自分类Dev

如何将jTextPane中所有突出显示的单词更改为jTextField中给定的单词?

来自分类Dev

如何在Select2中将某些单词的字体更改为粗体

来自分类Dev

如何将数值更改为一个单词

来自分类Dev

如何将某些numpy数组的目标值更改为另一个值(如果有目标值列表)?

来自分类Dev

如何将numpy数组的某些索引的值更改为0?

来自分类Dev

如何将vim中的某些关键字更改为全大写?

来自分类Dev

如何使用范围将列表中的单词更改为大写/小写 - Python

来自分类Dev

如何将UIDatePicker更改为特定时间(以代码形式)

来自分类Dev

如何将日期格式更改为2015年6月2日的形式

来自分类Dev

如何将字符串数组列表更改为字符串列表

来自分类Dev

将选定的自动编号列表更改为纯文本单词

来自分类Dev

如何将1更改为00001?

来自分类Dev

如何将Stringtokenizer更改为String

来自分类Dev

如何将活动更改为片段

来自分类Dev

如何将$ allUsers = []更改为array()?

来自分类Dev

如何将onClick更改为EditTextPreference?

来自分类Dev

如何将id更改为相同

Related 相关文章

  1. 1

    如何将单词更改为特定单词?

  2. 2

    如何将选定的recyclerview列表项更改为标记为其他颜色

  3. 3

    如何将数据更改为*但仅更改单词的50%

  4. 4

    如何将列表更改为列表列表?

  5. 5

    如何将Openlayer 2标记更改为Openlayer 3

  6. 6

    如何将递归代码更改为迭代形式

  7. 7

    如何将列表更改为具有元组的列表?

  8. 8

    如何将列表正确更改为字符串?

  9. 9

    如何将列表的名称更改为唯一

  10. 10

    如何将字符列表更改为 ASCII 格式?

  11. 11

    如何将“ \”更改为“ /”

  12. 12

    如何将jTextPane中所有突出显示的单词更改为jTextField中给定的单词?

  13. 13

    如何将jTextPane中所有突出显示的单词更改为jTextField中给定的单词?

  14. 14

    如何在Select2中将某些单词的字体更改为粗体

  15. 15

    如何将数值更改为一个单词

  16. 16

    如何将某些numpy数组的目标值更改为另一个值(如果有目标值列表)?

  17. 17

    如何将numpy数组的某些索引的值更改为0?

  18. 18

    如何将vim中的某些关键字更改为全大写?

  19. 19

    如何使用范围将列表中的单词更改为大写/小写 - Python

  20. 20

    如何将UIDatePicker更改为特定时间(以代码形式)

  21. 21

    如何将日期格式更改为2015年6月2日的形式

  22. 22

    如何将字符串数组列表更改为字符串列表

  23. 23

    将选定的自动编号列表更改为纯文本单词

  24. 24

    如何将1更改为00001?

  25. 25

    如何将Stringtokenizer更改为String

  26. 26

    如何将活动更改为片段

  27. 27

    如何将$ allUsers = []更改为array()?

  28. 28

    如何将onClick更改为EditTextPreference?

  29. 29

    如何将id更改为相同

热门标签

归档