【问题标题】:R - NLP - text cleaningR - NLP - 文本清理
【发布时间】:2018-07-08 14:52:31
【问题描述】:

我是文本挖掘的新手,目前我坚持使用这种模式

pattern = c(
    "<f0><U+009F><U+0098><U+00AD>", 
    "<f0><U+009F><U+0099><U+008F>",
    "<f0><U+009F><U+008F><U+00BF> ",
    "<f0><U+009F><U+0098><U+0082>", 
    " <f0><U+009F><U+00A4><U+00B7>",
    "  <f0><U+009F><U+008F><U+00BD><U+200D><U+2640><U+FE0F>\r\nBody",
    " <f0><U+009F><U+00A4><U+00A3>", 
    " <f0><U+009F><U+0099><U+0084> ", 
    "  <f0><U+009F><U+0099><U+0084>",
    "  <f0><U+009F><U+0099><U+0083>",
      "<f0><U+009F><U+0098><U+00B4>",
     "Hello")

我想只接收 pattern = "Hello" 并排除所有其他文本。

我尝试了以下方法,但我立即失败了:

gsub(c, "<f0><U+00F><U+[0-9]><U+[a-zA-Z0-9]>*, replacement = "")

所以,我试着把它分解:

a = gsub(c, pattern = "<f0>", replacement = "")

->结果&lt;fo&gt; 下降,所以这是一个好兆头,但是当我执行下一步时

gsub(a, pattern = "<U+009F>", replacement = "")

->结果:&lt;U+009F&gt; 仍然存在。 你有什么想法吗? 我很感激任何建议! 提前致谢!

【问题讨论】:

  • 感谢您提供的信息!

标签: r nlp text-mining


【解决方案1】:

清理文本的两种方法。没有给出允许删除“Body”的标准。

x <- pattern # to avoid ambiguity in function parameters

# by finding words longer than two letters (so not 'a' or 'I' either)
words <- unlist(regmatches(x, gregexpr("\\b[[:alpha:]]{2,}\\b", x, perl=TRUE)))
words

#[1] "Body"  "Hello"

# by removing unwanted characters and character sequences
cleaned <- gsub("(<[^>]{0,}>|\\r|\\n)", "", x, perl=TRUE)
# and removing leading and trailing spaces
cleaned <- gsub("^ {1,}| {1,}$", "", cleaned, perl=TRUE)
cleaned[cleaned != ""]

#[1] "Body"  "Hello"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-27
    • 1970-01-01
    • 2015-07-17
    • 2018-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多