消えるルビを解消(たぶん)
消えるルビに対処すべく、基本に立ち返ってパターンを書き出して考える。 で、それにそって修正する。 意外とすんなりと解決してしまった。 まあ、当然といえばそうかもしれない。 とはいえ、記録重要なので簡単に記録しておく。
MeCab で解析した結果のパターンとしては、「かな漢字」、「かな漢字かな」、「漢字」、「漢字かな」、「漢字かな漢字」、「漢字かな漢字かな」といった感じ。
で、かな部分が基本的には送り仮名として(はじめのほうのパターンだけはやや例外だけれど)設定して、読みの文字列でその送り仮名がマッチするところを探すと。 基本的にそのマッチした部分より前の部分がルビにあたる部分であろうと。(もちろん、単純にそうならない場合もある)
そのために「言い」とか「聞き」とか「最も」といったところでルビが消えるということになってしまったのだった。 もしも文字列の先頭にマッチするときにはそれ以降でマッチするところを探すようにする。 この例でいえば文字列の末尾でマッチするようにすると。
「少く」などというのもあった。 「少なく」のほうが正しいようだけれど。 「すくな・く」なので文字列の先頭ではないからとしてしまったので「す」だけになってしまった。 ということで途中にあるようなパターンも想定する。
「築き上げる」というのがあった。 まずは「き」から見たのだけれど「きずき」の先頭の「き」で当初切られてしまったのでルビなしに。 さらには「上げる」のほうに「ずきあ」などというルビが振られてしまうことにも。
結果今のところはこれまでおかしくなっていたルビなしというのはなくなったし、おかしな振り方をしてしまうところもなくなった様子。 MeCab が読みを誤ってしまうパターンはあるにせよ。
まあ、今後あらたに見つかったらまた対処するということで。 残るは半角英数が混じっているときに、その部分はそのままにというところなのだけれど。 なんだか漢字がないときというのをうまく切り分けられていなかったようで、まだうまくいかない。 半角スペースが削除されてしまうのが困ったところ。
| 固定リンク
コメント