UniDic

UniDic は、形態素解析システム用の日本語辞書。 ChaSen 用(UniDic-chasen)と MeCab 用(UniDic-mecab)がある。 既存の日本語辞書 (ipadic / naist-jdic)と比較して、以下の特徴がある、とされる:

  • 国立国語研究所で規定した「短単位」という揺れがない斉一な単位で設計されている。
  • 語彙素・語形・書字形・発音形の階層構造を持ち、表記の揺れや語形の変異にかかわらず同一の見出しを与えることができる。
  • アクセントや音変化の情報を付与することができ、テキスト音声合成などに利用することができる。

GalateaTalk は UniDic を利用している。UniDic の過去のバージョンは Galatea プロジェクトの「IPA最終版」として公開された。

その後公開されたバージョンは第三者によるの再配布が許可されておらず、UniDic プロジェクトのWebサイトでユーザ登録を行う必要があった。

バージョン2.0.1以降、形態素解析辞書としてのUniDicはGPL/LGPL/BSD Licenseのトリプルライセンスで公開されることになった。

http://sourceforge.jp/projects/unidic/

2012年12月に UniDic-mecab 2.1.0 が公開された。

unidic-chasen

unidic-chasen_1.3.12 は UTF-8 がデフォルトとのことなので、確認してみる。

ubuntu パッケージも作ってみる。

Ubuntu Linux 9.04 に apt-get で chasen を導入済みの環境:

$ tar xvfz unidic-chasen1312src.tar.gz
$ cd unidic-chasen1312src
$ sh configure
$ make

make install するとどうなるのか確認してみる。

$ make -n install
make  install-exec-am install-data-am
make[1]: ディレクトリ `/home/nishi/src/unidic-chasen1312src' に入ります
make[1]: `install-exec-am' に対して行うべき事はありません.
:
test -z "/var/lib/chasen/dic/debian/unidic" || mkdir -p -- "/var/lib/chasen/dic/debian/unidic"
list='matrix.cha table.cha chadic.da chadic.dat chadic.lex grammar.cha ctypes.cha cforms.cha chasenrc chasenrc_chaone'; for p in $list; do \
	  if test -f "$p"; then d=; else d="./"; fi; \
	  f=`echo $p | sed -e 's|^.*/||'`; \
	  echo " /usr/bin/install -c -m 644 '$d$p' '/var/lib/chasen/dic/debian/unidic/$f'"; \
	  /usr/bin/install -c -m 644 "$d$p" "/var/lib/chasen/dic/debian/unidic/$f"; \
	done
make[1]: ディレクトリ `/home/nishi/src/unidic-chasen1312src' から出ます

checkinstall してみる。

$ sudo checkinstall make install

0 -  Maintainer: [ nishimoto@m.ieice.org ]
1 -  Summary: [ unidic-chasen1312 ]
2 -  Name:    [ unidic-chasen ]
3 -  Version: [ 1.3.12 ]
4 -  Release: [ 1 ]
5 -  License: [ unidic ]
6 -  Group:   [ checkinstall ]
7 -  Architecture: [ i386 ]
8 -  Source location: [ unidic-chasen1312src ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]
11 - Provides: [ unidic-chasen ]

unidic-chasen_1.3.12-1_i386.deb ができる。

$ ls -1 /var/lib/chasen/dic/debian/unidic/
cforms.cha
chadic.da
chadic.dat
chadic.lex
chasenrc
chasenrc_chaone
ctypes.cha
grammar.cha
matrix.cha
table.cha

EUC-JP版を作る

2010-11-12

EUC-JP を作りたいときは下記でよいはず。。

以下 unidic-chasen1312src の作業。

sudo apt-get install chasen された Ubuntu 9.04 環境。

$ cd unidic-chasen1312src
$ ./configure --with-encoding=e
$ make

こんな感じ:

/usr/lib/chasen/makemat -i e
parsing grammar.cha
parsing cforms.cha
parsing ctypes.cha
parsing connect.cha
table size: 9767
(omitted)

このバージョンでは辞書が EUC-JP でも cahsenrc は UTF-8 になっている。

$ file chasenrc_chaone chasenrc_chaone: UTF-8 Unicode text

カレントディレクトリの辞書を使うために GRAMMAR だけ書き換える。

$ head chasenrc_chaone |nkf -e      
;;
;;  chasenrc for unidic-1.3.12
;;  chaOne用
;;

;(GRAMMAR /var/lib/chasen/dic/debian/unidic)
(GRAMMAR .)
(DADIC chadic)

(UNKNOWN_POS (名詞 普通名詞 一般))

試してみる。イチニサンをイッニサンと読み付与しているが。。

$ echo "123" | chasen -r chasenrc_chaone | nkf -e
<cha:W1 orth="1" kana="{イッ/イチ}" pron="{イッ/イチ}" pos="名詞-数詞" lForm="イチ" lemma="一" orthBase="1" pronBase="{イッ/イチ}" kanaBase="{イッ/イチ}" formBase="イチ" goshu="漢" iConType="N1" fType="チ促" fForm="{促音/基本}形" aType="2" aConType="C3">1</cha:W1>
<cha:W1 orth="2" kana="{ニ/ニイ}" pron="{ニ/ニー}" pos="名詞-数詞" lForm="ニ" lemma="二" orthBase="2" pronBase="{ニ/ニー}" kanaBase="{ニ/ニイ}" formBase="ニ" goshu="漢" fType="イ長添" fForm="{基本/長音添加}形" aType="1" aConType="C3">2</cha:W1>
<cha:W1 orth="3" kana="サン" pron="サン" pos="名詞-数詞" lForm="サン" lemma="三" orthBase="3" pronBase="サン" kanaBase="サン" formBase="サン" goshu="漢" iConType="N3" aType="0" aConType="C3">3</cha:W1>

64bit版を作る

2010-11-12

chasen の辞書は 32bit と 64bit で互換性がないので、作り直す。

下記は Mac OS X (Snow Leopard) で macports から入れた chasen を使った作業。

上記と同様にやると:

$ cd unidic-chasen1312src
$ ./configure --with-encoding=e
$ make
/opt/local/lib/chasen/makemat -i e
parsing grammar.cha
parsing cforms.cha
parsing ctypes.cha
parsing connect.cha
table size: 9767
lines: ......................

chasen 単体では動作が確認できた。

unidic-mecab

since 2010-11-15

ubuntu 9.04 で mecab パッケージが入っている。

ターミナルは UTF-8 になっている。

$ tar xvfz unidic-mecab1312src.tar.gz.tar.gz 
$ cd unidic-mecab1312src
$ mkdir -p ../unidic-mecab ; /usr/lib/mecab/mecab-dict-index -d . -o ../unidic-mecab
$ cd ..
$ cp unidic-mecab1312src/rewrite.def unidic-mecab
$ cp unidic-mecab1312src/dicrc unidic-mecab
$ echo "123" | mecab -d unidic-mecab
1	名詞,数詞,*,*,*,*,イチ,一,1,イチ,イチ,漢,1,イチ,イチ,イチ,*,*,N1,チ促,基本形,*,2,C3,*
2	名詞,数詞,*,*,*,*,ニ,二,2,ニ,ニ,漢,2,ニ,ニ,ニ,*,*,*,イ長添,基本形,*,1,C3,*
3	名詞,数詞,*,*,*,*,サン,三,3,サン,サン,漢,3,サン,サン,サン,*,*,N3,*,*,*,0,C3,*
EOS

unidic.txt · 最終更新: 2013/01/27 22:18 by Takuya Nishimoto
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0