幸せになれるソフトを作る企画室

このエントリーをはてなブックマークに追加
1PPM ◆i/LHDkeMNs
作ろう
2PPM ◆i/LHDkeMNs :2009/08/23(日) 02:09:41 ID:???
人工無脳を作ろう
3PPM ◆i/LHDkeMNs :2009/08/23(日) 02:10:53 ID:???
レス文を自分で考えるタイプなど色々あるけど、一番精度が高いのは過去レスそのままコピペだった
4PPM ◆i/LHDkeMNs :2009/08/23(日) 02:12:07 ID:???
2ちゃんねるの過去ログを取得できる限り全部使った辞書型の人工無脳
5PPM ◆i/LHDkeMNs :2009/08/23(日) 02:13:25 ID:???
特定のコテとおしゃべりとかおもしろそう
6PPM ◆i/LHDkeMNs :2009/08/23(日) 02:14:22 ID:???
データが膨大だと今までのように処理効率度外視ではいかなくなるわけか
7アイデア:2009/08/23(日) 02:14:53 ID:4wv/z3Dy
ブレインハレルヤかと思った
8PPM ◆i/LHDkeMNs :2009/08/23(日) 02:15:00 ID:???
MySQLとか使ったらいいのかな?
とりあえずPerl + MySQLでやってみよう
9PPM ◆i/LHDkeMNs :2009/08/23(日) 02:16:35 ID:???
>>7
ブレインハレルヤは知りませんでした
10PPM ◆i/LHDkeMNs :2009/08/23(日) 02:18:38 ID:???
過去ログ倉庫 http://www.2ch.net/kakolog.html
に過去ログはあるので巡回してダウンロード
その際は●を使うので
2chブラウザ開発資料 http://info.2ch.net/wiki/index.php?monazilla%2Fdevelop
を読んで仕様を確認
11PPM ◆i/LHDkeMNs :2009/08/23(日) 02:22:22 ID:???
形態素解析にはMecabを使わせてもらいましょう
Perlバインディングもあるので
12PPM ◆i/LHDkeMNs :2009/08/23(日) 02:24:40 ID:???
仕様書だけでうまくいかなかったときのためにパケットキャプチャをダウンロードしておこう
Winsock Packet Editor (WPE) Pro http://wpepro.net/
13PPM ◆i/LHDkeMNs :2009/08/23(日) 02:25:32 ID:???
Perlの2ch関係の雛形とまで行かないけどソースを貼っておこう
14PPM ◆i/LHDkeMNs :2009/08/23(日) 02:28:41 ID:???
開発環境はWindows XP + Active Perl 5.8です
ほぼ全部においてutf8ToSjis.plを使っていますが、これは
http://www.vividcode.info/perl/utf8ToSjis.xhtml
からダウンロードできます
他のモジュールは
ppm install ***
で行けるかと
15PPM ◆i/LHDkeMNs :2009/08/23(日) 02:29:55 ID:???
2chでは行頭に半角スペース、半角スペースの連続が使えないため
全角スペースでインデントを表現。コピペしたあとにきちんと直してやらないとエラーがでます
16PPM ◆i/LHDkeMNs :2009/08/23(日) 02:31:01 ID:???
#●のIDとパスワードを受け取ってセッションIDを返すサブルーチン

require "utf8ToSjis.pl";

sub login_maru($$){
   my($id, $pw) = @_;
   my $ua = LWP::UserAgent->new;
   $ua->agent('DOLIB/1.00');
   $ua->default_header('X-2ch-UA' => 'Monazilla/1.00');
   my $url='https://2chv.tora3.net/futen.cgi';
   my %form = ('ID'=>$id,'PW'=>$pw);
   my $req = POST($url,Content => "ID=$id&PW=$pw");
      my $res = $ua->request($req);
      &utf8ToSjis::convert($res->content);
      my $idid = $res->content;
      $idid =~ s/SESSION-ID=//g;
      $idid =~ s/\n//g;
      return $idid;
}
17名無しさん:2009/08/23(日) 02:32:10 ID:???
18PPM ◆i/LHDkeMNs :2009/08/23(日) 02:33:46 ID:???
インデントがおかしい…

