fc2ブログ

自動的にブログを更新するプログラム



現在苦労しているのが、有意味的な文章を自動的にどう組み立てるかというところ。
現在の仕様だと、りんご[TAB]赤い[TAB]おいしい[TAB]丸い[TAB]というようにテキストファイルの中に名詞に関する情報がタブ区切りで入力されている。
人工無脳はランダムに喋るか、テンプレートを使って喋るかのどちらか。
もしくは、知らない単語が出てきたら○○って何?と聞く。

この基本的すぎる仕様から脱却しなければ頭の良い人工無脳に到達できないことは自明。

今は、りんごに関して質問されたら、りんごに関する情報ワード(赤い以下)のどれかを選択し、タブをチョンプしてからテンプレートに入れる。
[名詞]は[形容詞]です。
というテンプレートを選んだ場合、
りんごは赤いです。
という返答をする。

・・・・・・・・・・・・

テンプレートを使用するという基本路線は変える予定はない。
形態素解析で分解された品詞を効率的に組み立てるのはテンプレートだからだ。

・・・・・・・・・・・・

人工無脳の会話を組み立てる方法論はいくつかある。

テンプレート
パターンマッチ
ランダム
マルコフ連鎖

私は最終的には会話に意味があるようにしたいのです。
その一例として、コンテクスト(文脈)があります。
人工無脳の苦手なところなんですが、人工無脳がいかにコンテクストを理解できるようにするか。

そこらへんについてはあれこれと解決策も思案しています。
特定の名詞に対してフラグを立てるという方法です。

例えば、りんごという名詞を覚えたとします。
そのときに、配列の中に番号を入れておくのです。

りんご[TAB]1[TAB]赤い[TAB]おいしい[TAB]丸い
という具合にです。
そして、話者がりんごについて喋ったら名詞1のフラグがtrueになるわけです。
このフラグが立っている間は人工無脳はりんごのことについて話し続けます。
再び、今度話者がみかんについて話し始めたら名詞2フラグがtrueになり、名詞1フラグはfalseとなるわけです。

Twitterボット プログラミングテクニックTwitterボット プログラミングテクニック
(2010/10/08)
蒲生 睦男

商品詳細を見る


XMLRPCを使って自動的にブログを更新することが出来そうだ。
使用用途としては、アフィリブログに自動的に記事を書き続けるということとか、人工無脳にブログで喋らせるといったこと以外には思いつかないが。

今のところ、人工無脳にブログを勝手に書かせても支離滅裂なことを書いてサイトを崩壊させかねないのでそれはやらない。今までやってきたやり方でIframeを使って他のサイトで喋っている無脳くんをエンベッドするのが安全か。

FC2の日記はこの日記ではなく、他の日記を自動更新させてみます。

自分はmixiはもうやっていないので、mixiの日記を書かせてもいい。
誰でもできるTwitter Botの作り方―人気キャラにつぶやかせる誰でもできるTwitter Botの作り方―人気キャラにつぶやかせる
(2010/07/23)
鏑家経済研究所

商品詳細を見る

ツイッターもやっていないのだが、ツイッターボットに喋らせるためにツイッターを始めてもいい。
↑のような本が出ていて、違う本なんだけど、PHPで作るのと、Rubyで作るバージョンがありました。
ツイッターが流行り始めて、それと同時にツイッターボットも流行っているみたいだ。

パソコン通信時代、インターネット黎明期を経て、今は第三次人工無脳ブームなのかもしれませんね。
ブログペットなんかも流行りだして(このブログの「ひこまた」もしかり)人工無脳という言葉自体は知らない人が多いかもしれないけど、でも、かなり多くの人がネット上で人工無脳と接していることになります。

開発をする側の人間としては、JSONやXMLといった便利なフォーマットの出現や無料のAPIの利用によって、より一層人工無脳が発展する下地が出来てきたという感じでしょう。

現在の発展したWEBを利用すれば、有意味的に言語情報を結びつけることもできると思う。
それこそ、人工無脳は人工知能と境界線がなくなってくるんです。

・・・・・・・・・・・・・・・

#!/usr/local/bin/perl

# FC2ブログに投稿するPerlスクリプトです。文字コードは UTF-8

use strict;
use warnings;
use XMLRPC::Lite;
use encoding 'utf-8';
#この一行をつけないと文字化けする

#$ cpan -i XMLRPC::Lite;# XML-RPC エンドポイントURL
our $end_point_url = 'http://blog.fc2.com/xmlrpc.php';
# XML-RPC タイムアウト(秒)
our $timeout = 15;
# アカウント情報
my $account = {
blog_id => 'ブログID',
user_id => '登録時のメアド',
password => 'パスワード',
};
# 投稿($postには記事IDが返ってくる)
my $post = doNewPost(
$account,
{
title => "記事タイトル",
body => "本文はHTMLが有効<br />表示するには<b>実体参照</b>に要変換",
#上一行のタグは全角に書き直しています。
},
);

