SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

「Web AI」ライブラリの使い方と内部仕様
- Web上のデータからJavaScriptだけで人工無脳を作成

ダウンロード sample.zip (16.7 KB)

クエリーの解析と構築、圧縮と解凍

 「クエリーの解析と構築、圧縮と解凍」は、「Web AI」ならではの機能です。「Web AI」では、サーバーに依存することなくプログラムを書くことを目指しています。そのため、プログラムを実行した後のデータを、サーバーに保存しなくても保持できる仕組みを用意しています。その方法が、URLのクエリー部分へのデータの記録です。

 「Web AI」では、URL文字列のクエリー部分を、get(key)メソッドやset(key, param)メソッドで、簡単に書き換えることができます。また、日本語文字列のように、エンコードすると非常に長大になるようなデータを、バイナリ圧縮してから Base64化することで、コンパクトなデータにできます。また、前述の短縮URL取得の機能と組み合わせることで、作成したURLを短いURLに変換することもできます。

 「Web AI」では、URLのクエリーにデータを保存するだけでなく、読み取りもサポートしています。「Web AI」では、現在のURLをパースして、値を取り出すことができます。この機能を利用することで、ユーザーがクエリー付きのURLでアクセスしてきた場合に、元の画面を復元することが可能です。

 この機能は、「Cigazine」や「迷言辞典」で実例を示しています。これらのWebアプリでは、検索を行うたびに固定URLを生成しています。そしてユーザーが再びこのURLでアクセスすれば、画面を復元するようにしています。

 このようにして「Web AI」では、サーバーにデータを一切保存せず、HTMLファイルとJavaScriptだけで、ある程度のサイズのデータを保持できるWebアプリを作成することが可能になっています。

雑多な日本語文章からのキーワード抽出、校正済み文章の抽出、マルコフ連鎖

 最後の「雑多な日本語文章からのキーワード抽出、校正済み文章の抽出、マルコフ連鎖」は、Web検索などの細切れの文章を加工して再利用するための仕組みです。

 JavaScriptを使ったWebからのデータ取得では、Webページの情報を丸ごと取得することはできません。Web検索の結果や RSS/Atomフィードの多くは、Webページの一部を切り取ったものでしかないからです。「Web AI」には、これらの断片的なデータから、キーワードや文章を取得するための命令が用意されています。

 キーワード抽出では、断片的な日本語文章からキーワードを抽出します。この機能は、検索結果から関連するキーワードを推測するのに役立ちます。

 文章抽出では、文体をある程度統一した形で、文章を校正して抽出できます。検索結果を元に、文章を表示する際に利用できます。

 また、マルコフ連鎖機能を使えば、抽出した文章を元にした新たな文章を生成できます。「Web AI」のマルコフ連鎖では、文頭に来る単語を指定して、その単語を先頭にした文章を生成することも可能です。この機能を利用することで、人工無脳に「何か(任意の単語)」について語らせることができるようになっています。

「Web AI」の収録ファイル

 「Web AI」に収録されているファイルの一覧と、その用途を表にまとめておきます。

収録ファイル
収録ファイル 内容
crocro.webAi.WebSrch.js 同期/非同期処理のメソッド・チェーン化
crocro.webAi.Tools.js URLクエリーの解析と構築
URLクエリーの圧縮と解凍
crocro.webAi.JpKw.js 断片的な日本語文章からのキーワードの抽出
crocro.webAi.JpSntnc.js 断片的な日本語文章からの文章の抽出
crocro.webAi.JpMrkv.js 日本語文章のマルコフ連鎖

「Web AI」の概念 まとめ

 「Web AI」は、「Webからのデータ取得の効率化」「作成したデータのJavaScriptだけでの保存、読み取り」「日本語文章からの情報の抽出と加工」という3つの仕組みを備えています。

 このライブラリの利用者は、これらの枠組みを利用して、Web上のデータを利用した人工無脳的なプログラムを簡単に作成、公開することができます。

次のページ
「Web AI」実行のサンプル

この記事は参考になりましたか?

特集記事連載記事一覧

もっと読む

この記事の著者

柳井 政和(ヤナイ マサカズ)

クロノス・クラウン合同会社 代表社員http://crocro.com/オンラインソフトを多数公開。プログラムを書いたり、ゲームを作ったり、記事を執筆したり、マンガを描いたり、小説を書いたりしています。「めもりーくりーなー」でオンラインソフト大賞に入賞。最近は、小説家デビューして小説も書いています(『裏切りのプログラム』他)。面白いことなら何でもOKのさすらいの企画屋です。 

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/5567 2010/11/18 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー