Title: 堀の自作ソフトKNC(Knowledge Nebula Crystallizer)

創造活動支援システムのひとつの例として、KNC(Knowledge Nebula Crystallizer)と名付けたシステムを作り続けています。そもそものきっかけは、出版社から本を書いてほしいという依頼を受けたことでした。私は、「20年以上人工知能の研究者として人工知能の研究をやってきたのだから、自分が作る人工知能システムを使って本を書きたい」と、考えました。研究者を20年もやっていると、書きためた原稿や研究メモがそれなりにたくさんあります。それらを自動的に分解して再構成してくれるシステムを作れば、いろいろな文脈でいくらでも本が書けるはず、と考えたのです。そして実際にそのようなシステムを作り始めました。それがKNC(Knowledge Nebula Crystallizer)です。これは学生にも手伝わせず、全部自分で作ることにしました。2000年に作り始めたKNC00から2010年に作ったKNC10まではJavaで実装、そして現在ご覧いただいているこのページを表示しているKNC11はRuby on Rails + MySQLで実装しています。
最初は本を書くために作り始めたKNCでした(実際にオーム社から出版した本はKNC05を使いながら書きました)が、その後、PowerPointやKeynoteを使うのをやめ、プレゼンテーションも、KNCだけで行うことにしました。プレゼンテーションを準備する際、ほとんどの研究者は、すべてのスライドをゼロから作るのではなく、新しく作るスライドに加えて今までに書きためたスライドを再構成して再利用します。KNCを使うと、その再構成の作業を半自動化することができます。講演内容の構造を2次元で表示することもできます。さらに、それに加えて、講演しているその場で電子メールで質問を受け付けて、その質問に対する答えのスライドを自分が書きためたものの中から自動的に検索して出力するという機能も追加しました。これは、2009年の人工知能学会全国大会で会長として基調講演をやらせてもらった際に初めて実際に使ってみたところ、私自身の期待以上にうまく機能しました。

講演で使ったスライドを欲しいと頼まれた時は、KNCから生成したストーリーをpdfのフォーマットに変換してお渡ししています。(ただ、講演は言わば「なまもの」なので、講演で使ったスライドを差し上げるのは正直なところあまり好きではありません。)

情報系の技術を持っている皆さんは、ぜひ、PowerPointを使うのをやめて、自作のソフトでプレゼンテーションをしてみませんか? 自分の研究成果を応用して、自分の身近なところで使う良い例題になると思います。

2011年の正月から作り始めたのが、今ご覧いただいているページを出力しているKNC11です。KNC11を作り始めたそもそものきっかけはiPadの購入でした。iPadはJRE(Java Runtime Environment)に対応していないため、これまでに作ってきたKNC10を使えません。iPad専用のKNCを作ることも検討しましたが、私の周辺には、「いやーこれからはアンドロイドでしょう」、という意見も少なくなく、悩んだ末、プラットフォームに依存しない形のweb application版のKNCを作ることにしました。blogやtwitterを既存のソフトでやるのもいやだな、できればKNCでやりたいと思っていたこともあります。
上にも書いたように、KNC11は、Ruby on Rails + MySQLという環境で作ることにしました。卒論ではFortran、修士課程時代はPascal、博士課程時代はLisp、最初に就職した国文学研究資料館ではPL/I + アセンブラ + Lisp、東大に移ってからはCやJavaといった言語を使って仕事してきましたが、Rubyを使ったのは初めてです。日本で生まれたこのRuby、いいですね。しっかり楽しめました。

KNC10およびKNC11の構造と機能については、また少しずつ書かせていただきたいと思います。

        2011年3月 堀 浩一(東京大学)


 2011年の暮れから2012年の正月にかけて、KNC11を改造してKNC12を作りました。
 今、御覧いただいているページを出力しているのがそのKNC12です。御興味の推定位置と移動予測を2次元空間に表示する方法を考えて実装してみました。 その方法の詳細は、後日公開したいと存じます。(→2013年8月17日追記: 「KNC(Knowledge Nebula Crystallizer)の原理」というページに、ざっと説明を書きました。)

        2012年1月 堀 浩一(東京大学)


 facebook social plugin を追加しました。

        2013年5月7日 堀 浩一


 2次元空間に表示されている表現ユニットたちに空間上でアクセスできるように改造しました。mouse event handlerを自作して、格子状に区切った空間中のユニットにアクセスする、という原始的な方法にしてみました。もっと良い方法があるはずですが、とりあえず、原始的なコーディングを楽しむという目的は達成しました。残念ながら、動くのを確認できたのは、SafariとChromeだけです。Internet ExplorerやFirefoxでは動かないようです。iPadやiPhoneでも動きません。

