前々から人工無能を作っています。

今日は以下を作成。
・辞書の二分探索用モジュール(いずれ辞書が数千行以上になるときのため)
・文節に適当に重要レベルを付ける

高い方が文節の重要度が高い感じです。

Yahooチャット「パソコンなんでも相談室」から
例を紹介(すべて自動的に文節に区切ったものです)

テストケース1

****name***: あとキャッシュメモリの量 (*´・ω,・)
↓
あと*level 9
キャッシュメモリの*level 15
量 *level 8

テストケース2

****name***: (*@_@) (とぼける)
↓
とぼける*level 5

テストケース3

****name***: (*´・ω,・) すべて溶かし 無残に飛び散るはずさぁ~
↓
すべ*level 3
て溶かし*level 3
無残に*level 13
飛び散るはず*level 8
さぁ~*level 3

テストケース4

****name***: どういう経緯でもらってきたのかは覚えていないw
↓
どう*level 5
いう*level 5
経緯で*level 13
もらってきたのかは*level 9
覚えていないw*level 5

おかしな点がありますが重要度はまあ当たっているので無問題?

現在完成しているのは
・チャット欄から文字の読み込み
・辞書のメモリ関係(データの追加、削除、更新、引き出し、ファイルから読み込み、ファイルへ保存等)
・辞書から二分探索(文字列の比較も含めて)
・チャット欄へ書き込み(1タイプ)(文章を作成は作ってないです)
・GUI
・文節を区切る

問題点
・チャットのため文章が砕けており、かなりの確立で文節区切りがミスる(致命的)
・実際ちゃんと会話が作れるか不安。すべて妄想なので作ってからのお楽しみw

GUI↓

関連記事

  • HSPで人工無能の制作日記 part 3 (final)HSPで人工無能の制作日記 part 3 (final) ついに、HSPで人工無能が完成しました。 Yahooチャットルームで泳がせて1400単語覚えました。 それで初めてネットの友達に人工無能としゃべってもらいました。 これはMSNチャットでしゃべったものです。 実際の人工無能との会話例1 なたで(プログラム) の発言: イジイジ 友達(人間) の発言: うん なたで(プログラム) […] Posted in ツール制作
  • プログラミングのアイデア1プログラミングのアイデア1 適当に思いついたプログラミングアイデアのメモ。 ・オートフォーカス オートフォーカスとはカメラのピントを自動で合わせるもの。 ピントがあっているということは、画像がクッキリしているということ。 クッキリしているということは、高域の周波数成分が大きいということ。 ということで、ピントを段々いろいろと試していって、 もっとも高域の周波数成分が大きくなるところを探す。 そこがピン […] Posted in アルゴリズム
  • JavaでStringとint[]の相互変換する方法JavaでStringとint[]の相互変換する方法 はじめに charAt1文字を1変数(コードポイントで)に割り当てたい。 そんな要望からStringとint[]との相互変換を行ってみます。 使い方はお察し下さい。 文字列から数値配列へ static public int[] toInteger(String text) { int textlength = text.length(); for (int […] Posted in プログラミング
  • HSP用の画像処理モジュールipmpackの開発 part1HSP用の画像処理モジュールipmpackの開発 part1 ついにHSPのモジュールのver1.002が完成。 そのモジュールでフィルタを作りました。 これが、前からやってみたかった処理。 これをやるためだけに作ったんだぜ^^ 後はストローク・波・ノイズとかがあれば。 […] Posted in ライブラリ制作
  • HSP用の画像処理モジュールipmpackで手書き風画像処理HSP用の画像処理モジュールipmpackで手書き風画像処理 前からやってみたかった手書き風の画像処理をしてみた。 #include "ipmpack.hsp" dialog "bmp;*.gif;*.jpg",16 exist refstr if (strsize==-1){end}else{picload refstr:title getpath(refstr,8)} mref […] Posted in ライブラリ制作
  • Bresenhamアルゴリズムで線分の計算は早いのかなBresenhamアルゴリズムで線分の計算は早いのかな 以前、直線を描くのにこんなのを作った。 特に工夫点もない、素直な方法である。 #module "linem" #deffunc line2 int line_x1,int line_y1,int line_x2,int line_y2 line_xabs = abs(line_x1-line_x2) line_yabs = […] Posted in アルゴリズム