[問題] 同義字轉成標準字(中文文字處理)

作者: 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