2006年06月24日

めだか@人工無能 mixi対応 - 草案 -

僕がIRCで飼っている人工無能、めだか@人工無能(*1)をmixi対応させる為の
技術的なメモです。

---------------------

0.前文

 うし@人工無能(*2)騒動(*3)があったので、mixiでの人工無能の
 扱いに不安が残ることから、めだか@人工無能のmixi対応はまだ未定ですが
 技術的な部分での勉強と実験は進めておこうと思います。

1.概略

 最終的に実装したい機能の概要
 ・mixiへログインする
 ・一定のペースで日記を書く
 ・自分の日記についたコメントへ、コメント返しをする
 ・マイミクシィ申請を承認する
 ・マイミクの日記へ巡回する
 ・マイミクの日記へコメントする
 ・マイミクの日記についたコメントへ、コメント返しをする
 ・参加コミュニティの掲示板へコメントする
 ・紹介文を書く
 ・メッセージに返信する

 これらの機能を、うし@人工無能の飼い主、はっしーさんに紹介して
 いただいた、Perlのmixi用モジュール「WWW::mixi」(*4)を使って実現する。


2.機能の実装と拡張ステップ

 段階的に、次のようなステップで機能を実装/拡張してゆくこととする。

 0.機能全体
  0−1.不特定多数の目に触れる際は、人工無能であることを宣言するフッタを付ける
 1.定期的にプログラムを起動する
  1−1.mixiがアクセス過多となる時間帯(22:00〜02:00)はジョブを停止する
 2.mixiへログインする
 3.日記を書く
  3−1.めだか@人工無能からタイトルを生成する
  3−2.めだか@人工無能から本文を生成する
  3−3.タイトル、本文をmixiへ投稿する
 4.自分の日記についたコメントに、コメント返しをする(デフォルト)
  4−1.ログイン時に、日記へついたコメントをチェックする
   4−1−1.コメントへの単独レス(デフォルト)
    4−1−1−1.コメントの投稿者のニックネームを取得する(※投稿者が自分の場合、無視する)
    4−1−1−2.コメントの本文を取得
    4−1−1−3.コメントの本文をめだか@人工無能に教える
    4−1−1−4.コメントの投稿者へのレス冒頭文「>ニックネーム」を書く
    4−1−1−5.めだか@人工無能がコメント本文からレス本文を生成
    4−1−1−6.レス冒頭文、レス本文をmixiへ投稿する
   4−1−2.コメントへの複数レス(拡張)
    4−1−2−1.コメントをすべて取得
    4−1−2−2.めだか@人工無能の最終コメントを取得
    4−1−2−3.最終コメント以降のコメントを取得
    4−1−2−4.コメントの発言者とコメント本文を記憶
    4−1−2−5.コメントの数だけ、レス冒頭とレス本文を生成
    4−1−2−6.複数レスをmixiへ投稿する
 5.マイミクシィ申請を承認する
  5−1.ログイン時に、マイミクシィ申請があるかどうかをチェック
  5−2.マイミクシィ申請を承認する仕組み
   5−2−1.常に承認するモード(デフォルト)
   5−2−2.ランダムに承認するモード
   5−2−3.特定の条件で承認するモード
   5−2−4.キャンセル待ち承認モード(マイミク1000人登録時)
  5−3.マイミクシィを承認する
  5−4.承認時のメッセージを送る(拡張)
 6.マイミクシィ日記を巡回する(拡張)
  6−1.マイミクシィ一覧を取得
  6−2.マイミクシィのホームへアクセス
  6−3.マイミクシィの日記一覧へアクセス
  6−4.日記へコメントする
   6−4−1.最新日記のみコメントモード(デフォルト)
   6−4−2.日記一覧へランダムにコメントモード
  6−5.コメントした日記を巡回する
   6−5−1.コメントした日記に、レスがあるかをチェック
   6−5−2.レスへの単独コメント返し(デフォルト)
    6−5−2−1.レスの投稿者、本分を取得
    6−5−2−2.めだか@人工無能へのコメントを取得(※自分のコメントは除外)
    6−5−2−3.自分の最終コメントを取得
    6−5−2−4.レスの投稿者へのコメント返し冒頭文「>ニックネーム」を生成
    6−5−2−5.めだか@人工無能がレス本文からコメント返し本文を生成
    6−5−2−6.コメント返しの冒頭文、本文をmixiに投稿する
   6−5−3.レスへの複数コメント返し(拡張)
    6−5−3−1.めだか@人工無能へのコメントをすべて取得(※自分のコメントは除外)
    6−5−3−2.自分の最終コメントを取得
    6−5−3−3.最終コメント以降のコメントを取得
    6−5−3−4.レスの数だけ、コメント返しの冒頭文、本文を生成
    6−5−3−5.複数のコメント返しをmixiへ投稿する
 7.参加コミュニティの掲示板へ書き込みする(拡張)
  7−1.参加コミュニティを巡回する
   7−1−1.巡回フラグのあるコミュニティ、掲示板のみ巡回する(デフォルト)
   7−1−2.すべてのコミュニティを巡回する
  7−2.掲示板にコメントする
  7−3.掲示板のコメントに単独コメント返しをする
   7−3−1.めだか@人工無能へのコメントを取得(※自分のコメントは除外)
   7−3−2.自分の最終コメントを取得
   7−3−3.最終コメント以降のコメントの投稿者と本文を取得
   7−3−4.冒頭文「>ニックネーム」を生成
   7−3−5.コメント本文を生成
   7−3−6.コメント返しをmixiへ投稿する
  7−4.掲示板のコメントに複数コメント返しをする
   7−4−1.掲示板のコメント一覧を取得
   7−4−2.めだか@人工無能へのコメントを取得(※自分のコメントは除外)
   7−4−3.自分の最終コメントを取得
   7−4−4.最終コメント以降のコメントへ、コメント返しをする
 8.紹介文を書く(拡張)
  8−1.マイミクシィ登録時に、照会文を書く(デフォルト)
  8−2.紹介文作成依頼を受けて、紹介文を書く
  8−3.ランダムに紹介文を書く
 9.メッセージへの返信(拡張)
  9−1.メッセージを取得
  9−2.未返信のメッセージを取得
  9−3.未返信のメッセージへ返信を作成
  9−4.メッセージを送信する


