今週は皆様にお知らせがあります。私たちは独立性を守るため、一切の広告を掲載致しません。一日平均約¥1500の食費で生活しております。 私たちにも、サーバー、プログラム、焼酎など、世界でトップクラスのウェブサイト同様のコストがかかります。 利用者は何百人もいますが、他の大きなサイトに比べほんの少額の費用で運営しているのです。 今日、読者の皆様が¥10ご援助下されば、この募集はARIA The NATURAL 2.30769周分の時間で終了します。

※1 これはWikipedia乞食のジョークです
※2 Wikipediaとは異なり技術力があるので寄付しないをクリックすると二度と表示されません
Kaleidoscope, its fuck'n beautiful.

78th subject:

23rd Dec, 2014

こふ語 Advent Calendar 2014 23日目の記事です.


※注意
この記事は自然言語処理や機械学習を,ほぼ理解していないヒトが書いています.
masakariを投げる際は周囲の安全を確認し,柄を優しく持ち,軽い力で投げてください.


covconv.php

日本語をこふ語に変換するbenriなやつです.
こふ語コンバーターのコアとなる部分です.
GitHubで公開しています.

変換精度は与える文章にもよりますが,およそ80%くらいです.

covconvAPI

covconv.phpの変換を外部から手軽に使えるように公開したのがcovconvAPIです.
文章をPOSTしてあげるとこふ語に変換して返します.
一応SSLでの接続もできますが,オレオレ証明書なのでアプリケーション内部で証明書の問題を無視する必要があるのが難点です.
(いつか証明書を買います.)

使用例です.

内部の動作

与えられた単語を片っ端から置換しています.
PHPなので str_replace()preg_replace() ですね.
なので先日公開されたkovliveほど高度なことはしてないです.

それでも80%程度の変換精度を維持できているのは,こふ語の変換が単純であることと,こふ語のソースをふぁぼふぁぼして大量にストックしているからです.

こふ語の大部分は

  • 変換されるのはカタカナの名詞か動詞
  • 「アル」→「オル」
  • 「ト」「ド」「ド」「テ」→「ヨ」
  • 「○ロ○」→「○ヤ○」
  • 「○ショ○」→「○ヨ○」
  • 「○ース」→「○ーユ」

の6つを基本として変換されているので,その部分さえ変換してしまえば70%程度は正しい変換結果が得られます.
残りは既知単語として個別に登録するか,斬新な変換法則を見つけ出すか,kovliveのような手法を用いるしかありません.

V2

と言うわけで未知単語の変換をkovliveに丸投げすることにしました.
covconvAPI v2 (beta)です.
もちろんGitHubにおいてありますが,まだAPIの仕様が固まりきっていないので,作りかけの段階です.

kovliveがPyhton製だったので,v2もPythonで書いています.
本当はkovliveで既知単語の登録ができるのでcovconvは必要なかったりするのですが,モデルの再学習が面倒なので,既知単語だけcovconvLITEとして残しています.
covconvLITEの手法はcovconv.phpと同じです.

WSGIで動くので,server.pyを起動すればそのまま使うこともできます.
uWSGIgunicornで動かすのもいいかもしれません.
ぎっぽすねっとでは nginx + gunicorn の構成で動かしています.

おわりに

先日はカウントを間違えていたことを深くお詫び申し上げます.


コメント

まだコメントはありません


コメント投稿

最近の投稿


Author

もっへもへ

WindowsとC#,ときどきAntergos Japanese Team.Kovlang evangelist.
アイコンは @yorozuyasan02 から.

※このブログでの発言は個人のものであり,所属組織とは関係ありません.


FFXIV