# 投稿に失敗してたら終了
die "could not post" if $post !~ /^\d+$/;
# カテゴリー設定
my $set_category = setPostCategories(
$account,
$post,
1,
);# 結果表示(成功したら1)
print $set_category;
exit;
# 投稿サブルーチン
sub doNewPost
{
my $account = shift;
my $post = shift;
my $result = eval
{
XMLRPC::Lite
->proxy($end_point_url, timeout => $timeout)
->call (
'metaWeblog.newPost',
$account->{blog_id},
$account->{user_id},
$account->{password},
{
'title' => XMLRPC::Data->type('string', $post->{title}),
'description' => XMLRPC::Data->type('string', $post->{body} ),
'mt_convert_breaks' => 0
},
1
)
->result;
};
return $@ if $@;
$result;
}
# カテゴリー設定サブルーチン
sub setPostCategories {
my $account = shift;
my $post_id = shift;
my $cate_id = shift;
my $result = eval {
XMLRPC::Lite
->proxy($end_point_url, timeout => $timeout)
->call(
'mt.setPostCategories',
$post_id,
$account->{user_id},
$account->{password},
[{ 'categoryId' => $cate_id }]
)
->result;
};
return $@ if $@;
$result;
}
・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・

私は「Perlをはじめよう」というエディタを利用しています。
文字コードはUTF-8です。

・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・

さて、なんだかんだしているうちに週末も終わってしまいますね。
また超多忙仕事ライフが始まりますよ。

・・・・・・・・・・・・・・・・・・・・

昨晩はDVDでハムレットを観ました。
ハムレットは高校生のときにビデオで観た記憶がある。
こんなに登場人物が死ぬ劇も無いんじゃないでしょうか。

そういえば、一昨年前にデンマークに行ったときには、うっかりその舞台のお城を見なかったんです。
帰ってきてから人から言われて。

・・・・・・・・・・・・・・・・・・・・

ラングエッジ・エクスチェンジの相手のマイクさんからもメールが来ない。
はあ・・・。
嫌になったのかな?

卓球のコーチも音信不通だし。

こういうのって困りますね。

そうそう、友人が三浦ハーフマラソンに出場する予定だったんだけど、出張で出られなくなったらしい。
で、私に代わりに走らないかって言うんだけど、どうかなあ。。。
TOEICのテストが近いから、出来ればテスト勉強にその週末は使いたいんだけど。

ザンドロックス15%プラス 125ml(フィナステリド1%配合)【アイドラッグストアー】

■特徴
・髪の成長サイクルを長くする。
・男性型脱毛症のもっとも大きな原因となる頭皮の合成男性ホルモンも減少させる働きがある。
・プロピレン・グリコールと呼ばれるオイリーな液体がロゲインの場合50%使われていてべとつきますが、ザントロックスには20%しか含まれないためそれほどべとつきません。
低アレルギータイプはプロピレングリコール含有量が0%になっています。


■使用方法
ザンドロックスはロゲインなどと同様、直接頭皮に塗って使用します。専用のスポイトで吸い上げて塗布するか、スプレー容器で噴射し、薬液をもみ込むようにマッサージするとより効果的です。
ロゲインやリアップに比べ、ザンドロックスはミノキシジル含有率が高いので、特に12.5%や15%のものは、1日1ml使用に留めておきましょう。また、ザンドロックスの使用は、以前にロゲインなどミノキシジルの低濃度のものを試している方が望ましいです。 ■副作用
・目や口の粘膜に付着した場合は、すぐに大量の水で洗い流してください。
・過度の利用は、髪の毛を減少させる恐れがあります。

■服用前の注意点
・健康に不安のある方は、必ず医師に相談した後、使用してください。
・毎日、少なくとも4ヶ月にわたり使用し続ける必要があります。
・髪を失って長い期間の経つ人や、活性細胞が残っていない人は効果がない場合があります。
・服用をさけなければならない方
-----突然、または部分的に薄毛になった場合
-----服用を避けなければならない方
-----18歳以下の方
-----頭部につける他の外服薬を使用している場合
-----日焼け等で、触れると頭部が痛む場合
スポンサーサイト



コメント

非公開コメント

承認待ちコメント

このコメントは管理者の承認待ちです

承認待ちコメント

このコメントは管理者の承認待ちです

承認待ちコメント

このコメントは管理者の承認待ちです

承認待ちコメント

このコメントは管理者の承認待ちです

承認待ちコメント

このコメントは管理者の承認待ちです

承認待ちコメント

このコメントは管理者の承認待ちです

承認待ちコメント

このコメントは管理者の承認待ちです