(57)【要約】      （修正有）【課題】ウェブリソースから見出語辞書を自動的に生成する方法を提供する。【解決手段】ウェブリソースからオントロジを自動的に生成する方法は、ウェブリソース内のテキストドキュメントから複数のトークンを抽出するステップと、複数のトークンから複数のＮグラムを生成するステップと、有効なＮグラムを特定する１つ以上のフィルタ定義を受信するステップと、１つ以上のフィルタ定義を用いて複数のＮグラムをフィルタリングすることによって、見出語辞書を生成するステップと、見出語辞書を含むオントロジを生成するステップとを含む。【選択図】図３
2018097887.tif 000002
【特許請求の範囲】
【請求項１】
ウェブリソースから見出語辞書を自動的に生成する方法であって、
前記ウェブリソース内のテキストドキュメントから複数のトークンを抽出するステップと、
前記複数のトークンから複数のＮグラムを生成するステップと、
有効なＮグラムを特定する１つ以上のフィルタ定義を受信するステップと、
前記１つ以上のフィルタ定義を用いて前記複数のＮグラムをフィルタリングすることによって、見出語辞書を生成するステップと、
前記見出語辞書を含むオントロジを生成するステップとを含む、方法。
【請求項２】
前記テキストドキュメントから前記複数のトークンを抽出するステップは、構造テキストおよび書式設定テキストを特定し、前記複数のトークンから除去することを含む、請求項１に記載の方法。
【請求項３】
前記ウェブリソースは、ウェブドメインを含み、
前記ウェブドメインは、複数のＨＴＭＬウェブページを含む、請求項１に記載の方法。
【請求項４】
前記複数のＮグラムを生成するステップは、前記ウェブリソースに出現する単語の組み合わせを生成することを含む、請求項１に記載の方法。
【請求項５】
前記複数のＮグラムをフィルタリングした後、ユーザインターフェイスに表示させるステップと、
前記見出語辞書から少なくとも１つのＮグラムを除去する入力を受信するステップとをさらに含む、請求項１に記載の方法。
【請求項６】
前記１つ以上のフィルタ定義は、Ｎグラムの各トークンに対応する品詞フィルタを含む、請求項１に記載の方法。
【請求項７】
前記１つ以上のフィルタ定義は、テキストパターンを含む、請求項１に記載の方法。
【請求項８】
前記１つ以上のフィルタ定義は、前記ウェブリソースに出現するＮグラムの最小頻度を含む、請求項１に記載の方法。
【請求項９】
前記１つ以上のフィルタ定義は、言語の選択を含む、請求項１に記載の方法。
【請求項１０】
命令を含む非一時的なコンピュータ可読媒体であって、前記命令は、１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに以下の操作を実行させ、当該操作は、
前記ウェブリソース内のテキストドキュメントから複数のトークンを抽出する操作と、
前記複数のトークンから複数のＮグラムを生成する操作と、
有効なＮグラムを特定する１つ以上のフィルタ定義を受信する操作と、
前記１つ以上のフィルタ定義を用いて前記複数のＮグラムをフィルタリングすることによって、見出語辞書を生成する操作と、
前記見出語辞書を含むオントロジを生成する操作とを含む、非一時的なコンピュータ可読媒体。
【請求項１１】
前記複数のＮグラムを生成する操作は、前記ウェブリソースに出現する単語の組み合わせを生成することを含む、請求項１０に記載の非一時的なコンピュータ可読媒体。
【請求項１２】
前記１つ以上のフィルタ定義は、Ｎグラムの各トークンに対応する品詞フィルタを含む、請求項１０に記載の非一時的なコンピュータ可読媒体。
【請求項１３】
前記１つ以上のフィルタ定義は、テキストパターンを含む、請求項１０に記載の非一時的なコンピュータ可読媒体。
【請求項１４】
前記１つ以上のフィルタ定義は、前記ウェブリソースに出現するＮグラムの最小頻度を含む、請求項１０に記載の非一時的なコンピュータ可読媒体。
【請求項１５】
前記１つ以上のフィルタ定義は、言語の選択を含む、請求項１０に記載の非一時的なコンピュータ可読媒体。
【請求項１６】
システムであって、
１つ以上のプロセッサと、
命令を含む１つ以上の記憶装置とを備え、前記命令は、前記１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに以下の操作を実行させ、当該操作は、
前記ウェブリソース内のテキストドキュメントから複数のトークンを抽出する操作と、
前記複数のトークンから複数のＮグラムを生成する操作と、
有効なＮグラムを特定する１つ以上のフィルタ定義を受信する操作と、
前記１つ以上のフィルタ定義を用いて前記複数のＮグラムをフィルタリングすることによって、見出語辞書を生成する操作と、
前記見出語辞書を含むオントロジを生成する操作とを含む、システム。
【請求項１７】
前記複数のＮグラムを生成する操作は、前記ウェブリソースに出現する単語の組み合わせを生成することを含む、請求項１６に記載のシステム。
【請求項１８】
前記１つ以上のフィルタ定義は、Ｎグラムの各トークンに対応する品詞フィルタを含む、請求項１６に記載のシステム。
【請求項１９】
前記１つ以上のフィルタ定義は、前記ウェブリソースに出現するＮ−グラムの最小頻度を含む、請求項１６に記載のシステム。
【請求項２０】
前記１つ以上のフィルタ定義は、言語の選択を含む、請求項１６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、２０１４年１１月１０日に出願され、「言語入力データからのＮグラムから概念関係の自動一括生成」と題された米国仮特許出願第６２／０７７８６８号の優先権を主張する。また、本願は、２０１４年１１月１０日に出願され、「見出語とユニバーサルオントロジとのマッピング」と題された米国仮特許出願第６２／０７７８８７号の優先権を主張する。これらの出願の各々は、あらゆる目的で参照により本明細書に組み込まれる。
【０００２】
以下の２０１５年７月７日と同一日付に出願された３つの出願は、すなわち、２０１５年７月７日にFabrice Nauzeらによって出願され、「言語入力データからＮグラムおよび
概念関係の自動生成」と題された米国特許出願第１４／７９３６７７号（代理人整理番号８８３２５−９３４１６０）、２０１５年７月７日にMargaret Salomeらによって出願さ
れ、「自然言語処理アプリケーション用のオントロジの自動生成」と題された米国特許出願第１４／７９３７０１号（代理人整理番号８８３２５−９１３８２６）、および２０１５年７月７日にFabrice Nauzeらによって出願され、「コンピュータ自然言語処理による
見出語とユニバーサルオントロジとのマッピング」と題された米国特許出願第１４／７９３６５８号（代理人番号：８８３２５−９３４１６１）は、相互関連している。これらの出願の各々は、参照により本明細書に組み込まれる。
【背景技術】
【０００３】
背景
大きな企業の管理には、大量のデータを格納、集約および解析することが必要である。多くの組織は、企業ソフトウェアシステムを用いて、殆ど全てのビジネスデータを管理している。例えば、企業ソフトウェアシステムは、オンラインショッピング、オンライン決済処理、問答型製品カタログ、自動課金システム、セキュリティ、企業コンテンツの管理、ＩＴサービスの管理、顧客関係の管理、企業資源の計画、ビジネスインテリジェンス、プロジェクト管理、共同作業、人事管理、製造、企業アプリケーションの統合、および企業フォームの自動化などのビジネス向けツールを提供することができる。
【発明の概要】
【課題を解決するための手段】
【０００４】
簡単な要約
いくつかの実施形態において、ウェブリソースから見出語辞書を自動的に生成する方法は、ウェブリソース内のテキストドキュメントから複数のトークンを抽出するステップと、複数のトークンから複数のＮグラムを生成するステップと、有効なＮグラムを特定する１つ以上のフィルタ定義を受信するステップと、１つ以上のフィルタ定義を用いて複数のＮグラムをフィルタリングすることによって、見出語辞書を生成するステップと、見出語辞書を含むオントロジを生成するステップとを含むことができる。
【０００５】
いくつかの実施形態において、非一時的なコンピュータ可読媒体は、命令を含む。これらの命令は、１つ以上のプロセッサによって実行されると、１つ以上のプロセッサに以下の操作の処理を実行させる。当該操作は、ウェブリソース内のテキストドキュメントから複数のトークンを抽出する操作と、複数のトークンから複数のＮグラムを生成する操作と、有効なＮグラムを特定する１つ以上のフィルタ定義を受信する操作と、１つ以上のフィルタ定義を用いて複数のＮグラムをフィルタリングすることによって、見出語辞書を生成する操作とを含むことができる。
【０００６】
いくつかの実施形態において、システムは、１つ以上のプロセッサと、命令を含む１つ以上の記憶装置とを備える。これらの命令は、１つ以上のプロセッサによって実行されると、１つ以上のプロセッサに以下の操作を実行させる。当該操作は、ウェブリソース内のテキストドキュメントから複数のトークンを抽出する操作と、複数のトークンから複数のＮグラムを生成する操作と、有効なＮグラムを特定する１つ以上のフィルタ定義を受信する操作と、１つ以上のフィルタ定義を用いて複数のＮグラムをフィルタリングすることによって、見出語辞書を生成する操作とを含むことができる。
【０００７】
明細書および図面の残りの部分を参照することによって、本発明の本質および利点をさらに理解することができる。いくつかの図面において、同様の参照番号を用いて、同様の構成要素を参照する。いくつかの例において、参照番号にサブラベルを付けることによって、複数の類似する構成要素のうち１つを表す。存在するサブラベルを指定せず、参照番号を使用する場合、複数の類似する構成要素の全体を参照することを意図している。
【図面の簡単な説明】
【０００８】
【図１】いくつかの実施形態に従って、ウェブに基づく仮想アシスタントを示す簡略ブロック図である。
【図２】いくつかの実施形態に従って、自然言語オントロジを生成するためのシステムを示すブロック図である。
【図３】いくつかの実施形態に従って、標準化処理を用いて異なる言語でオントロジを生成する方法を示すフローチャートである。
【図４】いくつかの実施形態に従って、言語解析ツールと対話するためのユーザインターフェイスを示す図である。
【図５】いくつかの実施形態に従って、ウェブドメインからトークンを自動的に抽出するためのユーザインターフェイスを示す図である。
【図６】言語解析ツールによって返されたトークンデータ構造内の情報を表示するためのユーザインターフェイスを示す図である。
【図７】いくつかの実施形態に従って、さまざまな長さのＮグラム見出語を表示するユーザインターフェイスを示す図である。
【図８】いくつかの実施形態に従って、見出語フィルタを設定するためのインターフェイスを示す図である。
【図９】いくつかの実施形態に従って、オントロジの見出語の最終リストを生成するためのユーザインターフェイスを示す図である。
【図１０】いくつかの実施形態に従って、テキストコーパスから見出語辞書を自動的に生成する方法を示すフローチャートである。
【図１１】いくつかの実施形態に従って、見出語の相互関係を確立するためのテキストに基づくユーザインターフェイスを示す図である。
【図１２】いくつかの実施形態に従って、オントロジを図形的に表現し且つ操作するためのユーザインターフェイスを示す図である。
【図１３】いくつかの実施形態を実現するための分散システムを示す簡略ブロック図である。
【図１４】一実施形態に従って、サービスをクラウドサービスとして提供することができるシステム環境の構成要素を示す簡略ブロック図である。
【図１５】さまざまな実施形態を実装することができる例示的なコンピュータシステムを示す図である。
【発明を実施するための形態】
【０００９】
詳細な説明
本明細書は、仮想アシスタントおよび他の自然言語処理アプリケーション用の自然言語オントロジを生成および提供するための実施形態を説明する。一般的に、仮想アシスタン
トは、ウェブページ、データベースおよびＦＡＱドキュメントなどのテキストコーパスに関連する。これらの実施形態は、テキストコーパスを収集し、オントロジの候補見出語であるトークンまたは単語を特定することができる。ツールを用いて、テキストコーパスの特定言語に使用されるトークンの語根（または語幹）と共に、各トークンの品詞（part-of-speech、ＰＯＳ）を特定することができる。異なるウェブリソース間および異なる言語間でオントロジの生成を標準化するために、各トークンのＰＯＳは、言語間に使用できる標準化ＰＯＳマップにマッピングすることができる。その後、トークンの組み合わせをフィルタリングおよび洗練することによって、オントロジの基礎を生成するために使用できる見出語（または概念）のライブラリを生成することができる。最後に、視覚化ツールを用いて、オントロジ階層内の見出語の相互関係を確立、編集および理解することができる。これによって、仮想アシスタントなどのアプリケーションは、オントロジを用いて、知識ベース内の概念をグループ化することができ、ユーザのクエリを意図類別にマッピングすることができる。他の実施形態において、生成されたオントロジにおける概念の相互関係は、ユーザの質問に自動的に応答し、ユーザの質問に反応する検索エンジンに使用することができる。
【００１０】
従来には、２つの同源オントロジがこのようなシステムに使用されている。第１には、オープンソースまたは公的に利用可能である包括的なオントロジ、例えばWordNet（登録
商標）から入手可能なオントロジを使用することができる。これらの公開オントロジは、非常に包括的であり、場合によって人間言語全体の概念および関係を定義してしまう。しかしながら、このオントロジの包括的な性質は、特定の有限ドメインを解析する場合に、不利になる可能性がある。例えば、航空会社のウェブドメインは、ユーザのクエリに関連する有限の情報コーパスを有する。公開オントロジを使用すると、特定のドメインに対して意味のない概念を導入してしまう可能性がある。簡単に言えば、公開オントロジは、あまりにも網羅的であるため、検索エンジンに必要以上のヒットを与え、精度を犠牲にして検索率を増加する。さらに、ウェブドメインは、公開オントロジにとって理解できないまたは適切ではない特定の用語および定義を含む場合がある。
【００１１】
第２には、手動でカスタムオントロジを作成することができる。上記のウェブドメインの例において、ウェブデザイナは、苦労して、ウェブドメインによって導入された全ての情報を分類し、オントロジを生成することができる。この手動作業の利点は、オントロジの概念をウェブドメイン特有の概念に限定できることである。しかしながら、この手動作業は、エラーを起こし易く、ウェブドメインのライフサイクルに亘って行うことが殆どできない。ウェブドメインが変更され、用語が導入されおよび／または廃止されると、手動で構築されたオントロジは、すぐに古くなってしまう。ウェブドメインが更新されるたびに、オントロジを更新する必要がある。この処理は、大規模なウェブドメインでは簡単に持続することができない。
【００１２】
第３の選択肢は、本明細書に記載の実施形態によって与えられる。これらの実施形態は、コンピュータツールを用いて、ウェブドメインを自動的に解析し、概念および関係のオントロジを自動的に生成する。この操作は、ウェブドメインのライフサイクルに亘って繰り返すことができる。これらのツールは、オントロジ生成処理の各ステップを検証できるように、人間の関与レベルを容易に変えることができる。従来の自動方法は、統計モデルを訓練するための大量のデータおよびデータ注釈に依存する統計法に依存する。従来の自動方法は、大規模な汎用オントロジの場合にはうまく機能するが、データが比較的少く専門的なドメインにはうまく適用できない。殆どのビジネス別のドメインおよび顧客別のドメインが統計法による取り込みに対して比較的少ない情報を有するため、統計法は、信頼できるモデルを構築できず、失敗につながる。
【００１３】
いくつかの実施形態において、ライブラリおよび手順の標準化セットを用いて、事実上
任意のテキストコーパスからオントロジを生成することができる。ツールは、コーパスを収集するときに、特定種類のドキュメント（例えば、ＨＴＭＬ、ＰＤＦ、ＸＭＬなど）に適合したルーチンを使用することができる。これらのルーチンは、トークンのリストから除外すべく情報および単語をドキュメントから特定することができる。このような情報は、例えば、メタデータ、構造データ、フォーマットデータまたは書式情報を含んでもよい。トークンのリストを組み合わせて、さまざまな長さのＮグラムを生成することができる。カスタマイズ可能なフィルタセットを用いて、Ｎグラムのリストを、オントロジに使用されるＮグラム候補の最終リストに自動的に絞り込むことができる。
【００１４】
例示目的のために、本開示は、上述したオントロジ生成処理の例示的な応用として、特定のウェブドメインで動作する仮想アシスタントを使用する。しかしながら、理解すべきことは、このオントロジ生成処理は、事実上任意のテキストコーパスと共に使用されることができ、自然言語処理に関与する任意のアプリケーションに適用されてもよいことである。具体的には、これらの例におけるテキストコーパスは、仮想アシスタントに関連するウェブドメインによって提供されたウェブリソースを含む。しかしながら、他のアプリケーションにおいて、テキストコーパスは、任意のテキスト資源を含むことができる。
【００１５】
図１は、いくつかの実施形態に従って、ウェブに基づく仮想アシスタント１０４を示す簡略ブロック図１００である。ウェブドメイン１０６は、インターネットを介して取引を行う顧客に商品およびサービスを提供することができる。顧客は、ウェブドメイン１０６と情報を交換するときに、ＨＴＭＬウェブページ、ＣＳＳスタイルシート、後置型データベース、ＸＭＬファイル、ＰＤＦドキュメント、ブログ投稿、インターネットフォーラムなどを含むがこれらに限定されないさまざまなウェブリソース１０２と情報を交換することができる。情報を交換する間に、ユーザは、取引を完了したり、必要な情報を見付けたりするための支援を必要とする場合がある。この場合、人間関与を提供する代わりに、ウェブドメイン１０６は、仮想アシスタント１０４を提供することができる。この仮想アシスタントは、ユーザからの質問を理解し、知識ベース１１４から回答を提供するように構成される。知識ベースは、質問に対する回答に有用なＦＡＱ、ユーザマニュアル、ホワイトペーパー、マルチメディアコンテンツ、ウェブドメイン１０６のユーザが利用可能なウェブリソース１０２のカタログを含むことができる。いくつかの実施形態において、仮想アシスタント１０４は、ユーザがダイアログボックスに質問を入力し、質問に対する音声応答を得るように構成された会話型ソフトを含むことができる。例えば、ユーザは、「新しいスマートフォンを購入したいが、モデル９．２の購入を手伝ってもらえますか？」と入力することができる。仮想アシスタント１０４は、ユーザと目的のある討論を行い、最終的に知識ベース１１４内のエントリにより回答を形成する。
【００１６】
仮想アシスタント１０４が正確且つ関連性のある方法で反応して、ユーザによって提供された異なるコンテキストキューを引き出すために、言語概念および関係のロバスト表現が必要とされる。階層に編成された概念辞書は、本明細書において「オントロジ」として呼ばれる。これらのオントロジは、文法および／または用語辞典とも呼ばれる。ユーザのクエリに応じて、自然言語プロセッサ１１６は、ユーザのクエリを解析し、クエリによって表される１つ以上の意図類別を特定することができる。知識ベース１１４内の情報は、異なるドメイン１１２（例えば、データソース）に亘って存在することができる。これらの情報は、意図類別に従って異なるドメイン１１２に分類される。意図類別は、顧客から受けられる共通話題、例えば「携帯電話の更新」または「メールにアクセスできない」などを含むことができる。これらの意図類別は、ウェブリソース１０２から生成されたオントロジ１０８により表された概念に関連付けることができる。一定の意味では、本明細書に記載の実施形態は、ウェブリソース１０２を解析し、特定のウェブドメイン１０６に特有の用語および概念の階層を生成する。自然言語プロセッサ１１６は、オントロジ１０８内の概念を用いて、仮想アシスタント１０４を介して受け取ったクエリの意図をより正確
に特定することができる。例えば、クエリは、異なるウェブドメインに亘って異なる意味を有し、特定のウェブドメイン１０６において特定の意味を有する用語を含むことがある。また、特定のウェブドメイン１０６は、他のドメインに広く使用されない専門用語を使用する場合もある。これらの実施形態は、全ての言語（例えば、英語）に対して共通のオントロジを使用する代わりに、ウェブドメイン１０６に特有のオントロジ１０８を生成する。ウェブドメイン１０６に特有であり、合理化されたロバストなオントロジ１０８は、特定の言語に対して共通のオントロジを使用する場合に比べて、一般的に短い処理時間で正確な結果を得ることができる。
【００１７】
多くの応用において、ウェブドメイン１０６は、多くの異なる言語で顧客に提供されることがある。例えば、世界中の顧客層に対応するために、企業は、英語、中国語および日本語でウェブサイトを提供することができる。ウェブリソース１０２は、さまざまな言語に翻訳され、ユーザの位置に基づいて提供されてもよい。従来には、ウェブリソース１０２の各言語バージョンに対して、各々のオントロジを生成する必要がある。この作業は、主に手動で行われ、特定の言語ごとに言語専門家が必要であった。本明細書に記載の実施形態において、オントロジ生成ツールを用いて、さまざまな言語でウェブリソースを収集し、各トークンを言語間で一貫している概念に対して標準化されたＰＯＳマップと比較することができる。概念の階層が一般的に言語間で変化しないため、マスタオントロジ１１０−１を用いて、各言語で表現された概念をマスタオントロジ１１０−１内の概念にマッピングした後、マスタオントロジ１１０−１との概念関係を保存することによって、オントロジ１０８の複数のバージョン（例えば、オントロジバージョン１１０−２、．．．１１０−Ｎ）を生成することができる。本開示で後述する視覚化ツールを用いて、さまざまな言語間のオントロジ関係を見ることができる。
【００１８】
図２は、いくつかの実施形態に従って、自然言語オントロジを生成するためのシステムを示すブロック図２００である。仮想アシスタントなどのアプリケーションと共に使用する図１のオントロジ１０８を提供するために、いくつかの実施形態は、標準化ツールを使用して、一式のウェブリソース１０２からオントロジを生成し、編集および正確する。図２は、オントロジ生成処理の概要を示している。この処理の各ステップをより詳細に後述する。まず、テキスト収集装置２０２は、ウェブリソース１０２をクローリングし、ウェブリソース１０２からトークンまたは単語を抽出することができる。テキスト収集装置２０２は、これらの単語をフィルタリングして、オントロジ１０８に含まれるべきではない情報、例えば、書式設定情報および構造情報を除去する。その後、これらの単語またはトークンは、Oracle（登録商標）言語ライブラリなどの言語解析ツール２０４に伝送される。言語解析ツール２０４は、テキスト収集装置２０２から関連テキストを受け取り、各トークンの語根およびＰＯＳを特定することができる。例えば、ウェブリソース１０２から収集された単語の１つが「features」であった場合、言語解析ツール２０４は、原始テキスト（「features」）、その単語の語幹または語根（「feature」）、ＰＯＳ（名詞）、
およびその特定のトークンに関する他の言語特有情報の豊富な集合を含むデータ構造を戻す。ＰＯＳは、トークンがウェブリソース１０２に使用された前後文によって、言語解析ツール２０４によって推測することができる。
【００１９】
言語解析ツール２０４は、ウェブリソース１０２の特定の言語に特有のトークンおよびＰＯＳ表示を返す。オントロジ生成処理を標準化し、特定言語のオントロジを生成する際に必要とされる特定言語の専門家を軽減するために、ＰＯＳマッピング処理２０５は、事実上全ての言語に適用できる標準ＰＯＳマッピングテーブルを使用することができる。このような標準化ＰＯＳファイルの例として、以下の表１に示される。品詞の規定は、言語およびドメインによって大きく異なる。従来では、異なる言語からオントロジを生成する場合、異なる処理を用いて、異なる規定を扱う必要があった。表１は、言語間で適用できる一連の基本使用概念を標準化することによって、ＰＯＳの解析を標準化する。ＰＯＳマ
ッピング処理２０５は、各特定の言語内の品詞を標準化ＰＯＳファイルにマッピングする言語特有マッピングファイルと共に、標準化ＰＯＳを使用することができる。例えば、スペイン語の特定の単語は、表１の標準化ファイルの対応する最上級の形容詞カテゴリにマッピングすることができる。スペイン語−標準マッピングファイルは、スペイン語のＰＯＳ規則と表１に列挙されたＰＯＳ規則との関係をリストすることができる。ＰＯＳマッピング処理２０５は、これらの関係をスペイン語−標準マッピングファイルに適用することによって、各スペイン語ＰＯＳを表１の標準化ＰＯＳに変換することができる。留意すべきことは、いくつかの言語は、他の言語と整合しない品詞を有すること、例えば、日本語は、英語に存在しない丁寧語接頭辞を有することである。なお、表１は、共通ＰＯＳを含む標準化ＰＯＳ分類のサブセットを示している。各実施形態において、追加のＰＯＳ定義および規定を表１に追加することができる。例えば、日本語の特異性を包括するために、特別のラベルを用いて対応することができる。各トークンを標準ＰＯＳに関連付けることによって、トークンは、単なる単語ではなく、言語間で一貫して表現できる概念を表す概念である。例えば、船の「船首」（bow、名詞）は、動作を行う「曲げる」（bow、動詞）とは大きく異なるが、これらの２つの概念は、各々のＰＯＳによって分けることができる。これらの２つの概念は、英語では同一の単語で表されるが、スペイン語では異なる単語（すなわち、「proa」および「inclinar」）で表される。ＰＯＳ解析の標準化は、オントロジ生成処理を単純化するために、言語間のオントロジ概念をマッピングする手段となる。ＰＯＳマッピング処理の出力は、標準化ＰＯＳマップを使用して、トークン２０６を表すデータ構造の集合である。
【００２０】
【表１−１】
2018097887.tif 000003
【００２１】
【表１−２】
2018097887.tif 000004
【００２２】
その後、トークン２０６は、見出語生成エンジン２０８に供給され、見出語フィルタリング処理２１０を経て、オントロジ１０８用のＮグラム見出語２１２の最終リストを生成することができる。この処理は、後で詳述する。一般的に、見出語は、ウェブリソース１０２に出現した１つ、２つまたは３つ以上の連続するトークンから構築することができる。例えば、連続して出現したトークン「flight」（飛行）および「deck」（甲板）を組み合わせることによって、各々の「飛行」および「甲板」の概念とは異なる概念である飛行甲板を表す見出語「flight deck」を形成することができる。さらに、これらのトークン
から追加の見出語、例えば「主飛行甲板」および「二次飛行甲板」を形成することができる。さまざまなフィルタを使用して、Ｎグラム候補セットをＮグラム見出語２１２の最終リストに切り詰めることができる。
【００２３】
Ｎグラム見出語２１２の最終リストを生成した後、Ｎグラム見出語の相互関係を確立することによって、最終的なオントロジ階層を形成することができる。相互関係を生成するために、視覚化ツール２１６を用いて、階層内のノードおよび連結線を図表方式で配置することができる。視覚化ツール２１６の例は、後述する。視覚化ツール２１６は、ユーザに、見出語の相互関係がどのように相互影響するかに対する理解および全体的な感覚（以前には利用できなかった）を提供することができる。いくつかの実施形態において、視覚化ツール２１６は、見出語を表すノードの２次元グラフを有する作業スペースを形成することができる。ユーザは、階層的な方法で見出語を図形的に一体に連結することによって、オントロジ１０８の最終関係を生成することができる。
【００２４】
いくつかの実施形態において、選択された言語、例えば英語でマスタオントロジ１１０−１を生成することができる。マスタオントロジ１１０−１は、ウェブドメイン１０６および特定の言語（例えば、英語）に精通したユーザによって手動で確立された関係を有することができる。マスタオントロジ１１０−１は、言語間で標準化された見出語およびＰＯＳ規則を使用する。換言すれば、マスタオントロジ１１０−１の言語内のＮグラム見出語２１２のうち１つによって表される概念を、別の言語（例えば、スペイン語）内の異なるＮグラム見出語によって表される対応の概念にマッピングすることができる。他の言語のオントロジを生成するために、他の言語バージョンのウェブリソース１０２に対して、図２の処理の一部を実行するだけでよい。例えば、スペイン語ウェブサイトの場合、テキ
ストからトークンを収集し（２０２）、言語解析ツール（２０４）によってトークンにスペイン特有のＰＯＳを与え、そのトークンのＰＯＳを表１の標準ＰＯＳにマッピングし（２０５）、スペイン語のＮグラム見出語を生成する（２０８、２１０）。ユーザが手動でスペイン語のＮグラム見出語の階層的な関係を確立することを要求する代わりに、言語マッピング処理２１４は、マスタオントロジ１１０−１内の概念をスペイン語Ｎグラム見出語によって表される概念とマッチングすることができる。全てのスペイン語のＮグラム見出語がマッチングされると、スペイン語専門家がスペイン語Ｎグラム見出語の相互関係を確立する必要なく、マスタオントロジ１１０−１において確立された関係をスペイン語のＮグラム見出語にマッピングすることによって、スペイン語オントロジ１１０−２を生成することができる。ＰＯＳ規則および言語間オントロジを生成する処理の両方を標準化することによって、大部分の処理を自動化することができ、よって、言語オントロジ間のエラーおよびミスマッチを事実上なくすことができる。
【００２５】
図３は、いくつかの実施形態に従って、標準化処理を用いて異なる言語でオントロジを生成する方法のフローチャート３００を示す。この方法は、ウェブリソースおよびウェブドメインから第１言語のトークンを抽出するステップ（３０２）を含むことができる。ウェブドメインは、異なる言語（例えば、第１言語、第２言語など）で、異なるバージョンのウェブページを提示することができる。例えば、多国籍企業のウェブドメインは、英語、中国語、日本語、フランス語およびスペイン語で事実上同様のウェブページを含み得る。ウェブドメインは、ユーザクエリに答えるために、オントロジを使用した仮想アシスタントアプリケーションを含み得る。トークンは、多くの異なる種類のウェブリソースおよびウェブドメインから抽出できる。場合によって、ウェブドメインは、ＨＴＭＬ、ＰＤＦ、ＸＭＬ、ＣＣＳ、ＤＯＣなどの異なるドキュメント形式を含んでもよい。異なるドキュメント形式からトークンを抽出するために、ツールは、各ドキュメント種類に特有であり、個々に実行可能なスクリプトを使用することができる。例えば、あるスクリプトは、意味のあるテキストのみがトークン化されるように、ＨＴＭＬページからテキストを収集することができる。Ｊａｖａ（登録商標）スクリプト、ＨＴＭＬタグ、書式設定情報などは、ＨＴＭＬトークン化スクリプトによって除去することができ、ウェブページに表示されている意味のあるテキストをトークン化することができる。一般的に、「トークン」は、テキスト中の個々の単語または記号を指す。例えば、「open 24/7」という表現は、トー
クン「open」、「24」、「/」および「7」を含む。
【００２６】
また、方法は、各トークンの第１ＰＯＳを決定するステップ（３０４）を含み得る。第１ＰＯＳは、トークンが抽出されたウェブドメインの言語に特有である。例えば、英語のウェブドメインの場合、第１ＰＯＳは、英語特有のＰＯＳを含む。いくつかの実施形態において、抽出されたテキストは、言語解析ツールに供給され、言語解析ツールは、各トークンに言語特有のＰＯＳに各々割り当てる出力を提供することができる。いくつかの実施形態において、既存の言語解析ツールを活用することができる。したがって、本発明は、各言語のＰＯＳを特定し、割り当てるために、新しい言語解析ツールを開発する必要がない。その代わりに、これらの実施形態は、既存の言語解析ツールを修正せずに動作させ、ＰＯＳの割り当てを標準化することができる。
【００２７】
さらに、方法は、各トークンの第１ＰＯＳを第２ＰＯＳにマッピングするステップ（３０６）を含むことができる。任意の言語に割り当てられるさまざまなＰＯＳを処理するために、多くの言語に適用できる標準化ＰＯＳ分類法が開発された。上述したように、言語特有のマッピングファイルは、言語特有のＰＯＳ割り当てを標準化ＰＯＳに変換することができる。なお、第１ＰＯＳの言語と第２ＰＯＳの言語とは、同様であってもよい。例えば、言語解析ツールは、英語特有のＰＯＳ割り当てセットを出力することができるが、標準化ＰＯＳが英語であっても、ＰＯＳ割り当てセットが標準ＰＯＳの命名規則およびカテゴリに準拠しない。
【００２８】
さらに、本方法は、トークンから見出語を生成するステップ（３０８）を含み得る。以下でさらに説明するように、トークンからＮグラムを生成し、一連の所定のフィルタ条件でＮグラムをフィルタリングすることによって、見出語を生成することができる。この場合、見出語は、生成されるオントロジを構成する概念を表す。この方法は、ノードのネットワークをオントロジ関係と共に表示させるステップ（３１０）をさらに含み得る。視覚化ツールの例は、本開示でより詳細に後述する。一般的に、視覚化ツールは、見出語の階層を図形表示で提供することができる。階層内のノードは、見出語を表し、ノード間の連結線は、見出語間の概念関係を表す。例えば、「車両」（vehicle）および「自動車」（automobile）を表す見出語の間の連結線は、「車両」と「自動車」との間の関係「is-a」
を表す。いくつかの実施形態において、視覚化ツールを介して、ユーザは、ノードの位置を変更し、ノード間の連結線を編集することによって、オントロジの階層を組立てることができる。視覚化ツールは、変更を行ったときに、連結線がどのように近くの概念を影響するかをユーザに確認させることができるという利点がある。
【００２９】
フローチャート３００の方法を完全に理解するために、上記で説明した処理の各ステップをより詳細に示す一連のアルゴリズムおよびフローチャートをさらに提示する。いくつかの実施形態において、ツールおよび作業流れを自動化することによって、人間の関与レベルを最小限に抑え、ウェブドメインおよびオントロジを一致させるのに必要な作業を最小化しながら、カスタム化および組み込みオントロジの利点を組み込んだ高精度のオントロジを作成することができる。ツールは、選択されたドメインに特有のテキストデータに集中させるために、ユーザ（または「コンテンツ管理者」）からの人間入力を受信することができる。この処理の第１ステップは、「コーパス」の選択、または特定の主題を具体化する書面テキストの集合を受信することである。いくつかの実施形態において、コーパスは、ユーザによって選択されてもよく、またはウェブドメインに基づいて自動的に選択されてもよい。例えば、ユーザは、ウェブドメインを入力することができ、処理は、ウェブドメイン内の全てのウェブページをコーパスとして選択することができる。コーパスは、データベース、ウェブドメイン、ＦＡＱ、マニュアルなどの任意のテキストドキュメントであってもよい。例えば、ユーザは、顧客のクラウドに基づく製品のためにオントロジを生成したいことがある。顧客は、特定の顧客のウェブドメインを選択し、ウェブページを処理のコーパスとして使用することができる。ウェブページを選択した場合、処理は、ウェブページを「収集」して、ウェブページから使用可能なテキストを抽出することができる。この作業は、ウェブページ上に表示されたテキストを、単にウェブページおよび／またはメタデータの構成を定義するＨＴＭＬファイルに存在する他の不可視テキストから分けることを含み得る。
【００３０】
理解すべきことは、図４に示された具体的なステップは、本発明のさまざまな実施形態に従って、オントロジを生成するための特定の方法を提供することである。別の実施形態に従って、他の一連のステップを実行することもできる。例えば、本発明の代替的な実施形態は、上記で概説したステップを異なる順序で実行することができる。さらに、図４に示された各々のステップは、各ステップに応じてさまざまなシーケンスで実行できる複数のサブステップを含むことができる。さらに、特定の応用に応じて、ステップを追加または削除することができる。当業者であれば、多くの変形例、修正例および代替例を認識するだろう。
【００３１】
図４は、いくつかの実施形態に従って、言語解析ツールと対話するためのユーザインターフェイス４００を示す。ユーザは、原始テキスト４０２のボックスを介して、ウェブリソースからの実際のテキストのトークンを入力することができる。代替的にまたは追加的に、原始テキスト４０２は、ウェブリソースからトークンを収集することによって自動入力されてもよい。一般的に、ユーザインターフェイス４００は、ウェブリソースから収集
された各トークンに対して実行され得る解析の種類を示す。原始テキスト４０２は、言語解析ツールの入力として送信されてもよい。言語解析ツールは、ユーザインターフェイス４００内の他のテキストボックスに出力を出すことができる。例えば、言語解析ツールは、原始テキストの語幹または語根を語幹テキストボックス４０４に返すことができる。また、言語解析ツールは、品詞４０６を提供することができる。さらに、ユーザは、言語４０８を選択することができ、言語解析ツールは、言語を自動的に検出し、テキストボックスに言語４０８（例えば、アメリカ英語）を入れることができる。最後に、原始テキストから１つ以上の見出語４１０を導出することができ、それを用いて、ユーザインターフェイス４００内の制御を設定することができる。１つ以上の見出語は、長さ１のＮグラムを表すことができ、長さ１のＮグラムを用いて、１を超える長さのＮグラムからなる他の見出語を形成することができる。ユーザインターフェイス４００によって視覚的に表された情報は、ウェブリソースから収集された各トークンに対して、リッチデータ構造によって格納することができる。
【００３２】
図５は、いくつかの実施形態に従って、ウェブドメインからトークンを自動的に抽出するためのユーザインターフェイス５００を示す。ウェブドメインを特定する情報、例えばＵＲＬ５０２および／またはプロキシ表示／ホスト名を指定することができる。この情報を受け取った後、ツールは、ＵＲＬ５０２によって特定されたウェブドメイン内のウェブページを自動的にクロールし、利用可能な全てのウェブリソース、例えばウェブページ、メディアコンテンツ、テキストドキュメント、ＰＤＦなどを抽出することができる。ウェブドメイン内にある各種類のドキュメント、またはウェブドメイン内のウェブページによって参照される各種類のドキュメントは、そのファイルの種類拡張子によって自動的に特定される。特定した後、ツールは、各ドキュメントのファイル拡張子と一致する特定のスクリプトファイルを選択し、各スクリプトを実行することによって、オントロジに使用すべきではないテキスト（書式設定データ、構造データ、メタデータ、Ｊａｖａスクリプトなど）を除去しながら、各々のウェブリソースから関連のテキストを収集することができる。トークン化されたテキストファイルは、ユーザの指定によってまたはツールの自動出力によって、出力ディレクトリ５０４に保存されてもよい。
【００３３】
図６は、言語解析ツールによって返されたトークンデータ構造内の情報を表示するためのユーザインターフェイス６００を示す。上述したように、データ構造は、ＰＯＳ、原始テキスト、語幹、見出語、および言語を表示することに加えて、全体としてウェブリソースの集合における各トークンの使用を特徴付ける情報を含むこともできる。例えば、ユーザインターフェイス６００は、ウェブリソースの集合内の各トークンの頻度６０２または出現回数を示すフィールドをデータ構造に表示することができる。以下で説明するように、見出語として見なされる各トークンの頻度６０２を用いて、見出語をフィルタリングすることによって、有用な概念を表さないトークンを破棄しながら、オントロジの概念を表すトークンを特定することができる。
【００３４】
いくつかの実施形態において、言語解析ツールがユーザインターフェイス６００に表示された情報を有するトークンデータ構造を戻した後に、ツールは、一時停止し、その情報をユーザに提示することができる。この時に、ユーザは、トークンから見出語が生成される前に、手動フィルタリング操作を実行することができる。各トークンに対応する選択ボックス６０４を形成することができる。これによって、ユーザは、トークンを見出語として検討する時に、各トークンを容易に選択するまたは選択を解除することができる。例えば、図６において、形容詞トークン「now」は、オントロジにおいて有用な概念を記述す
る可能性が低いので、さらなる検討から外される。対照的に、名詞トークン「now」は、
オントロジにおいて有用な概念を記述する可能性が高いので、選択されたままである。いくつかの実施形態において、ユーザインターフェイス６００は、特定のＰＯＳで標記されたトークンを自動的に選択／選択解除することができる。例えば、いくつかの実施形態に
おいて、いくつかの動詞が有用な概念を表す見出語に使用される可能性が低いので、これらの動詞を自動的に選択解除することができる。ユーザによってまたは自動処理によって特定のトークンを選択解除した後、インターフェイス６００にリストされたトークンを使用して、見出語を形成することができる。留意すべきことは、この時点の処理では、インターフェイス６００によって特定されたＰＯＳは、言語解析ツールによって提供されたＰＯＳから、上述した標準化ＰＯＳ分類からのＰＯＳに自動的にマッピングされることである。したがって、インターフェイス６００によって特定されたＰＯＳは、さまざまな言語に亘って使用可能なＰＯＳ規則を表すことができる。
【００３５】
図７は、いくつかの実施形態に従って、さまざまな長さのＮグラム見出語を表すユーザインターフェイス７００を示す。マルチワード見出語を生成するために、システムは、ウェブリソースの原始テキストに共に出現するトークンを１つの単語、２つの単語、３つの単語、．．．Ｎ個の単語の組み合わせとして合併することができる。ユーザインターフェイス７００は、原始テキストから形成されたＮグラムの表を示す。この表は、各Ｎグラムの長さを指定する列７０４を含むことができる。さまざまな長さのＮグラムを生成するために、所定の変数に各Ｎグラムの最大長の値を割り当てることができる。いくつかの実施形態において、ツールは、１つの単語、２つの単語、３つの単語、．．．Ｎ個の単語長さの連続トークンの全ての可能なセットを反復的に生成することによって、原始テキストから全ての可能なＮグラムを生成することができる。いくつかの実施形態において、処理によって以前に除去されたトークンを除外することができ、したがって、生成されるＮグラムの数を制限することができる。
【００３６】
また、インターフェイス７００は、各マルチワード組み合わせのＰＯＳを表示することもできる。列７０１は、Ｎグラム全体のＰＯＳを示す。列７０２は、Ｎグラムを構成するトークンの各々のＰＯＳを示す。なお、列７０１および列７０２によって示されたＰＯＳは、上記の標準化ＰＯＳ分類からのものである。列７０２のＰＯＳ表示は、各マルチワードＮグラムの記述パターンを形成する。以下に説明するように、この記述パターンを使用して、Ｎグラムをフィルタリングすることができる。Ｎグラムを生成する際に、処理は、原始テキストからの句読点を含むことができる。列７０６は、句読点を含む元のウェブリソースから抽出されたＮグラムを示す。列７０８は、見出語に含まれるべきではない句読点およびトークンを除去した原始テキストから構築された実際の見出語を示す。最後に、列７１０は、上述したように言語解析ツールによって返されたマルチワード見出語内の各単語の語幹を示す。
【００３７】
ユーザインターフェイス７００の列７０８に表示されたマルチワード見出語のリストを生成した後、候補見出語の辞書が形成される。一般的に、コーパス内の全ての単語がオントロジの生成に有用ではなく、特定のトークンは、処理の早い段階で削除される。同様に、この段階の候補見出語の辞書は、オントロジに有用ではない見出語を含む。特に、マルチワードＮグラムが原始テキストからのトークンの全ての可能な組み合わせを用いて形成されたため、辞書は、オントロジに有用ではない見出語を含む。明らかに、このことは、候補見出語の膨大なリストにつながり、無用なトークンの組み合わせが支配的になるだろう。
【００３８】
候補見出語のリストを有用なサイズに減縮するために、いくつかの実施例は、候補見出語をフィルタリングする手動および／または自動方法を採用することができる。この場合、インターフェイス７００をユーザに提示することができる。ユーザは、有用とは考えられない列７１２の見出語を選択解除することによって、手動で除去すべくＮグラムを選択することができる。ユーザインターフェイス７００の提示は、候補見出語に関する情報に基づく決定を行うために必要な全ての情報をユーザに提供するため、非常に有益であり得る。ユーザは、ＰＯＳ、原始テキストおよび語幹のトークンから、明らかに属していない
いくつかの候補見出語を迅速に排除することができる。ユーザインターフェイス７００の利点によって、手動で候補見出語の小さなリストをフィルタリングする効率を大幅に高めることができる。しかしながら、候補見出語の大きな辞書を処理する場合、この手動で候補見出語の辞書をフィルタリングする処理は、エラーを生じ易く時間がかかる。したがって、本明細書に記載の実施形態において、ユーザは、候補見出語の辞書を候補見出語のより有用なセットに自動的にフィルタリングするフィルタリング規則を生成することができる。自動フィルタ処理を行った後、ユーザは、候補見出語のより小さくて正確なリストを手動でフィルタリングすることができる。
【００３９】
図８は、いくつかの実施形態に従って、見出語フィルタを設計するためのインターフェイス８００を示す。複数のフィルタを設計して、同一辞書の候補見出語に対して実行することができる。インターフェイス８００を用いて、単一のフィルタを設計することができる。この単一のフィルタは、単独で、またはユーザインターフェイス８００によって設計された他のフィルタと直列に使用することによって、有効な見出語または無効な見出語を特定することができる。一定の意味では、インターフェイス８００により提供された選択肢によって、設計者は、フィルタ定義によって特定される見出語の特定の種類を広くまたは狭く指定することができる。見出語フィルタを設計するために、他の選択肢を提示してもよい。したがって、インターフェイス８００によって提示されたものは、単なる例示であり、限定的な意味を示していない。
【００４０】
いくつかの実施形態において、見出語が原始テキストに出現する頻度をフィルタリング基準として使用することができる。最小頻度８０２は、フィルタ定義の一部として提供され、少なくとも最小頻度８０２によって定義された最小回数で出現しない見出語を排除することができる。これによって、ドキュメント中に頻繁に出現する概念をオントロジに関連する概念として考えることができる。最小頻度８０２を使用することによって、テキストコーパスから、オントロジにおいて除外すべき入力ミスまたは他の錯誤を特定することもできる。入力ミスまたは他の一回限りのエラーは、頻繁に発生する可能性が低いため、最小頻度８０２によってフィルタリングされべきである。対照的に、高頻度の出現は、特殊な意味または他の概念を有する用語を示す可能性が高くなり、オントロジに包含されるべきである。
【００４１】
いくつかの実施形態において、文字テキスト、句読点、ワイルドカード記号などを用いて、テキストパターンを作成することができる。原始テキストパターン８０４を用いて、原始テキストから、設計者がオントロジに含まれるべきであると認識している単語および語句を特定することができる。例えば、インターフェイス８００は、原始テキストパターン８０４「Oracle.*Service」を示している。このテキストパターンは、一般的に、オン
トロジの見出語として本文に言及された任意のOracle（登録商標）サービスを特定する。例えば、「Oracle（登録商標）顧客サービス」、「Oracle（登録商標）クラウドサービス」、「Oracle（登録商標）データベースサービス」などがこれに該当する。テキストパターンを用いて原始テキストをフィルタリングできるほか、インターフェイス８００によって提供された語幹パターン８０６および見出語パターン８０８を使用することによって、原始テキストの語幹および見出語をフィルタに使用することもできる。語幹または見出語を使用することによって、ユーザは、概念の語幹から派生した全てのテキストおよび見出語を取り込むことができる。テキストパターンは、会社名、製品名、サービス名、共通の問題などの特定に非常に有用である。
【００４２】
いくつかのウェブリソースは、複数の言語を含む可能性がある。テキストを収集するときに、処理は、言語にも拘わらず、全てのトークンを取り込む可能性がある。各々のトークンの特定の言語は、上述した言語解析ツールを用いて特定することができる。各言語の各トークンのＰＯＳは、上述した標準化ＰＯＳ分類にマッピングすることができる。しか
しながら、場合によっては、オントロジは、単一言語のみに対応する必要がある。候補見出語の辞書に複数の言語を検出した場合、言語制御８１０を用いて、フィルタリングすべき言語を選択することができる。
【００４３】
多くの単語（特に英語）は、ＰＯＳに応じて異なる意味を有することがある。例えば、名詞の「bow」は、船の一部（船首）または武器（弓）を表すことができる。動詞の「bow」は、人が取る行動（お辞儀する）を表すことができる。形容詞の「bow」は、木片の特
徴を記述するために使用することができる。見出語として提示されるときに、単語「bow
」の３種類の用途の各々は、特別なＰＯＳを備えた特別な見出語を構成する。インターフェイス８００内のＰＯＳ制御８１２を用いて、異なるＰＯＳを有する可能性のあるさまざまな見出語の中から選択することができる。マルチワードＰＯＳ制御８１４を用いて、マルチワード見出語を形成する単一ワード見出語の組み合わせのＰＯＳを選択することができる。例えば、マルチワード見出語は、名詞、形容詞および句読点からなる名詞を表すことができる。インターフェイス８００において、用語「ＵＮＫ」は、未知の品詞または句読点を代表するワイルドカードを表す。
【００４４】
上述したように、候補見出語をフィルタリングするときに、マルチワード見出語内の各見出語のＰＯＳを用いて、許容可能な語パターンを記述することができる。見出語パターン制御８１６を用いて、許容可能な候補見出語を記述する単語パターン（例えば、「名詞−形容詞−名詞」）を選択することができる。いくつかの実施形態において、見出語パターン制御８１６は、候補見出語の辞書に存在するマルチワード見出語のパターンを自動的に取り込むことができる。いくつかの実施形態において、見出語パターン制御８１６は、インターフェイス８００によって定義された特定フィルタの他の制約に一致する見出語のみを含むように動的に調整することができる。初期設定では、候補見出語の辞書におけるマルチワード見出語の全ての既知パターンが選択される。フィルタ設計者は、オントロジの有効見出語と一致する可能性の低いパターンの選択を解除することができる。
【００４５】
インターフェイス８００によって見出語数制御８１８を提供することによって、各マルチワード見出語の許容可能なワードの数を制御することができる。上述したように、変数を設定して、インターフェイス７００に生成された候補見出語中の単語の数を制限することができる。その例に続き、候補辞書は、長さで６個のトークンまでの見出語を含む。見出語数制御８１８は、さらに、オントロジに処理されるマルチワード見出語の種類を制限することができる。図８の例において、原始テキストパターン８０４は、長さで少なくとも３つの単語を有する見出語のみが許容可能であることを示すように見える。この場合、フィルタ設計者は、多分、長さで３つの見出語未満の任意Ｎグラムを選択する。
【００４６】
上述したように、インターフェイス８００を用いて、多くの異なる単一フィルタを定義することができる。図８の特定のフィルタは、Oracle（登録商標）サービスに関連する見出語を特定するように設計されている。実際の応用において、単一のオントロジを生成するために、多くの異なるフィルタを設計する可能性がある。場合によっては、さまざまなウェブページを通じて一貫性のある用語を使用する単一のクライアントに対して、定義済みフィルタのライブラリを格納することができる。ウェブドメインが変わる場合、オントロジを更新して再生成する必要がある。フィルタ規則を定義して、ライブラリに格納した場合、上記で説明した処理を介して、ウェブドメインから新しいテキストコンテンツを取り込み、取り込んだトークンを実行するだけで、オントロジの見出語の最終リストを生成することによって、オントロジを迅速に更新することができる。
【００４７】
図９は、いくつかの実施形態に従って、オントロジの見出語の最終リストを生成するためのユーザインターフェイス９００を示す。この時点では、候補見出語の辞書は、図８の自動フィルタリング処理によってフィルタリングされてあるため、インターフェイス９０
０の選択制御９０２を用いて、手動でフィルタリングすることができる。インターフェイス９００は、オントロジの見出語の最終辞書を生成する前に、候補見出語のリストを検査することによって、除去すべき誤って含まれたものを特定するための最後の機会をユーザに与える。この手動フィルタリング段階は、自動フィルタリング段階の後に設けられる。自動フィルタリング段階は、より簡潔で正確なリストをユーザに与え、ユーザは、それに対して最終的な手動フィルタリングを実行する。なお、候補見出語の辞書が自動フィルタ処理の前に手動でフィルタリングされた場合、手動フィルタリング処理は、遥かに大きく且つ不正確なリスト上で実行される可能性が高く、また、手動フィルタリング処理は、自動フィルタリング処理でフィルタリングされる多くの候補見出語をフィルタリングする可能性もある。したがって、自動フィルタリング処理は、処理の精度を高めるとともに、必要とされる手動フィルタリングの量を減らすようにするべきである。
【００４８】
図１０は、いくつかの実施形態に従って、テキストコーパスから見出語辞書を自動的に生成する方法を示すフローチャート１０００である。フローチャート１０００に示す方法は、上述したステップを要約し、実施形態のいずれかを本開示に記載の特徴として含むものとして理解される。方法は、テキストコーパスからトークンを抽出するステップ（１００２）を含むことができる。テキストコーパスは、ウェブリソース、例えば、ＨＴＭＬウェブページ、ＰＤＦ、ＣＳＳスタイルシート、Ｊａｖａスクリプトなどの異なるテキストドキュメントで構成されたウェブドメインを含むことができる。テキストコーパスからトークンを抽出するときに、プロセスは、オントロジに含まれるべきではない構造テキストおよび／または書式設定テキストを特定および／または除去することができる。
【００４９】
また、方法は、トークンのセットから１組のＮグラムを生成するステップ（１００４）を含むことができる。Ｎグラムは、コーパステキストに出現した順番で、トークンを文字列に組み合わせることによって生成することができる。Ｎグラムは、原始テキスト、見出語、または言語解析ツールによって特定された単語の語幹から構築することができる。また、方法は、１つ以上のフィルタ定義を受信するステップ（１００６）を含むことができる。上記で詳細に説明したように、フィルタ定義は、マルチワードＮグラム内の各トークンのＰＯＳパターンを各々含むことができる。フィルタ定義はまた、文字テキストおよび／またはワイルドカードを含み、原始テキスト、語幹、および／またはＮグラム内の見出語に作用するテキストパターンを含むことができる。フィルタ定義はまた、言語の選択および／またはＮグラムがウェブリソースに出現する最小頻度を含むことができる。フィルタ定義はまた、Ｎグラムの許容可能な長さ（数またはワード）を含むことができる。
【００５０】
方法は、１つ以上のフィルタ定義を１組のＮグラムに適用するステップ（１００８）をさらに含むことができる。実際には、最終的な見出語辞書を生成するために、任意数のフィルタを１組のＮグラムに直列または並列に適用することができる。いくつかの実施形態において、ユーザインターフェイスを提示することによって、自動フィルタ処理を行う前／後に、ユーザが、手動でＮグラムをフィルタリングする追加のステップを実行することができる。最後に、方法は、最終的な見出語辞書を生成するステップ（１０１０）を含むことができる。最終的な見出語辞書を用いて、見出語の相互関係を確立することによって、オントロジを生成することができる。
【００５１】
理解すべきことは、図１０に示された具体的なステップは、本発明のさまざまな実施形態に従って、見出語を生成するための特定の方法を提供することである。別の実施形態に従って、他の一連のステップを実行することもできる。例えば、本発明の代替的な実施形態は、上記で概説したステップを異なる順序で実行することができる。さらに、図１０に示された各々のステップは、各ステップに応じてさまざまなシーケンスで実行できる複数のサブステップを含むことができる。さらに、特定の応用に応じて、ステップを追加または削除することができる。当業者であれば、多くの変形例、修正例および代替例を認識す
るだろう。
【００５２】
いくつかの実施形態は、見出語のの相互関係を生成するための異なる選択肢を提供することができる。図１１は、いくつかの実施形態に従って、見出語の相互関係を確立するためのテキストに基づくユーザインターフェイス１１００を示す。ユーザは、ユーザインターフェイス１１００を介して、最終的な見出語辞書内の２つの見出語の相互関係を手動で割り当てることができる。ユーザは、インターフェイス１１００を介して、第１見出語を選択した後、第２見出語１１０１を選択し、第１見出語と第２見出語との相互関係を確立する。ユーザは、第１見出語と第２見出語との間に確立され得る異なる種類のオントロジ関係を選択することができる。例えば、ユーザは、制御１１０２を介して、「is-a」関係、「has-a」関係、「is-part-of」関係などを確立することができる。
【００５３】
ユーザのクエリに応じて情報を特定するための検索エンジンまたは知識管理システムの一部として使用されるオントロジについて、オントロジ関係内に追加情報を埋め込むことによって、検索エンジンにさらなる情報を提供することができる。インターフェイス１１００は、２つの見出語の間の単一の関係に関連付けることができる「上方重み」（up weight）１１０４および「下方重み」（down weight）１１０６を含む。上方重み１１０４および下方重み１１０６を用いて、検索エンジンがオントロジツリーを捜索して回答を突き止める際に、検索エンジンに通知することができる。例えば、インターフェイス１１００を用いて、見出語「クラウドサービス」と見出語「データ記憶」との相互関係に、０．５という上方重み１１０４および１．０という下方重み１１０６を確立することができる。オントロジを生成するウェブドメインに対する検索クエリを受信した場合、上方重み１１０４および下方重み１１０６は、その関係を捜索するときに検索スコアに適用されるペナルティ乗数として使用され得る。例えば、ユーザが「クラウドサービス」のクエリを提出する場合、検索エンジンは、オントロジのノード「クラウドサービス」に分類されたドキュメントを検索することができる。さらに、検索エンジンは、オントロジのノード「クラウドサービス」に隣接するノードに分類されたドキュメントを検索し、捜索する関係の上方／下方重みに基づいて、これらの追加の結果にペナルティを課すことができる。例えば、検索エンジンがオントロジを「クラウドサービス」から「データ記憶」に捜索する場合、１．０という下方重みをオントロジのノード「データ記憶」に分類された結果に適用する。逆に、クエリが「データ記憶」であった場合、オントロジのノード「クラウドサービス」に分類された結果に、０．５という上方重み１１０４のペナルティを課す。上方重み１１０４および下方重み１１０６により、設計者は、関係を捜索する方向に応じて、異なる検索ペナルティを有する関係を確立することができる。
【００５４】
図１２は、いくつかの実施形態に従って、オントロジを図形的に表現し且つ操作するためのユーザインターフェイス１２００を示す。インターフェイス１２００は、オントロジを表すグラフを表示する。グラフ内のノード（１２０２、１２０６）は、上記の処理から得られた見出語辞書内の見出語を表す。グラフ内のノード間の連結線（１２０４）は、ノード（１２０２、１２０６）の相互関係を表す。各々の関係は、関係の種類（例えば、「is-a」）、矢印で示す方向性、および関係に割り当てられた上方重みおよび下方重みで、標記されてもよい。オントロジからの情報をグラフ形式で表示することにより、ユーザは、見出語が関係を介してどのように互いに関連しているかを迅速に評価することができる。具体的には、オントロジの複数の世代を捜索するために、どのくらいの検索ペナルティを適用したが視覚的に明白である。また、オントロジ関係の変更が概念群全体にどのように影響するかが視覚的に明白である。
【００５５】
ユーザインターフェイス１２００は、オントロジの図形表現を提供するだけではなく、オントロジにおける関係の図形的な操作および確立を提供することもできる。例えば、２つのノードを選択することができ、制御１２０８を用いて２つのノードの相互関係を追加
することができる。同様に、マウス入力装置などの入力装置を用いて、相互関係を図形的に連結、切断、および再配置することができる。
【００５６】
いくつかの実施形態において、ユーザ入力からの手動連結を必要とせず、見出語の相互関係を自動的に生成することができる。一例として、Ｎグラムの相互関係は、それらのＮグラムが互いにテキストとして構築されたときに自動的に生成されてもよい。例えば、別のＮグラムのトークンサブセットを表すＮグラムには、オントロジの親子配置を割り当てることができる。「データ記憶」は、親ノードとして、「クラウドデータ記憶」に割り当てることができる。別の例として、ウェブリソース内の同様の場所から抽出された見出語は、自動的にユーザインターフェイス１２００において視覚的にグループ化することができる。例えば、単一のウェブページからの全ての見出語をインターフェイス１２００において視覚的にグループ化することができる。これによって、ユーザは、一群の見出語を見ることができ、その後、一群の見出語を容易に関係付けることができる。別の例として、ウェブリソース内の構造化データまたは書式設定データを用いて、相互関係を自動的に生成することができる。例えば、ヘッダ行を含むＨＴＭＬ表を用いて、ヘッダを表す見出語と、ヘッダ以下の各列のテキストを表す見出語との相互関係を自動的に確立することができる。別の例として、見出語が原始テキストに出現する近接度を用いて、インターフェイス１２００においてノードを自動的にグループ化することができる。例えば、同一の一文または段落に出現する見出語は、インターフェイス１２００において一緒にグループ化される。
【００５７】
所定の言語で単一のオントロジを生成することに加えて、本明細書に記載の方法は、基本オントロジ（例えば、英語オントロジ）を用いて異なる言語の追加オントロジを生成する処理の一部として使用することもできる。簡潔に言えば、基本オントロジの概念または見出語は、他の言語の対応する概念にマッピングすることができる。したがって、これらの概念を表す他の言語の見出語は、基本オントロジに確立された同様の関係を用いて連結することができる。その結果、テキストコーパスから抽出された見出語の相互関係を確立し検証する手作業を必要とせず、殆ど完全に自動処理によって新しいオントロジを生成することができる。
【００５８】
本明細書に記載の方法の各々は、コンピュータシステムによって実施することができる。これらの方法の各ステップは、コンピュータシステムによって自動的に実行されてもよく、および／またはユーザの関与で入力／出力を提供してもよい。例えば、ユーザは、方法の各ステップに入力を提供し、各入力は、コンピュータシステムによって生成された、その入力を必要とする特定の出力に対応する。各入力は、対応する要求出力に応じて、受信されてもよい。さらに、入力は、ユーザから受信されてもよく、他のコンピュータシステムからデータストリームとして受信されてもよく、メモリ位置から検索されてもよく、ネットワークを介して検索されてもよく、および／またはウェブサービスから要求されてもよい。同様に、出力は、ユーザに提供されてもよく、データストリームとして別のコンピュータシステムに提供されてもよく、メモリ位置に保存されされてもよく、ネットワークを介して送信されてもよく、ウェブサービスに提供されてもよい。簡潔に言えば、本明細書に記載の方法の各ステップは、コンピュータシステムによって実行されてもよく、ユーザの関与が必須ではないコンピュータシステムに入力または出力される任意数の入力、出力、および／または要求を含むことができる。ユーザの関与が必要としないステップは、人間の介入なしにコンピュータシステムによって自動的に実行されるとも言える。したがって、本開示に照らして、本明細書に記載の各方法の各ステップは、ユーザからの入力を受け取り、ユーザに出力を与えるように変更してもよく、または人間の介入なしに、プロセッサが判断を行い、コンピュータシステムによって自動的に実行されてもよい。さらに、本明細書に記載の各方法のいくつかの実施形態は、有形の非一時的記憶媒体に記憶され、有形のソフトウェア製品を形成する一組の命令として実装されてもよい。
【００５９】
図１３は、実施形態のうちの１つを実現するための分散システム１３００を示す簡略図である。図示の実施形態において、分散システム１３００は、１つ以上のネットワーク１３１０を介して、ウェブブラウザまたは専用クライアント（たとえば、オラクルフォーム）などのようなクライアントアプリケーションを実行および作動するように構成された１つ以上のクライアントコンピューティング装置１３０２、１３０４、１３０６および１３０８を含む。サーバ１３１２は、ネットワーク１３１０を介して、リモートクライアントコンピューティング装置１３０２、１３０４、１３０６および１３０８と通信可能に連結されてもよい。
【００６０】
さまざまな実施形態において、サーバ１３１２は、システムの１つ以上のコンポーネントによって提供される１つ以上のサービスまたは１つ以上のソフトウェアアプリケーションを実行するように構成されることができる。いくつかの実施形態において、これらのサービスは、ウェブサービスまたはクラウドサービスとして、またはSaaS（Software as a Service）モデルに基づいて、クライアントコンピューティング装置１３０２、１３０４
、１３０６および／または１３０８のユーザに提供されてもよい。よって、クライアントコンピューティング装置１３０２、１３０４、１３０６および／または１３０８を操作するユーザは、１つ以上のクライアントアプリケーションを用いて、サーバ１３１２と情報を交換することによって、これらのコンポーネントによって提供されたサービスを利用することができる。
【００６１】
図示の構成において、システム１３００のソフトウェア要素１３１８、１３２０および１３２２は、サーバ１３１２上に実装されている。他の実施形態において、システム１３００の１つ以上の構成要素および／またはこれらのコンポーネントによって提供されたサービスは、１つ以上のクライアントコンピューティング装置１３０２、１３０４、１３０６および／または１３０８によって実現されてもよい。クライアントコンピューティング装置を操作するユーザは、１つ以上のクライアントアプリケーションを用いて、これらのコンポーネントによって提供されたサービスを利用することができる。これらの構成要素は、ハードウェア、ファームウェア、ソフトウェア、またはこれらの組み合わせで実現されてもよい。理解すべきことは、分散システム１３００と異なるさまざまなシステム構成が可能であることである。したがって、図示された実施形態は、実施形態のシステムを実現するための分散システムの一例であり、限定することを意図をしていない。
【００６２】
クライアントコンピューティング装置１３０２、１３０４、１３０６および／または１３０８は、たとえば、Microsoft Windows Mobile（登録商標）のようなソフトウェア、および／またはｉＯＳ、Windowsフォン、アンドロイド、ブラックベリー１０およびパーム
ＯＳなどのさまざまなモバイルオペレーティングシステムを実行することができ、インターネット、電子メール、ショートメッセージサービス（ＳＭＳ）、ブラックベリー（登録商標）または他の通信プロトコルが有効化された手持ち式携帯装置（たとえば、iPhone（登録商標）、携帯電話、Ipad（登録商標）、タブレット、携帯情報端末（ＰＤＡ）または着用できる装置（Google Glass（登録商標）ヘッドマウントディスプレイ）であってもよい。クライアントコンピューティング装置は、例示として、Microsoft Windows（登録商
標）オペレーティングシステム、Apple Macintosh（登録商標）オペレーティングシステ
ムおよび／またはＬｉｎｕｘ（登録商標）オペレーティングシステムのさまざまなバージョンを実行するパーソナルコンピュータおよび／またはラップトップコンピュータを含む汎用のパーソナルコンピュータであってもよい。クライアントコンピューティング装置は、たとえば、さまざまなＧＮＵ／Ｌｉｎｕｘオペレーティングシステム、たとえば、Google Chrome OSを含むがこれに限定されない市販のＵＮＩＸ（登録商標）またはＵＮＩＸに類似するさまざまなオペレーティングシステムを動かすワークステーションコンピュータであってもよい。代替的にまたは追加的には、クライアントコンピューティング装置１３
０２、１３０４、１３０６および１３０８は、ネットワーク１３１０を介して通信可能なシンクライアントコンピュータ、インターネット対応のゲームシステム（たとえば、Kinect（登録商標）ジェスチャ入力装置を備えるまたは備えないMicrosoft Xboxゲームコンソール）、および／またはパーソナルメッセージング装置などの他の電子機器であってもよい。
【００６３】
例示の分散システム１３００は、４つのクライアントコンピューティング装置を備えると示されているが、任意の数のクライアントコンピューティング装置をサポートすることができる。他の装置、たとえばセンサを有する装置は、サーバ１３１２と情報を交換することができる。
【００６４】
分散システム１３００のネットワーク１３１０は、ＴＣＰ／ＩＰ（伝送制御プロトコル／インターネットプロトコル）、ＳＮＡ（システムネットワークアーキテクチャ）、ＩＰＸ（インターネットパケット交換）、Apple Talkなどを含むがこれらに限定されないさまざまな市販プロトコルのいずれかを使用してデータ通信をサポートすることができ、当業者に熟知される任意種類のネットワークであってもよい。単なる例示として、ネットワーク１３１０は、イーサネット（登録商標）、トークンリングおよび／またはその他に基づくローカルエリアネットワーク（ＬＡＮ）であってもよい。ネットワーク１３１０は、広域ネットワークまたはインターネットであってもよい。ネットワーク１３１０は、仮想プライベートネットワーク（ＶＰＮ）を含むがこれに限定されない仮想ネットワーク、イントラネット、エクストラネット、公衆交換電話ネットワーク（ＰＳＴＮ）、赤外線ネットワーク、無線ネットワーク（たとえば、ＩＥＥＥ（Institute of Electrical and Electronic Engineers）８０２．１１プロトコルスイート、Bluetooth（登録商標）、および／
または任意の他の無線プロトコルの下で動作するネットワーク）および／またはこれらのネットワークと他のネットワークの組み合わせを含むことができる。
【００６５】
サーバ１３１２は、１つ以上の汎用コンピュータ、専用サーバコンピュータ（例示として、ＰＣ（パーソナルコンピュータ）サーバ、ＵＮＩＸ（登録商標）サーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウントサーバを含む）、サーバファーム、サーバクラスタ、または任意の他の適切な構成および／または組み合わせから構成されてもよい。さまざまな実施形態において、サーバ１３１２は、前述の開示に記載された１つ以上のサービスまたはソフトウェアアプリケーションを動かすように構成することができる。たとえば、サーバ１３１２は、本開示の実施形態に従って上記に説明した処理を実行するためのサーバに対応することができる。
【００６６】
サーバ１３１２は、上述したものいずれかを含むオペレーティングシステム、および任意の市販サーバオペレーティングシステムを動かすことができる。また、サーバ１３１２は、ＨＴＴＰ（ハイパーテキスト転送プロトコル）サーバ、ＦＴＰ（ファイル転送プロトコル）サーバ、ＣＧＩ（共通ゲートウェイインターフェイス）サーバ、Java（登録商標）サーバ、データベースサーバなどを含むさまざまな追加サーバアプリケーションおよび／または中間層アプリケーションのいずれかを動かすことができる。例示的なデータベースサーバは、Oracle（登録商標）、Microsoft（登録商標）、Sybase（登録商標）、IBM（登録商標）などの会社から市販されているものを含むがこれらに限定されない。
【００６７】
いくつかの実現例において、サーバ１３１２は、クライアントコンピューティング装置１３０２、１３０４，１３０６、および１３０８のユーザから受信したデータフィードおよび／またはイベント更新を分析および統合する１つ以上のアプリケーションを含んでもよい。例示として、データフィードおよび／またはイベント更新は、Twitter（登録商標
）フィード、Facebook（登録商標）更新または１つ以上の第３情報源および連続データストリームから受信したリアルタイム更新を含むがこれらに限定されない。リアルタイム更
新は、センサデータアプリケーション、金融相場表示機、ネットワーク性能測定ツール（たとえば、ネットワーク監視およびトラフィック管理アプリケーション）、ページ遷移（Clickstream）解析ツール、自動車交通監視装置などに関連するリアルタイムイベントを
含むことができる。また、サーバ１３１２は、クライアントコンピューティング装置１３０２、１３０４、１３０６および１３０８の１つ以上の表示装置を介して、データフィードおよび／またはリアルタイムイベントを表示するための１つ以上のアプリケーションを含むこともできる。
【００６８】
また、分散システム１３００は、１つ以上のデータベース１３１４および１３１６を含むこともできる。データベース１３１４および１３１６は、さまざまな場所に常駐することができる。例示として、１つ以上のデータベース１３１４および１３１６は、サーバ１３１２の近く（および／またはその中）の非一時記憶媒体に常駐することができる。代替的には、データベース１３１４および１３１６は、リモートサーバ１３１２から離れており、ネットワークに基づく接続または専用接続を介して、サーバ１３１２と通信している。一組の実施形態において、データベース１３１４および１３１６は、記憶領域ネットワーク（ＳＡＮ）に常駐することができる。同様に、サーバ１３１２に寄与する機能を実行するための任意の必要なファイルは、必要に応じて、サーバ１３１２上に／またはサーバ１３１２から離れた場所に保存されてもよい。一組の実施形態において、データベース１３１４および１３１６は、たとえば、Oracleにより提供されるデータベースなどの関係データベースを含むことができる。これらの関係データベースは、ＳＱＬフォーマット命令に応じて、データを取得、保存および更新するように構成されている。
【００６９】
図１４は、本開示の実施形態に従ったシステム環境１４００の１つ以上の構成要素を示す簡略ブロック図である。実施形態に従ったシステムの１つ以上の構成要素によって提供されるサービスは、クラウドサービスとして提供されることができる。図示の実施形態において、システム環境１４００は、１つ以上のクライアントコンピューティング装置１４０４、１４０６および１４０８を含む。ユーザは、クライアントコンピューティング装置を用いて、クラウドサービスを提供するクラウドインフラストラクチャシステム１４０２と情報を交換することができる。クライアントコンピューティング装置は、ウェブブラウザ、専用クライアントアプリケーション（たとえば、オラクルフォーム）または他のアプリケーションなどのクライアントアプリケーションを作動するように構成されることができる。ユーザは、クライアントアプリケーションを用いてクラウドインフラストラクチャシステム１４０２と情報を交換することによって、クラウドインフラストラクチャシステム１４０２により提供されたサービスを利用することができる。
【００７０】
理解すべきことは、図示のクラウドインフラストラクチャシステム１４０２は、図示された構成要素以外の構成要素を備えてもよいことである。さらに、図示の実施形態は、本発明の実施形態を組み込むことができるクラウドインフラストラクチャシステムの一例に過ぎない。いくつかの他の実施形態において、クラウドインフラストラクチャシステム１４０２は、図示よりも多いまたは少ない構成要素を有してもよく、２つ以上の構成要素を組み合わせてもよく、または異なる構成または配置の構成要素を有してもよい。
【００７１】
クライアントコンピューティング装置１４０４、１４０６および１４０８は、上述したクライアントコンピューティング装置１３０２、１３０４、１３０６および１３０８と同様であってもよい。
【００７２】
例示的なシステム環境１４００は、３つのクライアントコンピューティング装置を備えると示されているが、任意の数のクライアントコンピューティング装置をサポートすることができる。他の装置、たとえばセンサを有する装置は、クラウドインフラストラクチャシステム１４０２と情報を交換することができる。
【００７３】
ネットワーク１４１０は、クライアント１４０４、１４０６および１４０８とクラウドインフラストラクチャシステム１４０２との間のデータの通信および交換を促進することができる。各ネットワークは、上記でネットワーク１３１０に関して説明したプロトコルをさまざまな市販プロトコルのいずれかを用いてデータ通信をサポートすることができ、当業者に熟知する任意の種類のネットワークであってもよい。
【００７４】
クラウドインフラストラクチャシステム１４０２は、上記でサーバ１３１２に関して説明した構成要素を含み得る１つ以上のコンピュータおよび／またはサーバを含むことができる。
【００７５】
特定の実施形態において、クラウドインフラストラクチャシステムによって提供されたサービスは、需要に応じて、クラウドインフラストラクチャシステムからユーザに提供できるオンラインデータの記憶およびバックアップ、ウェブベースの電子メールサービス、ホストされたオフィススイートおよび文章連携サービス、データベース処理、管理できる技術サポートサービスなどの多くのサービスを含んでよい。クラウドインフラストラクチャシステムによって提供されるサービスは、ユーザのニーズを満たすように動的に拡張できる。クラウドインフラストラクチャシステムによって提供されたサービスの特定の例示は、本明細書において、「サービスインスタンス」と呼ばれる。一般的には、インターネットなどの通信ネットワークを介して、クラウドサービスプロバイダのシステムからユーザに提供できる任意のサービスは、「クラウドサービス」と呼ばれる。典型的には、パブリッククラウド環境において、クラウドサービスプロバイダのシステムを構成するサーバおよびシステムは、顧客のオンプレミスサーバおよびシステムとは異なる。たとえば、クラウドサービスプロバイダのシステムは、アプリケーションを提供することができ、ユーザは、必要に応じて、インターネットなどの通信ネットワークを介して、アプリケーションを注文し、使用することができる。
【００７６】
いくつかの例において、コンピュータネットワーククラウドインフラストラクチャ内のサービスは、保護されたコンピュータネットワークのストレージアクセス、ホストされたデータベース、ホストされたウェブサーバ、ソフトウェアアプリケーション、またはクラウドベンダによってユーザに提供された他のサービス、または当該技術分野に知られている他のサービスを含むことができる。たとえば、サービスは、インターネットを介して、クラウド上のリモートストレージに対して、パスワードにより保護されたアクセスを含むことができる。別の例として、サービスは、ウェブサービスにホストされている関係データベースおよびネットワーク上の開発者により私的使用のためのスクリプト言語ミドルウェアエンジンを含むことができる。別の例として、サービスは、クラウドベンダのウェブサイト上でホストされている電子メールソフトウェアアプリケーションに対するアクセスを含むことができる。
【００７７】
特定の実施形態において、クラウドインフラストラクチャシステム１４０２は、セルフサービスのサブスクリプションに基づく、柔軟なスケーラビリティ、信頼性、高可用性および安全性を有する方法で、顧客に提供できる一連のアプリケーション、ミドルウェアおよびデータベースサービスを含むことができる。このようなクラウドインフラストラクチャシステムの例示として、本願譲受人により提供されたOracleパブリッククラウドが挙げられる。
【００７８】
さまざまな実施形態において、クラウドインフラストラクチャシステム１４０２は、顧客から申込んだクラウドインフラストラクチャシステム１４０２のサービスを自動的に提供、管理および追跡するように構成されることができる。クラウドインフラストラクチャシステム１４０２は、さまざまな展開モデルを介して、クラウドサービスを提供すること
ができる。たとえば、サービスは、クラウドサービスを販売する組織に所有された（たとえば、Oracleに所有された）クラウドインフラストラクチャシステム１４０２を有するパブリッククラウドモデルで提供され、一般人または異なる業界の企業に利用されることができる。別の例として、サービスは、単一の組織に専用されたクラウドインフラストラクチャシステム１４０２を有するプライベートクラウドモデルで提供され、組織内の１つ以上の実体に利用されることができる。また、クラウドサービスは、集団クラウドモデルで提供されてもよい。よって、クラウドインフラストラクチャシステム１４０２およびクラウドインフラストラクチャシステム１４０２により提供されたサービスは、関連する集団内の複数の組織によって共有される。また、クラウドサービスは、２つ以上の異なるモデルの組み合わせからなるハイブリッドクラウドモデルで提供されてもよい。
【００７９】
いくつかの実施形態において、クラウドインフラストラクチャシステム１４０２によって提供されたサービスは、SaaS（Software as a Service）カテゴリ、PaaS（Platform as
a Service）カテゴリ、IaaS（Infrastructure as a Service）カテゴリ、またはハイブ
リッドサービスを含む他のカテゴリのサービスに準拠して提供された１つ以上のサービスを含むことができる。顧客は、サブスクリプションの申込みによって、クラウドインフラストラクチャシステム１４０２によって提供された１つ以上のサービスを注文することができる。これに応じて、クラウドインフラストラクチャシステム１４０２は、顧客のサブスクリプション申込書に含まれたサービスを提供する処理を行う。
【００８０】
いくつかの実施形態において、クラウドインフラストラクチャシステム１４０２によって提供されたサービスは、アプリケーションサービス、プラットフォームサービスおよびインフラストラクチャサービスを含むがこれらに限定されない。いくつかの例において、アプリケーションサービスは、SaaSプラットフォームを介して、クラウドインフラストラクチャシステムによって提供されてもよい。SaaSプラットフォームは、SaaSカテゴリに準拠するクラウドサービスを提供するように構成されてもよい。たとえば、SaaSプラットフォームは、統合の開発および展開プラットフォーム上でオンデマンドアプリケーションのスイートを構築し、提供するように、機能することができる。SaaSプラットフォームは、SaaSサービスを提供するために、基礎のソフトウェアおよびインフラストラクチャを管理し、制御することができる。SaaSプラットフォームにより提供されたサービスを利用することによって、顧客は、クラウドインフラストラクチャシステム上で動作するアプリケーションを利用することができる。顧客は、別々のライセンスおよびサポートを購入する必要なく、アプリケーションサービスを取得することができる。さまざまな異なるSaaSサービスを提供することができる。例示としては、販売実績管理、企業統合、および大規模組織のビジネス柔軟性に対する解決策を提供するサービスを含むがこれらに限定されない。
【００８１】
いくつかの実施形態において、プラットフォームサービスは、PaaSプラットフォームを介してクラウドインフラストラクチャシステムによって提供されてもよい。PaaSプラットフォームは、PaaSカテゴリに準拠するクラウドサービスを提供するように構成されてもよい。プラットフォームサービスの例としては、共有されている共通アーキテクチャ上で既存のアプリケーションを統合する能力、およびプラットフォームにより提供された共有サービスを活用する新規アプリケーションを構築する能力を組織（たとえば、Oracle）に与えるサービスを含むがこれに限定されない。PaaSプラットフォームは、PaaSサービスを提供するために、基礎のソフトウェアおよびインフラストラクチャを管理し、制御することができる。顧客は、クラウドインフラストラクチャシステム上で動作するアプリケーションを利用することができる。顧客は、別々のライセンスおよびサポートを購入する必要なく、アプリケーションサービスを取得することができる。さまざまな異なるSaaSサービスを提供することができる。プラットフォームサービスの例としては、oracle Javaクラウ
ドサービス（JCS）、Oracleデータベースクラウドサービス（DBCS）およびその他を含む
がこれらに限定されない。
【００８２】
PaaSプラットフォームにより提供されたサービスを利用することによって、顧客は、クラウドインフラストラクチャシステムにサポートされているプログラミング言語およびツールを利用することができ、展開されたサービスを制御することができる。いくつかの実施形態において、クラウドインフラストラクチャシステムによって提供されるプラットフォームサービスは、データベースクラウドサービス、ミドルウェアクラウドサービス（たとえば、Oracle Fusionミドルウェアサービス）、およびJavaクラウドサービスを含むこ
とができる。一実施形態において、データベースクラウドサービスは、データベースリソースを蓄積する能力を組織に与えることができる共有サービス展開モデルをサポートすることができ、DBaaS（Database as a Service）をクラウドデータベースとして顧客に提供することができる。ミドルウェアクラウドサービスは、クラウドインフラストラクチャシステム上でさまざまなビジネスアプリケーションを開発および展開するためのプラットフォームを顧客に提供することができ、Javaクラウドサービスは、クラウドインフラストラクチャシステム上でJavaアプリケーションを展開するためのプラットフォームを顧客に提供することができる。
【００８３】
種々の異なるインフラストラクチャサービスは、IaaSプラットフォームによって、クラウドインフラストラクチャシステムに提供されてもよい。これらのインフラストラクチャサービスは、SaaSプラットフォームおよびPaaSプラットフォームにより提供されたサービスを利用する顧客のために、ストレージ、ネットワークおよびその他の基本的なコンピューティングリソースとしての基礎コンピューティングリソースの管理と制御を容易にする。
【００８４】
特定の実施形態において、クラウドインフラストラクチャシステム１４０２はまた、クラウドインフラストラクチャシステムを利用する顧客に、さまざまなサービスを提供するために使用されるリソースを提供するためのインフラストラクチャリソース１４３０を含むことができる。一実施形態において、インフラストラクチャリソース１４３０は、PaaSプラットフォームおよびSaaSプラットフォームによって提供されたサービスを実行するために、事前に統合され且つ最適化されたサーバリソース、ストレージリソースおよびネットワークリソースなどのハードウェアの組み合わせを含んでもよい。
【００８５】
いくつかの実施形態において、クラウドインフラストラクチャシステム１４０２内のリソースは、複数のユーザに共有されることができ、各々の需要に応じて動的に再割当てることができる。また、リソースは、異なるタイムゾーンでユーザに割当てることができる。たとえば、クラウドインフラストラクチャシステム１４３０は、指定時間内でクラウドインフラストラクチャシステムのリソースを第一時間帯における第一グループのユーザに利用させ、その後、同様のリソースを異なる時間帯における別のグループのユーザに再配分することができ、リソースを最大に利用する。
【００８６】
特定の実施形態において、複数の内部共有サービス１４３２は、提供され、クラウドインフラストラクチャシステム１４０２の異なる構成要素またはモジュールに共有されおよびクラウドインフラストラクチャシステム１４０２によって提供されたサービスに共有されることができる。これらの内部共有サービスは、安全性および識別サービス、統合サービス、企業リポジトリサービス、企業管理サービス、ウイルススキャンおよびホワイトリストサービス、高可用性のバックアップおよびリカバリサービス、クラウドサポートを可能にするサービス、メールサービス、通知サービス、およびファイル転送サービスなどを含むがこれらに限定されない。
【００８７】
特定の実施形態において、クラウドインフラストラクチャシステム１４０２は、クラウドインフラストラクチャシステム内のクラウドサービス（たとえば、SaaSサービス、PaaS
サービスおよびIaaSサービス）を包括的に管理する機能を提供することができる。一実施形態において、クラウド管理機能は、クラウドインフラストラクチャシステム１４０２などによって受信した顧客のサブスクリプションを提供、管理、および追跡する機能を含んでもよい。
【００８８】
一実施形態において、図示のように、クラウド管理機能は、１つ以上のモジュール、たとえば、オーダー管理モジュール１４２０、オーダーオーケストレーションモジュール１４２２、オーダー支給モジュール１４２４、オーダー管理および監視モジュール１４２６、およびＩＤ管理モジュール１４２８によって提供される。これらのモジュールは、１つ以上のコンピュータおよび／またはサーバを含んでもよく、これらを用いて形成されてもよい。これらのコンピュータおよび／またはサーバは、汎用コンピュータ、専用サーバコンピュータ、サーバファーム、サーバクラスタ、または任意の他の適切な配置および／またはこれらの組み合わせであってもよい。
【００８９】
例示的な操作１４３４において、顧客は、クライアント装置、たとえば、クライアント装置１４０４、１４０６または１４０８を使用して、クラウドインフラストラクチャシステム１４０２により提供された１つ以上のサービスをリクエストし、クラウドインフラストラクチャシステム１４０２によって提供された１つ以上のサービスをオーダーすることによって、クラウドインフラストラクチャシステム１４０２と情報を交換することができる。特定の実施形態において、顧客は、クラウドユーザインターフェイス（ＵＩ）、クラウドＵＩ１４１２、クラウドＵＩ１４１４および／またはクラウドＵＩ１４１６にアクセスし、これらのＵＩを介して、サブスクリプションをオーダーすることができる。クラウドインフラストラクチャシステム１４０２が顧客のオーダーに応答して受信したオーダー情報は、顧客と、クラウドインフラストラクチャシステム１４０２により提供され、顧客が購読しようとする１つ以上のサービスとを識別する情報を含むことができる。
【００９０】
顧客がオーダーした後、オーダー情報は、クラウドＵＩ１４１２、１４１４および／または１４１６を介して受信される。
【００９１】
操作１４３６において、オーダーは、オーダーデータベース１４１８に保存される。オーダーデータベース１４１８は、クラウドインフラストラクチャシステム１４１８によって操作され、または他のシステム要素と連動して操作されるいくつかのデータベースのうち１つであってもよい。
【００９２】
操作１４３８において、オーダー情報は、オーダー管理モジュール１４２０に転送される。いくつかの例において、オーダー管理モジュール１４２０は、オーダーに関連する請求および会計機能、たとえば、オーダーの確認、および確認後オーダーの記入を実行するように構成されてもよい。
【００９３】
操作１４４０において、オーダーに関する情報は、オーダーオーケストレーションモジュール１４２２に伝達される。オーダーオーケストレーションモジュール１４２２は、オーダー情報を利用して、顧客がオーダーしたサービスおよびリソースの提供を用意する。いくつかの例において、オーダーオーケストレーションモジュール１４２２は、オーダー支給モジュール１４２４のサービスを用いて、オーダーしたサービスをサポートするように、リソースの提供を用意することができる。
【００９４】
特定の実施形態において、オーダーオーケストレーションモジュール１４２２は、各オーダーに関連したビジネスプロセスを管理することができ、ビジネスロジックを適用することによって、オーダーに対して支給をするか否かを判断することができる。操作１４４２において、新規サブスクリプションのオーダーを受信すると、オーダーオーケストレー
ションモジュール１４２２は、リソースを割当て、サブスクリプションオーダーを満たすために必要なリソースを構成するように、リクエストをオーダー支給モジュール１４２４に送信する。オーダー支給モジュール１４２４は、顧客がオーダーしたサービス用のリソースを割当てることができる。オーダー支給モジュール１４２４は、クラウドインフラストラクチャシステム１４００により提供されたクラウドサービスと、リクエストされたサービスを提供するためのリソースを供給するために使用される物理的な実装層との間の抽象化レベルを形成する。このように、オーダーオーケストレーションモジュール１４２２は、たとえば、サービスおよびリソースをその場で支給するかまたは事前に支給するか、リクエストに応じて割当てる／与えるかなどの実装詳細から単離することができる。
【００９５】
操作１４４４において、サービスおよびリソースを支給した後、クラウドインフラストラクチャシステム１４０２のオーダー支給モジュール１４２４は、提供されるサービスの通知をクライアント装置１４０４、１４０６および／または１４０８を操作する顧客に送信することができる。
【００９６】
操作１４４６において、オーダー管理および監視モジュール１４２６は、顧客のサブスクリプションオーダーを管理および追跡することができる。いくつかの例において、オーダー管理および監視モジュール１４２６は、サブスクリプションオーダー内のサービスの利用統計、たとえば、ストレージの使用量、データの転送量、ユーザの数、システムの起動時間およびシステムの停止時間を収集するように構成されることができる。
【００９７】
特定の実施形態において、クラウドインフラストラクチャシステム１４００は、ＩＤ管理モジュール１４２８を含むことができる。ＩＤ管理モジュール１４２８は、クラウドインフラストラクチャシステム１４００に、識別サービス、たとえば、アクセス管理および認可サービスを提供するように構成することができる。いくつかの実施形態において、ＩＤ管理モジュール１４２８は、クラウドインフラストラクチャシステム１４０２によって提供されたサービスを利用したい顧客に関する情報を制御することができる。このような情報は、顧客のＩＤを承認する情報、およびさまざまなシステムリソース（たとえば、ファイル、ディレクトリ、アプリケーション、通信ポート、メモリセグメントなど）に対して許可された顧客の実行権限を記載する情報を含むことができる。ＩＤ管理モジュール１４２８は、各顧客に関する記述情報、記述情報にアクセスおよび変更する方法、および記述情報にアクセスおよび変更した顧客に対する管理を含むことができる。
【００９８】
図１５は、本発明のさまざまな実施形態を実現することができるコンピュータシステム１５００の一例を示す図である。コンピュータシステム１５００を用いて、上述したコンピュータシステムのいずれかを実現することができる。図示のように、コンピュータシステム１５００は、バスサブシステム１５０２を介して、複数の周辺サブシステムと連通する処理ユニット１５０４を含む。周辺サブシステムは、処理加速ユニット１５０６と、Ｉ／Ｏサブシステム１５０８と、記憶サブシステム１５１８と、通信サブシステム１５２４とを含むことができる。記憶サブシステム１５１８は、有形コンピュータ可読記憶媒体１５２２と、システムメモリ１５１０とを含む。
【００９９】
バスサブシステム１５０２は、コンピュータシステム１５００のさまざまな構成要素およびサブシステムが必要に応じて相互通信させるための機構を形成する。図示には、バスサブシステム１５０２を単一のバスとして概略的に示しているが、代替的な実施形態において、バスサブシステムは、複数のバスを利用してもよい。バスサブシステム１５０２は、メモリバスまたはメモリコントローラ、周辺バス、およびさまざまなバスアーキテクチャのいずれかを使用するローカルバスを備えるいくつかの種類のバス構造のいずれかを有してもよい。たとえば、このようなアーキテクチャは、業界標準アーキテクチャ（ISA）
バス、マイクロチャネルアーキテクチャ（MCA）バス、拡張ISA（EISA）バス、ビデオエレ
クトロニクス規格協会（VESA）ローカルバス、および周辺構成要素相互接続（PCI）バス
を含むことができる。これらのバスは、IEEE P1386.1規格に準拠した製造されたメザニンバスとして実現することができる。
【０１００】
１つ以上の集積回路（たとえば、従来のマイクロプロセッサまたはマイクロコントローラ）として実装することができる処理ユニット１５０４は、コンピュータシステム１５００の操作を制御する。処理ユニット１５０４は、１つ以上のプロセッサを含むことができる。これらのプロセッサは、シングルコアプロセッサであってもよく、マルチコアプロセッサであってもよい。特定の実施形態において、処理ユニット１５０４は、各々シングルコアプロセッサまたはマルチコアプロセッサを備える１つ以上の独立した処理ユニット１５３２および／または１５３４として実装されてもよい。他の実施形態において、処理ユニット１５０４は、２つのデュアルコア（dual-core）プロセッサを単一のチップに集積
することにより形成されたクアッドコア（Quad-core）処理ユニットとして実装されても
よい。
【０１０１】
さまざまな実施形態において、処理ユニット１５０４は、プログラムコードに応じてさまざまなプログラムを実行することができ、複数のプログラムまたはプロセスを同時に実行することができる。任意の時点で、実行されるプログラムコードの一部または全てをプロセッサ１５０４および／または記憶サブシステム１５１８に常駐することができる。適切なプログラミングによって、プロセッサ１５０４は、上述したさまざまな機能を提供することができる。コンピュータシステム１５００は、デジタルシグナルプロセッサ（DSP
）および専用プロセッサなどを含むことができる処理加速ユニット１５０６をさらに備えてもよい。
【０１０２】
Ｉ／Ｏサブシステム１５０８は、ユーザインターフェイス入力装置と、ユーザインターフェイス出力装置とを含むことができる。ユーザインターフェイス入力装置は、キーボード、マウスまたはトラックボールなどのポインティング装置、ディスプレイに組み込まれたタッチパッドまたはタッチスクリーン、スクロールホイール、クリックホイール、ダイヤル、ボタン、スイッチ、キーパッド、音声命令認識システムを備える音声入力装置、マイクロフォン、および他の種類の入力装置を含んでもよい。また、ユーザインターフェイス入力装置は、たとえば、Microsoft Kinect（登録商標）モーションセンサのようなモーション検知および／またはジェスチャ認識装置を含んでもよい。Microsoft Kinect（登録商標）モーションセンサは、ジェスチャおよび音声命令を利用する自然ユーザインターフェース（NUI）を介して、Microsoft Xbox（登録商標）３６０ゲームコントローラなどの
入力装置を制御することができ、それと対話することができる。また、ユーザインターフェイス入力装置は、Google Glass（登録商標）瞬き検出器のような眼球ジェスチャ認識装置を含むことができる。Google Glass（登録商標）瞬き検出器は、ユーザの眼球活動（たとえば、写真を撮るときおよび／またはメニューを選択するときの「瞬き」）を検出し、眼球活動を入力装置（たとえば、Google Glass（登録商標））に入力する入力に変換する。さらに、ユーザインターフェイス入力装置は、音声命令を介してユーザと音声認識システム（たとえば、Siri（登録商標）ナビゲータ）との対話を可能にする音声認識検出装置を含んでもよい。
【０１０３】
また、ユーザインターフェイス入力装置は、三次元（３Ｄ）マウス、ジョイスティックまたはポインティングスティック、ゲームパッド、グラフィックタブレット、スピーカなどのオーディオ／ビジュアル装置、デジタルカメラ、デジタルビデオカメラ、ポータブルメディアプレーヤ、ウェブカメラ、イメージスキャナ、指紋スキャナ、バーコードリーダ、３Ｄスキャナ、３Ｄプリンタ、レーザ距離計、および視線追跡装置を含むがこれらに限定されない。さらに、ユーザインターフェイス入力装置は、たとえば、コンピュータ断層撮影装置、磁気共鳴像装置、超音波放射断層撮影装置、および医療用超音波装置などのよ
うな医用画像入力装置を含んでもよい。また、ユーザインターフェイス入力装置は、たとえば、ＭＩＤＩキーボードおよび電子楽器などの音声入力装置を含んでもよい。
【０１０４】
ユーザインターフェイス出力装置は、ディスプレイサブシステム、インジケータライト、またはオーディオ出力装置などの非視覚ディスプレイを含んでもよい。ディスプレイサブシステムは、たとえば、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）またはプラズマディスプレイを使用するフラットパネル装置、投射装置またはタッチスクリーンであってもよい。一般に、「出力装置」という用語を使用する場合、コンピュータシステム１５００から情報をユーザまたは他のコンピュータに出力するためのすべての可能な種類の装置および機構を含むことを意図している。たとえば、ユーザインターフェイス出力装置は、文字、画像およびオーディオ／ビデオ情報を視覚的に伝達するさまざまな表示装置、たとえば、モニタ、プリンタ、スピーカ、ヘッドフォン、カーナビゲーションシステム、プロッタ、音声出力装置、およびモデムを含むがこれらに限定されない。
【０１０５】
コンピュータシステム１５００は、記憶サブシステム１５１８を含むことができる。記憶サブシステム１５１８は、ソフトウェア要素を備え、図示では、これらのソフトウェア要素は、システムメモリ１５１０内に配置されている。システムメモリ１５１０は、処理ユニット１５０４にロード可能かつ実行可能なプログラム命令、およびこれらのプログラムの実行により生成されたデータを記憶することができる。
【０１０６】
コンピュータシステム１５００の構成およびタイプに応じて、システムメモリ１５１０は、揮発性メモリ（たとえば、ランダムアクセスメモリ（random access memory：ＲＡＭ））であってもよく、および／または、不揮発性メモリ（たとえば、読取り専用メモリ（read-only memory：ＲＯＭ）、フラッシュメモリ）であってもよい。一般に、ＲＡＭは、処理ユニット１５０４がすぐにアクセス可能なデータおよび／またはプログラムモジュール、および／または、処理ユニット１５０４によって現在操作および実行されているデータおよび／またはプログラムモジュールを収容する。いくつかの実現例では、システムメモリ１５１０は、スタティックランダムアクセスメモリ（static random access memory
：ＳＲＡＭ）またはダイナミックランダムアクセスメモリ（dynamic random access memory：ＤＲＡＭ）などの複数の異なるタイプのメモリを含み得る。いくつかの実現例では、始動中などにコンピュータシステム１５００内の要素間で情報を転送することを助ける基本ルーチンを含む基本入力／出力システム（basic input/output system：ＢＩＯＳ）が
、一般にＲＯＭに格納され得る。一例としておよび非限定的に、システムメモリ１５１０は、クライアントアプリケーション、ウェブブラウザ、中間層アプリケーション、リレーショナルデータベース管理システム（relational database management system：ＲＤＢ
ＭＳ）などを含み得るアプリケーションプログラム１５１２、プログラムデータ１５１４およびオペレーティングシステム１５１６も示す。一例として、オペレーティングシステム１５１６は、マイクロソフトウィンドウズ（登録商標）、Apple Macintosh（登録商標
）および／もしくはＬｉｎｕｘ（登録商標）オペレーティングシステムのさまざまなバージョン、さまざまな市販のＵＮＩＸ（登録商標）もしくはＵＮＩＸライクオペレーティングシステム（さまざまなＧＮＵ／Ｌｉｎｕｘオペレーティングシステム、Google Chrome
（登録商標）ＯＳなどを含むが、これらに限定されるものではない）、ならびに／または、ｉＯＳ、Windows（登録商標）フォン、アンドロイド（登録商標）ＯＳ、ブラックベリ
ー（登録商標）１０ ＯＳおよびパーム（登録商標）ＯＳオペレーティングシステムなど
のモバイルオペレーティングシステムを含み得る。
【０１０７】
また、記憶サブシステム１５１８は、いくつかの実施例の機能を提供する基本的なプログラミングおよびデータ構造を格納するための有形のコンピュータ可読記憶媒体を提供し得る。プロセッサによって実行されたときに上記の機能を提供するソフトウェア（プログラム、コードモジュール、命令）が記憶サブシステム１５１８に格納され得る。これらの
ソフトウェアモジュールまたは命令は、処理ユニット１５０４によって実行され得る。また、記憶サブシステム１５１８は、本発明に従って使用されるデータを格納するためのリポジトリを提供し得る。
【０１０８】
また、記憶サブシステム１５１０は、コンピュータ可読記憶媒体１５２２にさらに接続可能なコンピュータ可読記憶媒体リーダ１５２０を含み得る。コンピュータ可読記憶媒体１５２２は、システムメモリ１５１０とともに、または必要に応じてシステムメモリ１５１０と組み合わせて、コンピュータ可読情報を一時的および／または永久に収容、格納、送信および検索するための記憶媒体に加えて、リモート記憶装置、ローカル記憶装置、固定的な記憶装置および／または取外し可能な記憶装置を包括的に表すことができる。
【０１０９】
また、コードまたはコードの一部を含むコンピュータ可読記憶媒体１５２２は、当該技術分野において公知のまたは使用される任意の適切な媒体を含み得て、当該媒体は、情報の格納および／または送信のための任意の方法または技術において実現される揮発性および不揮発性の、取外し可能および取外し不可能な媒体などであるが、これらに限定されるものではない記憶媒体および通信媒体を含む。これは、ＲＡＭ、ＲＯＭ、電子的消去・プログラム可能ＲＯＭ（electronically erasable programmable ROM：ＥＥＰＲＯＭ）、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（digital versatile disk：ＤＶＤ）、または他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または他の有形のコンピュータ可読媒体などの有形のコンピュータ可読記憶媒体を含み得る。また、これは、データ信号、データ送信などの無形のコンピュータ可読媒体、または、所望の情報を送信するために使用可能であり且つコンピュータシステム１５００によってアクセス可能なその他の媒体を含み得る。
【０１１０】
一例として、コンピュータ可読記憶媒体１５２２は、取外し不可能な不揮発性磁気媒体から読取るまたは当該媒体に書込むハードディスクドライブ、取外し可能な不揮発性磁気ディスクから読取るまたは当該ディスクに書込む磁気ディスクドライブ、ならびに、ＣＤ
ＲＯＭ、ＤＶＤおよびブルーレイ（登録商標）ディスクまたは他の光学式媒体などの取外し可能な不揮発性光学ディスクから読取るまたは当該ディスクに書込む光学式ディスクドライブを含み得る。コンピュータ可読記憶媒体１５２２は、ジップ（登録商標）ドライブ、フラッシュメモリカード、ユニバーサルシリアルバス（universal serial bus：ＵＳＢ）フラッシュドライブ、セキュアデジタル（secure digital：ＳＤ）カード、ＤＶＤディスク、デジタルビデオテープなどを含み得るが、これらに限定されるものではない。また、コンピュータ可読記憶媒体１５２２は、フラッシュメモリベースのＳＳＤ、企業向けフラッシュドライブ、ソリッドステートＲＯＭなどの不揮発性メモリに基づくソリッドステートドライブ（solid-state drive：ＳＳＤ）、ソリッドステートＲＡＭ、ダイナミッ
クＲＡＭ、スタティックＲＡＭなどの揮発性メモリに基づくＳＳＤ、ＤＲＡＭベースのＳＳＤ、磁気抵抗ＲＡＭ（magnetoresistive RAM：ＭＲＡＭ）ＳＳＤ、およびＤＲＡＭとフラッシュメモリベースのＳＳＤとの組み合わせを使用するハイブリッドＳＳＤを含み得る。ディスクドライブおよびそれらの関連のコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュールおよび他のデータの不揮発性記憶装置をコンピュータシステム１５００に提供し得る。
【０１１１】
通信サブシステム１５２４は、他のコンピュータシステムおよびネットワークとのインターフェイスを提供する。通信サブシステム１５２４は、他のシステムからデータを受信したり、コンピュータシステム１５００から他のシステムにデータを送信するためのインターフェイスの役割を果たす。たとえば、通信サブシステム１５２４は、コンピュータシステム１５００がインターネットを介して１つ以上の装置に接続することを可能にし得る。いくつかの実施例では、通信サブシステム１５２４は、（たとえば３Ｇ、４ＧまたはＥ
ＤＧＥ（enhanced data rates for global evolution）などの携帯電話技術、高度データネットワーク技術を用いて）無線音声および／またはデータネットワークにアクセスするための無線周波数（radio frequency：ＲＦ）トランシーバ構成要素、ＷｉＦｉ（ＩＥＥ
Ｅ１６０２．１１ファミリ標準または他のモバイル通信技術またはそれらの任意の組み合わせ）、全地球測位システム（global positioning system：ＧＰＳ）レシーバ構成要素
、および／または、他の構成要素を含み得る。いくつかの実施例では、通信サブシステム１５２４は、無線インターフェイスに加えて、または無線インターフェイスの代わりに、有線ネットワーク接続（たとえばイーサネット）を提供し得る。
【０１１２】
また、いくつかの実施例において、通信サブシステム１５２４は、コンピュータシステム１５００を使用し得る１人以上のユーザを代表して、構造化されたおよび／または構造化されていないデータフィード１５２６、イベントストリーム１５２８、イベント更新１５３０などの形態で入力通信を受信し得る。
【０１１３】
一例として、通信サブシステム１５２４は、ツイッター（登録商標）フィード、フェースブック（登録商標）更新、リッチ・サイト・サマリ（Rich Site Summary：ＲＳＳ）フ
ィードなどのウェブフィードなどのデータフィード１５２６をリアルタイムでソーシャルネットワークおよび／または他の通信サービスのユーザから受信し、および／または、１つ以上の第三者情報源からリアルタイム更新を受信するように構成され得る。
【０１１４】
また、通信サブシステム１５２４は、連続的なデータストリームの形態でデータを受信するように構成され得て、当該データは、連続的である場合もあれば本質的に明確な端部を持たない状態で境界がない場合もあるリアルタイムイベントのイベントストリーム１５２８および／またはイベント更新１５３０を含み得る。連続的なデータを生成するアプリケーションの例としては、たとえばセンサデータアプリケーション、金融ティッカ、ネットワーク性能測定ツール（たとえばネットワークモニタリングおよびトラフィック管理アプリケーション）、クリックストリーム分析ツール、自動車交通モニタリングなどを含み得る。
【０１１５】
また、通信サブシステム１５２４は、構造化されたおよび／または構造化されていないデータフィード１５２６、イベントストリーム１５２８、イベント更新１５３０などを、コンピュータシステム１５００に結合された１つ以上のストリーミングデータソースコンピュータと通信し得る１つ以上のデータベースに出力するように構成され得る。
【０１１６】
コンピュータシステム１５００は、手持ち式携帯機器（たとえばiPhone（登録商標）携帯電話、Ipad（登録商標）計算タブレット、ＰＤＡ）、ウェアラブル装置（たとえばGoogle Glass（登録商標）ヘッドマウントディスプレイ）、ＰＣ、ワークステーション、メインフレーム、キオスク、サーバラックまたはその他のデータ処理システムを含むさまざまなタイプのうちの１つであってもよい。
【０１１７】
コンピュータおよびネットワークが絶え間なく進化し続けるため、図示されているコンピュータシステム１５００の説明は、特定の例として意図されているにすぎない。図に示されているシステムよりも多くのまたは少ない数の構成要素を有する多くの他の構成が可能である。例えば、ハードウェア、ファームウェア、（アプレットを含む）ソフトウェア、または組み合わせにおいて、カスタマイズされたハードウェアも使用されてもよく、および／または、特定の要素が実装されてもよい。さらに、ネットワーク入力／出力装置などの他の計算装置への接続が利用されてもよい。本明細書で提供される開示および教示に基づいて、当業者は、さまざまな実施例を実現するための他の手段および／または方法を理解するであろう。
【０１１８】
前述の説明において、説明の目的で、本発明の実施形態を完全に理解できるようにするために、多くの具体的な詳細を記載する。しかしながら、これらの具体的な詳細がなくても本発明を実施できることは明らかであろう。場合によって、一部の周知の構造および装置は、ブロック図で示される。
【０１１９】
上記の説明は、例示的な実施形態を提供するもののみであり、本開示の範囲、適用性または構成を限定するものではない。むしろ、例示的な実施形態の上記の説明は、例示的な実施形態を実施可能な説明を当業者に提供する。理解すべきことは、添付の特許請求の範囲に記載された発明の精神および範囲から逸脱することなく、要素の機能および要素の配置にさまざまな変更を加えることができることである。
【０１２０】
本発明の実施形態を完全に理解するために、上記の記載において、具体的な詳細を説明した。しかしながら、当業者には、これらの具体的な詳細がなくても、本発明の実施形態を実施できることが理解されるであろう。例えば、不必要な詳細で実施形態を不明瞭にしないように、回路、システム、ネットワーク、プロセスおよび他の構成要素をブロック要素として示してもよい。他の例において、実施形態を不明瞭にしないように、不必要な詳細なしで、周知の回路、プロセス、アルゴリズム、構造および技術を示してもよい。
【０１２１】
また、留意すべきことは、各々の実施形態は、フローチャート、フロー図、データフロー図、構造図、またはブロック図として示された処理として説明されていることである。フローチャートは、操作を順次処理として説明しているが、多くの操作は、並行でまたは同時に実行することができる。さらに、操作の順序を再配置してもよい。処理は、その操作が完了した時点で終了するが、図に示されていない追加のステップを含んでもよい。処理は、メソッド、関数、プロシージャ、サブルーチン、サブプログラムなどに対応することができる。処理が関数に対応する場合、その終了は、呼び出し関数またはメイン関数の戻りに対応することができる。
【０１２２】
「コンピュータ可読媒体」という用語は、命令および／またはデータを記憶、格納または搬送することができる可搬型または固定型記憶装置、光記憶装置、無線チャネル、およびさまざまな他の媒体を含むが、これらに限定されない。コードセグメントまたは機械実行可能な命令は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、もしくは命令、データ構造またはプログラム文の任意の組合せを表すことができる。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容を転送および／または受取ることによって、別のコードセグメントまたはハードウェア回路に結合されてもよい。情報、引数、パラメータおよびデータなどは、メモリ共有、メッセージ転送、トークン転送、ネットワーク送信などの任意の適切な手段を介して、伝達され、転送され、または送信され得る。
【０１２３】
さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組み合わせによって実施されてもよい。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードに実施される場合、必要な作業を実行するプログラムコードまたはコードセグメントは、機械可読媒体に格納されてもよい。プロセッサは、必要な作業を実行することができる。
【０１２４】
上記の明細書では、本発明の局面は、その具体的な実施例を参照して記載されているが、本発明はこれに限定されるものではないことを当業者は認識するであろう。上記の発明のさまざまな特徴および局面は、個々にまたは一緒に使用されてもよい。さらに、実施例は、明細書のより広い精神および範囲から逸脱することなく、本明細書に記載されているものを越えたどのような環境およびアプリケーションでも利用可能である。したがって、明細書および図面は、限定的ではなく例示的であるものとみなされるべきである。
【０１２５】
さらに、例示の目的のために、特定の順序で方法を記載した。代替の実施形態において、記載された順序と異なる順序で方法を実行してもよい。また、上述した方法は、ハードウェア構成要素によって実行されてもよく、または一連の機械実行可能な命令で具体化されてもよい。機械実行可能な命令を用いて、汎用または専用プロセッサもしくは命令でプログラムされたロジック回路に指示して、方法を実行することができる。これらの機械実行可能な命令は、１つ以上の機械可読媒体、例えば、ＣＤ−ＲＯＭまたは他の種類の光ディスク、フロッピー（登録商標）ディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気または光カード、フラッシュメモリ、または電子命令の記憶に適した他の種類の機械可読媒体を含む。代替的に、これらの方法は、ハードウェアおよびソフトウェアの組み合わせによって実行されてもよい。
【０１２６】
いくつかの実施形態において、異なる言語間で仮想アシスタント用のオントロジを生成する方法は、仮想アシスタントを含むウェブドメイン内の複数のウェブリソースから第１言語の複数のトークンを抽出するステップを備え、ウェブリソースは、第１言語および第２言語で利用可能である。方法は、複数のトークンの各々に対応する第１品詞（ＰＯＳ）を決定するステップを備え、第１ＰＯＳは、第１言語に特有である。方法は、複数のトークンの各々に対応する第１ＯＳを第１言語と第２言語との間で共通な標準化ＰＯＳセットからの第２ＰＯＳにマッピングするステップと、複数のトークンから複数の見出語を生成するステップと、ノードのネットワークを表示させるステップとを備え、ノードのネットワーク内の各ノードは、複数の見出語のうちの１つを表し、ノードのネットワーク内のノード間の連結線は、複数の見出語の間の概念関係を表す。
【０１２７】
方法において、複数のトークンは、複数のウェブリソース内の複数の異なる形式のドキュメントから抽出される。方法は、異なる形式のドキュメントの各々に特有のスクリプトを実行することによって、複数のトークンを抽出するステップをさらに含む。方法は、複数の見出語を含み、複数の見出語間の概念関係を有する第１オントロジを生成するステップをさらに含む。この方法は、ユーザのクエリに応答するために、仮想アシスタントに第１オントロジを提供するステップをさらに含む。方法は、複数のウェブリソースから第２言語の第２複数のトークンを抽出するステップと、第２複数のトークンの各々に対応する第３ＰＯＳを決定するステップとを含み、第３ＰＯＳは、第２言語に特有である。方法は、第２複数のトークンの各々に対応する第３ＰＯＳを標準化ＰＯＳセット内の第４ＰＯＳにマッピングするステップと、第２複数のトークンから複数の第２見出語を生成するステップと、複数の見出語の間の概念関係を第２複数の見出語にマッピングすることによって、第２言語に特有の第２オントロジを生成するステップとを含む。方法において、ノードのネットワークは、複数の第２見出語を表す追加のノードを含み、よって、複数の見出語と第２複数の見出語との相互関係が表示される。方法において、第１ＰＯＳを第２ＰＯＳにマッピングするステップは、第１言語に特有のマッピングファイルを使用して、第１言語の各ＰＯＳを標準化ＰＯＳセット内のＰＯＳにマッピングすることを含む。
【０１２８】
いくつかの実施形態において、非一時的なコンピュータ可読媒体は、命令を含む。これらの命令は、１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに以下の操作を実行させる。当該操作は、仮想アシスタントを含むウェブドメイン内の複数のウェブリソースから第１言語の複数のトークンを抽出する操作を備え、ウェブリソースは、第１言語および第２言語で利用可能である。当該操作は、複数のトークンの各々に対応する第１品詞（ＰＯＳ）を決定する操作を備え、第１ＰＯＳは、第１言語に特有である。当該操作は、複数のトークンの各々に対応する第１ＯＳを第１言語と第２言語との間で共通な標準化ＰＯＳセットからの第２ＰＯＳにマッピングする操作と、複数のトークンから複数の見出語を生成する操作と、ノードのネットワークを表示させる操作とを備え、ノードのネットワーク内の各ノードは、複数の見出語のうちの１つを表し、ノードのネット
ワーク内のノード間の連結は、複数の見出語の間の概念関係を表す。
【０１２９】
非一時的なコンピュータ可読媒体において、複数のトークンは、複数のウェブリソース内の複数の異なる形式のドキュメントからを抽出する。非一時的なコンピュータ可読媒体内の命令は、１つ以上のプロセッサに、異なる形式のドキュメントの各々に特有のスクリプトを実行することによって、複数のトークンを抽出することを含む追加の操作を実行させる。非一時的なコンピュータ可読媒体内の命令は、１つ以上のプロセッサに、複数の見出語を含み、複数の見出語間の概念関係を有する第１オントロジを生成することを含む追加の操作を実行させる。非一時的なコンピュータ可読媒体内の命令は、１つ以上のプロセッサに、ユーザのクエリに応答するために、仮想アシスタントに第１オントロジを提供することを含む追加の操作を実行させる。非一時的なコンピュータ可読媒体内の命令は、１つ以上のプロセッサに、複数のウェブリソースから第２言語の第２複数のトークンを抽出する操作と、第２複数のトークンの各々に対応する第３ＰＯＳを決定する操作とを含む追加の操作を実行させる。第３ＰＯＳは、第２言語に特有である。非一時的なコンピュータ可読媒体内の命令は、１つ以上のプロセッサに、第２複数のトークンの各々に対応する第３ＰＯＳを標準化ＰＯＳセット内の第４ＰＯＳにマッピングする操作と、第２複数のトークンから複数の第２見出語を生成する操作と、複数の見出語の間の概念関係を第２複数の見出語にマッピングすることによって、第２言語に特有の第２オントロジを生成する操作とを含む追加の操作を実行させる。非一時的なコンピュータ可読媒体において、ノードのネットワークは、複数の第２見出語を表す追加のノードを含み、よって、複数の見出語と第２複数の見出語との相互関係が表示される。非一時的なコンピュータ可読媒体において、第１ＰＯＳを第２ＰＯＳにマッピングするステップは、第１言語に特有のマッピングファイルを使用して、第１言語の各ＰＯＳを標準化ＰＯＳセット内のＰＯＳにマッピングすることを含む。
【０１３０】
いくつかの実施形態において、システムは、１つ以上のプロセッサと、命令を含む１つ以上の記憶装置とを備え、命令は、１つ以上のプロセッサによって実行されると、１つ以上のプロセッサに以下の操作を実行させる。当該操作は、当該操作は、仮想アシスタントを含むウェブドメイン内の複数のウェブリソースから第１言語の複数のトークンを抽出する操作を備え、ウェブリソースは、第１言語および第２言語で利用可能である。当該操作は、複数のトークンの各々に対応する第１品詞（ＰＯＳ）を決定する操作を備え、第１ＰＯＳは、第１言語に特有である。当該操作は、複数のトークンの各々に対応する第１ＯＳを第１言語と第２言語との間で共通な標準化ＰＯＳセットからの第２ＰＯＳにマッピングする操作と、複数のトークンから複数の見出語を生成する操作と、ノードのネットワークを表示させる操作とを備え、ノードのネットワーク内の各ノードは、複数の見出語のうちの１つを表し、ノードのネットワーク内のノード間の連結は、複数の見出語の間の概念関係を表す。
【０１３１】
システムの命令は、１つ以上のプロセッサに、複数の見出語を含み、複数の見出語間の概念関係を有する第１オントロジを生成することを含む追加の操作を実行させる。命令は、１つ以上のプロセッサに、ユーザのクエリに応答するために、仮想アシスタントに第１オントロジを提供することを含む追加の操作の処理を実行させる。システムの命令は、１つ以上のプロセッサに、複数のウェブリソースから第２言語の第２複数のトークンを抽出する操作と、第２複数のトークンの各々に対応する第３ＰＯＳを決定する操作とを含む追加の操作を実行させる。第３ＰＯＳは、第２言語に特有である。システムの命令は、１つ以上のプロセッサに、第２複数のトークンの各々に対応する第３ＰＯＳを標準化ＰＯＳセット内の第４ＰＯＳにマッピングする操作と、第２複数のトークンから複数の第２見出語を生成する操作と、複数の見出語の間の概念関係を第２複数の見出語にマッピングすることによって、第２言語に特有の第２オントロジを生成する操作とを含む追加の操作を実行させる。システムにおいて、ノードのネットワークは、複数の第２見出語を表す追加のノードを含み、よって、複数の見出語と第２複数の見出語との相互関係が表示される。
【図１】
2018097887.tif 000005
【図２】
2018097887.tif 000006
【図３】
2018097887.tif 000007
【図４】
2018097887.tif 000008
【図５】
2018097887.tif 000009
【図６】
2018097887.tif 000010
【図７】
2018097887.tif 000011
【図８】
2018097887.tif 000012
【図９】
2018097887.tif 000013
【図１０】
2018097887.tif 000014
【図１１】
2018097887.tif 000015
【図１２】
2018097887.tif 000016
【図１３】
2018097887.tif 000017
【図１４】
2018097887.tif 000018
【図１５】
2018097887.tif 000019
【手続補正書】
【提出日】平成30年2月7日(2018.2.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
異なる言語間で仮想アシスタント用のオントロジを生成する方法であって、前記方法は、
前記仮想アシスタントを含むウェブドメイン内の複数のウェブリソースから、第１言語の複数のトークンを抽出するステップを含み、前記ウェブリソースは、第１言語および第２言語で利用可能であり、
前記複数のトークンの各々に対応する第１品詞（ＰＯＳ）を決定するステップを含み、前記第１ＰＯＳは、前記第１言語に特有であり、
前記第１言語に特有のマッピングファイルをロードするステップを含み、前記マッピングファイルは、前記第１言語の各ＰＯＳをテーブル内のエントリにマッピングし、前記テーブル内の各エントリは、前記第１言語および前記第２言語の間で共通なＰＯＳを含み、
前記マッピングファイルを用いて、前記複数のトークンの各々に対応する前記第１ＰＯＳを前記テーブルからの第２ＰＯＳにマッピングするステップと、
前記複数のトークンから複数の見出語を生成するステップと、
ノードのネットワークを表示させるステップとを含み、前記ノードのネットワーク内の各ノードは、前記複数の見出語のうちの１つを表し、前記ノードのネットワーク内のノード間の連結線は、前記複数の見出語の間の概念関係を表す、方法。
【請求項２】
前記複数のトークンは、前記複数のウェブリソース内の複数の異なる形式のドキュメントから抽出される、請求項１に記載の方法。
【請求項３】
前記異なる形式のドキュメントの各々に特有のスクリプトを実行することによって、前記複数のトークンを抽出するステップをさらに含む、請求項２に記載の方法。
【請求項４】
前記複数の見出語および前記複数の見出語間の概念関係を含む第１オントロジを生成するステップをさらに含む、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
ユーザのクエリに応答するために、前記第１オントロジを前記仮想アシスタントに提供するステップをさらに含む、請求項４に記載の方法。
【請求項６】
前記複数のウェブリソースから前記第２言語の第２複数のトークンを抽出するステップと、
前記第２複数のトークンの各々に対応する第３ＰＯＳを決定するステップとをさらに含み、前記第３ＰＯＳは、前記第２言語に特有であり、
前記マッピングファイルを用いて、前記第２複数のトークンの各々に対応する前記第３ＰＯＳを前記テーブルからの第４ＰＯＳにマッピングするステップと、
前記第２複数のトークンから複数の第２見出語を生成するステップと、
前記複数の見出語の間の前記概念関係を前記複数の第２見出語にマッピングすることによって、前記第２言語に特有の第２オントロジを生成するステップとをさらに含む、請求項４または５に記載の方法。
【請求項７】
前記ノードのネットワークは、前記複数の見出語と前記複数の第２見出語との間の関係を表示するように、前記複数の第２見出語を表す追加のノードを含む、請求項６に記載の方法。
【請求項８】
請求項１〜７のいずれかに記載の方法をコンピュータに実行させるためのプログラム。
【請求項９】
システムであって、
１つ以上のプロセッサと、
命令を含む１つ以上の記憶装置とを含み、これらの命令は、前記１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに以下の動作を実行させ、
前記動作は、仮想アシスタントを含むウェブドメイン内の複数のウェブリソースから、第１言語の複数のトークンを抽出することを含み、前記ウェブリソースは、第１言語および第２言語で利用可能であり、
前記動作は、前記複数のトークンの各々に対応する第１品詞（ＰＯＳ）を決定することを含み、前記第１ＰＯＳは、前記第１言語に特有であり、
前記動作は、前記第１言語に特有のマッピングファイルをロードすることを含み、前記マッピングファイルは、前記第１言語の各ＰＯＳをテーブル内のエントリにマッピングし、前記テーブル内の各エントリは、前記第１言語および前記第２言語の間で共通なＰＯＳを含み、
前記動作は、
前記マッピングファイルを用いて、前記複数のトークンの各々に対応する前記第１ＰＯＳを前記テーブルからの第２ＰＯＳにマッピングすることと、
前記複数のトークンから複数の見出語を生成することと、
ノードのネットワークを表示させることとを含み、前記ノードのネットワーク内の各ノードは、前記複数の見出語のうちの１つを表し、前記ノードのネットワーク内のノード間の連結線は、前記複数の見出語の間の概念関係を表す、システム。
【請求項１０】
前記命令は、前記１つ以上のプロセッサに、前記複数の見出語および前記複数の見出語間の概念関係を含む第１オントロジを生成することを含む追加の動作を実行させる、請求項９に記載のシステム。
【請求項１１】
前記命令は、前記１つ以上のプロセッサに、追加の動作を実行させ、
前記追加の動作は、
前記複数のウェブリソースから前記第２言語の第２複数のトークンを抽出することと、
前記第２複数のトークンの各々に対応する第３ＰＯＳを決定することとを含み、前記第３ＰＯＳは、前記第２言語に特有であり、
前記追加の動作は、
前記マッピングファイルを用いて、前記第２複数のトークンの各々に対応する前記第３ＰＯＳを前記テーブルからの第４ＰＯＳにマッピングすることと、
前記第２複数のトークンから複数の第２見出語を生成することと、
前記複数の見出語の間の前記概念関係を前記複数の第２見出語にマッピングすることによって、前記第２言語に特有の第２オントロジを生成することとを含む、請求項１０に記載のシステム。
【請求項１２】
前記ノードのネットワークは、前記複数の見出語と前記複数の第２見出語との間の関係を表示するように、前記複数の第２見出語を表す追加のノードを含む、請求項１１に記載のシステム。
【外国語明細書】
2018097887000001.pdf