(57)【特許請求の範囲】
【請求項１】
ネットワークに接続され、前記ネットワークを通し複数のネチズンのコンピュータに質問を呈示して前記複数のネチズンのコンピュータから回答を受信し収集するオープン・データ収集システムであって、
複数の質問及び受信した回答を格納し、各質問毎に複数のネチズンからの複数の回答が含まれるデータベースを記憶する記憶装置と、
前記ネットワークを通し前記ネチズンのコンピュータに質問を呈示して回答を受信するためのユーザインターフェース、
前記受信した回答を前記データベースに渡すデータ集約ロジック、
前記データベースを参照して、前記受信した各回答に、それを提供したネチズンの信頼性に応じて重み付けを行って評点を算出し、受信した全ての回答の評点に基づいて呈示した質問に対する回答の信頼性評点を算出する信頼性評価ロジック、
前記呈示した質問に対し、信頼性評点が所定の閾値を超えた回答を得た場合、当該回答と前記データベースの未処理の質問とに基づいて次の質問を作成するための質問作成ロジック、
の各処理を実行するプロセッサと、
を有することを特徴とするオープン・データ収集システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク化したデータ収集のためのシステムに係り、特に、マシンラーニングのための専門家を利用しないオープン・データ収集システムに関する。
【０００２】
【従来の技術】
マシンラーニングとは、明示的なプログラミングでなく経験に基づいて、マシンがその性能を向上させる能力である。一般に、マシン・ラーニングにおける制限因子は、マシンへのデータ供給である。多くの場合、システムは人間によってトレーニングされる。例えば、研究者がデータをシステムに与えることによってシステムをトレーニングする。しかし、この方法は非常に時間がかかり、また研究者を必要とする。
【０００３】
これまでのオープンソースのｅコミュニティをベースとしたシステムは、Linuxなどのオープンソース・プロジェクトに、自発的に寄与する大勢のプログラマーを利用しようとしている。このようなオープンソース・プロジェクトは、一般に、ソースコードを自由に利用できるソフトウェアの作成のために計画される。しかしながら、オープンソースはソフトウェアを作成する方法であるので、インターネットに現在接続している人々の多くはオープンソースのコミュニティに加わっていない。ソフトウェア製品を作成するには技術的知識と非常に長時間の寄与を必要とするため、殆どの人達は寄与することができない。オープンソースのソフトウェアは、各人が１切れを用意し、それを集めて作り上げるキルトに似ている。しかし、オープンソースは、オンライン・コミュニティの大多数を無視しているため、必然的にソフトウェアを超えて広まることがなかった。
【０００４】
【発明が解決しようとする課題】
よって、本発明の目的は、非専門家のネチズン（netizen；ネット上の市民）を利用し、手書き文字認識システム、音声認識システム、その他のシステムのトレーニングなどに役立つデータを収集するためのオープン・データ収集システムを提供することにある。
【０００５】
【課題を解決するための手段】
本発明は、ネットワークに接続され、前記ネットワークを通し複数のネチズンのコンピュータに質問を呈示して前記複数のネチズンのコンピュータから回答を受信し収集するオープン・データ収集システムであって、複数の質問及び受信した回答を格納し、各質問毎に複数のネチズンからの複数の回答が含まれるデータベースを記憶する記憶装置と、前記ネットワークを通し前記ネチズンのコンピュータに質問を呈示して回答を受信するためのユーザインターフェース、前記受信した回答を前記データベースに渡すデータ集約ロジック、前記データベースを参照して、前記受信した各回答に、それを提供したネチズンの信頼性に応じて重み付けを行って評点を算出し、受信した全ての回答の評点に基づいて呈示した質問に対する回答の信頼性評点を算出する信頼性評価ロジック、前記呈示した質問に対し、信頼性評点が所定の閾値を超えた回答を得た場合、当該回答と前記データベースの未処理の質問とに基づいて次の質問を作成するための質問作成ロジックの各処理を実行するプロセッサとを有することを特徴とする。
【００１２】
【発明の実施の形態】
データ収集のための方法及びシステムについて説明する。このデータ収集システムは、インテリジェントなシステムを構築するためのインターネット・ベースの共同組織である。非専門家のインターネット参加者であるネチズンが、呈示された対話型の質問に答えることにより非公式データを提供する。そして、このデータが収集されて、分類装置又は自動推論システムのトレーニングのために利用される。一実施例では、このデータ収集システムは、質及び整合性の良いデータを受け付け、質の悪いデータを除去するために専門家も利用する。
【００１３】
以下の詳細な説明には、コンピュータ・メモリ内のデータビット操作のアルゴリズム及び記号表現によって表された部分がある。このようなアルゴリズム記述及び表現は、データ処理技術分野において、当業者が研究内容を他の当業者に最も効率的に伝えるために用いる手段である。あるアルゴリズムがあり、それが概して期待した結果に至る筋の通ったステップの系列だと理解されるとする。それらのステップは、物理量の物理的処理を要するステップである。必ずという訳ではないが、これらの物理量は記憶、転送、結合、比較、その他処理が可能な電気的または磁気的信号の形をとるのが普通である。これらの信号をビット、値、要素、記号、文字、術語、番号などで表わすのが、主に慣用上の理由から便利な場合があることが分かっている。
【００１４】
しかしながら、このような術語や同様の用語はすべて適切な物理量に関連付けられるべきであり、また、それら物理量に付けた便宜上のラベルに過ぎないということに留意すべきである。以下の説明より明らかなように、特に断わらない限り、”処理”、”演算”、”計算”、”判定”、”表示”などの術語によって論じられることは、コンピュータシステムのレジスタ及びメモリの内部の物理的（電子的）な量として表現されたデータを処理して、コンピュータシステムのメモリやレジスタ、その他同様の情報記憶装置、情報伝送装置又は表示装置の内部の同様に物理量として表現された他のデータへ変換する、コンピュータシステムや同様の電子的演算装置の作用及びプロセスを意味する。
【００１５】
本発明は、本明細書に述べた処理を実行するための装置にも関係するものである。このような装置は、所要目的のために専用に作られてもよいし、汎用コンピュータを内蔵のコンピュータ・プログラムによって選択駆動もしくは再構成したものでもよい。そのようなコンピュータ・プログラムは、コンピュータが読み取り可能な記憶媒体、限定するわけではないが例えば、フロッピーディスク、光ディスク、ＣＤ−ＲＯＭ、光磁気ディスクなどの任意の種類のディスク、リードオンリーメモリ（ＲＯＭ）やランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カード又は光カードなど、コンピュータのシステムバスに接続された電子的命令の記憶に適した任意種類の媒体に格納することができる。
【００１６】
本明細書で提示したアルゴリズム及び表示は、本質的に、いかなる特定のコンピュータ、その他の装置とも関わりがない。様々な汎用マシンを、本明細書に述べる内容に従ったプログラムで使用し得るが、所要の手順のステップの実行のために、より特化した装置を作るほうが好都合であるかもしれない。そのような多様なシステムに必要とされる構造は以下の説明から明らかになろう。さらに、どのような特定のプログラミング言語とも関連付けることなく本発明を説明する。本明細書に述べる本発明の内容を実現するために様々なプログラミング言語を使用し得ることを理解されよう。
【００１７】
機械読み取り可能媒体には、機械（例えばコンピュータ）が読み取り可能な形式で情報を記憶又は伝送するための任意の手段が含まれる。例えば、機械読み取り可能な媒体として、リードオンリーメモリ（”ＲＯＭ”）、ランダムアクセスメモリ（”ＲＡＭ”）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ素子などの各種記録媒体と、それ以外の電気、光、音響、その他の形式の伝播信号（例えば、搬送波、赤外線信号、デジタル信号など）等がある。
【００１８】
図１は、ネットワークの一例を示すブロック図である。世界中のネチズン１１０がネットワーク１２０と対話する。一実施例では、ネチズン１１０はネットワーク１２０を利用して様々なシステムにアクセスすることができる。ネチズン１１０は、ネットワーク１２０を利用し、ルール・ベースの学習システム１５０にアクセスすることもできる。
【００１９】
一実施例では、このルール・ベースの学習システム１５０は、技術専門家１９０及び分野別専門家１９０から入力を受け取ることもできる。技術専門家１８０は、ルール・ベース学習システム１５０の構築の際に、それがルールを適切に履行するように手助けすることができる。分野別専門家１９０は、ネチズン１１０間の矛盾を解決するために利用することができる。これについての詳細は後述する。一実施例では、技術専門家１８０と分野別専門家１９０は、ネットワーク１２０を経由してルール・ベース学習システム１５０と接続することができる。あるいは、技術専門家１８０又は分野別専門家１９０、あるいはその両方は、ネットワーク１２０を使わず直接的にルール・ベース学習システム１５０と接続することができる。
【００２０】
ルール・ベース学習システム１５０は、ネチズン１１０に対する質問を作成するための未処理データを収容している質問ソース・データベース１７０を利用することができる。一実施例では、質問ソース・データベース１７０は、ネットワーク１２０経由でアクセスされる遠隔データベースである。もう１つの実施例では、質問ソース・データベース１７０は、ルール・ベース学習システム１５０と直接的に接続されるか、ルール・ベース学習システム１５０の一部とされるであろう。一実施例では、質問ソース・データベース１７０は分散型データベースであろう。
【００２１】
一実施例では、ルール・ベース学習システム１５０はデータベース１６０も含む。データベース１６０は、ルール・ベース学習システム１５０による質問の答を格納している。データベース１６０は、分散型データベースで、ネットワーク１２０経由で又は直接的にルール・ベース学習システム１５０と接続されるであろう。
【００２２】
一実施例では、ルール・ベース学習システム１５０は、公開データ、例えばネットワーク上で入手可能なデータを収集するであろう。データベース１６０内のデータへのアクセスが可能とされるであろう。このことは、ネチズン１１０のプロセスへの参加意欲を刺激する上で有利であろう。また、分野別専門家ではなくネチズン１１０をシステムへのデータ供給に利用することによって、このオープン・データ収集システムは、オープンソース・コミュニティの概念をデータ収集及び非専門家ネチズンにまで拡大する。
【００２３】
図２は、コンピュータシステムの一例を示すブロック図である。しかし、様々なシステム構成の他のシステムも利用し得ることは当業者には明らかであろう。
【００２４】
図２に示したシステムは、情報通信のためのバス又は他の内部通信手段２４５と、このバス２４５に接続された情報処理のためのプロセッサ２４０を有する。このシステムは、さらに、情報とプロセッサ２４０に実行される命令を記憶するためのランダムアクセスメモリ（ＲＡＭ）又は他の揮発性記憶装置２５０（メインメモリと呼ぶ）を有し、これはバス２４５に接続されている。メインメモリ２５０は、プロセッサ２４０による命令実行中に一時的な変数又は中間情報を記憶するためにも用いられる。このシステムは、静的情報及びプロセッサ２４０の命令を記憶するためのバス２４５に接続されたリードオンリーメモリ（ＲＯＭ）及び／又は静的記憶装置２２０と、磁気ディスク又は光ディスク及び対応したディスクドライブなどのデータ記憶装置２２５も有する。情報及び命令を格納するためのデータ記憶装置２２５がバス２４５に接続されている。
【００２５】
このシステムは、コンピュータのユーザに情報を表示するための表示装置２７０と接続することができ、この表示装置２７０は例えばバス２６５を介してバス２４５に接続される陰極線菅（ＣＲＴ）ディスプレイや液晶（ＬＣＤ）ディスプレイである。プロセッサ２４０に情報やコマンド選択を伝えるための、英数字キー、その他のキーを有する英数字入力装置２７５も、バス２６５を介してバス２４５に接続することができる。もう１つのユーザ入力装置が、方向情報及びコマンド選択をプロセッサ２４０に伝え、また表示装置２７０のカーソルの移動を制御するためのカーソル制御装置２８０で、これは例えばマウス、トラックボール、スタイラス、又は方向キーであり、バス２６５を介してバス２４５に接続される。バス２６５を介しバス２４５に接続できるもう１つの装置が、ネットワーク経由で分散システムの他のノードをアクセスするための通信装置２９０である。この通信装置２９０は、イーサネット、トークンリング、インターネット、広域ネットワークなどとの接続のための市販の多くのネットワーク周辺装置のどれでもよい。なお、図２に示した本システムの任意の要素又は全ての要素及び関連ハードウェアは、本発明の様々な実施例で利用し得ることに注意されたい。
【００２６】
当業者には任意のシステム構成を実施形態に応じた様々な目的に使用し得ることが理解されよう。本発明を実施する制御ロジック又はハードウェアは、メインメモリ２５０、大容量記憶装置２２５、あるいは、プロセッサ２４０によってローカルアクセス又はリモートアクセス可能な他の記憶媒体に格納することができる。前記他の記憶媒体として、フロッピーディスク、メモリカード、フラッシュメモリ、あるいはＣＤ−ＲＯＭドライブがあろう。本明細書に述べる方法及びプロセスを、メインメモリ２５０又はリードオンリーメモリ２２０に格納されプロセッサ２４０により実行されるソフトウェアとして実現できることは、当業者には明らかであろう。制御ロジック又はソフトウェアは、コンピュータが読み取り可能なプログラム・コードが記録されていて、大容量記憶装置２２５で読み取り可能なコンピュータ読み取り可能媒体を有し、プロセッサ２４０を本明細書に述べる方法に従って動作させための製品に常駐させることもできる。
【００２７】
本発明のソフトウェアは、前述のコンピュータの構成要素のサブセットからなるハンドヘルド型装置又は携帯型装置に組み込むこともできる。例えば、ハンドヘルド型装置は、バス２４５、プロセッサ２４０及びメモリ２５０及び／又は２２５だけを有する構成とすることができる。ハンドヘルド型装置は、ユーザが１組の選択肢から選択肢を選択するためのボタン又は入力指示要素を含む構成とすることもできる。ハンドヘルド型装置は、ユーザに情報を表示するための液晶ディスプレイ（ＬＣＤ）又は表示エレメント・マトリクスのような出力装置を含む構成としてもよい。在来の方法を、このようなハンドヘルド型装置の実現に利用し得る。そのような装置に対する本発明の実施は、本明細書で提供される本発明の開示内容から、当業者には明白であろう。
【００２８】
図３は、オープン・データ収集システムとしての学習システムの一例を示すブロック図である。簡潔にするため、この学習システム３００は、質問と受信した回答を格納するデータベース３３０が１つしかないものとして図示されている。図１に関連して説明したように、データベース３３０はネットワーク１２０を介して分散した複数のデータベースから構成されてもよい。
【００２９】
学習システム３００はユーザインターフェース３１０を有する。ユーザインターフェース３１０は、不図示のネットワークを介して、ネチズンに質問を呈示し、また、そのネチズンから回答を受信する。さらに、一実施例では、ユーザインターフェース３１０は、分野別専門家及び技術専門家によって学習システム３００との対話に利用される。
【００３０】
ユーザインターフェース３１０を通じてネチズンに質問が呈示される。それに対する回答は、ユーザインターフェース３１０によりデータ集約ロジック３２０に送られる。データ集約ロジック３２０は、そのデータをデータベース３３０に渡す。データ分析ロジック３４０は、データベース３３０からデータを受け取る。データ分析ロジック３４０が受け取るデータは、一連の質問に対する様々なネチズンの回答からなる。これらの回答は、別の質問を作成するため、また現在の学習目標を満たしたか否かを判定するため、データ分析ロジック３４０によって分析される。質問作成ロジック３６０は、データ分析ロジック３４０から分析結果を受け取り、さらにデータベース３３０をアクセスして次の質問を作成するための未加工データを受け取る。質問作成ロジック３６０は、質問を作成し、それを次のネチズンのためにユーザインターフェース３１０へ送る。
【００３１】
矛盾解決ロジック３７０もデータベース３３０に接続されている。矛盾解決ロジック３７０は、データベース３３０内のデータを監視する。一実施例では、特定の種類の質問に関し、後述のように２つのデータの意味が明白に矛盾するときには、矛盾解決ロジック３７０がその矛盾を解決する。一実施例では、矛盾解決ロジック３７０は、矛盾しているデータの部分をロックし、その矛盾の解決を分野別専門家に依頼する。したがって、例えば、ある画像がネチズンによって哺乳類と爬虫類の両方に識別された場合、矛盾解決ロジック３７０は、その分岐に関連した質問を、分野別専門家が問題を解決できるまでロックすることになろう。
【００３２】
信頼性評価ロジック３５０もデータベース３３０に接続することができる。信頼性評価ロジック３５０は、学習プロセスに参加しているネチズンの信頼度を求める。一実施例では、ある質問に対する多数の回答が、ある「正しい」答を定義している場合には、その質問に応答したネチズンの回答が評価される。信頼性評価ロジック３５０は、各ネチズンの回答の信頼性を求める。一実施例では、データベースで各ネチズンの追跡が行われる。一実施例では、各ネチズンは匿名で、例えば本人確認情報を用いずに追跡される。したがって、例えば、ネチズンが偽名を使ってシステムにログインしても、その偽名を真の本人確認情報に対応付ける試みは全くなされない。この場合、信頼性は追跡されるけれども、学習システム３００に寄与する人たちのプライバシーは損なわれない。この信頼性の評点は、その後の質問に対する「正しい」答を見つけ出すために利用される。一実施例では、信頼性の評点は１から−１の間で変化し、１は１００％の信頼性に相当し、−１は０％の信頼性に相当する。
【００３３】
一実施例では、報償システム３５５が信頼性評価ロジック３５０に接続される。報償システム３５５は、ネチズンに学習プロセスに参加したことに対する一種の報償を与える。一実施例では、報償システム３５５は、協力者名を例えば信頼性の高い順に公表するなどの表彰、一定の謝礼金の抽選券、金銭、搭乗回数券、その他の報償のうちの１つ以上を提供する。一般に報償は金銭的なものである必要はない。一実施例では、報償システム３５５は省かれるであろう。普通、ネチズンは、学習システムを利用できることによる利益を得たいという大衆的関心（例えば、学習システムが音声認識システムならば、ネチズンは、同システムが働くようになったら利用したいと心待ちにするであろう）、利他主義／博愛主義、教育（例えば、学習システムが動物分類について学習するならば、ネチズンは同システムを使って新しい知識を学ぶことができる）を動機として参加する。別の報償は学習システムの形で提供される。例えば、学習システムが、複数ユーザのダンジョン（ＭＵＤＤ）ゲーム、マラソン・ゲーム、シミュレーション・ゲームなどのゲームとして構築される。これは、それ自体が動機付けとなるであろう。別の方法で報償を与えてもよい。
【００３４】
さらに、オープンデータ・ロジック３８０がデータベース３３０に接続されるであろう。オープンデータ・ロジック３８０は、データベース内のデータを第三者に利用できるようにするであろう。すなわち、例えば、データベース内のデータの、ある確信度で有効／有用であると判定された部分が世界に提供されるであろう。一実施例では、オープンデータ・ロジック３８０は、データ提供者の本人確認情報などの識別データを削除するであろう。別の実施例では、オープンデータ・ロジック３８０は、データベース３３０内のデータを全面的にアクセス可能にするであろう。
【００３５】
一実施例では、以上に述べた学習システム３００は、ネットワークに接続された複数の学習システム中の１つの学習システムである。これら学習システム３００は、ネットワークを介してデータを交換するであろう。例えば、手書き文字認識を学習するための学習システムは、異なった国々に分散したシステムを有し、対応するデータ及び相違するデータを用いて、それ以上の各国固有の情報を抽出する。このようにして、学習システム３００は、複数のネチズンがデータ提供に参加できるようにする。
【００３６】
図４に、学習システムのためのデータベース構造の一例を示す。このデータベース構造４００には複数の質問４１０が含まれ、各質問毎に複数の回答４２０がある。一実施例では、質問は順番に問いかけられる。すなわち、例えば、最初の”ｍ”人のネチズンに対し同じ質問が呈示される。その質問に対し十分な数の回答を受け取ったならば、次の質問が次の”ｎ”人のネチズンに問いかけられる。一実施例では、同じ質問が問いかけられる回数は、総回答Ｘにおける信頼性評点４７０によって左右される。各回答４２０に回答者４３０と評点４４０が対応付けられている。回答者４３０は特定の回答４２０を寄せた人を特定するものである。一実施例では、回答者４３０は匿名であり、例えば真の本人確認情報が開示されることはない。評点４４０は、回答者４３０の現在の信頼性評点を明らかにする。一実施例では、評点４４０は１から−１の間で変化する。一実施例では、回答者４３０に関する信頼性評点は、その回答者及び他の回答者から別のデータを受け取った時に更新される。
【００３７】
一実施例では、質問４１０に対する総回答４５０も記録される。総回答４５０は、提供された各回答、各回答を提供した回答者の人数４６０、及び、各回答毎の評点４７０を明らかにする。一実施例によれば、総信頼性評点４７０は合計１００％になる。すなわち、例えば、手書き文字認識の場合に、
【００３８】
【数１】
0004360516.tif 000002
のような文字を、２４％の回答者が大文字Ｉと識別し、６５％の回答者が小文字ｌと識別し、また、１％の回答者が大文字Ｊと識別する。信頼性評点がある閾値（例えば７０％）を超えたか、回答者数がある閾値（例えば１００）を超えた時に、その質問を終了し、次の質問が決定されて呈示される。前述のように、一実施例では、次の質問は前の質問に対する回答によって変わる。したがって、一実施例では、現在の回答者が質問２に答えている時に質問ｎは決まっていないであろう。
【００３９】
なお、図４はデータベース構造の一つの具体例を示しているに過ぎない。これ以外のデータベース構造を用いてもよい。
【００４０】
図５は、システムのセットアップ・プロセスの一例を示すフローチャートである。このプロセスはブロック５１０から開始し、システムが初期設定される。ブロック５２０で、トレーニングの目標が設定される。例えば、手書き文字認識システムの場合、その目標は、ある数のサンプルを間違いなく認識できることであろう。もう１つの例を挙げれば、動物分類プログラム（後述）の場合、目標は一意に識別された１００種類の動物を得ることであろう。これ以外のタイプの目標としては、ある数の回答が受信されて処理されること、ある期間、あるテストに合格できること、等々があろう。
【００４１】
ブロック５３０で、質問設定ルールを作成する。一般に、システムが質問をネチズンに呈示する。これら質問は、前の質問に対する回答、及び、当該システムに対し決められた目標に応じて作成される。例えば、一実施例では、質問はシステムが利用できる質問データベースより選択される。この場合、一実施例では、１つの質問が、同一の回答がある数だけ受信されるまで選択されるであろう。同一回答がある数だけ受信された時点で、次の質問が呈示されるであろう。例えば、最初の質問は少なくとも５０の回答が受信され、その９０％が一致するまで呈示されるであろう。質問作成の別の例を、図７及び図８を参照して後述する。
【００４２】
ブロック５４０で、質問作成に用いられるデータとのリンクが設定される。例えば、手書き文字認識システムの場合に、手書き文字サンプルのデータベースが特定される。一実施例では、そのデータベースから学習システムへのリンクが設定される。別の実施例では、そのデータベースは学習システム自体の内部にあるであろう。
【００４３】
ブロック５５０で、質問と回答のフォーマットが決定される。一般的に、質問は、ユーザが呈示する回答の種類が最少となるフォーマットとされる。例えば、手書き文字認識の場合、システムはある文字セットしか受け付けないであろう。他の実施例では、回答は多肢選択又は○×式の回答にフォーマットされるであろう。一実施例では、様々な質問が異なった形式で呈示されるであろう。
【００４４】
ブロック５６０で、結果のためのデータベースがセットアップされる。一実施例では、質問作成に利用されるデータベースが結果のデータベースとしても利用されるならば、このステップは不要であろう。別の実施例では、このステップはスキップされるであろう。
【００４５】
ブロック５７０で、学習システムは、ネットワークに接続され、又は、他の方法で参加を希望するネチズンに利用できるようにされる。これで学習システムはセットアップを完了し、学習及びデータ蓄積に利用できる。
【００４６】
このプロセスはブロック５８０で終了する。
【００４７】
図６は、システム利用の一例を説明するためのプロセスのフローチャートである。当該プロセスはブロック６１０から開始する。
【００４８】
ブロック６１５で、プロセスはどのような質問が最も有用な情報をもたらすか判断する。これに関しては、図７及び図８に関連して詳しく説明する。質問の作成には質問の生成と回答用フォーマットの生成とが含まれる。
【００４９】
ブロック６２０で、学習システムに参加を希望している次のネチズンに質問が呈示される。そのネチズンから回答が受信される。一般的に、質問の呈示と回答の受信は、学習システムによって管理されているウェブ・ページにネチズンがログオンして行われる。ネチズンは、学習プロセスへの参加希望を指示することができる。その時に質問が呈示される。一実施例では、質問は、HTML，Java，JavaScript，RealAudio，video、その他、様々なフォーマットで呈示されるであろう。回答は一般にキー入力により指示される。一実施例では、ユーザはマイクロフォンを使用して回答を入力し、音声の回答を学習システムへ送信するであろう。そして、この回答は回答データベースに格納される。前述のように、その回答に、答えたネチズンの本人確認情報ならびに信頼性評点を含めることができる。
【００５０】
ブロック６２５で、プロセスは、その質問に対し十分な数の回答が受信されたか判定する。一実施例では、１つの回答で十分な回答数とみなされるであろう。別の実施例では、分析に先だって予め設定された数の回答が収集される。十分な数の回答が集まっていなければ、プロセスはブロック６２０に戻り、同じ質問を学習プロセスに参加する次のネチズンに呈示する。一実施例では、同じネチズンが引き続き参加を希望する場合には、そのネチズンに対し別の質問が呈示される。一実施例では、ネチズンの本人確認情報が分かっているので、システムは同じネチズンに対する重複質問を防止する。
【００５１】
ブロック６３０で、提供されたデータ、例えば質問に対する回答の分析が、以前の回答及びシステムの目標を考慮して行われる。
【００５２】
ブロック６４０で、その質問に対する最終的な答が決定される。一実施例では、システムが手書き文字認識の学習のためにセットアップされた場合、全てのフォーマットの回答を認識できるか否かのテストが行われる。
【００５３】
ブロック６４５で、最終的な答を考慮して、各寄与者の信頼性が再評価される。最終的な答に応じて、提供された回答が「真」又は「偽」とされるであろう。すなわち、システムは個々のネチズンの回答が最終的な答に一致するか否かを判定する。
【００５４】
ブロック６５０で、最終的な答の信頼度が計算される。ネチズンの回答及び回答総数に基づいて、システムは信頼度を求める。一実施例では、信頼度値は次式により計算されるであろう。
【００５５】
【数２】
0004360516.tif 000003
式中、Ｃは信頼水準、Ｎはネチズン、Ｒはそのネチズンの信頼性、Ｔは正解だった回答者、Ｆは不正解だった回答者である。
このような信頼性評点が、質問の答に関する情報に追加される。
【００５６】
ブロック６５５で、質問に関する信頼性評点が、その答を受け入れるに十分な高い評点であるか判定する。一実施例では、信頼性評点は、８０％（例えば、Ｃ≧０．８）というような値に設定されるであろう。一実施例では、必要な最低の信頼水準は応用目的に依存して決まるであろう。ある応用目的にとっては、信頼水準が高いことが非常に重要である。別の応用目的にとっては、データの質よりも量のほうが重要である。最低限の信頼性評点は、それらの重要度を反映させるように変更してよい。
【００５７】
答の信頼度評点が閾値より低い場合、プロセスはブロック６２０に戻る。答の信頼度評点が閾値以上の場合には、プロセスは最初のブロック６１５に戻って次の質問を作成する。一実施例では、本システムは、質問が無くなるまで、あるいは、学習プロセスが終了するまで動作するであろう。一実施例では、ブロック６１５で最も有効な情報をもたらす質問が作成されるため、プロセスは漸進的に学習を続ける。したがって、このプロセスは終了させる必要はない。
【００５８】
図７は、質問選択／学習プロセスの一例を示すフローチャートである。このプロセスはブロック７１０から開始する。ブロック７１５で、１つ以上の識別済みサンプルが受信される。一実施例では、これらの識別済みサンプルは分野別専門家によって識別されるであろう。例えば、手書き文字認識の場合、それらのサンプルは手書き文字サンプル（例えば手書きのアルファベット）であろう。例えば動物ゲームの場合、受信されるサンプルは始祖動物とその識別情報であろう。
【００５９】
ブロック７２０で、サンプルの成分がＮ個の次元に沿ってターゲットとして識別される。一実施例では、複数のターゲットが存在するであろう。例えば、手書き文字認識の場合、１つのターゲットがアルファベット中の各文字に対応するであろう。音声認識の場合、各音素は、それ固有のターゲットを有するであろう。図８は２次元のターゲット定義図である。
【００６０】
特徴量#1  ７７０は第１の軸で表され、特徴量#2 ７７５は第２の軸で表される。ターゲット点７８０，７８５，７９０によってターゲット包絡線７９５が定義される。一実施例では、セットアップ時に提供されたサンプルは黒のターゲット点７８０で示されている。他の肯定的に識別されたものがターゲット点７８５であるが、否定的に識別されたターゲット点はターゲット包絡線７９５の外側にある。以上のことは多次元に拡張可能である。以上のことは特定の特徴量間の関係の例証にすぎない。
【００６１】
図７に戻り、ブロック７２５でターゲットの一致候補が識別される。一実施例では、この一致候補は最多の情報量が得られる領域において識別される。例えば、図８の例では、一致候補は、かなり多数のデータ点がある領域において包絡線７９５のエッジに近接しているものとして識別されるであろう。そのような場所を選択するための数学的アルゴリズムは当該技術分野において公知である。
【００６２】
ブロック７３０で、一致候補がテストされる。このテストは、前述のように、ネチズンに質問することによって行われる。一実施例では、複数の質問が問いかけられ、テストが何回も繰り返されるであろう。別の実施例では、１つの回答だけでテストに十分であろう。
【００６３】
ブロック７３５で、そのデータがターゲットの定義に追加される。すなわち、例えば、各回答がターゲット点７８５，７９０として追加される。ターゲット包絡線７９５は、その新たな回答も反映するよう適切に調整される。
【００６４】
ブロック７４０で、一致候補が一致するものであると判明したか判定する。一致候補が包絡線７９５の内部にあることが判明したときには、プロセスはブロック７４５へ進む。
【００６５】
ブロック７４５で、一致候補間の偏差を増加させる。一実施例では、一致候補を、既知の確実なサンプルより、ある偏差だけ変動させる。一致したものがターゲット包絡線７９５の内部にあると判明したならば、偏差を増加させる。
【００６６】
逆に、一致候補がターゲット包絡線７９５の外側にあると判明したならば、ブロック７５０で偏差を減少させる。いずれの場合にも、プロセスはブロック７５５に進む。
【００６７】
ブロック７５５で、ターゲット包絡線が定義されたか判定する。一実施例では、ターゲット包絡線は、十分に定義された領域と十分には定義されない領域とを有する。一実施例では、偏差の範囲内に未定義領域が存在せず、プロセスはブロック７６０へ進み終了する。そうでないときには、プロセスはブロック７２５に戻り、新たな一致候補を識別する。
【００６８】
図９は、動物学習体系を利用する学習プロセスの一例を示すフローチャートである。このプロセスはブロック８０５から開始する。
【００６９】
ブロック８１０で、少なくとも１つの質問と２つのリーフ・ノードを持つルート・ノードが初期設定される。図１０は動物体系の一例を示す。ルート・ノード８７５は、２つの回答すなわちｙｅｓとｎｏを含む。これら各ノードから次の質問が発生する。リーフ・ノード８８０は、問題になっている動物の正体として推測されるものを含んでいる。
【００７０】
図９に戻り、ブロック８１５で、ユーザはある動物を考えるように指示される。ここでは例として、ユーザが馬を考えたとしよう。
【００７１】
ブロック８２０で、現在の質問がユーザに呈示されて、ある回答が受信される。図１０の例において、ユーザがプロセスを開始したばかりならば、その質問はルート・ノード８７５の質問「その動物は２本足か」であろう。ユーザは、考えている動物が２本足であるか否かによって、ＹＥＳかＮＯを回答するであろう。上記例の場合、馬は２本足ではないので、ユーザはＮｏを選択するであろう。
【００７２】
図９に戻り、ステップ８２５で、このユーザの回答の結果、次のポイントに進む。この例では、次に呈示される質問は「その動物は泳ぐか」であろう。
【００７３】
ブロック８３０で、その回答がリーフ・ノードに至るか否かを判定する。リーフ・ノードは、それ以上の質問がないポイントである。この例のように、回答がリーフ・ノードに至らないときには、ブロック８２０に戻り、現在の質問がユーザに呈示される。上記例では、現在の質問は「その動物は泳ぐか」である。上記例では、ユーザが質問「その動物は泳ぐか」に答えると、プロセスはリーフ・ノードに到達する。
【００７４】
ブロック８３０で、回答がリーフ・ノードに至るならば、プロセスはブロック８３５に進む。
【００７５】
ブロック８３５で、システムは、そのリーフ・ノードの動物を推測する。上記例では、ユーザは問題にしている動物は泳げると回答したとすると、その推測は「犬」であろう。
【００７６】
ブロック８４０で、ユーザは、推測した動物がユーザの考えた動物であるか問われる。ユーザが肯定の回答をすれば、プロセスは終了する。一実施例では、データベースはユーザが階層構造内を進んだ状況を表すように更新される。一実施例では、任意の報償システムもプロセスへのユーザの参加を反映するように更新される。
【００７７】
推測結果が正しくなかった場合、ブロック８５０で、ユーザは考えた動物を特定し、その動物を現在のリーフ・ノードの動物と区別するための質問を入力するように要求される。前記例では、ユーザが「馬」のことを考え、その解答が「犬」であったから、ユーザは区別するための質問「その動物にたてがみがあるか」を入力するであろう。
【００７８】
ブロック８５５で、システムはユーザが入力した動物が現在の階層構造にうまく収まるか確認する。一実施例では、この確認は多段階の照会であろう。一般に、システムは誤った回答の入力を防止しようとする。一実施例では、同じ動物がツリー上の別のノードに存在しないか確認する。その動物が別のノードに存在するときには、ユーザの入力したものは階層構造にうまく収まらないと判断される。一実施例では、さらにユーザの入力はスペル確認のため名前辞書と比較される。スペルが間違っているならばユーザに問い合わせ、それでもユーザが主張するならば、ユーザが入力したことは階層構造にうまく収まらないと判断される。
【００７９】
ユーザの入力したものが階層構造にうまく収まるときには、プロセスはブロック８６０に進み、新しいノードとリーフがツリーに追加される。図１０の例に見られるように、以前のリーフ・ノードは、ユーザが呈示した質問を含む新しいノードで置き換えられ、以前のリーフ・ノードは、その新しいノードから出る２つのリーフ・ノードの１つとして表される。したがって、新しいノード８８０は「その動物にたてがみがあるか」という質問を含む。そのリーフは、以前に推測されたものである「犬」と、ユーザが考えた動物「馬」である。プロセスはブロック８４５で終了する。
【００８０】
ブロック８５５で、ユーザの入力したものが現在の階層構造にうまく収まらないと判明したときには、プロセスはブロック８６５に進む。
【００８１】
ブロック８６５で、影響を受けるノードは、専門家がどの答が正しいか宣言するまでロックされる。したがって、例えば、図１０の例で、ユーザが「それは無毛か」という質問を提案し、与えられた答が「人」であったとしよう。答の「人」は別のノードに既に存在するため、両方のノードはこの矛盾が解決されるまでロックされる。プロセスはブロック８４５で終了する。
【００８２】
図１１は、手書き文字認識のための学習の一例の説明図である。文字９３０がユーザに呈示され、ユーザは２つの選択肢９４０，９５０から１つを選択するように指示される。別の実施例では、ユーザに呈示される質問は、単一文字ではなく単語、文、又は、手書きデータの他の部分集合であろう。様々な形の文字９３０の例が示されている。
【００８３】
図１２は、手書き文字認識のための学習の他の一例の説明図である。単語９７０がユーザに呈示される。そして、ユーザは、単語９７０で表された文字９８０を識別するように指示される。この時、ユーザは、各文字の始まりと終わりを選択するように指示される。これはカラー９９０で示される。このような呈示形式は、文字間のつながり方に関するデータを提供する。手書き文字認識に関して、ユーザに対する他の質問形式も用いてもよい。
【００８４】
図１３は、音声認識のための学習の一例の説明図である。ホスト１０１０は複数の音素を収容している。これらの音素は、ユーザ１０３０に対し、ユーザのシステムのスピーカを介して呈示される。この時に、各ユーザは、選択肢の中から答１０４０を選択するように指示される。単語全体を呈示するなど、他の音声認識方法を用いることもできる。
【００８５】
このようにして、寄与することが可能な大勢のネチズンが十分に利用される。集まったデータはマシン・ラーニングに役立ち、したがって手書き文字認識システム、音声認識システム、その他のシステムのトレーニングに役立つ。
【００８６】
以上、本発明を例示的な実施例に関して説明したが、本発明の範囲から逸脱することなく、それら実施例に対し様々な修正及び変更を行うことが可能であることは明白であろう。よって、本明細書及び図面は、説明のためのものと理解すべきであって、限定的にとらえるべきでない。
【００８７】
【発明の効果】
以上に説明したように、本発明によれば、非専門家のネチズンをマシンラーニングのためのデータ収集に協力させることにより、例えば手書き文字認識システム、音声認識システムなどのトレーニングを効率的に進めることができる等々の効果を得られる。
【図面の簡単な説明】
【図１】  ネットワークの一例を示すブロック図である。
【図２】  コンピュータシステムの一例を示すブロック図である。
【図３】  学習システムの一例を示すブロック図である。
【図４】  学習システムのためのデータベース構造の一例を示す図である。
【図５】  システムのセットアップを行うプロセスの一例を示すフローチャートである。
【図６】  システムの利用法を説明するためのプロセスの一例を示すフローチャートである。
【図７】  質問選択及び学習プロセスの一例を示すフローチャートである。
【図８】  二次元のターゲット定義の説明図である。
【図９】  動物学習体系を利用する学習プロセスの一例を示すフローチャートである。
【図１０】  動物学習体系の一例を示す図である。
【図１１】  手書き文字認識の学習プロセスの一例の説明図である。
【図１２】  手書き文字認識の学習プロセスの他の一例の説明図である。
【図１３】  音声認識の学習プロセスの一例の説明図である。
【符号の説明】
１１０  ネチズン
１２０  ネットワーク
１５０  ルール・ベース学習システム
１６０  データベース
１７０  質問ソース・データベース
１８０  記述専門家
１９０  分野別専門家
３００  学習システム
３１０  ユーザインターフェース
３２０  データ集約ロジック
３３０  データベース
３４０  データ分析ロジック
３５０  信頼性評価ロジック
３５５  報償システム
３６０  質問作成ロジック
３７０  矛盾解決ロジック
３８０  オープンデータ・ロジック
【図１】
0004360516.tif 000004
【図２】
0004360516.tif 000005
【図３】
0004360516.tif 000006
【図４】
0004360516.tif 000007
【図５】
0004360516.tif 000008
【図６】
0004360516.tif 000009
【図７】
0004360516.tif 000010
【図８】
0004360516.tif 000011
【図９】
0004360516.tif 000012
【図１０】
0004360516.tif 000013
【図１１】
0004360516.tif 000014
【図１２】
0004360516.tif 000015
【図１３】
0004360516.tif 000016