#●のIDとパスワードを受け取ってセッションIDを返すサブルーチン

require "utf8ToSjis.pl";

sub login_maru($$){
   my($id, $pw) = @_;
   my $ua = LWP::UserAgent->new;
   $ua->agent('DOLIB/1.00');
   $ua->default_header('X-2ch-UA' => 'Monazilla/1.00');
   my $url='https://2chv.tora3.net/futen.cgi';
   my %form = ('ID'=>$id,'PW'=>$pw);
   my $req = POST($url,Content => "ID=$id&PW=$pw");
   my $res = $ua->request($req);
   &utf8ToSjis::convert($res->content);
   my $idid = $res->content;
   $idid =~ s/SESSION-ID=//g;
   $idid =~ s/\n//g;
   return $idid;
}
19PPM ◆i/LHDkeMNs :2009/08/23(日) 02:35:25 ID:???
よく見たら
   $idid =~ s/SESSION-ID=//g;
   $idid =~ s/\n//g;
とかだいぶ気持ちの悪い処理が入っているけど、まあいいや
20PPM ◆i/LHDkeMNs :2009/08/23(日) 02:38:38 ID:???
そういえば2chのdat番号はUNIX時間を元に付けられていると思うんだけど、これは被ったりしないんだろうか
板内での衝突はなくても全部ごっちゃにすると衝突しそうな気がする
21名無しさん:2009/08/23(日) 02:38:42 ID:1gD8hb+/
この子、タソキ妄想が01年頃やってた事いまからやりたいのか
22PPM ◆i/LHDkeMNs :2009/08/23(日) 02:39:13 ID:???
というわけで過去ログを取得する際は板ごとにフォルダわけした方がいいかも
23PPM ◆i/LHDkeMNs :2009/08/23(日) 02:41:52 ID:???
>>21
なな、やはり先人さんがいましたか
24PPM ◆i/LHDkeMNs :2009/08/23(日) 02:43:31 ID:???
#ディレクトリを再帰的にたどりファイル一覧を抜き出すサブルーチン
#取得した過去ログの処理はこれでやろう

use File::Find;

#-- ディレクトリを指定(複数の指定可能) --#
@directories_to_search = ('./');

#-- 実行 --#
find(\&wanted, @directories_to_search);


#--------------------------------------------
#ファイルが見つかる度に呼び出される
#--------------------------------------------
sub wanted{
   print $File::Find::dir, '/';      #カレントディレクトリ
   print $_;               #ファイル名
   print "\n";

   #フルパスのファイル名
   #print $File::Find::name, "\n";
}
25名無しさん:2009/08/23(日) 02:43:37 ID:1gD8hb+/
がんがって。後追いでもクオリテイが高ければいいわけで
26PPM ◆i/LHDkeMNs :2009/08/23(日) 02:44:09 ID:???
>>25
…善処します
27PPM ◆i/LHDkeMNs :2009/08/23(日) 02:48:34 ID:???
流れ確認

文章を入力
 ↓
形態素解析で特徴的名詞を抽出
 ↓
あらかじめデータベースに登録してあった文と照合
 ↓
最もマッチ率が高かった文を返す(同じユーザーにその文はもう使わない)

これだけー
28PPM ◆i/LHDkeMNs :2009/08/23(日) 02:50:47 ID:???
Mecabの形態素解析に空文字を渡すとエラーが出ることもメモしておこう
29PPM ◆i/LHDkeMNs :2009/08/23(日) 02:54:37 ID:???
ボトルネックになりそうなのはデータベースとの照合ですね
最初にマッチしたものを返すARISA方式にするか
全部と照合してからマッチ回数で選ぶ方式にするか
これは実際やってみないとわからないですね
30PPM ◆i/LHDkeMNs :2009/08/23(日) 02:57:49 ID:???
そもそもSQLって何だかよくわかってないし…
Perl -> MySQL
C -> MySQL
これも内部的にはMySQLという処理で同一で速度的には大差ないのか、それとも言語によって差が出るのか
それすらわかりません
31名無しさん ◆Iam/CHoCHo :2009/08/23(日) 03:13:35 ID:???
>MySQLという処理で同一で速度的には大差ないのか、それとも言語によって差が出るのか

