(57)【特許請求の範囲】
【請求項１】
情報ソースの情報ソース言語を選択するためのコンピュータ実装方法であって、
質問を受け取ることと、
前記質問を分析して、前記質問に含まれる少なくとも１つの単語のカテゴリ情報を得ることと、
前記質問に関係する推定されるトピックまたは地域として、前記カテゴリ情報に含まれる単語を得ることと、
前記推定されるトピックまたは地域を使用して情報ソース言語の候補を決定することと、
前記情報ソース言語、およびドキュメントを取り出すための対応する情報ソースを選択して、前記質問の回答を生成することと
を含み、
情報ソース言語の候補を決定することが、
前記推定されるトピックまたは地域を含むドキュメントを、異なる複数の言語の情報ソース内で検索することと、
各情報ソースからの取り出されたドキュメントの平均数に応じて、情報ソース言語の前記候補を決定することと
を含むコンピュータ実装方法。
【請求項２】
情報ソースの情報ソース言語を選択するためのコンピュータ実装方法であって、
質問を受け取ることと、
前記質問を分析して、前記質問に含まれる少なくとも１つの単語のカテゴリ情報を得ることと、
前記質問に関係する推定されるトピックまたは地域として、前記カテゴリ情報に含まれる単語を得ることと、
前記推定されるトピックまたは地域を使用して情報ソース言語の候補を決定することと、
前記情報ソース言語、およびドキュメントを取り出すための対応する情報ソースを選択して、前記質問の回答を生成することと
を含み、
情報ソース言語の候補を決定することが、
質問回答結果によって訓練された質問−情報ソース言語モデルを使用して、少なくとも１つの単語と、前記単語が前記質問中で出現する頻度と、を含む単語ベクトルを前記情報ソース言語について分類することを含むコンピュータ実装方法。
【請求項３】
前記情報ソース言語について分類することが、サポート・ベクトル・マシンとロジスティック回帰アルゴリズムとのうちの少なくとも一方を使用して実行される、請求項２に記載のコンピュータ実装方法。
【請求項４】
情報ソース言語の候補を決定することが、前記推定されるトピックまたは地域を取出しキーとして、トピック−言語テーブルと地域−言語テーブルとのうちの少なくとも一方を参照することによって、情報ソース言語の候補を決定することを含む、請求項１または２に記載のコンピュータ実装方法。
【請求項５】
情報ソース言語の候補を決定することが、前記質問に含まれる単語のカテゴリからの複数の単語が、前記質問に関係する推定されるトピックまたは地域としてそれぞれ得られた場合に、複数の情報ソース言語候補を決定することと、前記トピック−言語テーブルまたは前記地域−言語テーブルにおける前記推定されるトピックまたは地域に関係する言語としての、各情報ソース言語候補の出現頻度に基づいて、前記複数の情報ソース言語候補をランク付けすることとを含む、請求項４に記載のコンピュータ実装方法。
【請求項６】
クラウド・コンピューティング能力を提供する、請求項１または２に記載のコンピュータ実装方法。
【請求項７】
情報ソースの情報ソース言語を選択するためのコンピュータ・システムであって、プロセッサと、プログラム・コードを記憶したメモリとを備え、前記プログラム・コードが、前記プロセッサに、
質問を受け取ることと、
前記質問を分析して、前記質問に含まれる少なくとも１つの単語のカテゴリ情報を得ることと、
前記質問に関係する推定されるトピックまたは地域として、前記カテゴリ情報に含まれる単語を得ることと、
前記推定されるトピックまたは地域を使用して情報ソース言語の候補を決定することと、
前記情報ソース言語、およびドキュメントを取り出すための対応する情報ソースを選択して、前記質問の回答を生成することと
を実行させ、
情報ソース言語の候補を決定することが、
前記推定されるトピックまたは地域を含むドキュメントを、異なる複数の言語の情報ソース内で検索することと、
各情報ソースからの取り出されたドキュメントの平均数に応じて、情報ソース言語の前記候補を決定することと
を含むコンピュータ・システム。
【請求項８】
情報ソースの情報ソース言語を選択するためのコンピュータ・システムであって、プロセッサと、プログラム・コードを記憶したメモリとを備え、前記プログラム・コードが、前記プロセッサに、
質問を受け取ることと、
前記質問を分析して、前記質問に含まれる少なくとも１つの単語のカテゴリ情報を得ることと、
前記質問に関係する推定されるトピックまたは地域として、前記カテゴリ情報に含まれる単語を得ることと、
前記推定されるトピックまたは地域を使用して情報ソース言語の候補を決定することと、
前記情報ソース言語、およびドキュメントを取り出すための対応する情報ソースを選択して、前記質問の回答を生成することと
を実行させ、
情報ソース言語の候補を決定することが、
質問回答結果によって訓練された質問−情報ソース言語モデルを使用して、少なくとも１つの単語と、前記単語が前記質問中で出現する頻度と、を含む単語ベクトルを前記情報ソース言語について分類することを含むコンピュータ・システム。
【請求項９】
情報ソースの情報ソース言語を選択するためのコンピュータ・プログラムであって、前記コンピュータ・プログラムはコンピュータに、
質問を受け取ることと、
前記質問を分析して、前記質問に含まれる少なくとも１つの単語のカテゴリ情報を得ることと、
前記質問に関係する推定されるトピックまたは地域として、前記カテゴリ情報に含まれる単語を得ることと、
前記推定されるトピックまたは地域を使用して情報ソース言語の候補を決定することと、
前記情報ソース言語、およびドキュメントを取り出すための対応する情報ソースを選択して、前記質問の回答を生成することと
を実行させ、
情報ソース言語の候補を決定することが、
前記推定されるトピックまたは地域を含むドキュメントを、異なる複数の言語の情報ソース内で検索することと、
各情報ソースからの取り出されたドキュメントの平均数に応じて、情報ソース言語の前記候補を決定することと
を含むコンピュータ・プログラム。
【請求項１０】
情報ソースの情報ソース言語を選択するためのコンピュータ・プログラムであって、前記コンピュータ・プログラムはコンピュータに、
質問を受け取ることと、
前記質問を分析して、前記質問に含まれる少なくとも１つの単語のカテゴリ情報を得ることと、
前記質問に関係する推定されるトピックまたは地域として、前記カテゴリ情報に含まれる単語を得ることと、
前記推定されるトピックまたは地域を使用して情報ソース言語の候補を決定することと、
前記情報ソース言語、およびドキュメントを取り出すための対応する情報ソースを選択して、前記質問の回答を生成することと
を実行させ、
情報ソース言語の候補を決定することがさらに、
質問回答結果によって訓練された質問−情報ソース言語モデルを使用して、少なくとも１つの単語と、前記質問中での前記単語の頻度と、を含む単語ベクトルを前記情報ソース言語について分類することを含むコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、質問回答技術に関し、より詳細には、ハイブリッド言語間での情報検索によって回答を生成するための質問回答技術に関する。
【背景技術】
【０００２】
今日、コンピュータ・システムは、その言語適用性によって改良されてきており、ほとんどのコンピュータ・システムは、多言語環境の下で操作されることが可能である。このようなコンピュータ・システムにおいて、質問回答システムが広く知られており、従来の質問回答システムは、質問言語と同じ言語で回答を生成することができる。加えて、回答を生成するための情報ソースは、質問言語と同じ言語で提供される情報を蓄積した情報ソースであった。以下、情報ソースの言語を、単にＩＳ言語と呼ぶ。単純なバックグラウンド技術など、このような従来の質問および回答システム（以下、単にＱＡシステムと呼ぶ）が、次の文献に記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際特許公開ＷＯ２０１１／０８８０５３Ａ２
【非特許文献】
【０００４】
【非特許文献１】Neumann, Gunter, and Bogdan Sacaleanu. “Experiments on robustNL question interpretation and multi-layered document annotation for a cross-languagequestion/answering system.” Multilingual InformationAccess for Text, Speech and Images. Springer Berlin Heidelberg, 2005. Pages411-422.(http://research.nii.ac.jp/~ntcadm/workshop/OnlineProceedings5/data/CLQA/NTCIR5-CLQA-IsozakiH.pdf)
【非特許文献２】Isozaki, Hideki, Katsuhito Sudoh,and Hajime Tsukada. "NTT’s Japanese-English cross-language question answering system." Proc. of NTCIR-5 Meeting. 2005(http://research.nii.ac.jp/~ntcadm/workshop/ OnlineProceedings5/data/CLQA/NTCIR5-CLQA-IsozakiH.pdf)
【非特許文献３】Stolcke, Andreas, et al. "Dialogue act modeling for automatic taggingand recognition of conversational speech." Computational linguistics 26.3(2000): 339-373 (http://arxiv.org/pdf/cs/ 0006023.pdf)
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のＱＡシステムは普通、質問の言語と同じ言語であるＩＳ言語で提供される情報ソースをターゲットとしながら、質問言語のクエリを使用してコンテンツを検索する。しかし、質問が英語で発せられた場合でも、日本の寺院に関しては、日本語Ｗｉｋｉｐｅｄｉａの方が英語Ｗｉｋｉｐｅｄｉａよりも多くの情報を含む。加えて、質問が日本語で発せられた場合でも、アメリカ映画に関しては、英語Ｗｉｋｉｐｅｄｉａの方が日本語Ｗｉｋｉｐｅｄｉａよりも多くの情報を含む。
【０００６】
英語話者が日本の寺院に関する質問を英語で入力したとき、単一言語ＱＡシステムは、日本語で提供される情報ソースではなく英語で提供される情報ソースを検索することによって、この質問を扱うことができる。しかし、日本語の情報ソースは、質問の回答にふさわしいと予想されるはるかに多くのコンテンツを含んでおり提供するであろう。
【０００７】
そして、日本語話者がアメリカ映画に関する質問を発したいとき、単一言語の日本語ＱＡシステムは、この質問を日本語で受け入れる。しかし、検索される情報ソースの言語は、日本語に限られてきた。しかし、英語の情報ソースは、アメリカ映画に関係するより多くのドキュメントを含むであろう。上述した従来環境では、ＱＡシステムは、質問の言語とは異なる言語で提供される情報ソースから、より正しい回答またはより関連性のある回答あるいはその両方を見つけることは困難であろう。
【課題を解決するための手段】
【０００８】
本発明の好ましい一態様によれば、情報ソースの情報ソース言語を選択するためのコンピュータ実装方法を提供することができる。この方法は、
質問を受け取ることと、
質問を分析して、質問に含まれる少なくとも１つの単語のカテゴリ情報を得ることと、
質問に関係する推定されるトピックまたは地域として、カテゴリ情報に含まれる単語を得ることと、
推定されるトピックまたは地域を使用して情報ソース言語の候補を決定することと、
情報ソース言語、およびドキュメントを取り出すための対応する情報ソースを選択して、質問の回答を生成することと、を含むことができる。
【０００９】
本発明の別の好ましい態様によれば、情報ソース言語の候補を決定することは、推定されるトピックまたは地域を取出しキーとして、トピック−言語テーブルと地域−言語テーブルとのうちの少なくとも一方を参照することによって、情報ソース言語の候補を決定することを含む。
【００１０】
本発明のさらに別の好ましい態様によれば、情報ソース言語の候補を決定することは、質問に含まれる単語のカテゴリからの複数の単語が、質問に関係する推定されるトピックまたは地域としてそれぞれ得られた場合に、複数の情報ソース言語候補を決定すること、および、トピック−言語テーブルまたは地域−言語テーブルにおける推定されるトピックまたは地域に関係する言語としての、各情報ソース言語候補の出現頻度に基づいて、複数の情報ソース言語候補をランク付けすることを含む。
【００１１】
本発明のさらに別の好ましい態様によれば、コンピュータ実装方法はさらに、
推定されるトピックまたは地域を含むドキュメントを、異なる複数の言語の情報ソース内で検索することと、
各情報ソースからの取り出されたドキュメントの平均数に応じて、情報ソース言語の候補を決定することとを含むことができる。
【００１２】
本発明のさらに別の好ましい態様によれば、コンピュータ実装方法はさらに、
質問回答結果によって訓練された質問−情報ソース言語モデルを使用して、少なくとも１つの単語と質問中で出現する頻度とを含む単語ベクトルを、情報ソース言語について分類することを含むことができる。
【００１３】
本発明のさらに別の態様によれば、プロセッサと、本明細書に記載の１つまたは複数の方法を実施するためにプロセッサによって実行可能な命令のプログラムを記憶したメモリと、を備えるコンピュータ・システムを提供することもできる。加えて、本発明の別の態様によれば、本明細書に記載の１つまたは複数の方法を実施するためにコンピュータによって実行可能なプログラム命令を有するコンピュータ可読ストレージ媒体を含むプログラム製品を提供することもできる。
【発明の効果】
【００１４】
本発明の態様によれば、質問中のトピックおよび地域に関連性のある情報ソース用言語を優先して、優先される情報ソース言語で提供される情報ソースからの回答を検索する技術を提供することのできる、多言語情報ソースを使用する質問回答システムを提供することができる。
【図面の簡単な説明】
【００１５】
【図１】クラウド・コンピューティング・ノードの例の概略図である。
【図２】例証的なクラウド・コンピューティング環境を示す図である。
【図３】クラウド・コンピューティング環境（図２）によって提供される１組の機能的抽象化レイヤを示す図である。
【図４】ＱＡシステムの一実施形態の機能ブロック図である。
【図５】図４に示されるＱＡシステムによって実行されるプロセスのフローチャートである。
【図６】分類テーブルの一実施形態を示す図である。
【図７】トピックと、関連性のある言語とをリストした、トピック−言語テーブルの一実施形態を示す図である。
【図８】地域−言語テーブルの一実施形態を示す図である。
【図９】カテゴリからトピックおよび地域を決定するためのサブプロセスの詳細な処理を示す図である。
【図１０】グループｗ０中のトピックおよび地域に関連性のある言語を決定するための図５のステップＳ５０３のサブプロセスの詳細を示す図である。
【図１１】ＱＡシステムの別の実施形態の機能ブロック図である。
【図１２】図１１に示されるＱＡシステムによって実行されるプロセスのフローチャートである。
【図１３】ＱＡシステムの別の実施形態の機能ブロックを示す図である。
【図１４】質問−ＩＳ言語モデルを形成するためのプロセスを示す図である。
【図１５】図１４のプロセスの概略図を示す図である。
【図１６】質問の受取りからＩＳ言語の決定までの、ＱＡシステムのプロセスの一実施形態を示す図である。
【発明を実施するための形態】
【００１６】
次に、本発明を特定の実施形態に関して述べる。しかし、本発明は、述べる実施形態に限定されるべきではない。本開示はクラウド・コンピューティングに関する詳細な記述を含むが、本明細書で述べられる教示の実現はクラウド・コンピューティング環境に限定されないことを、あらかじめ理解されたい。そうではなく、本発明の実施形態は、現在知られているかまたは後に開発される他の任意のタイプのコンピューティング環境と共に実現することができる。
【００１７】
クラウド・コンピューティングは、最小限の管理労力で、またはサービスのプロバイダとの最小限の対話で迅速にプロビジョニングできリリースできる構成可能なコンピューティング・リソース（例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、バーチャル・マシン、およびサービス）の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするための、サービス送達のモデルである。このクラウド・モデルは、少なくとも５つの特徴、少なくとも３つのサービス・モデル、および少なくとも４つの展開モデルを含むことができる。
【００１８】
特徴は次のとおりである。
オンデマンド・セルフサービス：クラウド消費者は、必要に応じて、サービスのプロバイダとの人的な対話を必要とすることなく自動的に、サーバ時間やネットワーク・ストレージなどのコンピューティング能力を単方向にプロビジョニングすることができる。
【００１９】
幅広いネットワーク・アクセス：能力はネットワークを介して利用可能であり、能力はまた、異種シンまたはシック・クライアント・プラットフォーム（例えば、モバイルフォン、ラップトップ、およびＰＤＡ）による使用を促進する標準的なメカニズムを介してアクセスされる。
【００２０】
リソース・プーリング：プロバイダのコンピューティング・リソースは、マルチテナント・モデルを使用する複数の消費者に役立つようにプールされ、異なる物理および仮想リソースが、需要に従って動的に割当ておよび再割当てされる。消費者は一般に、提供されるリソースの正確な場所に関して制御も知識も有しないが、より高い抽象化レベル（例えば、国、州、またはデータセンタ）で場所を指定することはできる場合があるという点で、ある意味での場所独立性がある。
【００２１】
迅速な弾力性：能力を迅速かつ弾力的に、場合によっては自動的にプロビジョニングして素早くスケールアウトし、迅速に解放して素早くスケールインすることができる。消費者にとっては、プロビジョニングのために利用可能な能力はしばしば無限に見え、いつでもどんな量でも購入することができる。
【００２２】
測定されるサービス：クラウド・システムは、サービスのタイプ（例えば、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント）に適した何らかの抽象化レベルで計測能力を活用することによって、リソース使用を自動的に制御および最適化する。リソース使用は、監視、制御、および報告することができ、これにより、利用されるサービスのプロバイダと消費者の両方にとってのトランスペアレンシがもたらされる。
【００２３】
サービス・モデルは次のとおりである。
ソフトウェア・アズ・ア・サービス（ＳａａＳ）：消費者に提供される能力は、クラウド・インフラストラクチャ上で稼働しているプロバイダのアプリケーションを使用することである。アプリケーションへのアクセスは、ウェブ・ブラウザなどのシン・クライアント・インタフェースを介して様々なクライアント・デバイスから可能である（例えば、ウェブベースの電子メール）。消費者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、さらには個々のアプリケーション能力をも含めた、基礎をなすクラウド・インフラストラクチャを管理することも制御することもしないが、限られたユーザ特有アプリケーション構成設定については例外である可能性がある。
【００２４】
プラットフォーム・アズ・ア・サービス（ＰａａＳ）：消費者に提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、消費者によって作成または取得されたアプリケーションを、クラウド・インフラストラクチャ上に展開することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含めた、基礎をなすクラウド・インフラストラクチャを管理することも制御することもしないが、展開されたアプリケーションに対する制御、およびおそらくはアプリケーション・ホスティング環境構成に対する制御を有する。
【００２５】
インフラストラクチャ・アズ・ア・サービス（ＩａａＳ）：消費者に提供される能力は、処理、ストレージ、ネットワーク、および他の基本的なコンピューティング・リソースをプロビジョニングすることであり、この場合、消費者は、オペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアを展開および実行することができる。消費者は、基礎をなすクラウド・インフラストラクチャを管理することも制御することもしないが、オペレーティング・システム、ストレージ、展開されたアプリケーションに対する制御、およびおそらくは、精選されたネットワーキング・コンポーネント（例えばホスト・ファイアウォール）の限られた制御を有する。
【００２６】
展開モデルは次のとおりである。
プライベート・クラウド：クラウド・インフラストラクチャは、組織のためにのみ運用され、この組織またはサード・パーティによって管理されてよく、構内または構外に存在してよい。
【００２７】
コミュニティ・クラウド：クラウド・インフラストラクチャは、いくつかの組織によって共有され、共有の関心事（例えば、ミッション、セキュリティ要件、ポリシー、およびコンプライアンス考慮事項）を有する特定のコミュニティをサポートし、これらの組織またはサード・パーティによって管理されてよく、構内または構外に存在してよい。
【００２８】
パブリック・クラウド：クラウド・インフラストラクチャは、一般大衆または大規模な業界団体が利用できるようにされ、クラウド・サービスを販売する組織によって所有される。
【００２９】
ハイブリッド・クラウド：クラウド・インフラストラクチャは、２つ以上のクラウド（プライベート、コミュニティ、またはパブリック）の複合物である。これらのクラウドは、独自のエンティティのままだが、データおよびアプリケーションに可搬性を持たせる標準化された技術またはプロプラエタリ技術によって１つにまとめられる（例えば、クラウド間の負荷平衡のためのクラウド・バースティング）。
【００３０】
クラウド・コンピューティング環境はサービス指向であり、その焦点は、ステートレス性、低結合、モジュール性、およびセマンティックな相互運用性に合わせられる。クラウド・コンピューティングの中心には、相互接続されたノードのネットワークを構成するインフラストラクチャがある。
【００３１】
次に図１を参照すると、クラウド・コンピューティング・ノードの例の概略図が示されている。クラウド・コンピューティング・ノード１０は、適切なクラウド・コンピューティング・ノードの一例に過ぎず、本明細書に記載の本発明の実施形態の使用または機能の範囲についてどのような限定を示唆することも意図しない。
【００３２】
ともかく、クラウド・コンピューティング・ノード１０は、前述の機能のいずれかと共に実装されること、または前述の機能のいずれかを実施すること、あるいはその両方が可能である。クラウド・コンピューティング・ノード１０中には、コンピュータ・システム／サーバ１２があり、このコンピュータ・システム／サーバ１２は、他の多くの汎用または専用コンピューティング・システム環境または構成でも動作する。
【００３３】
コンピュータ・システム／サーバ１２と共に使用するのに適する可能性のある周知のコンピューティング・システム、環境、または構成、あるいはそれらのすべての例としては、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサベースのシステム、セット・トップ・ボックス、プログラム可能な消費者電子機器、ネットワークＰＣ、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および、これらのシステムまたはデバイスのいずれかを含む分散クラウド・コンピューティング環境などが挙げられるが、これらに限定されない。
【００３４】
コンピュータ・システム／サーバ１２は、プログラム・モジュールなど、コンピュータ・システムによって実行されるコンピュータ・システム実行可能命令の一般的なコンテキストで記述することができる。一般に、プログラム・モジュールは、特定のタスクを実施するかまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含む場合がある。コンピュータ・システム／サーバ１２は、分散クラウド・コンピューティング環境で実践されてよく、その場合、タスクは、通信ネットワークを介してリンクされたリモート処理デバイスによって実施される。分散クラウド・コンピューティング環境では、プログラム・モジュールは、メモリ・ストレージ・デバイスを含めたローカルとリモートの両方のコンピュータ・システム・ストレージ媒体中に位置する場合がある。
【００３５】
図１に示されるように、クラウド・コンピューティング・ノード１０中のコンピュータ・システム／サーバ１２は、汎用コンピューティング・デバイスの形で示されている。コンピュータ・システム／サーバ１２のコンポーネントは、１つまたは複数のプロセッサまたは処理ユニット１６と、システム・メモリ２８と、システム・メモリ２８を含めた様々なシステム・コンポーネントをプロセッサ１６に結合するバス１８と、を含むことができるが、これらに限定されない。
【００３６】
バス１８は、様々なバス・アーキテクチャのいずれかを使用する、メモリ・バスまたはメモリ・コントローラ、周辺バス、アクセラレーテッド・グラフィックス・ポート、およびプロセッサまたはローカル・バスを含めた、いくつかのタイプのバス構造のいずれかの１つまたは複数を表す。限定ではなく例として、このようなアーキテクチャは、ＩＳＡ（Industry Standard Architecture）バス、ＭＣＡ（MicroChannel Architecture）バス、ＥＩＳＡ（Enhanced ISA）バス、ＶＥＳＡ（Video Electronics Standards Association）ローカル・バス、およびＰＣＩ（Peripheral Component Interconnects）バスを含む。
【００３７】
コンピュータ・システム／サーバ１２は通常、様々なコンピュータ・システム可読媒体を備える。このような媒体は、コンピュータ・システム／サーバ１２からアクセス可能な任意の利用可能な媒体とすることができ、揮発性と不揮発性、取外し可能と取外し不能の両方の媒体を含む。
【００３８】
システム・メモリ２８は、ランダム・アクセス・メモリ（ＲＡＭ）３０またはキャッシュ・メモリ３２あるいはその両方など、揮発性メモリの形のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム／サーバ１２はさらに、他の取外し可能／取外し不能、揮発性／不揮発性コンピュータ・システム・ストレージ媒体を備えることもできる。例に過ぎないが、取外し不能な不揮発性の磁気媒体（図示せず。典型的には「ハード・ドライブ」と呼ばれる）に対して読取りおよび書込みするために、ストレージ・システム３４が設けられてよい。図示されていないが、取外し可能な不揮発性の磁気ディスク（例えば「フロッピー（Ｒ）・ディスク」）に対して読取りおよび書込みするための磁気ディスク・ドライブと、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、または他の光学媒体など、取外し可能な不揮発性の光学ディスクに対して読取りまたは書込みするための光学ディスク・ドライブとが設けられてよい。このような事例では、各ドライブは、１つまたは複数のデータ媒体インタフェースによってバス１８に接続されてよい。後でさらに図示および記述されるように、メモリ２８は、本発明の実施形態の機能を遂行するように構成された１組の（例えば少なくとも１つの）プログラム・モジュールを有する少なくとも１つのプログラム製品を含むことができる。
【００３９】
１組の（例えば少なくとも１つの）プログラム・モジュール４２を有するプログラム／ユーティリティ４０が、限定ではなく例としてメモリ２８に記憶されてよく、また、オペレーティング・システム、１つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データも記憶されてよい。オペレーティング・システム、１つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データ、またはこれらの何らかの組合せはそれぞれ、ネットワーキング環境の一実装形態を含むことができる。プログラム・モジュール４２は一般に、本明細書に記載の本発明の実施形態の機能または方法あるいはその両方を遂行する。
【００４０】
コンピュータ・システム／サーバ１２はまた、１つまたは複数の外部デバイス１４と通信することができる。外部デバイス１４は、キーボード、ポインティング・デバイス、ディスプレイ２４など；ユーザがコンピュータ・システム／サーバ１２と対話できるようにする１つもしくは複数のデバイス；または、コンピュータ・システム／サーバ１２が１つもしくは複数の他のコンピューティング・デバイスと通信できるようにする任意のデバイス（例えば、ネットワーク・カード、モデムなど）；あるいはそれらのすべて、などである。このような通信は、入出力（Ｉ／Ｏ）インタフェース２２を介して行うことができる。さらに、コンピュータ・システム／サーバ１２は、ネットワーク・アダプタ２０を介して、ローカル・エリア・ネットワーク（ＬＡＮ）、一般的なワイド・エリア・ネットワーク（ＷＡＮ）、または公衆ネットワーク（例えばインターネット）、あるいはそれらのすべてなど、１つまたは複数のネットワークと通信することができる。図示のように、ネットワーク・アダプタ２０は、バス１８を介して、コンピュータ・システム／サーバ１２の他のコンポーネントと通信する。図示されていないが、他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方が、コンピュータ・システム／サーバ１２と共に使用されてもよいことを理解されたい。例としては、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、ＲＡＩＤシステム、テープ・ドライブ、およびデータ・アーカイバル・ストレージ・システムなどが挙げられるが、これらに限定されない。
【００４１】
次に図２を参照すると、例証的なクラウド・コンピューティング環境５０が描かれている。図示のように、クラウド・コンピューティング環境５０は、１つまたは複数のクラウド・コンピューティング・ノード１０を含み、クラウド消費者によって使用されるローカル・コンピューティング・デバイス、例えば、パーソナル・ディジタル・アシスタント（ＰＤＡ）もしくはセルラー電話機５４Ａ、デスクトップ・コンピュータ５４Ｂ、ラップトップ・コンピュータ５４Ｃ、または自動車コンピュータ・システム５４Ｎ、あるいはそれらのすべてなどが、クラウド・コンピューティング・ノード１０と通信することができる。ノード１０は、相互に通信することができる。これらは、前述のようなプライベート、コミュニティ、パブリック、もしくはハイブリッド・クラウド、またはこれらの組合せなど、１つまたは複数のネットワーク中で、物理的または仮想的にグループ化されてよい（図示せず）。これにより、クラウド・コンピューティング環境５０は、クラウド消費者がリソースをローカル・コンピューティング・デバイス上で維持する必要のない、インフラストラクチャ、プラットフォーム、またはソフトウェア・アズ・ア・サービス、あるいはそれらのすべてを提供することができる。図２に示されるコンピューティング・デバイス５４Ａ〜Ｎのタイプは例証に過ぎないものとし、コンピューティング・ノード１０およびクラウド・コンピューティング環境５０は、任意のタイプのネットワークまたはネットワーク対応可能接続あるいはその両方を介して（例えばウェブ・ブラウザを使用して）、任意のタイプのコンピュータ化デバイスと通信することができることを理解されたい。
【００４２】
次に図３を参照すると、クラウド・コンピューティング環境５０（図２）によって提供される１組の機能的抽象化レイヤが示されている。図３に示されるコンポーネント、レイヤ、および機能は例証に過ぎないものとし、本発明の実施形態はこれらに限定されないことを、あらかじめ理解されたい。図示のように、以下のレイヤおよび対応する機能が提供される。
【００４３】
ハードウェアおよびソフトウェア・レイヤ６０は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例としては、メインフレーム、ＲＩＳＣ（縮小命令セット・コンピュータ）アーキテクチャベースのサーバ、ストレージ・デバイス、ネットワーク、およびネットワーキング・コンポーネントが挙げられる。いくつかの実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェアを含む。仮想化レイヤ６２は、仮想エンティティの以下の例がそこから提供され得る抽象化レイヤを提供する。すなわち、仮想サーバ；仮想ストレージ；仮想プライベート・ネットワークを含む仮想ネットワーク；仮想アプリケーションおよびオペレーティング・システム；ならびに仮想クライアントが提供され得る。
【００４４】
一例では、管理レイヤ６４は、以下に述べる機能を提供することができる。リソース・プロビジョニングは、クラウド・コンピューティング環境内でタスクを実施するのに利用されるコンピューティング・リソースおよび他のリソースの動的な調達を提供する。計測および価格設定は、クラウド・コンピューティング環境内でリソースが利用されるのに伴うコスト追跡と、これらのリソースの消費に対する課金または送り状送付とを提供する。一例では、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含む場合がある。セキュリティは、クラウド消費者およびタスクに対する識別検証、ならびに、データおよび他のリソースのための保護を提供する。ユーザ・ポータルは、クラウド・コンピューティング環境へのアクセスを消費者およびシステム管理者に提供する。サービス・レベル管理は、必要とされるサービス・レベルが満たされるように、クラウド・コンピューティング・リソース割振りおよび管理を提供する。サービス・レベル・アグリーメント（ＳＬＡ）プランニングおよび履行は、ＳＬＡに従って、将来必要とされることが予期されるクラウド・コンピューティング・リソースの事前構成および調達を提供する。
【００４５】
ワークロード・レイヤ６６は、クラウド・コンピューティング環境を利用できる対象となる機能の例を提供する。このレイヤから提供できるワークロードおよび機能の例としては、マッピングおよびナビゲーション、ソフトウェア開発およびライフサイクル管理、仮想教室教育の送達、データ分析処理、トランザクション処理、ならびに、本発明の実施形態の質問および回答技術６８が挙げられる。
【００４６】
図４を参照しながら、本発明の一実施形態について説明する。図４に、ＱＡシステム４００の実施形態の機能ブロック図を示す。図４の機能ブロックは、１つまたは複数のプロセッサ１６を使用してコンピュータ実行可能プログラム・コードを含むプログラムを実行することによって、コンピュータ中で実現されてよい。
【００４７】
この記述では、「多言語」という用語は、ＱＡシステムが、入力された質問の要旨または要点に応じて、異なる複数の言語によって提供される１つの情報ソースまたは複数の情報ソースあるいはその両方を検索することによって、入力された質問に対する回答を生成することを意味する。
【００４８】
ＱＡシステム４００は、アナライザ４０２、単語セレクタ４０３、およびスコアラ４０４を備えることができる。アナライザ４０２は、ネットワークまたは他の適切な入力デバイスを介して「Who is an author of XYZ?（ＸＹＺの著者は誰か？）」などの質問４０１を受け取る。アナライザ４０２は、形態素解析、固有表現抽出、または従来のＱＡシステムで使用される他の技法、あるいはそれらのすべてを使用して、質問テキストを分析する。次いでアナライザ４０２は、上の分析結果を使用して、質問４０１中で出現した１組の単語を選択する。出力される１組の単語を選択するための例示的な定義は、形態素解析および固有表現抽出の結果に基づいて質問中の適正な名詞を選択することだが、動詞、形容詞、または副詞、あるいはそれらのすべてを抽出する他の定義が存在してもよい。
【００４９】
次いで、アナライザ４０２は、分類テーブル４０８を参照して、上記のプロセスで選択された各単語の１つまたは複数のカテゴリを決定する。分類テーブル４０８は、「ＸＹＺ：日本のＴＶショー」や「ＸＹＺ：マンガ・シリーズ」など、１つまたは複数のカテゴリ中の単語のペアを記憶している。分類テーブル４０８は、様々な言語のＷｉｋｉｐｅｄｉａ（商標）などの適切なデータベースからこれらの単語とそのカテゴリとのペアを収集することによって、本実施形態の処理に先立って生成されてよい。
【００５０】
質問４０１からの選択された各単語の、１つまたは複数のカテゴリが決定された後、アナライザ４０２は、上記のカテゴリを使用して、質問４０１に関連性があると予想される１組のトピックおよび地域を決定する。これについては後で図９に関して詳細に説明する。各トピックおよび地域は、単語として表され、したがって、１組のトピックおよび地域は、１組の単語として得られる。この１組の単語は、アナライザ４０２の出力として単語セレクタ４０３に送られる。
【００５１】
上記の各単語につき、単語セレクタ４０３は、この単語によって表されるトピックに関して記述するときに他の言語よりも多く使用されると予想される言語、またはこの単語によって表される地域で主に使用されると予想される言語を、情報ソース言語の候補として決定する。候補言語の決定は、トピック−言語テーブル４０９および地域−言語テーブル４１０を参照することによって行われ、これについては後で詳細に説明する。単語セレクタ４０３は、トピックと言語のペア、または地域と言語のペア、あるいはその両方を、スコアラ４０４に出力する。
【００５２】
ここで、トピック−言語テーブル４０９は、トピックを表す単語と、ペアにされたトピックに関するドキュメントを他の情報ソースと比較してより多く含む情報ソース中で使用されると予想される言語と、のペアを記憶する。トピック−言語テーブル４０９は、質問中のトピックを、そのトピックに関連性のある言語に関係付けることができる。地域−言語テーブル４１０は、通り、都市、または別のタイプの地理的位置もしくは地域を表す単語と、ペアにされた地理的位置または地域で主に使用される言語と、のペアを記憶する。地域−言語テーブル４１０は、質問中の地域を、その地域に関連性のある言語に関係付けることができる。これらのデータ構造の特定の実施形態については後述する。
【００５３】
一実施形態では、質問が「Who is an author of XYZ?」であり、アナライザ４０２が、「ＸＹＺ」を抽出し、そのカテゴリを分類テーブル４０８から「マンガ・シリーズ」および「日本のＴＶショー」として見つけ、関係するトピックおよび地域を｛”マンガ”，”日本”，”ＴＶ”｝として推定するが、この実施形態では、単語セレクタ４０３は、「マンガ」、「日本」、および「ＴＶ」という名称のトピックおよび地域を、トピック−言語テーブル４０９および地域−言語テーブル４１０から探し、トピック−言語テーブル４０９から「マンガ：日本語」および「ＴＶ：英語」トピック・エントリを見つけ、地域−言語テーブル４１０から「日本：日本語」地域エントリを見つける。
【００５４】
ここで、カテゴリ、トピック、地域、および言語の間の関係によって、または、質問に含まれるこれらの特徴の任意の組合せならびに各々によって、あるいはその両方によって、質問者から発せられた質問の要旨を決定することができ、質問の要旨に応じて、ＩＳ言語ならびにＩＳの選択を決定することができる。
【００５５】
スコアラ４０４は、単語セレクタ４０３から転送された、トピックまたは地域と言語との入力ペアにおける、各言語のスコアを算出する。一実施形態では、例えば、スコアラ４０４は、上記の入力における言語の頻度をそれらのスコアとして使用することができ、最も高頻度の言語をＩＳ言語として選択することができる。この実施形態では、単語セレクタ４０３は、トピックと言語とのペア｛”マンガ：日本語”，”ＴＶ：英語”｝、および地域と言語とのペア｛”日本：日本語”｝を出力する。スコアラ４０４は、入力における成分の頻度を数えることによって、日本語＝２および英語＝１としてスコアを算出する。次いでスコアラ４０４は、質問４０１に使用されるＩＳ言語が、最も高いスコアを得た日本語であると決定する。
【００５６】
図４のＱＡシステムはさらに、検索および回答ジェネレータ４０５と、回答トランスレータ４０６とを備える。スコアラ４０４は、質問に使用されるＩＳ言語を検索および回答ジェネレータ４０５に送り、検索および回答ジェネレータ４０５は、質問の元言語がＩＳ言語と異なる場合には、機械翻訳エンジンを使用して質問をＩＳ言語に翻訳する。次いで、検索および回答ジェネレータ４０５は、ＩＳ言語の質問を検索クエリに変換して、ＩＳ言語の情報ソースから、質問に関連性のあるコンテンツを検索して取り出す。質問「Who is an author of XYZ?」の例では、入力された質問が英語で提供されているにもかかわらず、英語（ＥＮ）情報ソース４１２ではなく日本語（ＪＰ）情報ソース４１１が、質問の回答の生成に使用される。次いで、検索および回答ジェネレータ４０５は、既存のＱＡシステムと同じ技法を使用して、入力された質問の候補回答を生成してスコア付けする。
【００５７】
検索および回答ジェネレータ４０５が１組の候補回答を得た後で、ＩＳ言語が質問の元言語と異なる場合、検索および回答ジェネレータ４０５は、候補回答を質問の言語に翻訳するために、候補回答を回答トランスレータ４０６に送る。図４の実施形態では、候補回答は、日本語の「ジョン・ドウ」と仮定され、回答トランスレータ４０６は、日本語の候補回答を「Ｊｏｈｎ  Ｄｏｅ」として英語に翻訳し、回答４０７として返す。
【００５８】
回答４０７は、言語フォーマットとして、ならびに音声処理されたサウンド・フォーマットとして、質問４０１を要求したユーザに返されてよく、ユーザは、関連性のある情報ソースを使用した、質問に関する関連性のある情報を得ることができる。情報ソースは、ネットワークを介して利用可能な任意のデータベースであってよく、このようなデータベースの一例はＷｉｋｉｐｅｄｉａ（商標）であり、Ｗｉｋｉｐｅｄｉａは、人々、場所、および他の固有表現に関する、種々の言語による多量の情報を含むが、データベースはこれに限定されず、企業、政府、または任意の組織、あるいはそれらのすべてのデータベースが使用されてもよい。
【００５９】
図５に、図４に示されるＱＡシステム４００によって実行されるプロセスのフローチャートを示す。図５のプロセスはステップＳ５００から開始し、自然言語で入力された質問がアナライザ４０２によって受け取られる。自然言語入力はテキスト・フォーマットであってよく、テキストは、既知の音声認識アプリケーションを使用して発話音声から得られたものであってもよい。次いでアナライザ４０２は、ステップＳ５０１で、形態素解析を含めた従来の言語分析プロシージャを使用して、質問の言語の分析を実施し、質問中に存在する１つまたは複数の単語を抽出する。
【００６０】
次いで、ステップＳ５０２で、アナライザ４０２は、分類テーブル４０８を参照することによって少なくとも１つの単語のカテゴリを識別し、このカテゴリを使用して、質問４０１に関連性があると予想されるトピックまたは地域あるいはその両方を決定する。次いで、ステップＳ５０３で、単語セレクタ４０３が、トピック−言語テーブル４０９および地域−言語テーブル４１０を使用して、ＩＳ言語の１つまたは複数の候補を決定する。単語セレクタ４０３は、トピック−言語ペアのグループｐ＝｛ｐ１：ｌ１，．．．ｐａ：ｌａ｝を出力する。ｐｉはｉ番目のトピックであり、ｌｉは、ｉ番目のトピックを他の言語よりも良く記述すると予想されるｉ番目の言語である。単語セレクタ４０３はまた、地域−言語ペアのグループｒ＝｛ｒ１：ｌ１，．．．，ｒｂ：ｌｂ｝も生成する。ここで、ｒｉはｉ番目の地域であり、ｌｉは、ｉ番目の地域で主に使用されるｉ番目の言語である。
【００６１】
ステップＳ５０４で、スコアラ４０４が、グループ「ｐ」およびグループ「ｒ」を使用して、１つまたは複数のＩＳ言語候補をランク付けする。スコアラ４０４は、ステップＳ５０４で、例えばグループ「ｐ」および「ｒ」中で出現する言語のうちで最も出現頻度の高い言語として、ＩＳ言語を決定して、対応するＩＳを得る。
【００６２】
次いで、検索および回答ジェネレータ４０５が、ステップＳ５０５で、決定されたＩＳ言語で提供される情報ソースに検索クエリを送出して、回答候補を取り出し、従来の検索エンジンの方法に従って候補をスコア付けする。スコア付けは、既知の技術を使用して、例えば、質問と取り出されたドキュメントとの間のキーワード・マッチングを使用して行うことができるが、これに限定されず、他の任意のスコア付け方法が可能であろう。
【００６３】
ステップＳ５０６で、検索および回答ジェネレータ４０５によって、例えば質問に対して最も関連性の高いドキュメントとして、回答が決定される。次いで、ドキュメントは、回答トランスレータ４０６によって、ＩＳ言語から質問の言語に翻訳されてよい。次いで、翻訳された回答は、質問を発したユーザ装置に返されて、質問−回答サイクルが完了する。
【００６４】
次に、図６〜８を参照しながら、データ構造の実施形態について述べる。図６に、分類テーブル４０８の一実施形態を示す。分類テーブル４０８は、トピック−言語テーブル４０９および地域−言語テーブル４１０の参照を可能にするために、キーワード６１０とそのカテゴリ６２０とをリストする。分類テーブル４０８は、事前に準備されてよく、適切な検索ロボット・システムによってＷｉｋｉｐｅｄｉａ（商標）などの無料データベース・システムから定期的に更新されてよい。
【００６５】
図７に、トピック−言語テーブル４０９の一実施形態を示すが、トピック−言語テーブル４０９は、トピック７１０と、トピックについて記述されるときに他の言語よりも多く使用されると予想される言語７２０とをリストする。トピック−言語テーブル４０９は、手作業で準備されてもよく、または、すべての言語バージョン中で各カテゴリ（トピック）にマッピングされるＷｉｋｉｐｅｄｉａエントリの数を数え、各Ｗｉｋｉｐｅｄｉａカテゴリ中で与えられる言語間リンクを使用してこれらの数を言語間で比較し、カテゴリと最も多くのリンクされたエントリを有する言語とをリストすることによって生成されてもよい。しかしこれに限定されず、他の既知の方法も除外されないであろう。例示的な一実施形態については、検索および回答ジェネレータ４０５の処理および機能を参照することができる。
【００６６】
図８に、地域−言語テーブル４１０の一実施形態を示す。地域−言語テーブル４１０は、地域８１０を言語８２０にリンクする。地域−言語テーブル４１０は、分類テーブル４０８から取り出されたカテゴリが、日本、アメリカ合衆国、フランス語、スペイン語、グレート・ブリテンなどの地域情報を含むときに、有効であることがある。地域−言語テーブル４１０は、国、都市、または、地理的領域を意味する他のカテゴリにマッピングされるＷｉｋｉｐｅｄｉａエントリを見つけ、それらの情報ボックス（その地域で使用される言語情報しばしば含む）を解析することによって、または単に、任意の言語を意味する単語をＷｉｋｉｐｅｄｉａエントリから抽出することによって、事前に準備されてよい。しかしこれに限定されず、他の任意の既知の方法が可能であろう。特定の地域に複数の言語があるときは、地域の言語を、そのような地域で最も一般的な言語に選択することができる（インドにおけるヒンディー語など）。分類テーブル４０８から取り出されたカテゴリに応じて、トピック−言語テーブル４０９と地域−言語テーブル４１０とは、独立して、または共同で、あるいはその両方で、ＩＳ言語の決定に適用されてよい。
【００６７】
次に、再び図５を参照し、ステップＳ５０２およびＳ５０３のサブプロセスについて詳述する。図９に、アナライザ４０２によって実行される、カテゴリからトピックおよび地域を決定するためのステップＳ５０２のサブプロセスの詳細な処理を示す。アナライザ４０２は、ステップＳ９００から開始し、言語分析によって、入力された質問中の単語をリストする。ステップＳ９０１で、アナライザ４０２は、単語を抽出し、抽出された単語を名詞グループｔ＝｛ｔ１，．．．，ｔｋ｝に設定する。次いで、ステップＳ９０２で、アナライザ４０２によって、分類テーブル４０８を使用して、抽出された単語に対応するカテゴリがカテゴリ・グループｃ＝｛ｃ１，．．．，ｃｎ｝に設定される。各カテゴリｃは、名詞句によって表される。
【００６８】
次いで、ステップＳ９０３で、アナライザ４０２は、カテゴリ・グループ中のカテゴリを個別の単語ｗ０＝｛ｗ１，．．．，ｗｍ｝として分割するが、これは、カテゴリに関連性のあるトピックおよび地域に関係する単語を含む。さらに、ステップＳ９０４で、アナライザ４０２は、単語グループｗ０における単語の頻度を数え、ステップＳ９０５で、アナライザ４０２は、最も高頻度のＮ個の単語ｗ＝｛ｗ１，．．．，ｗｎ｝を、入力された質問に関係する推定されるトピックおよび地域として抽出する。
【００６９】
推定されるトピックおよび地域を選択する際、分類テーブル４０８に記憶されたすべてのカテゴリ中で、所与のしきい値よりも多く出現する単語を選択することが可能である。しかしこれに限定されず、任意の既知の方法を使用することができる。
【００７０】
図１０に、推定されるトピックおよび地域ｗに関連性のある言語を決定するための図５のステップＳ５０３のサブプロセスの詳細を示す。ステップＳ１０００で、単語セレクタ４０３が、ステップＳ９０５で定義された単語グループｗから単語を取り出し、次いで、ステップＳ１００１で、これらの単語を取出しキーとして、トピック−言語テーブル４０９および地域−言語テーブル４１０内で検索して、ＩＳ言語候補グループＬ＝｛Ｌ１，．．．Ｌｎ｝を生成する。ここで、Ｌｊは、ステップＳ１００１でトピック−言語テーブル４０９および地域−言語テーブル４１０をルックアップすることによって見つかった言語を指す。このステップでは、グループｗ中の単語に応じて、言語グループＬ中の複数の言語が取り出される場合がある。次いで、図１０に示されるように、ＩＳ言語候補はデータとして出力されてよい。
【００７１】
図１０のサブプロセス、すなわち図５のステップＳ５０３の後、スコアラ４０４が、同じ言語の出現頻度を算出して、グループＬのうちで質問に最も関連性のある言語Ｌを決定する。最も関連性のある言語の決定は、この実施形態では、最も高頻度の言語を選択することによって達成することができるが、これに限定されず、他の任意の既知の方法によって達成することができる。同じ出現頻度の言語が見つかったときは、ＱＡシステムは、同じ出現頻度の言語に対応する情報ソースによって得られた回答を提供することができる。別法として、トピック−言語テーブル４０９および地域−言語テーブル４１０に重みを提供することも可能であろう。
【００７２】
ＱＡシステムは、質問に関連性のある言語をＩＳ言語として決定し終え、ＱＡシステムは、ステップＳ５０５で、ＩＳ言語で提供されるコンテンツを含む情報ソースからの情報取出しを達成する。この実施形態では、質問が、ＩＳ言語に関連性のない多くの単語を含む自然言語として入力された場合は、不必要な単語を省いて最も関連性のある言語を選択することによって、最も関連性のあるＩＳ言語を決定することが可能である。
【００７３】
図１１に、ＱＡシステム１１００の別の実施形態の機能ブロック図を示す。図１１の実施形態では、ＱＡシステム１１００は複数の情報ソース内で検索し、ＩＳ言語は、スコアラ１１０４によって決定された言語による１つの情報ソースによってではなく、取り出された情報量によって決定されることになる。アナライザ１１０２、単語セレクタ１１０３、検索および回答ジェネレータ１１０５、ならびに回答トランスレータ１１０７の機能は、図４に示される第１の実施形態と同様であり、以下では詳細な説明は省略する。
【００７４】
図１１の実施形態では、第１の実施形態で述べたように、スコアラ１１０４が、カテゴリに関連性のある言語をリストアップする。しかし、スコアラ１１０４は、ＩＳ言語を特定の言語に決定せずに、これらの言語をＩＳ言語候補として検索エンジン１１０５に送る。スコアラ１１０４が検索エンジン１１０５に通知した各ＩＳ言語候補に質問が翻訳された後、検索エンジン１１０５は、質問に関連性のあるドキュメントを情報ソース内で検索する。
【００７５】
この実施形態では、回答セレクタ１１０６が、各情報ソースから取り出されたドキュメントの数に応じて、質問に関連性のある言語を選択することができる。回答セレクタ１１０６は、ＩＳ言語と、はるかに多くのドキュメントが取り出された情報ソースとを決定する。回答セレクタ１１０６は、取り出された最もリッチな結果および言語のうちから、回答トランスレータ１１０７による翻訳にかけられることになるドキュメントを選択することができる。情報ソースが決定されると、取り出されたドキュメントは、既知の技術、例えば、質問と取り出されたドキュメントとの間のキーワード・マッチングを使用して、第１の実施形態で述べたのと同じ方法でランク付けされる。回答は、最も高いキーワード・マッチング・スコアを有するドキュメントとして決定されてよいが、これに限定されず、他の任意のスコア付け方法で決定されてよい。回答トランスレータ１１０７は、質問に対する回答のためにドキュメントを受け取り、ドキュメントを翻訳して、質問の言語で回答１１０８を生成する。
【００７６】
図１１に示される実施形態は、質問の要旨または要点に関連性のある言語のドキュメントを多く記憶した情報ソースから回答を生成することができ、次いで、利用可能なデータベース中の最も信頼性のあるコンテンツを使用して、質問に対する回答を与えることができるが、検索エンジンにとっての、計算時間またはハードウェア要件あるいはその両方が増加する可能性がある。
【００７７】
図１２に、図１１に示されるＱＡシステム１１００によって実行されるプロセスのフローチャートを示す。プロセスはステップＳ１２００から開始し、アナライザ１１０２が、質問に関連性のある推定されるトピックおよび地域をリストして、単語グループｗ＝｛ｗｊ，．．，ｗｋ｝を形成する。次いで、ステップＳ１２０１で、検索および回答ジェネレータ１１０５が、単語ベースで、および単語に関連性のある言語で、複数の検索を実行し、単語グループｗに関係する異なる複数の言語による異なる複数の情報ソース１２０５、１２０６から、単語グループｗ中の１つまたは複数の単語を含むドキュメントを取り出す。取り出された結果は、それぞれ、検索に使用された言語ごとに記憶されてよい。
【００７８】
ステップＳ１２０３で、プロセスは、検索されたあらゆる言語について、単語グループ｛ｗ｝中の検索単語ごとにドキュメントの平均数を算出する。結果として、ステップＳ１２０４で、言語と、取り出されたドキュメントの平均数とのペアが生成される。ＱＡシステム１１００は、質問に関する最もリッチなドキュメントを含む検索結果から、ドキュメントを選択することができ、また、ＩＳ言語を選択することができる。この実施形態では、情報ソースとＩＳ言語とを同時に決定することができ、回答となるべきドキュメントは、ターゲット言語を知ることなく取り出すことができる。したがって、この実施形態は、質問に最も一致するであろうが、並列検索または検索オーバヘッドを必要とするであろう。
【００７９】
図１３に、ＱＡシステム１３００の別の実施形態の機能ブロックを示す。図１３の機能ブロックのうち、アナライザ１３０２、検索エンジン１３０５、回答トランスレータ１３０６、および回答１３０７は、第１の実施形態および第２の実施形態と同様であり、したがってこれ以上の詳細は省略する。
【００８０】
第３の実施形態は、単語ベクトル・ジェネレータ１３０３および言語分類器トレーナ１３０４を含む。単語ベクトル・ジェネレータ１３０３は、アナライザ１３０２によって決定された単語から、単語と、対応する単語の出現頻度とを含む単語ベクトル、すなわちＷ＝｛ｗｏｒｄ１，ｆｒｅｑｕｅｎｃｙ１，．．．，ｗｏｒｄｎ，ｆｒｅｑｕｅｎｃｙｎ｝を生成する。言語分類器トレーナ１３０４は、言語分類器モデル１３０８を使用して単語ベクトルＷを分類することによって、単語ベクトルＷから関連性のある言語を決定する。
【００８１】
検索および回答ジェネレータ１３０５は、決定された言語の情報ソース１３０９内で検索する。言語分類器モデル１３０８は、従来の単一言語ＱＡシステムの結果を学習することによって、事前に準備されてよい。ここで、言語分類器モデル１３０８の形成について述べる。図１３に示される実施形態によれば、言語分類器モデル１３０８の訓練が進むにつれて、ＩＳ言語およびＩＳの決定は、より少ない時間消費でますます正確になるであろう。
【００８２】
図１４に、質問−ＩＳ言語モデルを形成するためのプロセスを示す。プロセスはステップＳ１４００から開始し、プロセスは最初に、訓練質問と言語とのペアを準備し、ペアにされた言語の回答を検索する。回答が正しいかまたは質問に関連性があるかあるいはその両方であるときは、プロセスは、そのようなペアを言語分類器モデル１３０８に記録および記憶する。次いで、アナライザ１３０２が、ステップＳ１４０１で、質問中の単語を、単語と単語の出現頻度とを含む単語ベクトルに変換する。加えて、正しいかまたは関連性があるかあるいはその両方の回答を返した言語も、単語ベクトルと共に送られる。Ｓ１４０２で、単語ベクトルは、言語分類器モデル１３０８を訓練するために、同じ言語ごとに言語分類器モデル１３０８に記憶される。
【００８３】
言語分類器トレーナ１３０４は、従来のサポート・ベクトル・マシンまたは従来のロジスティック回帰アルゴリズムを用いて実装されてよい。言語分類器トレーナ１３０４の訓練は、言語分類器トレーナ１３０４に対して実装されるアルゴリズムに従って、単語ベクトルを変数として使用し、ペアにされた言語を目的関数として使用して、達成することができる。言語分類器トレーナ１３０４の訓練が完了した後、ステップＳ１４０３で、言語分類器モデル１３０８が確立される。
【００８４】
図１５に、図１４のプロセスの概略図を示す。図１５で、訓練質問文１５００は、「Whois the Russian novelist writing "The Brothers of Karamazov?"」である。単語ベクトル・ジェネレータ１３０３が、一般形式１５１０の単語ベクトルを生成する。訓練質問文１５００に関する特定の一実施形態では、単語ベクトル１５２０は、図１５に示されるように｛（Ｔｈｅ  Ｂｒｏｔｈｅｒｓ  ｏｆ  Ｋａｒａｍａｚｏｖ，１），（Ｒｕｓｓｉａ，１），（ｎｏｖｅｌｉｓｔ，１）｝である。ロシア語の情報ソースを使用する従来の単一言語ＱＡシステムが訓練質問文１５００に正しく回答できるとき、単語ベクトル１５２０は、訓練データ中で言語ロシア語にリンクされる。上に示されるような単語ベクトルと言語とのペアのセットは、言語分類器モデル１３０８としての実装されるアルゴリズムに従って単語ベクトルと言語との間の最も可能性の高い関係を学習するための、言語分類器トレーナ１３０４への入力である。
【００８５】
図１６に、質問の受取りからＩＳ言語の決定までの、ＱＡシステム１３００のプロセスの一実施形態を示す。図１６のプロセスはＳ１６００から開始して、入力された質問が受け取られる。次いで、アナライザ１３０２が質問を分析し、単語ベクトル・ジェネレータ１３０３が、ステップＳ１６０１で、言語分類器モデル１３０８の訓練に使用された単語テンプレートを使用して、質問の特徴ベクトルである単語ベクトルを生成する。単語テンプレート中でリストされていない単語が存在する場合は、単語は第１および第２の実施形態のプロセスによって別個に分析されてよく、このような分析の結果は、言語分類器トレーナ１３０４の結果に組み込まれてよい。
【００８６】
ステップＳ１６０２で、単語ベクトルは言語分類器トレーナ１３０４に入力されて、言語分類器モデル１３０８が参照され、質問に対処するための好ましい最も可能性の高い言語が得られる。次いで、ステップＳ１６０３で、この好ましい最も可能性の高い言語は、ＩＳ言語に設定される。その後、検索および回答ジェネレータ１３０５が、決定されたＩＳ言語によって作成されたＩＳ内で検索して、回答１３０７を生成するためのドキュメントを取り出す。
【００８７】
本発明のさらに別の実施形態では、新しい質問についての単語ベクトルが得られると、新しい単語ベクトルと訓練による記憶済みの単語ベクトルとの内積が計算されてよく、それにより、訓練された単語ベクトルに対する新しい単語ベクトルの類似性が推定されてよい。類似性に応じて、すなわち、内積の値が所定しきい値よりも高いときは、新しい質問に対するＩＳ言語は、このより高い内積を与える訓練された単語ベクトルを含む言語に決定される。
【００８８】
本実施形態のビジネス適用性については、これらの実施形態は、グローバル会社におけるインターネット検索エンジンとして適用可能であろう。日本の子会社におけるインターネット・ページのほとんどが日本語で書かれ、英語ページが日本語コンテンツよりもずっと少ないか、または英語コンテンツがごくわずかであるかもしくはまったくないとき、本実施形態によれば、子会社における英語話者ユーザは、日本語と英語の両方のコンテンツにアクセスすることができ、英語コンテンツの利用可能性を考慮することなく英語の回答を得ることができる。
【００８９】
他のビジネス適用性は、国際オンライン・ショッピングのための製品検索エンジンであろう。オンライン・ショッピング会社が多様なジャンルの製品を販売するとき、製品は、多くの言語で書かれた重複的な製品記述を有するはずである。本実施形態を使用することによって、会社は製品検索システムを提供することができ、このシステムは、エンド・ユーザの要求または需要を記述する文をシステムへの入力として受け入れ、これらの製品記述を分析することによって製品のリストをエンド・ユーザの要求または需要と同じ言語で回答として返す。
【００９０】
本発明の本実施形態はまた、音声入力から転記された質問を受け入れること、ならびに、コンピュータ合成音声によって回答を返すこともできる。
【００９１】
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはそれらのすべてとすることができる。コンピュータ・プログラム製品は、本発明の態様をプロセッサに遂行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体（１つまたは複数）を含むことができる。
【００９２】
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用される命令を保持および記憶できる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組合せとすることができるが、これらに限定されない。
【００９３】
コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、消去可能プログラム可能な読取専用メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク読取専用メモリ（ＣＤ−ＲＯＭ）、ディジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、フロッピー（Ｒ）・ディスク、機械的にエンコードされたデバイス（命令が記録された、パンチカード、または溝の中の隆起構造など）、およびこれらの任意の適切な組合せを含む。
【００９４】
本明細書におけるコンピュータ可読ストレージ媒体は、電波もしくは他の自由伝搬する電磁波、導波管もしくは他の伝送媒体を介して伝搬する電磁波（例えば、光ファイバ・ケーブルの中を通る光パルス）、またはワイヤを介して伝送される電気信号など、一時的な信号自体と解釈されるべきではない。
【００９５】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング／処理デバイスにダウンロードされてよく、あるいは、ネットワーク（例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくはワイヤレス・ネットワーク、またはそれらのすべて）を介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードされてよい。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはそれらのすべてを含むことができる。
【００９６】
各コンピューティング／処理デバイス中の、ネットワーク・アダプタ・カードまたはネットワーク・インタフェースが、コンピュータ可読プログラム命令をネットワークから受け取り、これらのコンピュータ可読プログラム命令を、それぞれのコンピューティング／処理デバイス内のコンピュータ可読ストレージ媒体に記憶されるように転送する。
【００９７】
本発明の動作を遂行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ（ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データであってよく、または、Ｓｍａｌｌｔａｌｋ（Ｒ）やＣ＋＋などのオブジェクト指向プログラミング言語、および、「Ｃ」プログラミング言語や類似のプログラミング言語などの従来の手続き型プログラミング言語を含めた、１つもしくは複数のプログラミング言語の任意の組合せで書かれたソース・コードとオブジェクト・コードとのいずれかであってよい。
【００９８】
コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行されるか、スタンドアロンソフトウェアパッケージとして部分的にユーザのコンピュータ上で実行されるか、部分的にユーザのコンピュータ上で実行され部分的にリモート・コンピュータ上で実行されるか、または完全にリモート・コンピュータもしくはサーバ上で実行される場合がある。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）もしくはワイド・エリア・ネットワーク（ＷＡＮ）を含めた任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、または、接続は、外部コンピュータに対して（例えば、インターネット・サービス・プロバイダを使用してインターネット経由で）行われてもよい。
【００９９】
いくつかの実施形態では、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、またはプログラマブル・ロジック・アレイ（ＰＬＡ）を例えば含む電子回路が、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個人化することによって、コンピュータ可読プログラム命令を実行することができる。
【０１００】
本明細書では、本発明の態様を、本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品の、フローチャート説明またはブロック図あるいはその両方に関して述べている。フローチャート説明またはブロック図あるいはその両方の各ブロック、ならびに、フローチャート説明またはブロック図あるいはその両方の中のブロックの組合せを、コンピュータ可読プログラム命令によって実現できることは理解されるであろう。
【０１０１】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロック中で指定される機能／行為を実現する手段をもたらすように、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供されて、マシンを生み出すものであってよい。これらのコンピュータ可読プログラム命令はまた、命令が記憶されたコンピュータ可読ストレージ媒体が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロック中で指定される機能／行為の態様を実現する命令を含む製造品を含むように、コンピュータ可読ストレージ媒体に記憶され、コンピュータ、プログラム可能データ処理装置、または他のデバイス、あるいはそれらのすべてに、特定の方式で機能するよう指令することができるものであってもよい。
【０１０２】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能装置、または他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロック中で指定される機能／行為を実現するように、コンピュータ実装プロセスを生み出すべく、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
【０１０３】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態の、アーキテクチャ、機能、および動作を示す。これに関して、フローチャートまたはブロック図の中の各ブロックは、モジュール、セグメント、または命令の一部を表すことができ、これは、指定される論理機能を実現するための１つまたは複数の実行可能命令を含む。いくつかの代替実装形態では、ブロック中で示される機能は、図中で示される順序とは異なる順序で生じる場合がある。
【０１０４】
例えば、関連する機能に応じて、連続して示される２つのブロックが実際にはほぼ同時に実行される場合もあり、またはこれらのブロックが逆の順序で実行されることもある。また、ブロック図またはフローチャート説明あるいはその両方の各ブロック、および、ブロック図またはフローチャート説明あるいはその両方の中のブロックの組合せは、指定される機能もしくは行為を実施するかまたは専用ハードウェアとコンピュータ命令との組合せを遂行する、専用ハードウェアベースのシステムによって実現できることにも気付くであろう。
【０１０５】
本明細書で使用される用語は、特定の実施形態を記述するためのものに過ぎず、本発明を限定するものとはしない。本明細書において、単数形「a」、「an」、および「the」は、コンテキストがはっきりとそうでないと示さない限り、複数形も含むものとする。さらに、「含む、備える（「comprises」または「comprising」あるいはその両方）」という用語が本明細書で使用されるとき、これらは、記載された特徴、整数、ステップ、動作、要素、またはコンポーネント、あるいはそれらのすべての存在を指定するが、１つまたは複数の他の特徴、整数、ステップ、動作、要素、コンポーネント、またはこれらのグループ、あるいはそれらのすべての存在または追加を排除しないことも、理解されるであろう。
【０１０６】
以下の特許請求の範囲におけるすべてのミーンズまたはステップ・プラス・ファンクション要素の、対応する構造、材料、行為、および均等物は、もしあれば、具体的に請求される他の特許請求要素との組合せで機能を実施するための任意の構造、材料、または行為を含むものとする。本発明の１つまたは複数の態様についての記述は、例証および記述の目的で提示したものであり、網羅的なもの、または開示される形の発明に限定されるものとはしない。
【０１０７】
本発明の様々な実施形態についての記述を例証の目的で提示したが、これらの記述は、網羅的なものとはせず、また、開示される実施形態に限定されるものともしない。述べた実施形態の範囲および思想を逸脱することなく、多くの変更および変形が当業者には明らかになるであろう。本明細書で使用される用語は、実施形態の原理、実際の応用、または市場でみられる技術に勝る技術的改善を最もうまく説明するために、または、本明細書に開示される実施形態を他の当業者が理解できるようにするために、選ばれたものである。
【符号の説明】
【０１０８】
１０  クラウド・コンピューティング・ノード
１２  コンピュータ・システム／サーバ
１４  外部デバイス
１６  プロセッサまたは処理ユニット
１８  バス
２０  ネットワーク・アダプタ
２２  入出力（Ｉ／Ｏ）インタフェース
２４  ディスプレイ
２８  システム・メモリ
３０  ランダム・アクセス・メモリ（ＲＡＭ）
３２  キャッシュ・メモリ
３４  ストレージ・システム
４０  プログラム／ユーティリティ
４２  プログラム・モジュール
５０  クラウド・コンピューティング環境
５４Ａ  パーソナル・ディジタル・アシスタント（ＰＤＡ）もしくはセルラー電話機
５４Ｂ  デスクトップ・コンピュータ
５４Ｃ  ラップトップ・コンピュータ
５４Ｎ  自動車コンピュータ・システム
６０  ハードウェアおよびソフトウェア・レイヤ
６２  仮想化レイヤ
６４  管理レイヤ
６６  ワークロード・レイヤ
６８  質問および回答技術
４００  ＱＡシステム
４０１  質問
４０２  アナライザ
４０３  単語セレクタ
４０４  スコアラ
４０５  検索および回答ジェネレータ
４０６  回答トランスレータ
４０７  回答
４０８  分類テーブル
４０９  トピック−言語テーブル
４１０  地域−言語テーブル
４１１  日本語（ＪＰ）情報ソース
４１２  英語（ＥＮ）情報ソース
６１０  キーワード
６２０  カテゴリ
７１０  トピック
７２０  言語
８１０  地域
８２０  言語
１１００  ＱＡシステム
１１０１  質問
１１０２  アナライザ
１１０３  単語セレクタ
１１０４  スコアラ
１１０５  検索および回答ジェネレータ、検索エンジン
１１０６  回答セレクタ
１１０７  回答トランスレータ
１１０８  回答
１２０５  情報ソース
１２０６  情報ソース
１３００  ＱＡシステム
１３０２  アナライザ
１３０３  単語ベクトル・ジェネレータ
１３０４  言語分類器トレーナ
１３０５  検索および回答ジェネレータ、検索エンジン
１３０６  回答トランスレータ
１３０７  回答
１３０８  言語分類器モデル
１３０９  情報ソース
１５００  訓練質問文
１５１０  一般形式
１５２０  単語ベクトル
【図１】
0006734748.tif 000002
【図２】
0006734748.tif 000003
【図３】
0006734748.tif 000004
【図４】
0006734748.tif 000005
【図５】
0006734748.tif 000006
【図６】
0006734748.tif 000007
【図７】
0006734748.tif 000008
【図８】
0006734748.tif 000009
【図９】
0006734748.tif 000010
【図１０】
0006734748.tif 000011
【図１１】
0006734748.tif 000012
【図１２】
0006734748.tif 000013
【図１３】
0006734748.tif 000014
【図１４】
0006734748.tif 000015
【図１５】
0006734748.tif 000016
【図１６】
0006734748.tif 000017