Mecab往现有的词典中追加词条

前言

最近由于项目需要对微博内容进行分词,但是由于微博中通常会有很多的颜文字(使用标点符号拼凑成的表情符号),但现有的mecab在分词的时候会将颜文字分成多个单独的标点符号,为了方便,我直接使用现有的颜文字库对Mecab的词典进行扩充.特意在这里做个记录,方便以后复习.

关于为什么使用Mecab,有时间了把我了解的关于分词的工具整理一下,单独写一篇文章.
mecab追加词条有两种方法(推荐使用方法1):

        方法1: 在用户词典中追加

                更新系统词典比较耗时;词典更新频繁,或者没有权限变更系统词典的时候,可以使用用户词典. 

        方法2: 直接在系统词典中追加

                当词典更新不频繁,且不想降低解析速度时,最好直接修改系统词典.

              

颜文字库

据说颜文字起源于日本,我这里就直接使用JumanDic词典中关于颜文字的词库,JumanDic可以从git上直接访问,下面是链接:

JumanDic词典中的颜文字: https://github.com/ku-nlp/JumanDIC/blob/master/kaomoji/jumandic.dic

 

下面开始介绍具体的操作步骤:

颜文字数据准备:

从JumanDic中提取出颜文字内容,格式如下,每一行代表一个颜文字:

。゜(T^T)゜。
。°(ToT)°。
。o@(^_^)@o。
... (゜O゜;)
...((( *−*)
・ ∇ ・;
・・)
:^D
:)
:−/

方法1:

步骤1:将颜文字制作成词条

词条的格式如下(其实就是csv格式):

工藤,1223,1223,6058,名詞,固有名詞,人名,名,*,*,くどう,クドウ,クドウ

词条格式从左往右依次为:

表层形, 上文语境ID, 下文语境ID, cost, 词性,词性细分类1,词性细分类2,词性细分类3,活用形,活用型,原形,读音,发音 

 按照词条的格式对颜文字进行整理,整理后的词条如下(我这里只需要能标记出颜文字就可以,大家可以根据自己的实际情况填入更加详细的信息):

。゜(T^T)゜。,*,*,*,記号,顔文字,*,*,*,*,*,*,*
。°(ToT)°。,*,*,*,記号,顔文字,*,*,*,*,*,*,*
。o@(^_^)@o。,*,*,*,記号,顔文字,*,*,*,*,*,*,*
... (゜O゜;),*,*,*,記号,顔文字,*,*,*,*,*,*,*
...((( *−*),*,*,*,記号,顔文字,*,*,*,*,*,*,*
・ ∇ ・;,*,*,*,記号,顔文字,*,*,*,*,*,*,*
・・),*,*,*,記号,顔文字,*,*,*,*,*,*,*
:^D,*,*,*,記号,顔文字,*,*,*,*,*,*,*
:),*,*,*,記号,顔文字,*,*,*,*,*,*,*
:−/,*,*,*,記号,顔文字,*,*,*,*,*,*,*

步骤2:将上一步制作好的词条编译成词典

使用如下命令进行编译:

/usr/local/libexec/mecab/mecab-dict-index -d /usr/local/lib/mecab/dic/ipadic -u kaomoji_mecab.dic -f utf8 -t utf8 kaomoji_mecab.csv

命令中各个参数的含义:

               -d DIR: 包含系统词典的目录

               -u FILE: FILE 生成的用户词典文件

               -f charset: CSV 文件的编码

               -t charset: 生成的二进制词典的编码

               kaomoji_mecab.csv: 上一步骤中制作好的词条

      执行完成后,命令行中出现如下信息说明词典编译成功 .

 

此时,会在当前目录下生成kaomoji_mecab.dic文件,就是我们编译好的词典. 

注意:

        在这一步中,一定要注意-f和-t对应的编码格式,编码格式不正确,在使用时会报错.

步骤3:将编译后的词典追加到系统词典中

在/usr/local/lib/mecab/dic/ipadic/dicrc文件中追加如下内容(配置的时候记得把路径替换成自己对应的路径):

userdic = /home/foo/bar/kaomoji_mecab.dic

 注意:

        在这一步中可以通过如下方式来配置多个词典文件,格式如下(将词典文件路径之间使用逗号隔开):

 userdic = /home/foo/bar/kaomoji_mecab.dic,/home/foo/bar2/usr.dic,/home/foo/bar3/bar.dic

方法2: 

步骤1:

(1) 进入包含文件 mecab-ipadic的目录

(2) 按照方法1中的步骤创建文件kaomoji_mecab.csv

步骤2: 

执行如下命令重新编译安装词典:

/usr/local/libexec/mecab/mecab-dict-index -f utf8 -t utf8

make install

注意:

       -f charset: CSV文件的编码

       -t charset: 生成的二进制词典的编码

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值