赤心慶福

talk about rss feed #13

softalk の辞書の代替の件。12 万の単語のほかに 3502 件の異なる種別の結合ヒント(join.stk)、280 件の数値に接続する接尾辞(num.stk)も追加してしばらく放っておいた。

確かに読める漢字は増えているのだが、増えた単語の中には前後の文脈から判断しないと区別できないものも少なくない(「行った」と「行った」とか)。そうすると、ちんたましいみたいに「明らかにそうは読まないだろ!」というのは減ったものの、その代わり「確かにそうとも読むけど、その文脈ではそうじゃないだろ!」というパターンが増えた。

うーん。

softalk 内蔵の読み仮名摘出処理というのは、悪くはないけど、結局のところ大掛かりな文字列置換でしかないと思うのだなー。つまり文脈も見てよというのは無理な注文なのだ。

とすると、そのあたりもフィードリーダー側でやるべきなのか。せっかく MeCab を使っているのだ。

さて、その形態素解析だが、実は MeCab ではなく ChaSen に切り替えようかと思っている。ChaSen + UniDic + ChaOne の組み合わせで単語単位のアクセントだけではなく、活用により変化する場合のアクセントの移動や、語頭・語尾が変化するタイプの変換なんかをやってくれるのだ。さすがに名詞同士の結合時のアクセント変化までは面倒見てくれないと思うけど。

したがって、処理の流れでいうと

  1. フィード読み込み
  2. 読み上げるテキストの原型を生成
  3. 英単語のカタカナ変換
  4. Chase + UniDic + ChaOne で形態素解析、アクセント情報の取得
  5. 名詞結合時のアクセント移動処理
  6. モーラが連続しすぎている際の読点挿入
  7. softalkw.exe へ渡す


ということになる。


talk about rss feed #12talk about rss feed #14