问题描述
我正在使用 fugashi 从句子中提取单词。 如何将 fugacy 字典中没有的新术语添加到字典中?
例如,YouTube 分为“You”和“Tube”。
import fugashi
tagger = fugashi.Tagger()
nodes = tagger.parsetoNodeList("ユーチューブ")
goodpos = ['名詞']
nodes = [nn.surface for nn in nodes if nn.feature.pos1 in goodpos]
=> ['ユー','チューブ']
解决方法
我还没有开始为此制定适当的指南,但基本上您应该遵循 MeCab docs,但您可以使用 fugashi-build-dict
而不是 mecab-dict-index
。
为了给出简要说明,首先您需要制作一个与您的系统字典使用相同格式的 CSV 文件。这是基于 unidic-lite
。
令和,4786,8205,名詞,固有名詞,一般,*,レイワ,令和,レーワ,固,"1,0",*
㋿,5969,2588,補助記号,㋿,記号,999999
㋿,3992,*
夢夢,*
您可以通过从 UniDic 源和编辑字段中复制条目来实现此目的。然后你运行这个命令:
fugashi-build-dict -d dicdir/ -u mydic.dic mydic.csv
dicdir
是您的系统字典的位置,mydic.csv
是您制作的 csv 文件。这将创建 mydic.dic
文件,然后您可以通过指定 -u mydic.dic
将其与 fugashi 一起使用。