このトピックに書きこむ |
---|
トピック内容表示 | |
---|---|
[29] Re[12]: 遅ればせながら- ■済! / 記事引用/メール受信=OFF■ □投稿者/ Riko -(2001/09/21(Fri) 00:28:42) □U R L/ ◆ひかるさん >>逆に、うまい?人が相手だとロボと漫才やってるのかと思うような >>会話になったりもするんですけど(笑)。 はーい(^^)/。私、うまいらしいです(笑)。誉められました(^^)。 >>「ここの数字をいじると確率が変わります」ってなコメントを >>ソースの該当個所全部に書き加えておくといいのではないでしょうか。 >>Wちゃぼっとの二人のロボの返答確率のとこだけはコメントが >>あったと思いますが、あれも「0.2だと$chabot1の方が80%の割合 >>で返答」ということが初心者には多分わかりにくいですー(^^;)。 そうですな。何分にもちゃぼっとは初めて作ったCGIなので (いや、嘘か。掲示板が初めて作ったCGIか。 ちゃぼっとが初めて公開したCGIなので、かな) 今にして思うと、色々不親切です。 配布ソースの見直しをしましょうかね。 ……ってとりかかれるのはいつかしら(^^;。 たて書きCGIだって出来てから一年も経つのに まだ公開にすらこぎつけていないのに……。 kgBangもだな(^^;<これはもうちょっと直そうと思っているので、 手間がかかる |
[28] 遅ればせながら- ■記事引用/メール受信=OFF■ □投稿者/ ひかる -(2001/09/20(Thu) 05:40:20) □U R L/ http://www2.tiara.cc/~konig/ ◆さとみさん >>うっ。一応、この話を持ちかけた時点で2000程度のキーがあったんですけど。。。 それは大変失礼しました(^^;)。 2000あればそこそこ賢くはなってますよね〜。 いや、2000が3000あっても、相手によってはキーワードにかすり もせずに教えてモードばかり出たりボケてばかりいたりしますが。 逆に、うまい?人が相手だとロボと漫才やってるのかと思うような 会話になったりもするんですけど(笑)。 こういうのも相性というんでしょうか……。 >>あとですね、このゆいぼっとの応答アルゴリズムでは、 >>いくら辞書を作り込んでも限界は見えてますよね。 >>自己フィードバック機構が事実上無い訳ですから。 >>よって、出来るなら改善した方がいいとおもうんですね。 2重に辞書を検索しても、同じ辞書を使うのであれば結局 とんちんかんな受け答えになる可能性が大なのでは? ちゃぼっと自身の応答パターンをまるまるキーワードにした 教育をして、人間の来場者の発言に対する答えとしては出て こないようにしておく、といった工夫をすれば有効かも しれませんが。 それでも、相手(人間)の発言をすっとばした反応を返す ことになるわけですし、ちょーっとリスキーな気も。 >>乱入モード、使わせていただいてます〜。 ご利用ありがとうございます(^^ゞ。 ◆Rikoさん >>◆さとみさん >>>>デフォルトでボケるモードが1/2の確率は、ちょっと高すぎますよね。 >>上述どおり、設置者の好みで変えてもらったらいいと思いますが、 >>あとキャラクターの性格にもよりますね。ボケる率。 「ここの数字をいじると確率が変わります」ってなコメントを ソースの該当個所全部に書き加えておくといいのではないでしょうか。 Wちゃぼっとの二人のロボの返答確率のとこだけはコメントが あったと思いますが、あれも「0.2だと$chabot1の方が80%の割合 で返答」ということが初心者には多分わかりにくいですー(^^;)。 (というわけで、僭越ながら改造版の方ではその旨書き足して ありますですm(_ _)m) |
[27] ひかるさんじゃないですが- ■記事引用/メール受信=OFF■ □投稿者/ Riko -(2001/09/20(Thu) 00:29:43) □U R L/ ◆さとみさん >>辞書が出来てない場合は、教えてモードをたくさん出す方が設置者には効率的ですし。 わたし的には、しょっちゅう「教えて」と言われるほうがうざいですね。 そういうわけでその辺は設置者の好みに合わせて、確率を変えてもらったらいいのではないかと。 >>あとですね、このゆいぼっとの応答アルゴリズムでは、 ええと、ゆいぼっとじゃないんですけどね(笑)。 >>デフォルトでボケるモードが1/2の確率は、ちょっと高すぎますよね。 上述どおり、設置者の好みで変えてもらったらいいと思いますが、 あとキャラクターの性格にもよりますね。ボケる率。 |
[26] Re[1]:ちゃぼっとのアルゴリズムについて(結果)- ■記事引用/メール受信=OFF■ □投稿者/ Riko -(2001/09/20(Thu) 00:24:12) □U R L/ ◆さとみさん >>(ついでにEUCにまつわる、誤サーチのバグを修正しておきました。 >>「こけし」と「海」がマッチするやつです。」) それは知らないですー。 >>検索を二回するというきわめて簡単なものなので、 >>当然ながら実行には二倍の時間がかかりますです。(大欠点) 最初から最後のメッセージを取得しておいて、 一回目の検索と同時にやるとどうでしょうね。 やらなくていい時にも検索することにはなりますが。 |
[25] ひかるさんへ。- ■記事引用/メール受信=OFF■ □投稿者/ さとみ -(2001/09/18(Tue) 21:19:59) □U R L/ ひかるさんへ。 わざわざのレス、ありがとうございます。 それなのに、過日は見過ごしてしまい、申し訳ありませんでした。 > あのー、私が思うにそんな面倒くさい改造をしなくても、もっと辞書を > 充実させればいいんじゃないかな〜と思うんですけれども……。 > まずは腰をすえて教育に取り組んでみてはいかがでしょうか? うっ。一応、この話を持ちかけた時点で2000程度のキーがあったんですけど。。。 えと、えと、一応、 この追加ルーチンは、辞書の作り込んである方が主な対象です。。。 > 辞書を作り込んでおかないと、遊べないものでもある わけで。 辞書が出来てない場合は、教えてモードをたくさん出す方が設置者には効率的ですし。 あとですね、このゆいぼっとの応答アルゴリズムでは、 いくら辞書を作り込んでも限界は見えてますよね。 自己フィードバック機構が事実上無い訳ですから。 よって、出来るなら改善した方がいいとおもうんですね。 > ちゃぼっとの返答に対する相手の反応も何パターンか想定して、 > 先回りして教育しておくことも必要かと思います。 全体の過去ログは取っていますので、会話の流れからキーの登録と修正は やっていますです。そうは言いつつ思うように会話の流れを取るのは 難しいですが。(笑) > ボケモードもやろうと思えば出る確率を下げることはできます。 デフォルトでボケるモードが1/2の確率は、ちょっと高すぎますよね。 それでは、ご助言ありがとうございました。ひかるさんの 乱入モード、使わせていただいてます〜。 |
[24] Re[7]: ちゃぼっとのアルゴリズムについて(結果)- ■記事引用/メール受信=OFF■ □投稿者/ さとみ -(2001/09/18(Tue) 21:19:14) □U R L/ ## Modified and Additional Algorisms by Satomi Yamashiro -Begin- sub search_dic{ open(DB, "$dicfile") || &end_html("$dicfile open error"); while(<DB>){ ($key, $res)=split(/:#/); chop($res); next if $key eq ''; if ($mes=~ /^([\x00-\x7F]|[\x8E\xA1-\xFE][\xA1-\xFE]|\x8F[\xA1-\xFE]{2})*$key/i){ push(@ans, $res); } } close(DB); unless (@ans){ #答えるものが見つからなかった場合。 if (rand()>$search2){ # if ($mes=~/?$/ && $mes=~/(何|なに|いつ|誰|だれ|何処|どこ|何故|なぜ|なんで|どうし|どうやっ|どんな)/ || rand()>$search2){ open(LASTMES, "$logfile") || &end_html("$logfile open error"); @lastmes = <LASTMES>; close(LASTMES); $secondmes = pop( @lastmes ); @lastmes = split( /\t/ , $secondmes ); $secondmes = $lastmes[1]; @lastmes = split( /<HR>/ , $secondmes ); # 最後の行 $secondmes = $lastmes[0]; # 最後の行 open(DB, "$dicfile") || &end_html("$dicfile open error"); while(<DB>){ ($key, $res)=split(/:#/); chop($res); next if $key eq ''; if ($secondmes=~ /^([\x00-\x7F]|[\x8E\xA1-\xFE][\xA1-\xFE]|\x8F[\xA1-\xFE]{2})*$key/i){ # modified by Satomi for EUC Matching push(@ans, $res); } } close(DB); } } if(@ans){ # 答えるものがあったら $mes=$ans[rand(@ans)]; &yobina(); $mes=~s/NAME/$name/g; $date=$date.' ('.@ans.')'; # 回答可能数を表示するための小細工 99/2/10 } else { # 答えるものがなければ if (rand()>$tellme){ # 教えて下さいモード &yobina; $mes="$mesって言われたら何て答えたらいい?>$name"; } else { # 独り言モード open(DB, "$monofile") || &end_html("$monofile open error"); @mono=<DB>; close(DB); $mes=$mono[rand(@mono)]; chop($mes); } } } ## Modified and Additional Algorisms by Satomi Yamashiro -End- |
[23] ちゃぼっとのアルゴリズムについて(結果)- ■記事引用/メール受信=OFF■ □投稿者/ さとみ -(2001/09/18(Tue) 21:18:41) □U R L/ こんにちは、アルゴリズムの話をしていたさとみです。お久しぶりです。 取り敢えず出来上がったので、(簡単なものですが……) 御報告を、と思って。 (ついでにEUCにまつわる、誤サーチのバグを修正しておきました。 「こけし」と「海」がマッチするやつです。」) 興味のある方は使って下さいということで。 バグがあるかも知れないので人柱バージョンです。 検索を二回するというきわめて簡単なものなので、 当然ながら実行には二倍の時間がかかりますです。(大欠点) 修正は辞書検索サブルーチンだけですみました。 有用性は、現在検証中です。 $searchdic = 0.99; # 辞書を探す確率。 $search2 = 1; # 追加サブルーチン有効率。 $tellme = 0.9; # 教えてモード発現率。 $searchdic = 1 - $searchdic; # rand()用に逆を取る。 $search2 = 1 - $search2; # for Second Dic Routine $tellme = 1 - $tellme; # rand()用に逆を取る。 |
[22] Re[5]: ちゃぼっとのアルゴリズムについて- ■記事引用/メール受信=OFF■ □投稿者/ ひかる -(2001/08/23(Thu) 02:42:55) □U R L/ http://www2.tiara.cc/~konig/ さとみさん、こんにちは。横から失礼致します。 ちゃぼっとくんの第1号ユーザで、改造版ソースの公開もしている ひかると申しますm(_ _)m。 あのー、私が思うにそんな面倒くさい改造をしなくても、もっと辞書を 充実させればいいんじゃないかな〜と思うんですけれども……。 > 蛇足ながら、辞書を作り込んでおかないと、遊べないものでもあると思うのですが。 > ウチは弱小サイトなので、教育して下さる方も少ないですし……。 > 教えてモードやボケモードばかり発動すると、お客さん飽きて > すぐ帰っちゃうんです……。これが人工無脳の限界でもありますが。 ちゃぼっとの受け答えがとんちんかんになる原因は、教育不足と 辞書のキーワードのメンテナンス不足がほとんどです。 ちゃぼっとの返答に対する相手の反応も何パターンか想定して、 先回りして教育しておくことも必要かと思います。 教育で手抜きしてちゃ、楽しいチャットロボは作れないですよ(^^;)。 遊びに来て下さる方の教育はあくまで「おまけ」程度に考えて、 まず設置者が公開前にガンガン教え込んでおかないと。 ちなみに私が最初に設置したロボは、公開した時点で1000パターン の応答辞書が入ってました。そして、来場者のログを見ながら、 変な文脈で出てしまうパターンについては、キーワードをいじったり してより自然な会話になるように工夫しました。 応答パターンが増えれば、教えてモードが出る確率は下がりますし、 ボケモードもやろうと思えば出る確率を下げることはできます。 さとみさんのおっしゃるアルゴリズムを追加しても、辞書が貧弱な 状態では、結局教えてモードやボケモードが頻繁に出てしまいますから、 まずは腰をすえて教育に取り組んでみてはいかがでしょうか? |
[21] Re[4]: ちゃぼっとのアルゴリズムについて- ■済! / 記事引用/メール受信=OFF■ □投稿者/ さとみ -(2001/08/21(Tue) 20:15:22) □U R L/ > それでは残念ながらご要望にお応えすることはできません。 > 個人用にしかも有効性を確認してみたい(つまり没になるかもしれない) > 程度の改造に避けるほどは時間を余らせておりません。 > サブルーチンを追加する程度で済む改造とは思えませんし。 そうですか。分かりました。お忙しいところ失礼致しました。 ベータテスト版のようなものを作っていただければ、 こちらでテストしてみます、という意味だったのですが。 このアルゴリズムを追加すると、下の辞書のくだりでも述べたとおり、 ある程度辞書が出来ている前提でないと 無意味な検索がループするばかりですし、 ルーチンが分かっていれば、それに合わせて辞書を構成することで、 ある程度お客さんとの話の流れをコントロールすることもできますし。 その上、このようなプログラムは、走らせてみないことには 実効性の確認は難しいと思ったもので。 > 改造してみたらどうかと思いますがいかがでしょうか? > アルゴリズムを考えられるほどプログラミングがおわかりなら、 > そうPerlは難しくないと思います。そもそも少しは読めると > おっしゃってる位なんですから。 一応、アルゴリズムの変更は、プログラム本体の改変に当たりますし、 作者さんを通すのが筋だと思ったもので。 了解いただけるのであれば、そうですね、 アドバイスを元に、これを機会にperlの勉強に取り組んでみます……。 でも、サブルーチンで処理できないとなると、かなり荷が重そうなんですが……。 > 辞書は、参加者が追加していくので、 > 普通あまり作りこんではいないはずだと思います。 ですから、パッチではない一般リリースは難しいと考えたわけです。 蛇足ながら、辞書を作り込んでおかないと、遊べないものでもあると思うのですが。 ウチは弱小サイトなので、教育して下さる方も少ないですし……。 教えてモードやボケモードばかり発動すると、お客さん飽きて すぐ帰っちゃうんです……。これが人工無脳の限界でもありますが。 > >>二段目の検索では、 > >>前レスのように「かきくけこ」からキーを拾うようにするわけです。 > これについては意味がわかりません。前レスであれば、二段目の検索は「あいうえお」に対して > キーを拾うんじゃないんでしょうか? これはご指摘の通り、一段目はかきくけこ、二段目はあいうえおの間違いです。 自分で考えておきながら……(恥) それでは。 貴重なお時間、ありがとうございました。 |
[20] Re[3]: ちゃぼっとのアルゴリズムについて- ■記事引用/メール受信=OFF■ □投稿者/ Riko -(2001/08/20(Mon) 23:22:22) □U R L/ ◆さとみさん >>あの、ちゃぼっとのバージョンを上げて、一般リリースして頂かなくてもいいんです……。 >>ただ、パッチのようなものを作って頂けたらな、と思いまして。 >>サブルーチンを追加する、といったような。 >>私は、ホントにperlは、書かれたものはある程度読めても、 >>自分で書く方は全然分からないので……。 >>有効性は、自分で使ってみて、判断するつもりだったんです。 それでは残念ながらご要望にお応えすることはできません。 個人用にしかも有効性を確認してみたい(つまり没になるかもしれない) 程度の改造に避けるほどは時間を余らせておりません。 サブルーチンを追加する程度で済む改造とは思えませんし。 ですが誰しも最初は 全然読めない→少しは読める→少しは書ける→書ける という、道筋をたどるものだと思いますので、 改造してみたらどうかと思いますがいかがでしょうか? アルゴリズムを考えられるほどプログラミングがおわかりなら、 そうPerlは難しくないと思います。そもそも少しは読めると おっしゃってる位なんですから。 おっしゃるアルゴリズムに強いて問題点をあげるなら、 >>特に5W1H系の質問をされた場合、 5W1Hの質問であるかどうかをどう判断するのか(判断しないでいいというおつもりかもしれませんが) >>辞書がある程度作り込まれていれば、 辞書は、参加者が追加していくので、普通あまり作りこんではいないはずだと思います。 こまめにメンテするおつもりかもしれませんが。 >>このような質問か、又は未知の単語の場合に >>一段目の検索モードでヒットしないということになるわけですから、 >>多少は効果があると思うんです。 これと、 >>二段目の検索では、 >>前レスのように「かきくけこ」からキーを拾うようにするわけです。 これについては意味がわかりません。前レスであれば、二段目の検索は「あいうえお」に対して キーを拾うんじゃないんでしょうか? |
[次のトピック内容10件] |