【发布时间】:2018-08-25 07:09:53
【问题描述】:
我一直在浏览 R 中的 quanteda 包,但无法完全弄清楚 tokens_skipgrams 的功能。下面是the example from the manual of this package,我不太确定我是否理解得很好:
tokens_skipgrams(toks, n = 3, skip = 0:2, concatenator = " ")
tokens from 1 document.
text1 :
[1] "insurgents killed in" "insurgents killed ongoing"
[3] "insurgents killed fighting" "insurgents in ongoing"
[5] "insurgents in fighting" "insurgents ongoing fighting"
[7] "killed in ongoing" "killed in fighting"
[9] "killed ongoing fighting" "in ongoing fighting"
我希望输出包含以下内容:
"insurgents killed in" "killed in ongoing" "in ongoing fighting"
"insurgents in fighting"
为什么结果包括:
"insurgents killed ongoing"
"insurgents killed fighting"
"insurgents in ongoing"
"insurgents ongoing fighting"
"killed in fighting"
"killed ongoing fighting"
在上面的例子中,skip = 0:2 即 skip 是 0、1 和 2。因此,我认为上面的命令可以安全地分成 3 个部分,每个部分的组合会给我上面的结果正如我所指出的,我无法得到。
tokens_skipgrams(toks, n = 3, skip = 0, concatenator = " ")
tokens from 1 document.
text1 :
[1] "insurgents killed in" "killed in ongoing" "in ongoing fighting"
tokens_skipgrams(toks, n = 3, skip = 1, concatenator = " ")
tokens from 1 document.
text1 :
[1] "insurgents in fighting"
tokens_skipgrams(toks, n = 3, skip = 2, concatenator = " ")
tokens from 1 document.
text1 :
character(0)
但结果的组合给了我我所期望的结果,而不是上面给出的那个。
有人可以帮我解决这个问题吗?
【问题讨论】: