2008年01月19日

JSONP対応完了&オペレータ機能

チャットサイトのJSONP化が完了した。
これでIEでも完璧に動作させることができた。
ついでにjQueryのフェードイン機能などを使い無駄に表示を派手にしてみた。

さらにオペレータ機能も追加。
チャットルームに常駐しているオペレータの人工無能に対し自然言語で話しかけることによってオペレータに対し指示ができる。現在はチャットルームのサブタイトル変更を指示することができる。
たとえば「サブタイトルを「Cometチャット!」に変えて>オペ子」とチャットで発言することにより変更が可能だ。
ope1.png

オペレータへの入力は、文末に「>オペ子」をつけることによって入力となる。
オペレータに対して入力された文章は、形態素解析器Senによって形態素に分割され、処理される。
といっても現在は"サブタイトル""変"が発話に含まれているかだけしかみていないが。
より良い実装のアイデアとしてはコマンド入力例を例文として多数用意しておいて、ユーザの入力文の形態素解析結果をベクトルとしてベクトル空間上でのコサイン距離を測ることによって一番近いコマンドを判断するという感じか。

複雑なことをしようと思うと形態素解析だけでは不十分で、構文解析も必要なんだけどJavaから利用できる構文解析器が無いため現在はしていない。
使うとしたらCaboChaあたりをサーバ化して、TCP経由で構文解析をするって感じだろうか。


チャット機能はIE対応をもって完成したわけだが、チャットルームやそのサブタイトルなどの情報の永続化ができていない。
これらはRDBに保存するのが楽かな。
よって部屋のメタ情報はMySQLに入れ、ログの情報はファイルに書き出すことにしよう。
起動時はDBから部屋の情報を取り出し、最終状態に復元するという感じで。

一人でこういうシステムを作成しようとすると、プログラミングの知識はもちろんOS,Webサーバ、アプリケーションサーバ、データベース、通信プロトコル、ネットワークその他諸々の知識が総合的に必要なのでそれらの学習コストが大きく大変だな。それがおもしろくもあるけど。
まぁ広いジャンルでの経験値が得られるので良いことだ。

Trackback on "JSONP対応完了&オペレータ機能"

このエントリーのトラックバックURL: 

"JSONP対応完了&オペレータ機能"へのトラックバックはまだありません。

Comment on "JSONP対応完了&オペレータ機能"

"JSONP対応完了&オペレータ機能"へのコメントはまだありません。

Post a Comment

コメントする

コメント登録機能が設定されていますが、TypeKey トークンが設定されていません。