使用gsub的语料库中的R tm替代词

点点

我有一个包含200多个文档的大型文档语料库。正如您可以从如此庞大的语料库中期望的那样,某些单词拼写错误,以不同的格式使用,依此类推。我已经完成了标准的文本处理,例如转换为小写字母,删除标点符号,词干。在尝试进行分析之前,我试图替换一些单词以纠正拼写并使它们标准化。我已经使用以下相同的语法完成了100多次替换,对于大多数替换,它都按预期工作。但是,有些(约5%)无法正常工作。例如,以下替换似乎只具有有限的作用:

docs <- tm_map(docs, content_transformer(gsub), pattern = "medecin|medicil|medicin|medicinee", replacement = "medicine")
docs <- tm_map(docs, content_transformer(gsub), pattern = "eephant|eleph|elephabnt|elleph|elephanyt|elephantant|elephantant", replacement = "elephant")
docs <- tm_map(docs, content_transformer(gsub), pattern = "firehood|firewod|firewoo|firewoodloc|firewoog|firewoodd|firewoodd", replacement = "firewood") 

通过有限的作用,我的意思是,即使某些替代有效,但某些替代无效。例如,尽管尝试替换“大象”,“”,“木柴”,但当我创建DTM(文档术语矩阵)时,它们仍然存在。

我不知道为什么这种混合效应正在发生。

另外,下面的行用collect的某种组合替换了语料库中的每个单词:

docs <- tm_map(docs, content_transformer(gsub), pattern = "colect|colleci|collectin|collectiong|collectng|colllect|", replacement = "collect")

仅供参考,当我只替换一个单词时,我使用的是语法(请注意fixed = TRUE):

docs <- tm_map(docs, content_transformer(gsub), pattern = "charcola", replacement = "charcoal", fixed=TRUE)

单次替换失败的是:

docs <- tm_map(docs, content_transformer(gsub), pattern = "dogmonkeycat", replacement = "dog monkey cat", fixed=TRUE)
威克多·斯特里比尤

您遇到的问题是您的模式中的变更没有固定下来,因此只有第一个匹配的“获胜者”(即使用了),而其余的则不被考虑。

您应该在交替之间使用一些“锚”(例如单词边界):

pattern = "\\b(medecin|medicil|medicin|medicinee)\\b"

或只是将较长的替代方案放在较短的替代方案之前

pattern = "medicinee|medecin|medicil|medicin"

请注意,通过对常见的错误键入的元音(请参阅参考资料[ei])和组使用字符类,可以使模式更快

pattern = "med[ie]ci(?:n(?:ee)?|l)"

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何基于元数据过滤R中的tm语料库中的文档?

来自分类Dev

如何基于元数据过滤R中的tm语料库中的文档?

来自分类Dev

如何在R tm包中显示语料库文本?

来自分类Dev

在R tm包中,从Document-Term-Matrix构建语料库

来自分类Dev

在R中使用tm的语料库功能处理大数据

来自分类Dev

tm合并语料库列表

来自分类Dev

tm合并语料库列表

来自分类Dev

如何将字符向量从R中的tm包转换为DocumentTermMatrix函数的语料库输入?

来自分类Dev

R tm软件包vcorpus:将语料库转换为数据帧时出错

来自分类Dev

如何仅选择语料库术语的一个子集以在tm中创建TermDocumentMatrix

来自分类Dev

在R中如何不通过语料库/ VCorpus将稀疏或simple_triplet_matrix转换为tm-package文档术语矩阵?

来自分类Dev

大文本语料库打破了tm_map

来自分类Dev

视频分类模型中的替代词干方法以改变滤波信道

来自分类Dev

如何将具有单列的R数据帧转换为tm的语料库,以使每一行都作为文档?

来自分类Dev

如何将具有单列的R数据帧转换为tm的语料库,以使每一行都作为文档?

来自分类Dev

从R中的语料库中删除短语(停用词)?

来自分类Dev

在Java中使用正则表达式匹配两个替代词或两个词

来自分类Dev

R:Quanteda从语料库中删除标签

来自分类Dev

如何从 R 中的整个语料库中提取文档?

来自分类Dev

使用R在一个语料库中合并两个单词

来自分类Dev

使用R语料库保留文档ID

来自分类Dev

使用R语料库保留文档ID

来自分类Dev

从语料库中删除非ASCII

来自分类Dev

每年删除语料库中的单词

来自分类Dev

从更大的语料库中创建字典

来自分类Dev

删除文本语料库中的字符

来自分类Dev

导入和使用NLTK语料库

来自分类Dev

使用Syntaxnet注释语料库

来自分类Dev

语料库的建立

Related 相关文章

  1. 1

    如何基于元数据过滤R中的tm语料库中的文档?

  2. 2

    如何基于元数据过滤R中的tm语料库中的文档?

  3. 3

    如何在R tm包中显示语料库文本?

  4. 4

    在R tm包中,从Document-Term-Matrix构建语料库

  5. 5

    在R中使用tm的语料库功能处理大数据

  6. 6

    tm合并语料库列表

  7. 7

    tm合并语料库列表

  8. 8

    如何将字符向量从R中的tm包转换为DocumentTermMatrix函数的语料库输入?

  9. 9

    R tm软件包vcorpus:将语料库转换为数据帧时出错

  10. 10

    如何仅选择语料库术语的一个子集以在tm中创建TermDocumentMatrix

  11. 11

    在R中如何不通过语料库/ VCorpus将稀疏或simple_triplet_matrix转换为tm-package文档术语矩阵?

  12. 12

    大文本语料库打破了tm_map

  13. 13

    视频分类模型中的替代词干方法以改变滤波信道

  14. 14

    如何将具有单列的R数据帧转换为tm的语料库,以使每一行都作为文档?

  15. 15

    如何将具有单列的R数据帧转换为tm的语料库,以使每一行都作为文档?

  16. 16

    从R中的语料库中删除短语(停用词)?

  17. 17

    在Java中使用正则表达式匹配两个替代词或两个词

  18. 18

    R:Quanteda从语料库中删除标签

  19. 19

    如何从 R 中的整个语料库中提取文档?

  20. 20

    使用R在一个语料库中合并两个单词

  21. 21

    使用R语料库保留文档ID

  22. 22

    使用R语料库保留文档ID

  23. 23

    从语料库中删除非ASCII

  24. 24

    每年删除语料库中的单词

  25. 25

    从更大的语料库中创建字典

  26. 26

    删除文本语料库中的字符

  27. 27

    导入和使用NLTK语料库

  28. 28

    使用Syntaxnet注释语料库

  29. 29

    语料库的建立

热门标签

归档