R

时间:2015-09-17 22:04:51

标签: r text split words mining

我有一个文本文件,其中包含不应该连接的单词。以下是文本文件的示例:

  

Gangnam S.对JOEY伊顿中心的评论 - 多伦多(4/5)对Yelp的评论。 JOEY Eaton Centre 86条评论评分详情类别:餐厅加拿大(新)夜生活酒吧体育酒吧加拿大(新);体育酒吧1 Dundas St W多伦多; ON M5G 1Z3邻近:Downtown Core(647)352-5639 http://www.joeyrestaurants.com AddPhotos营业时间:周一至周日上午11点 - 凌晨2点适合儿童:不接受信用卡:是停车:车库; StreetAttire:休闲适合团体:是价格范围:$需要预订:是送货:否拿走:YesWaiter服务:是户外座位:是Wi-Fi:免费适合:晚餐酒精饮料:全酒吧噪音等级:平均氛围:时尚有电视:是Caters:没有评论来写第一条评论Karen G.编辑商业信息发送到朋友书签写评论86评论JOEY Eaton Center评论相关的搜索结果:搜索评论评论亮点...我得去了Killer Ahi Tuna Tacos - 炙烤稀有...在3条评论尝试龙虾馄饨或龙虾烤奶酪。在8条评论...订购孟买黄油鸡肉 - 配上烤好的...在7评论Loading ...排序方式:Yelp排序|日期|评级|精英' | Facebook好友' Facebook好友来自评论你关注了你朋友的评价86评论来自Catherine J. Elite' 12 11朋友26条点评Catherine J. Markham; ON 11/21/2012一个仓库大小的酒吧和一个阵容匹配;但跳过乔伊的欢迎垫,你会得到一个很棒的城市介绍。享受这种联合的原因有几个:1)尺寸。这很重要。

使用R清理此文本和使用不正确连接的单词的有效方法是什么?

谢谢,

布奇

1 个答案:

答案 0 :(得分:0)

如果问题是两个不正确连接的单词包含小写的第一个单词和大写的第二个单词,那么如果你的文字是txt,这将是有效的:

gsub("([a-z])([A-Z])", "\\1 \\2", txt)

e.g。

> txt <- "FriendBookmark Write a Review 86 reviews for JOEY Eaton Centre Reviews Matching: Search Reviews ReviewHighlights"
> gsub("([a-z])([A-Z])", "\\1 \\2", txt)
[1] "Friend Bookmark Write a Review 86 reviews for JOEY Eaton Centre Reviews Matching: Search Reviews Review Highlights"

不幸的是,解析没有连接成“camelCase”的单词的方法更难。因此,例如,将“couplereasons”分开将需要对文本进行标记并对部分单词执行字典搜索,甚至这也不是决定性的。你如何解析“theresits” - “那里坐着”或“resits”?