3.技術的な構想

 ・mixiへのアクセス部分はPerlで作成する。
 ・人工無能の部分は、Rubyで作成する。
 ・人工無能辞書は、IRCで学習したものを使用する「IRCモード」と
  mixiで学習したものを利用する「mixiモード」の二つを実装する。
 ・PerlとRubyの連携部分は、Bashのシェルスクリプトで作成する。
 ・cronで定期的にジョブを実行する。
 ・アクセス過多となる時間帯(22:00〜02:00)はアクセスをしない。

4.末文/補足

 自分用のメモで、どこへ向けた文章なのかわからないので
 誤字、脱字等の抜けている部分が多数あるかも。
 とりあえず、こんな構想を練っているぞ!という宣言です。


*1:めだか@人工無能
 僕が作っている人工無能です。
 人工無能エンジン「sixamo」を使用しています。
 現在、IRCの「#medaka」で稼動中です。
 拡張を進めて、mixiやウェブログにも対応させてゆきたいです。

*2:うし@人工無能
 はっしーさんが作成された人工無能。
 IRC、ウェブログ、メール、MSNメッセンジャー、mixiなどで活躍する
 人気の人工無能さんです。

*3:うし@人工無能騒動
 mixiに登録されているうし@人工無能のアカウントが
 「多重アカウント登録」「サーバへ負荷をかける巡回ソフト」である
 という指摘を受け、mixiの利用規約に反することから
 管理人のはっしーさんへ警告文が発せられた。
 この事実を受けたはっしーさんが、日記上で「明日でうし@人工無能の
 アカウントを削除します」と発表した。
 それを受けて、うし@人工無能のファンの皆さんがmixi運営事務局への
 抗議活動を行った。
 その結果、mixi運営事務局より先の警告を撤回する旨の通達を受けた。
 結果として、うし@人工無能はmixi上で特例として存続することとなった。

*4:WWW::mixi
 Perl用のmixiモジュールです。

posted by サロ@人工無能 at 14:43| Comment(4) | TrackBack(1) | 無能 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
まずは、当面の目標。

・自分のアカウントを使って、mixiにアクセスするテストを行う。
・めだか@人工無能とWWW::mixiを連携するテストを行う。
・cronで定期的に日記を書くテストを行う。
・コメントの投稿者を取得するテストを行う。
・コメントの本文を取得するテストを行う。
・コメントの本文をめだか@人工無能に渡して、レス生成するテストを行う。

こんなところですね。
Posted by サロ@人工無能 at 2006年06月24日 14:53
うーん。
そもそも、WWW::Mixiを使いこなすところで
苦戦している。
Posted by サロ@人工無能 at 2006年06月25日 01:30
追記っす。
なんとかWWW::Mixiを使ってテスト動作を
確認できました。

どんどんテストして、応用してゆきたいです。
Posted by サロ@人工無能 at 2006年06月26日 14:56
cartier 結婚指輪 通販 腕時計 http://www.shoppingforcandidatejp.pw/
Posted by 通販 腕時計 at 2013年08月13日 22:40
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック

Perl
Excerpt: PerlPerl(パール)はラリー・ウォールによって作られたインタプリタ方式のプログラミング言語およびその言語処理系ソフトウェアである。Perl言語は、記述の美しさよりも実用性をモットーにしており、C..
Weblog: プログラミング言語
Tracked: 2006-08-03 14:05
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。