[问题] 同义字转成标准字(中文文字处理)

楼主: ardodo (米蟲)   2018-10-14 16:59:01
[问题类型]:
程式咨询(我想用R 做某件事情,但是我不知道要怎么用R 写出来)
[软件熟悉度]:
使用者(已经有用R 做过不少作品)
[问题叙述]:
我现在有个客户购物的字串资料,这些字串有许多同义字(例如贫果 and 苹果),我希望
能把同义字借由我定义好的字典通通转换成标准字。
[程式范例]:
# 购物资料
data <- data.frame(
"id" = seq(1, 8),
"item" = c("贫果", "苹果", "火龙果", "红龙果", "番石榴", "珍珠拔", "马拉巴栗
", "发财树")
)
# 定义的字典
dict <- data.frame(
"id" = seq(1, 9),
"同义字" = c("贫果", "苹果", "火龙果", "红龙果", "芭乐", "番石榴", "珍珠拔
", "马拉巴栗", "发财树"),
"标准字" = c("苹果", "苹果", "火龙果", "火龙果", "芭乐", "芭乐", "芭乐", "发
财树", "发财树")
)
[关键字]:
字串处理、文字探勘、中文转换
作者: andrew43 (讨厌有好心推文后删文者)   2018-10-14 20:05:00
如果是完整字串取代,就只是常见merge或join。
作者: kial (夏澄)   2018-10-15 20:43:00
资料量不大的话用stringr::str_replace_all试试,建起来方便data$标准<-str_replace_all(data$同义,"火龙|红龙","火龙")上面是把"火龙果"或"红龙果"都换成"火龙果"再写回dataframe

Links booklink

Contact Us: admin [ a t ] ucptt.com