追記: マウス座標の取得方法を変更したところ、FirefoxとInternet Explorer (ver.9以上)でも動くようになりました。

        2013年8月11日 堀 浩一(東京大学)


 ユーザの行動履歴を用いて、空間を動的に再構成するようにしてみました。その説明も、「KNC(Knowledge Nebula Crystallizer)の原理」というページに、ちょっとだけ書いておきました。

        2013年8月17日 堀 浩一(東京大学)


 自動計算される2次元空間とは別に、(著者権限を持ったユーザが)自由な空間配置も手で作れるようにしました。この機能の追加に伴いデータベースのスキーマも変更したので、2013年版のKNCということで、KNC13と名付けることにします。

        2013年9月16日 堀 浩一(東京大学)


 KNC13を使ってプレゼンテーションを行えるようにしました。

        2013年9月19日 堀 浩一(東京大学)


 「自分のサイト上に書き散らかしたページの集まりの中から、『起承転結』のつながりを自動的に発見する」という機能を追加しました。現在の実装では、可能な「起承転結」のストーリーの案を管理者にまとめて提示して、管理者(僕)がその中から面白いと思うものを選んで登録する、という形にしております。その機能をユーザに提供することは、近い将来の課題にしたいと思います。

        2014年7月25日 堀 浩一(東京大学)


 グループのメンバーがテキストを自由に投稿できるように改造したKNC14を作りました。

        2014年8月30日 堀 浩一(東京大学)



Author: Koichi Hori


堀浩一の紹介

堀浩一の紹介:
(これは著者が手で作成した空間です)
(上の空間の中でクリックしていただけますと、各項目にアクセスできます。)
(「堀 浩一」という項目から始めて、関連する話題を、ざっとではありますが、抽象的な問題は右へ、具体的な問題は左へ、一般的な話題は上へ、人工知能研究関連の話題は下へ、という方針で、配置してみました。ただし、すべての項目の配置がその方針を満たしているわけではありません。)

堀浩一の略歴と連絡先は「堀 浩一」にあります。 詳細な履歴は「堀 浩一 詳細履歴」にあります。
たまに「堀 浩一 の ひとりごと」を更新しています。なぜかこのひとりごとへのアクセスが比較的多いのですが、読んで下さっている皆様に感謝申し上げます。
堀は人工知能の研究者です。時々堀洋一先生と間違われることがありますが、 「堀洋一さんと堀浩一は別人です」
堀研究室は東京大学大学院工学系研究科航空宇宙工学専攻にあります。 研究室では、航空宇宙工学への人工知能の応用だけでなく、学生諸君の自主的なテーマ設定を尊重して、幅広くいろいろなテーマの研究を行っています(「堀研究室所属を希望する皆さんへ」「活躍する教え子たち」)。

私自身は、人工知能研究の中でもやや特殊な「創造活動支援システムの研究」を行ってきました。 なんだか怪しい響きの研究テーマだと思われるかもしれませんが、いつのまにか仲間も増えました(「ことばと発想のテクノロジー 」)。
創造活動支援システムの一例として「堀の自作ソフトKNC(Knowledge Nebula Crystallizer)」を作りつづけています。このサイトもそのKNCで動いています。「KNC(Knowledge Nebula Crystallizer)の原理 」にやや専門的な説明を書きました。このサイトを動かしているKNCは「Rails + MySQL」で実装しています。

研究者が何をめざして研究をおこなっているのかの本音について、「事業仕分けをきっかけに思う」に書きました。研究者の本音を身も蓋もない言い方で言ってしまうならば、面白くて仕方ないので研究しているということになるでしょう。
しかし、学問ごとに目標とするところに少しずつ違いはあって、 我々工学の研究者がめざしているのは、おおげさな言い方をするならば、人類の幸福です(「工学と理学の違い」)。
理想と現実の狭間で、研究をどうやって評価すべきかは、重要で難しい問題です(「評価」から「解説」へ 」「人工知能学会創立25周年にあたって 」)。
できれば、産学連携も、理想に向かって「志高き産学連携」を行いたいものです。

最近再び人工知能の研究が注目されるようになってきています。 そもそも知識とは何なのだろうという問題については、昔々現代思想誌にも書かせていただいたことがあります(「知識の姿 − 人工知能研究者の立場から」)。
「機械が心を持つようになるか?」 「人工知能倫理(AI Ethics)について」 「機械との競争について」 「集合知とは何か」等々、私も考え続けています。
学会の果たすべき役割についても考え直す必要がありそうです(「人工知能学会創立25周年にあたって 」)。
それらすべてに関係する「人工知能とは」という解説記事を書きましたので、それも掲載しておきます。


最終的に私がめざしているのは、恩師からの宿題の「文化国家としての技術立国 」に少しでも貢献することです。


automatically generated story 6.14.32.37

This is an automatically generated story.
これは自動的に生成された空間です。
「起承転結」の関係になるような項目をシステムが自動的にさがして上から下に並べました。
上の空間の中でクリックすると各項目にアクセスできます。


automatically generated story 6.18.33.37

This is an automatically generated story.
これは自動的に生成された空間です。
「起承転結」の関係になるような項目をシステムが自動的にさがして上から下に並べました。
上の空間の中でクリックすると各項目にアクセスできます。


 

現在の御興味の推定位置と御興味の移動予測

(これは、トピック間のキーワードの共有度とユーザの行動履歴をもとに自動的に作成した空間です。)

御興味移動先予測地点に近い項目から遠い項目まで一覧(距離):


堀 浩一のホームページへ

現在位置 x = 0.15, y = 0.8
現在誤差 sigma = 0.0
予測位置 x = 0.15, y = 0.8
予測誤差 sigma = 0.07


(別の方法で計算した)現在の文脈で関連しそうな項目(関連度):
relevant in the current context (relevance score):


堀 浩一のホームページへ