人口無能ならばPerlのほうが激速です。
32PPM ◆i/LHDkeMNs :2009/08/23(日) 09:12:33 ID:???
>>31
ありがとうございます
それならPerlで作って問題なさそうですね
33PPM ◆i/LHDkeMNs :2009/08/23(日) 09:16:05 ID:???
辞書の件です
マッチした名詞数 / 引数の名詞数
これでマッチ率にしようと思います
34PPM ◆i/LHDkeMNs :2009/08/23(日) 09:17:55 ID:???
辞書があまりに巨大になってとても処理速度が間に合わなくなった場合は、
辞書を複数に分割してランダムに一つ選んで検索しようと思います
最低限のマッチ率を決めてもいいですし
35PPM ◆i/LHDkeMNs :2009/08/23(日) 09:20:06 ID:???
今日は2chの過去ログの取得をやってみましょう
36PPM ◆i/LHDkeMNs :2009/08/23(日) 09:30:22 ID:???
過去ログ倉庫
 ト--年代
    ト--各サーバー
       ト--各板
       |   ト--倉庫番号
       |   |   ト--各スレッドURL
       |   ト--各subject.txt
       |   ト--旧倉庫。No2
       |   ト--999999999 以前
       ト--共通板?(どのサーバーのページでも共通で表示されている)
