首页 > 解决方案 > 使用 quantedas tokens_compound 在 tokens 对象中通过下划线连接多词表达式

问题描述

我有一个tokens词的对象,没有标点符号:

文档 文本
文档1 '穆罕默德''费舍尔''是''一个''伟大的''家伙''他''喜欢''钓鱼'
文档2 'M''Fisher''喜欢''钓鱼''钓鱼''耶'

我想用这个来通过下划线tokens_compound加入某些多词表达式:

文档 文本
文档1 'Mohammed_Fisher''是''一个''伟大的''家伙''他''喜欢''钓鱼'
文档2 'M_Fisher' '喜欢' '钓鱼' '钓鱼' '耶'

因此,我定义了一个我想加入和使用的多词表达式列表tokens_compound

multiword <- c('Mohammed Fisher', 'M Fisher')
comp_toks <- tokens_compound(tokens, pattern = phrase(multiword))

这不起作用,也不起作用

comp_toks <- tokens_compound(tokens, pattern = as.phrase(multiword))

也不

comp_toks <- tokens_compound(tokens, multiword)

我在这里想念什么?

标签: rquanteda

解决方案


使用phrase()而不是as.phrase().

> quanteda::phrase(c('Mohammed Fisher', 'M Fisher'))
[[1]]
[1] "Mohammed" "Fisher"  

[[2]]
[1] "M"      "Fisher"

推荐阅读