ルビ振りの不備をあらためて修正
ルビ振りに失敗しているパターンに都度対応していたら、なんとも冗長な感じになってしまってきたので、一度シンプルに見直すべきだなとは思っていた。 ついでにカタカナを含む場合を想定してなかったことにも気づいたので、あわせて修正しようかと。
MeCab によってそもそも単語や熟語といったレベルに細かくされてはいるので、極端に漢字かなが複雑に交じり合ったものにはならないはず。 となれば、かなだけ(ひらがな、カタカナ)、漢字だけ、漢字とかなといった組み合わせ。
かなにマッチするかを見ていって、それが文字列の先頭にあるのだったら、そのままにして次に進む。 マッチした部分の前に文字があるなら、それは漢字であろうからその分をルビとする。
「言いました」のようにルビも送り仮名も同じかなというような場合もあるので、読みの文字数が一文字以上であれば、頭の一文字はいったん退避させて削除しておく。
文字列と読みのかなとが、カタカナとひらがなとに分かれてしまっていないかをチェック。
といったところ。
テストしたところでは、「フランス語」とか「返す返す」とか「言いました」とか、「築き上げた」とかも一応きちんと処理している様子。
もう少し実際のテキストで確認してみる予定。
追記:
当たり前なのに忘れていたので。 つまりかなの位置は文字列の先頭か、末尾か中間かの三種類であると。
「見失う」とかに対応できていなかったことに気づいた。(以前はちゃんと覚えていたのに、すっかり忘れているらしいという鶏頭)
| 固定リンク
« 夏の甘酒 | トップページ | 「フェノミナン」 »
コメント