簡単な解説
JavaScriptライブラリ「Web AI」
「Web AI」は、ネット上の情報を利用して、人工無脳的なプログラムを書くためのJavaScriptのライブラリです。
本ライブラリは、Webから取得した情報の処理を効率化して、インテリジェンスな何かを生み出すことを目的にしています。開発は、クロノス・クラウン 柳井政和が行っています。
「Web AI」には、以下のファイルがあります。
- crocro.webAi.WebSrch.js
- crocro.webAi.Tools.js
- crocro.webAi.JpKw.js
- crocro.webAi.JpSntnc.js
- crocro.webAi.JpMrkv.js
それぞれのファイルに依存関係はなく、単独で利用することができます。[[ダウンロード]]から入手できるファイルには、コメント付きのソースコードと、コメントを除去してソースコードを圧縮したファイルの2種類ずつが同梱されています。
また、これらをまとめてソースコードを圧縮したファイルもあります。
- crocro.webAi.min.js
こちらは27KB程度なので、画像ファイル1枚分ぐらいのサイズで、各種機能を利用することができます。
各ファイルの機能
「Web AI」の各ファイルが持っている機能は以下の通りです。「Web AI」の機能は大きく分けると、通信系、クエリー系、日本語系の3種類になります。
通信系:crocro.webAi.WebSrch.js
通信系の機能は、「crocro.webAi.WebSrch.js」にまとまっています。このファイルには「crocro.webAi.WebSrch」オブジェクトが収録されています。
「WebSrch」オブジェクトは、検索処理やRSSフィードの取得、短縮URLの取得などの非同期命令をメソッド・チェーン化します。そして非同期命令を、上から順番に並べて、見やすく書けるようにします。
この「WebSrch」オブジェクトの検索処理は、「Google Ajax API」を内部的に利用しています。「WebSrch」オブジェクトを利用する際は、以下のように、事前に「Google Ajax API」を宣言しておく必要があります。
HTML)
<!-- Google API --> <script src="http://www.google.com/jsapi" type="text/javascript"></script> <!-- Web AI API --> <script src="crocro.webAi.min.js" type="text/javascript" charset="UTF-8"></script>
JavaScript)
// Googleからスクリプトをロード google.load("search", "1"); google.load("feeds", "1");
また、「Google Ajax API」のファイルがロードされるまで通信系の機能は利用できません。そのため、以下のように、ロードを待ってから、初期化処理を行う必要があります。
var cWSrch = new crocro.webAi.WebSrch(); cWSrch.ready(function(){ // 初期化処理 });
上記のコードは、以下と同じ意味を持ちます。
google.setOnLoadCallback(function(){ // 初期化処理 });
通信処理をメソッド・チェーン化したサンプルは、「Web AI」のページにサンプルとして多数掲載しています。それらを参考にしてください。
クエリー系:crocro.webAi.Tools.js
「crocro.webAi.Tools.js」には、URLのクエリーを便利に操作する機能がまとまっています。また、その他の雑多な機能も、このファイルには収録されています。「crocro.webAi.Tools.js」では主に、以下の2つの機能をサポートします。
- URLクエリーの解析と構築。
- URLクエリーの圧縮と解凍。
「crocro.webAi.Tools.js」は、その他のファイルとは違い、複数のオブジェクトが収録されています。収録されているオブジェクトは以下になります。
- crocro.webAi.Tools
- crocro.webAi.Query
- crocro.webAi.Cmprs
- crocro.webAi.Base64
- crocro.webAi.Lzw
この内、ユーザーが実際に使用するのは、「crocro.webAi.Tools」「crocro.webAi.Query」の2つになります。その他は内部処理用のオブジェクトです。
「crocro.webAi.Query」を利用すれば、HTMLのクエリーを簡単に操作することができます。
// クエリーの操作 var cQ = new crocro.webAi.Query(); // クエリー cQ.prsFrmUrl({url: "http://www.google.com/search?safe=active&q=hoge"}); //cQ.prsFrmLocation(); // 現在のURLをパースさせる場合 alert(cQ.get("safe")); // 「active」と表示 cQ.set("safe", "off"); alert(cQ.getUrl()); // 「http://www.google.com/search?safe=off&q=hoge」と表示 // クエリーの圧縮 var urlCmprs = cQ.getCmprsUrl(); // 圧縮URLを取得 alert(urlCmprs); // 「http://www.google.com/search?_cmp=AAAAh3PCmCnT440ZMybi9EDz5kwZ」と表示 // ※ 短い文字列だと圧縮すると逆に長くなる // クエリーの解凍 var cQ2 = new crocro.webAi.Query(); // クエリー cQ2.prsFrmUrl({url: urlCmprs}); alert(cQ2.getUrl()); // 「http://www.google.com/search?safe=off&q=hoge」と表示
日本語系:crocro.webAi.JpKw.js、crocro.webAi.JpSntnc.js、crocro.webAi.JpMrkv.js
「crocro.webAi.JpKw.js」「crocro.webAi.JpSntnc.js」「crocro.webAi.JpMrkv.js」は、日本語を抽出したり加工したりするためのファイルです。これらのファイルは、「Web AI」では補助的な機能になります。
以下、各ファイルが扱う内容を紹介します。
crocro.webAi.JpKw.js
- 断片的な日本語文章からのキーワードの抽出。
crocro.webAi.JpSntnc.js
- 断片的な日本語文章からの文章の抽出。
crocro.webAi.JpMrkv.js
- 日本語文章のマルコフ連鎖。