とんかち配布機能を実際の環境で試験しました。
いくつか小さな問題がありましたがその場で修正して解決。とんかち配布機能は完成です。
過去のデータを半分くらい食わせてみて発言の様子を見てみましたが、結構いい感じです。予想以上にちゃんとした文章を吐きます。まぁ相変わらず場違いな発言ではありますがね。ただ、過去の発言がそのままでてきちゃうことがちょっと多いかも。まぁあとは辞書との組み合わせでいろいろ試して見ます。
相変わらず話題の追跡に問題があるなぁと実感したりして。。。

辞書についていろいろ調べてました。結局適切な辞書って存在しないんだよな。また辞書を学習させるためのAPIは公開されて無い模様。うーん。詰まったぞ。
さらっと3時の辞書作ってやってみたら、辞書に登録してある範囲に関してはうまくいくみたい。んでも、辞書からはずすともうだめ。チャットに特化した辞書が必要であることが判明。もしかしたら、エンジン自体もチャットのことを考慮していないとだめかもしれない。
というのは、例えば、
ゆうき、これは辞書に入っています。
ゆーき、これ、辞書にありません。
ゆ~き、もちろんこれも辞書にありません。
ゆぅき、これも無いわな。
てな風にチャットだとバリエーションが出てるんですよ。このバリエーションをうまくクリアしない限り解決しないと思われる。うーん。奥が深い。
んで、とりあえず、助詞に関してあほあほなので、単語単位の処理だけでなく、文節単位の処理も入れました。助詞助動詞は全部NULLにして返してくれるので、NULLが出てきたら、直前の単語とつないだら、それで文節が出来上がってるかなと。それなりに、うまくいっています。ただし文章のバリエーションがちょっと狭まってるかも。今、過去データを食わせています。どんな感じか見てみようと思ってさ。
まぁこのあたりは調整の範囲ですな。
記号の処理の部分、特に顔文字の処理の部分が前エンジンでは対処してあったのに新エンジンで抜けてたのでそれを対処しました。

あほになった原因が判明しました。助詞の処理の問題です。
チャットでよく出現する発言で、
「わはははは」
ってのを例に挙げます。
これは人間には笑い声と認識されます。
これまでのるすぢでは、
わは、は、は、は、(わ「名詞」、は「助詞」、は「助詞」、は「助詞」、は「助詞」)
と認識されていました。まぁこれはこれで間違ってるんですけどね。助詞の頻度が高いんです。
新留守ぢでは、
わは、はは、は。(感じとしては、「輪は、葉は、歯。」ただし、わ「名詞」は「NULL」、は「不定語」は「NULL」、は「不定語」は「NULL」)
となります。
助詞助動詞が全部一緒くたにNULLにされていますし、不定語と認識されるときもあるようです。
こちらの方が現実に近いのですが、どちらにしても間違っています。
今まで全部助詞として認識されてたのが、助詞と不定語の2種類に分けられちゃってるんです。
どちらが文法上正しいとかじゃなくて両方間違っているんですが、たまたま前の認識が文章生成には都合が良かったんです。
これの派生系に「ぎゃはははは」ってのもあります。
日本語って難しいぞ。外人が日本語を学ぶときに「擬音語」が猛烈に難しいって言うもんな。
うーん。困ったぞ。んで、考えたのが、辞書登録。新エンジンでは辞書登録が簡単にできます。
「わはははは」「感動詞」
と登録すれば解決。きれいにいくようになります。ということは、それなりにチャットに適した辞書が必要ということになります。
さて次の問題。んじゃ、この辞書をどうやって作りましょうねと。。。3時のおやつ辞書ですな。
手でやってたら泣きそうに面倒なんですが。。。どっかにチャット用辞書って転がってないかな。
2CH用語辞書は転がってるなぁ。
みんなで作ろうかな。そんな企画でもやろうかな。うーん。なんかいい手は無いかな。暇人募集しようかな。うーーーん。考えどころだ。

今日は実機試験をしました。
あきませんな。あほになってます。どうも原因はどっかに間違いがあるようで。。。
うーん。俺の頭の中の、参照渡しとコピー渡しの概念がC++のままのようで、そのあたりに問題が潜んでいそうです。こりゃやっかいだぞ。。。

学習エンジンと文章生成エンジンの試験中。
文章生成エンジンはまぁぼちぼちよさそう。学習エンジンは、70%かな。多分大丈夫だけど、まだ不安。すごく短い文章の処理とかが怪しい。
データコンバータを作成。現在耐久試験中です。過去のデータを全部変換中。とりあえず、MDBに入れてみる。前のよりも処理はだいぶ速い。データ量も抑えられてる。結構いい感じ。ただ、「ぁー」って名詞かぁ?まぁ名詞って言ってるから名詞ってことにしておこう。このあたりが微妙にお馬鹿ちゃんになる原因かもしれない。

大改造終了。ほぼ機能復旧。まぁいくつかバグが見つかってるのでちまちま修正中。
しかし、助動詞と助詞がよくわからないってのは結構インパクトあるかも。思いのほか留守ぢがあほになる可能性あり。
それはさておき、過去のデータをどうするべ。過去のデータは捨てるには惜しい量なのでどうにかして救わねば。データ変換ツールを考えにゃならんな。
ここんところ、コーディングステージを終えて、デバグステージに入っていますが、ここで新たな試練が。。
C#のデバッグのやり方、よくわかってないかも。どうも効率が悪い。例外をどうゆうふうに仕込んでおくべきなのか。エラーコードをどうゆう風に仕込んでおくべきなのかがよく分かってないために、どうにもデバッグがやりにくい。その手の勉強をしなければならないと思われる。

うーん。C#で構造体の入れ子の配列のマーシャリングのやりかたわからへん。悪戦苦闘中。それにしてもこの改造はちとインパクトあるな。大改造になってしまう。んでも、ライセンスの心配しなくてもいいのはうれしいもんね。がんばっちゃうもんね。
んでも、このMorphResult、助詞と助動詞教えてくれない。。。。

昨日のネタからじゅんぐりたどっていきまして、Hit商品をGetしました。APIは公開されてました。僕の勉強不足でした。これで、完全に自作で留守番ロボットが自立します。ライセンスの心配をしなくてもよくなっちゃうもんねぇ。売っても問題ないもんねぇ。(相変わらず他力本願ですなぁ。)
キーワードは、
IFELanguage::GetMorphResult()
MORRSLT
WDD
ですな。MSDNで行くとこのあたり。。。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnime/html/felang2dat.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnime/html/msimepos.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnime/html/FeLang2Fnc.asp
サンプルコードはこのあたり、
http://october.servehttp.com/ifelanguage_use.htm
動くとうれしいなぁ。んでも、またやること増えてたりして。。。
いつになったら、次期留守ぢは稼動するやら。。。

すんげぇもの見つけた。
http://www.airmac.org/newton.html
これすんげぇ。Wordで分かち書きをかけようなんて。Wordのわかちがきって結構賢いのね。中で形態素解析かけてんじゃないのか?まぁ、個人的には、IMEでは絶対形態素解析使ってるだろうなと予想してるんだけど。。。このへんをAPIとして公開してくれないかなぁ。また勉強することが増えてしまった。