NLPchina / ansj_seg

ansj分词.ict的真正java实现.分词效果速度都超过开源版的ict. 中文分词,人名识别,词性标注,用户自定义词典

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

spark的rdd中分词结果 使用的自定义字典不生效

nandily opened this issue · comments

使用ansj_seg5.1.6
使用DicLibrary.insertOrCreate("dish", "酸汤鱼", "userDefine", 10000)添加自定义字典。
当在命令行中直接使用DicAnalysis.parse("酸汤鱼大份")时能够分词得到 “酸汤鱼|大|份”。
但是将分词过程放在rdd中处理时sc.textFile("").map(e=>DicAnalysis.parse(e))时得到的分词结果变成了“酸|汤|鱼|大|份”。

commented

parse的时候指定词典试试 在2020年01月09日 09:44,nandily 写道: 使用ansj_seg5.1.6 使用DicLibrary.insertOrCreate("dish", "酸汤鱼", "userDefine", 10000)添加自定义字典。 当在命令行中直接使用DicAnalysis.parse("酸汤鱼大份")时能够分词得到 “酸汤鱼|大|份”。 但是将分词过程放在rdd中处理时sc.textFile("").map(e=>DicAnalysis.parse(e))时得到的分词结果变成了“酸|汤|鱼|大|份”。 — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

试了一下parse的时候指定词典sc.textFile("").map(e=>DicAnalysis.parse(e, DicLibrary.get("dish"))),自定义的字典还是没起作用,分词结果还是“酸|汤|鱼|大|份”。
然后了一下把字典加载过程放到rdd的map中,
sc.textFile("").map(e=>{
DicLibrary.insertOrCreate("dish", "酸汤鱼", "userDefine", 10000)
DicAnalysis.parse(e)})
这样分词结果就正确了,程序的速度就慢了,每次map都要加载一次字典

commented