fc2ブログ

ついに単語をGOOGLEに飛ばすことが出来た/学習機能への次の一歩


マーヴィン・ミンスキー氏

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

WWW::Mechanizeを使うとこんなにカンタンにHTMLテキストを入手できるということが判明。
もっと早く分かっていればと思いました。

use Encode;
use WWW::Mechanize;
my $engine = 'http://www.google.com/search?q=';
my $word = 'ドラえもん'; #my $word = $q->param('search_word')

my $mech = WWW::Mechanize->new();
$mech->get( $engine . $word );
my @links = $mech->find_all_links( class => 'l' );
#foreach my $link ( @links ) {
#print encode('cp932', $link->text), "\n";
#}

print encode('cp932', @links[1]->text), "\n";

Perlのエディタに以上のソースを打ち込んで実行すると、

--- 実行開始 [>perl untitled1126.pl]
ドラえもんチャンネルへようこそ!

--- 実行終了 (0)
と表示されます。

ドラえもんという単語でGOOGLE検索をかけたのです。
その結果は@links配列の中に入っています。
@links[]の[]の中の数字を変えれば表示される情報も変わってきます。

例えば[2]とすると、

--- 実行開始 [>perl untitled1126.pl]
ドラえもん - Wikipedia

--- 実行終了 (0)

となります。

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

今日はもう5:00なので、このプログラムを使った新しい仕様の人工無脳の開発は(出来れば)明日以降ということになります。

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

これで漸く名詞単語から学習をする人工無脳に行き着くことができそうです。
かなり時間がかかりました。
結局、LWP::UserAgentでやって出来なかったのはなんだったのでしょう。

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

最近は脳細胞のあちこちでそれまで結合を欲していたニューロンが結びつき始めました。
あちこちで、“分かった!”と、脳細胞が悲鳴のような喜びの声を挙げています。
脳の活動が非常に活性化されると、何をやっても学習進度が早くなって快適です。

仕事でも、自宅でのプログラミングでも。

色々なことが相互連鎖的に分かってきて、理解の深化がドミノ倒しのように次々にやってくる。

こういう脳の状態を待っていました。
いえ、こういう脳の状態で無いと賢い人工無脳は作れないのです。

これは壮大なパズルのようなものですから。

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

### 私の基本理解 ###

基本的な私の考えです。
A.I.とこの世の中で呼ばれているもので、特に人間の人格を再現しようとしているものには以下のものが挙げられます。
人工無脳、(弱い)人工知能、人工意識、(強い)人工知能
この中で人工意識と強い人工知能については実現が未だされていません。
しかし、考えられるアルゴリズムは無限ではありません。

まず、弱い人工知能ですが、これは現在すでにサーチエンジンや辞書翻訳などで実現されています。
人工知能はI.O.制御とデータベースによって構築が可能です。
つまり、簡単に言ってしまうと、弱い人工知能は人工無脳とそうレベルの異なるものではないのです。

これから私が作ろうとしている人工無脳は、そういった意味では人工知能の領域を目指していることになります。
しかし、この時点では人工知能は未だ人間の人格を模倣しているのみですから、本来的な意味での人工知能と呼ぶことはできません。

さて、人工意識ですが、これにはソフトウェアの領域だけではなく、実際のハードウェアの構築が必要となってきます。
人間の体を巨大な神経の塊と考えることができます。
人間は脳からつま先までずっと繋がった神経ネットワークです。
人間の意識は脳にあると考えられていますが、その脳自体はつま先までずっと繋がっているのです。

膨大な数のセンサーによって周囲の環境情報を逐次インプットし続ける機械を作らなければいけません。
そして、情報のインプットパターン(シーケンス)を逐次継続してデータベースに登録していくのです。

さらに、欲求プログラムが必要となってきます。
人間及び、生物の基本的欲求のありとあらゆるものを基本プログラムとして予め入力しておき、特定の外部刺激に対してロボットが反応するようにするのです。

これによって人工意識を作ることができます。

さらに、この人工意識を弱い人工知能(知識データベース)と組み合わせることで初めて強い人工知能が完成します。
これが完成すれば、ロボットの存在が人間を凌駕することになるでしょう。
もちろん、人間の文明は(良い方向に)進化していきます。
レイ・カーツワイル氏の述べた技術的特異点はこの時訪れます。

ざっくりと語ってしまいましたが、人工知能関係の話題はこの日記の人工知能への道のカテゴリーでずっと書いてきたので、今日はここまでにします。

###############

話題は人工知能から人工無脳に移ります。

現在作っている人工無脳は、話しかけると会話の内容から名詞のみを抜き出し、自分の辞書に登録するといったものです。
動詞、名詞、形容詞、副詞の単語情報を組み合わせて、テンプレートに入力し、文章を吐き出します。
非常に単純な人工無脳ですが、ここまで来るのにも結構時間がかかっています。
主には文字コードの変換の問題でつまづいています。

さて、今日解決しそうなのが、上にも書きました名詞単語をGOOGEL検索するというところです。

そこで、今後の人工無脳の改良、拡張の構想を書いてみたいと思います。

$$$$$$$$$$$$$$$

名詞単語をGOOGLEで検索する。

学習した単語で連想ゲームを拡張する。

人の話しかけた会話を元にテンプレートを拡張する。

GOOGLEで拾ってきた情報をさらに形態素解析して、そこに含まれる単語でさらに検索する。

単語のカテゴリーごとにファイルやフォルダ分けをする。

動詞や形容詞など、他の品詞も解析、登録する。

関連性のより高い単語に重みをつける。

より有意味な文章を書く。

より有意味な返答をする。

コンテクストフラグを立てて話題に沿った返答をする。

IPアドレスより個人を認識し、話し相手の会話の好みを覚える。

相手の会話の反応より、自分の話したことを反省する。

$$$$$$$$$$$$$$$

恐らくこの仕様を全て達成できたらローブナーロボットの域には達するのではないかと思う。
かなり、人工知能に近い領域の人工無脳と呼べるのではないでしょうか。

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

実は電気工作を近いうちに始めたいのです。
近いうちとは言っても、人工無脳とゲームの制作がある程度キリがついたらです。
人工無脳を作るためにPerlを勉強し、ゲームを作るためにJavaを学習しました。
それらの言語を中級者以上のレベルにまで高めたいのです。
そうしないと中途半端になってしまいますから。

で、電気工作は高校以来の初心者なので、ハンダづけのところから基礎からの学習になります。
それで、目指しているところはロボット工作なのですが、マイコン入力をする際にC言語やC++の知識が必要になってきます。
それで、今C言語も勉強しているのです。

PerlとJavaも以前よりもずっと親しみながらプログラムすることができます。
学習の甲斐というのはあるものです。
新 図解人工知能入門新 図解人工知能入門
(2010/02)
戸内 順一

商品詳細を見る


アストロシアター NA-300 ホワイト【へるぴぃ~healthy&peace~】
スポンサーサイト



コメント

非公開コメント