37PPM ◆i/LHDkeMNs :2009/08/23(日) 09:31:41 ID:???
取得するときのフォルダ構造も過去ログ倉庫の形式に倣って問題ないと思います
38PPM ◆i/LHDkeMNs :2009/08/23(日) 09:42:37 ID:???
XMLパーサーとかは使ったことがないので、
作戦としては、
取得したHTMLからURLを抜き出し、そこから目的のものをどんどん開いていく
ことになります
39PPM ◆i/LHDkeMNs :2009/08/23(日) 09:46:41 ID:???
取得したHTMLが$htmlに入っているとすると、
$html =~ s/\n//g;   #正規表現で一括処理するために改行を取り除く
my @url;
@url = $text =~ /\b(?:https?|shttp):\/\/(?:(?:[-_.!~*'()a-zA-Z0-9;:&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*@)?   #実際はセミコロンまで全部一行です
(?:(?:[a-zA-Z0-9](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.)*[a-zA-Z](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.?|[0-9]+   #@urlにURLが格納されます
\.[0-9]+\.[0-9]+\.[0-9]+)(?::[0-9]*)?(?:\/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*(?:;(?
:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)*(?:\/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-F
a-f][0-9A-Fa-f])*(?:;(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)*)*)?(?:\?(?:[-_.!~*'()a-z
A-Z0-9;\/?:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)?(?:#(?:[-_.!~*'()a-zA-Z0-9;\/?:@&=+$,]|%[0-9A-Fa-f][0
-9A-Fa-f])*)?/g;

この後は@urlに入っているURLリストを振り分けたり、さらに取得したりします
40PPM ◆i/LHDkeMNs :2009/08/23(日) 09:47:12 ID:???
訂正です

$html =~ s/\n//g;   #正規表現で一括処理するために改行を取り除く
my @url;
@url = $html =~ /\b(?:https?|shttp):\/\/(?:(?:[-_.!~*'()a-zA-Z0-9;:&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*@)?   #実際はセミコロンまで全部一行です
(?:(?:[a-zA-Z0-9](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.)*[a-zA-Z](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.?|[0-9]+   #@urlにURLが格納されます
\.[0-9]+\.[0-9]+\.[0-9]+)(?::[0-9]*)?(?:\/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*(?:;(?
:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)*(?:\/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-F
a-f][0-9A-Fa-f])*(?:;(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)*)*)?(?:\?(?:[-_.!~*'()a-z
A-Z0-9;\/?:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)?(?:#(?:[-_.!~*'()a-zA-Z0-9;\/?:@&=+$,]|%[0-9A-Fa-f][0
-9A-Fa-f])*)?/g;
41PPM ◆i/LHDkeMNs :2009/08/23(日) 09:47:45 ID:???
URLの正規表現はPerlメモ http://www.din.or.jp/~ohzaki/perl.htm
さんから借りしました
42PPM ◆i/LHDkeMNs :2009/08/23(日) 10:11:03 ID:???
もうちょっとカッコよく書いてみます

while ($html =~ m{\b(?:https?|shttp)://(?:(?:[-_.!~*'()a-zA-Z0-9;:&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*@)?   #これまた一行でお願いします
    (?:(?:[a-zA-Z0-9](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.)*[a-zA-Z](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.?
    |[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)(?::[0-9]*)?(?:/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])
    *(?:;(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)*(?:/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9
    A-Fa-f][0-9A-Fa-f])*(?:;(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)*)*)?(?:\?(?:[-_.!~*'()
    a-zA-Z0-9;/?:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)?(?:#(?:[-_.!~*'()a-zA-Z0-9;/?:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)?}g){

   #何らかの処理
}
43PPM ◆i/LHDkeMNs :2009/08/23(日) 10:14:00 ID:???
データベースにレスを登録する際はレスを一文ごとに分割して登録します
この分割は単純に改行で分けてもいいのですが、
今まさにこの文がそうであるように一行が読点で終わっている場合は次の文まで合わせて一文とするのが適切でしょう
ただし、あまりルールを複雑にするととんでもなく長い文がまぎれてしまったりすることもあるので、
長いよりは短い方がまだマシだという基準でルールを設定します
44名無しさん:2009/08/23(日) 18:49:12 ID:68Vwpmc5
沼津東高校の堰澤 映君かな?

まぁ頑張れ
45ななしちん.:2009/08/23(日) 19:44:59 ID:???
     ∧∧   /
*〜'´ ̄(''`w´) _ノ Web系言語全然知らねえから正規表現すらサッパリだぜ
  UU ̄U U   `ヽ.
46ななしちん.:2009/08/23(日) 19:45:47 ID:???
     ∧∧   /
*〜'´ ̄(''`w´) _ノ とにかく俺様を褒め称えるよう調教しておくように
  UU ̄U U   `ヽ.
47名無しさん:2009/08/24(月) 00:08:26 ID:???
【沼津】スクリプト誤爆荒らし対策スレ3【央】
http://pc11.2ch.net/test/read.cgi/iPhone/1251004744/
48PPM ◆i/LHDkeMNs :2009/08/24(月) 10:19:24 ID:???
>>45
とても長いURLの正規表現は丸ごと引用なのでブラックボックスとして使っているというか、自分も理解はしていません
49PPM ◆i/LHDkeMNs :2009/08/24(月) 10:42:25 ID:???
mkdirは同名フォルダがあっても中身は消えないっと
50PPM ◆i/LHDkeMNs :2009/08/24(月) 10:45:53 ID:???
#URLと保存するファイル名を受け取って取得するサブルーチン

sub get($$){
    my ($url, $name) = @_;
    my $ua = LWP::UserAgent->new;
    $ua->agent("Mozilla/4.0");
    my $req = HTTP::Request->new(GET => $url);
    $req->header('Accept' => 'text/html');
    my $res = $ua->request($req);
    &utf8ToSjis::convert($res->content);
    &write(">$name", $res->content);
    return $name;
}
51PPM ◆i/LHDkeMNs :2009/08/24(月) 10:51:33 ID:???
&utf8ToSjis::convert()は>>16で紹介したutf8ToSjis.plです

sub read($){
    my $name = $_[0];
    open my $tmp, "<$name";
    my @tmp = <$tmp>;
    close $tmp;
    return @tmp;
}

sub write($$){
    my ($name, $body) = @_;
    open my $tmp, "$name";
    print $tmp $body;
    close $tmp;
}
52PPM ◆i/LHDkeMNs :2009/08/24(月) 11:51:43 ID:???
途中だけどメモ


use LWP::UserAgent;
require "utf8ToSjis.pl";

my $html = join ('', &read (&get ('http://www.2ch.net/kakolog.html', "tmp/$^T")));
$html =~ s/\n//g;
#&get()でURLをダウンロードして保存し、そのファイル名を返して&read()で配列として返す
#その配列をjoin()で一つの変数に押し込む
#改行を取り除いて正規表現で丸ごと扱えるように

my @server;
while ($html =~ /URL正規表現/) {
    if (m{http://(.*?)/kakolog.html}){
        mkdir ("2008/$1");
        push (@server, $1);
    }
}
53PPM ◆i/LHDkeMNs :2009/08/24(月) 11:51:49 ID:???
my @bbs;
foreach (@server) {
    my $server = $_;
    $html = join ('', &read (&get ("http://$server/kakolog.html", "tmp/$^T")));
    $html =~ s/\n//g;
    if (m{<TD> <A HREF="(.*?)">.*?</A> </TD>}){
        mkdir ("$server/$1");
        push (@bbs, $1);
    }
    foreach (@bbs){
        my $bbs;
        my @datnum;
        $html = join ('', &read (&get ("http://$server/$bbs", "tmp/$^T")));
        $html =~ s/\n//g;
    }
}
54PPM ◆i/LHDkeMNs :2009/08/24(月) 17:27:14 ID:???
一歩手前までは行ったんだけど過去ログが取得できない…
-ERR もう つかえません
ってエラーが出て取得不能
55PPM ◆i/LHDkeMNs :2009/08/24(月) 17:30:32 ID:???
ここに問題がある気がする
V2Cの過去ログ取得のパケットと唯一違うのが、V2CはConnection : keep-aliveなのに対して
スクリプトが送信しているのはConnection: Close
-ERR もう つかえません
ってエラー自体も具体的にどういうエラーなのか要領を得ないし、困った
http://info.2ch.net/wiki/index.php?2ch%A5%D3%A5%E5%A1%BC%A5%A2%20%A1%FC

sub get_dat {
    my ($server, $bbs, $key, $sid) = @_;

    my $ua = LWP::UserAgent->new;
    my $res = $ua->get(
        "http://$server/test/offlaw.cgi/$bbs/$key/?raw=0.0&sid=". url_encode($sid),
         "User-Agent" => 'Monazilla/1.00',
    );
    print $res->as_string;
}
56PPM ◆i/LHDkeMNs :2009/08/24(月) 17:53:37 ID:???
書き込むときも散々苦労したからなあ
そのうち突然コツを掴むまで気長に待ちますか
57PPM ◆i/LHDkeMNs :2009/08/24(月) 22:22:14 ID:???
今回の試みは巨大化です
容量をまず重視して、取得できる限り取得する
だからスタンドアローンな人工無脳ソフトとしては提供できないと思います
Webサービスのような形になるかと
58PPM ◆i/LHDkeMNs :2009/08/24(月) 22:28:13 ID:???
とりあえず意図的に●のセッションIDを削って送信してみると、『-ERR もう つかえません』
これはセッションID絡みが原因と見てよさそう…でもないか
別のところが原因でセッションID関係なく弾かれている可能性もあるし
『-ERR もう つかえません』は過去ログ閲覧そのもののエラーなのか、●のみに関するエラーなのか
59PPM ◆i/LHDkeMNs :2009/08/24(月) 22:42:17 ID:???
いよいよ最後の手段としてV2Cのパケットを一語一句変えずに送信してみる
gzipで返ってくるため展開しないと読めないが、スレごとに異なっていることだけは確認できた
60PPM ◆i/LHDkeMNs :2009/08/24(月) 23:29:41 ID:???
意外とgzipの解凍の都合いいモジュールが少ないことに驚き
特にWindowsは…
61PPM ◆i/LHDkeMNs :2009/08/25(火) 00:13:34 ID:???
うーん、某所でこの人工無脳(というより巨大データベース)が荒らしに使われるのではないかと懸念されていますね
過去レス丸ごと転載であるためたぶん一番荒らしには使いにくいタイプだとは思いますが、
このご時世ですのでWebサービスの利用者情報は記録し、荒らしに使われた形跡があった場合は適宜情報開示・提出をしますね
62PPM ◆i/LHDkeMNs :2009/08/25(火) 00:17:42 ID:???
一体どれくらいの容量になるんだろう
1スレ200KBと考えてみても
10スレ2MB、10000スレ2GB、10000000スレ2TB

ん、ということはおよそ一万スレくらいしか実用的な検索速度は出ない気が…
とにかくやってみよう。辞書分割は後からでもできる
63名無しさん:2009/08/25(火) 00:36:10 ID:54VmhON4
【●】スクリプト誤爆荒らし対策スレ【焼かれた】
http://pc11.2ch.net/test/read.cgi/iPhone/1251044348/
64名無しさん:2009/08/27(木) 22:33:12 ID:oZ7la1WM
続きはマダァ-? (・∀・ )っ/凵⌒☆〜
65名無しさん:2009/08/27(木) 22:33:12 ID:/X6tQZju
続きはマダァ-? (・∀・ )っ/凵⌒☆〜
66名無しさん:2009/08/28(金) 00:06:38 ID:fhSVFRkA
続きはマダァ-? (・∀・ )っ/凵⌒☆〜
67名無しさん:2009/08/28(金) 20:20:25 ID:JB6MWwZw
続きはマダァ-? (・∀・ )っ/凵⌒☆〜
68名無しさん:2009/08/29(土) 02:42:31 ID:???
続きはマダァ-? (・∀・ )っ/凵⌒☆〜
69名無しさん:2009/08/29(土) 02:42:49 ID:7R4tsRJa
70名無しさん:2009/08/29(土) 10:54:50 ID:???
>>69
警視庁ハイテク犯罪課に通報したよ。
71名無しさん:2009/08/29(土) 12:11:10 ID:???
>>69
これは何?
72名無しさん:2009/08/29(土) 12:23:29 ID:3nZfS1L4
>>71
生首
73名無しさん:2009/08/30(日) 02:51:41 ID:8PnG5AzN
続きはマダァ-? (・∀・ )っ/凵⌒☆〜
74名無しさん:2009/08/30(日) 02:55:50 ID:???
          / ̄ ̄ ̄ `ヽ、
       /  /  〉 、、 \
        /  // //∧ヽヾ ヽ.
      ルヘ/ソr升ミ/ f_ルレヘj
     从(([]ハ`ー'  (└'Lリ   そんなものはない
      人从八ル ー-′人   
   =彡イノ八Vリ≧ r-イ<ミ≧
    =彡ヘ/、.:.r┴-「)ーュ_
      /`ヽ.:\ト、_x介x_」.:.:゙ト、
    /.:.:.:.:.:.:|.:o《く_八___>.:\}
  /.:.≠z_:.:〉:.:.:\:.:.:.:.:.:.:.:.:.:.:.:.ヽ
,/:.:.:.:.:.:,-亠ィヘ、:.:.:》.:.:.:.:.:.:.:.:.:.:.:丿
_zー.:./    ヽ.` ーo-:.:.:.:'⌒~´ノ
75名無しさん:2009/08/31(月) 01:35:08 ID:???
http://www28.atwiki.jp/mopekiti/

モペキチ ∩゜∀゜∩age
76名無しさん:2009/08/31(月) 10:23:18 ID:+b4PUO84
>>75
あがってねぇ!
77名無しさん:2009/08/31(月) 23:03:25 ID:???
美しい人生を〜♪限りない喜びを〜♪
78名無しさん:2009/09/01(火) 00:47:11 ID:9kB+8NIB
http://www28.atwiki.jp/mopekiti/

モペキチ ∩゜∀゜∩age
79名無しさん:2009/09/01(火) 22:37:30 ID:7tvDjzv4
もっぺきち
もっぺきち
80名無しさん:2009/09/02(水) 11:14:24 ID:XE6F2SRG
http://www28.atwiki.jp/mopekiti/

モペキチ ∩゜∀゜∩age
81名無しさん:2009/09/03(木) 01:47:10 ID:hKt0dxSn
続きはマダァ-? (・∀・ )っ/凵⌒☆〜
82名無しさん:2009/09/03(木) 02:14:12 ID:???
私ゎ紗希といいます。
このまえ彼氏と初Hをしました(>ω<)↑↑
彼氏の家でしました〜。
初めてだったから最初ゎちょっと痛かった(汗)
んで!!彼氏が写メとったのッッ(>д<)
私、恥ずかしいんだけど・・見られるのゎ好きなんだっ♪
だから・・・みんなに見てほしいんだ〜(>A<)↑↑
でも、モロ見られるのゎ嫌だから、
この文章を5箇所に貼ってくれた人のみにみせようと
思いますっ♪
5箇所に貼れば、【★】←がクリックできるようになるの!
こんなのありきたりで誰も信じてくれないかもっ!と思うけど、コレゎ本当なんだよっっ!!!
ぜひ見たい人ゎやってみてねっ(>ω<)↑↑
なんかぁ〜すっごいエロいみたい!
もろアソコとか濡れまくりだった・・・(汗
83名無しさん:2009/09/04(金) 00:38:21 ID:C5TcSGAt
http://www28.atwiki.jp/mopekiti/

モペキチ ∩゜∀゜∩age
84名無しさん:2009/09/05(土) 02:08:05 ID:WlfCncMa
続きはマダァ-? (・∀・ )っ/凵⌒☆〜
85名無しさん:2009/09/06(日) 10:43:05 ID:???
続きはマダァ-? (・∀・ )っ/凵⌒☆〜
86名無しさん:2009/09/06(日) 20:38:23 ID:RvLdFO7N
続きはマダァ-? (・∀・ )っ/凵⌒☆〜
87金玉教皇 ◆UZEEE70vjo :2009/09/06(日) 21:02:23 ID:???
  , -−/´\
 /イ/^^)))ノ
 ヽ(  ^ิ౪^ิ)< みなさんねるじかんですよー
  .彡 __ノミ
88213.199.192.82:2009/09/08(火) 19:56:00 ID:qKEPtSl0
ドッカン
          ドッカン
                  ☆ゴガギーン
        .______
.        |    |    |
     ∩∩  |     |    |  ∩∩
     | | | |  |    |    |  | | | |  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    (  ,,)  |     |    | (・x・ )<おらっ!出てこい、モペキチ!!
   /  つ━━"....ロ|ロ   . | l   |U \___________
 〜(  /   |    |    |⊂_ |〜
   し'∪  └──┴──┘  ∪
89194.44.125.172:2009/09/09(水) 01:44:06 ID:ejDgGNY5
        人
       (__)    ウンコー
      (__)     (´⌒(´⌒
      (・∀・ )    (´⌒(´≡
       O┬O ノ`  ≡≡≡(´⌒;;;
      ◎┴し-◎ (´⌒(´⌒;;
90名無しさん:2009/09/09(水) 02:52:07 ID:1XqoQjON
  _____________
 |  (^o^)ノ | <おやすみー
 |\⌒⌒⌒ \
  \|⌒⌒⌒⌒|
     ̄ ̄ ̄ ̄
91名無しさん:2009/09/09(水) 07:17:45 ID:xPDkgK9X
92117.254.72.195:2009/09/09(水) 23:08:30 ID:tWLDMOYn
ドッカン
          ドッカン
                  ☆ゴガギーン
        .______
.        |    |    |
     ∩∩  |     |    |  ∩∩
     | | | |  |    |    |  | | | |  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    (  ,,)  |     |    | (・x・ )<おらっ!出てこい、モペキチ!!
   /  つ━━"....ロ|ロ   . | l   |U \___________
 〜(  /   |    |    |⊂_ |〜
   し'∪  └──┴──┘  ∪
93 ◆UZEEE70vjo :2009/09/09(水) 23:30:27 ID:???
        .______
.        |    |   /|
     ∩∩  |     |   / .|  ∩∩
     | | | |  |    | 人|  |  | | | |
    ( ・x・ ) |    .(_.|  | ( ・x・)
   /  つ━━  (___|  | l   iJ
 〜(  / .ーコンウ (・∀・|  | |  |〜
   し'∪  └──O┬ | / U ∪
            .◎┴ |/
94名無しさん ◆Iam/CHoCHo :2009/09/10(木) 00:28:32 ID:???
>>32
すみません。
色々と書こうと思っていたのですが、忘れてしまいました。
既に廃墟かもしれないけれど勝手に落書きしていきます。
ごめんなさいです。
95名無しさん ◆Iam/CHoCHo :2009/09/10(木) 00:32:47 ID:???
Datをそのまま辞書に流用する、PPM様のものとほぼ同じ仕様の人工無能を
自分も作ったことがありましたが、結果としてボットなのか誤爆なのか
荒らしなのかほとんど判別の付かない、タイトルにあるような
「幸せになる」という目的にそぐわないものでした。
96名無しさん ◆Iam/CHoCHo :2009/09/10(木) 00:36:25 ID:???
人工無能はやはり、いくら膨大な辞書ファイルが用意されていたとしても
肝心カナメとなる学習エンジン(パターンマッチ)が少しでもアレだと
会話がほぼ成立しないので、「過去レスそのままコピペ」が一番精度が高い
とは言えないと思います。。>>3
97名無しさん ◆Iam/CHoCHo :2009/09/10(木) 00:41:12 ID:???
いくつか作戦はありますが、単純に過去ログとのマッチよりも、
あほたん式(僕が呼んでる)の半学習登録タイプのボットが
「人を幸せにさせる(なれる)」という一点においては、一番容易ではないでしょうか。

人工無能が住むスレに書き込んだ人達も幸せになれるし。
あと、バカならバカなほど好かれるという利点もあります。

参考:
http://ex.2ch.net/ainotane/kako/1000/10004/1000475924.html
98名無しさん ◆Iam/CHoCHo :2009/09/10(木) 00:47:21 ID:???
それとですね、
Mecabと2chログは(製作した僕自身の実感として)あまり
相性がよろしくないと思うので、形態素解析に関しては
2chログの傾向の研究(かなり大事!)を兼ねてもっとぬるい感じの物を
自作されますとPPM様もより幸せになれそうです。
99名無しさん ◆Iam/CHoCHo :2009/09/10(木) 00:55:38 ID:???
>>41にあるURLの取得ですと、過去ログ倉庫内では恐らく作動しません。
相対パスだと絶対形式に変換しなければならないためです。
ターゲットとなるURLをベースにして(要するにカレントディレクトリの判別)
スキームやホスト、パスなど出来れば#まで細かく、あらかじめ分割しておくと
のちのち幸せになれますと思います。
(途中で飽きて人工無能以外に流用した場合とかに活用できます・・・)

不具合が生じるのは>>38の作戦で行く場合ですが。
100名無しさん ◆Iam/CHoCHo :2009/09/10(木) 00:59:12 ID:???
あと、仕様をあんまりというか、理解していないので、全体的にすごくフワフワした
感じというか、すごく頓珍漢なことを言っているかもしれません。申し訳ありません。
ごめんなさい。
101名無しさん:2009/09/10(木) 01:00:08 ID:???
あほ
102名無しさん ◆Iam/CHoCHo :2009/09/10(木) 01:11:05 ID:???
思うに、

恐らくPPM様は●を利用した膨大な過去ログをただ使いたい、というか
過去ログで何か面白いものが出来れば人工無能でも何でも良いと
お考えかもしれないので、僕の上のはあまり参考にならないかも、ですね・・・。
(でも、このままの仕様だと>>95みたいな不本意な感じになっちゃうと思います)

ただ、PPM様が>>3-4でおっしゃるように、過去ログが多ければ多いほど
会話の精度をより高めることが出来る別の作戦もあったので、ああ
今思うとそっちを書けば良かったです・・・。
脈絡なく無駄に長くなってしまったので、今日はこの辺で。
レスポンス等があったらまた書きます。失礼します( - ω   -)
103名無しさん ◆Iam/CHoCHo :2009/09/10(木) 01:13:04 ID:???
>>101
ムカムカ
10459.95.8.66:2009/09/10(木) 20:17:59 ID:fH6N83r8
なんかここ見てたらchatbot作りが面白そうに思えてきたので
なんか作ってみることにしたよ。
105名無しさん:2009/09/10(木) 20:23:40 ID:???
106名無しさん:2009/09/12(土) 03:46:51 ID:???
0
107名無しさん:2009/09/13(日) 22:18:54 ID:0+dV6c0a
108名無しさん:2009/09/15(火) 13:40:55 ID:pb0CkPAI
続きはマダァ-? (・∀・ )っ/凵⌒☆〜
109名無しさん:2009/09/15(火) 14:16:16 ID:CuVQqw21
09042070912

掛けんと殺す
110うげさん

 人
( ´-`) <つう(ry