Add user dictionary builder
example:
form io.Reader
s := `
日本経済新聞,日本 経済 新聞,ニホン ケイザイ シンブン,カスタム名詞
# 関西国際空港,関西 国際 空港,カンサイ コクサイ クウコウ,カスタム地名
朝青龍,朝青龍,アサショウリュウ,カスタム人名
`
r := strings.NewReader(s)
rec, err := NewUserDicRecords(r)
if err != nil {
t.Fatalf("user dic build error, %v", err)
}
udic, err := rec.NewUserDic()
from go struct
r := UserDicRecords{
{
Text: "日本経済新聞",
Tokens: []string{"日本", "経済", "新聞"},
Yomi: []string{"ニホン", "ケイザイ", "シンブン"},
Pos: "カスタム名詞",
},
{
Text: "朝青龍",
Tokens: []string{"朝青龍"},
Yomi: []string{"アサショウリュウ"},
Pos: "カスタム人名",
},
}
udic, err := r.NewUserDic()
from JSON
var rec UserDicRecords
json.Unmarshal([]byte(`[
{
"text":"日本経済新聞",
"tokens":["日本","経済","新聞"],
"yomi":["ニホン","ケイザイ","シンブン"],
"pos":"カスタム名詞"
},
{
"text":"朝青龍",
"tokens":["朝青龍"],
"yomi":["アサショウリュウ"],
"pos":"カスタム人名"
}]`), &rec)
udic, err := rec.NewUserDic()