[Anthy-dev 3156] anthy-8116/src-splitter/transition.h

Zurück zum Archiv-Index

Yusuke TABATA yusuk****@w5*****
2006年 9月 17日 (日) 14:53:29 JST


anthy-8116をリリースして
http://prdownloads.sourceforge.jp/anthy/21800/anthy-8116.tar.gz
として、置きました。

コア部分の改造が一段落したので、状況を説明しておきます。

anthyの遷移行列はsrc-splitter/transition.hにあって、
今までのところ、純粋に遷移確率の行列でした。
チューニングをしようとすると、calctrans/example_text.txtに
誤変換の文を追加して、
 $ cd calctrans; ./calctrans example_text.txt -o transition.h
という感じで行列を生成しています。
(単に確率を求めるだけなので、数ヶ月前までruby scriptでしたが
 Cで書き直してます)

しかし、このテキストファイルを見るとわかると思うのですが、
 *手でクラスを指定する必要があり、作るのが面倒
 *一つの文節に対して、「あるクラスに属する」という一つの情報しか与えられない
という欠点がありました。

そんなわけで、色々と変更して改善してみました。
calctrans/corpus.0.txtにあるように、
「きょうのてんきははれです |きょうの|てんきは|はれです|」
という感じの例文を受け取ってパラメータを勝手に推定するようになってます。
 $ cd calctrans
 $ ./proccorpus corpus.0.txt > file
 $ ./calctrans file -o transition.h
という感じで使います。

内部的には文節X,Yの連続する確率を
   P ∝ exp(f_X・λ_c)
  (ここでcはYのクラスで、λ_cはそれに対応する
  重みベクトル、f_XはXの素性ベクトル)
として、例文中の確率と一致するように重みを定めています。

ちょっと変な形になってますが、素性としてXのクラスのみを使用した場合に
今までの行列と同じ形式になるのが開発者的にはメリットです。
#過去のしがらみに縛られているとも言えますが...
現時点ではXのクラスとXの付属語のhash値を素性としています。

-- 
--
 CHAOS AND CHANCE!
  Yusuke TABATA



Anthy-dev メーリングリストの案内
Zurück zum Archiv-Index