JP2018097887A - 言語入力データからnグラムおよび概念関係の自動生成 - Google Patents

言語入力データからnグラムおよび概念関係の自動生成 Download PDF

Info

Publication number
JP2018097887A
JP2018097887A JP2018004992A JP2018004992A JP2018097887A JP 2018097887 A JP2018097887 A JP 2018097887A JP 2018004992 A JP2018004992 A JP 2018004992A JP 2018004992 A JP2018004992 A JP 2018004992A JP 2018097887 A JP2018097887 A JP 2018097887A
Authority
JP
Japan
Prior art keywords
grams
ontology
generating
web
tokens
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018004992A
Other languages
English (en)
Other versions
JP6714024B2 (ja
Inventor
ナウゼ,ファブリセ
Nauze Fabrice
キッシグ,クリスティアン
Kissig Christian
ザラフィン,マダリナ
Zarafin Madalina
フィラダ−モイロン,マリア・ベホナ
Begona Villada-Moiron Maria
ヘネト,ルース
Genet Roos
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Oracle International Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oracle International Corp filed Critical Oracle International Corp
Publication of JP2018097887A publication Critical patent/JP2018097887A/ja
Application granted granted Critical
Publication of JP6714024B2 publication Critical patent/JP6714024B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Machine Translation (AREA)

Abstract

【課題】ウェブリソースから見出語辞書を自動的に生成する方法を提供する。【解決手段】ウェブリソースからオントロジを自動的に生成する方法は、ウェブリソース内のテキストドキュメントから複数のトークンを抽出するステップと、複数のトークンから複数のNグラムを生成するステップと、有効なNグラムを特定する1つ以上のフィルタ定義を受信するステップと、1つ以上のフィルタ定義を用いて複数のNグラムをフィルタリングすることによって、見出語辞書を生成するステップと、見出語辞書を含むオントロジを生成するステップとを含む。【選択図】図3

Description

関連出願の相互参照
本願は、2014年11月10日に出願され、「言語入力データからのNグラムから概念関係の自動一括生成」と題された米国仮特許出願第62/077868号の優先権を主張する。また、本願は、2014年11月10日に出願され、「見出語とユニバーサルオントロジとのマッピング」と題された米国仮特許出願第62/077887号の優先権を主張する。これらの出願の各々は、あらゆる目的で参照により本明細書に組み込まれる。
以下の2015年7月7日と同一日付に出願された3つの出願は、すなわち、2015年7月7日にFabrice Nauzeらによって出願され、「言語入力データからNグラムおよび
概念関係の自動生成」と題された米国特許出願第14/793677号(代理人整理番号88325−934160)、2015年7月7日にMargaret Salomeらによって出願さ
れ、「自然言語処理アプリケーション用のオントロジの自動生成」と題された米国特許出願第14/793701号(代理人整理番号88325−913826)、および2015年7月7日にFabrice Nauzeらによって出願され、「コンピュータ自然言語処理による
見出語とユニバーサルオントロジとのマッピング」と題された米国特許出願第14/793658号(代理人番号:88325−934161)は、相互関連している。これらの出願の各々は、参照により本明細書に組み込まれる。
背景
大きな企業の管理には、大量のデータを格納、集約および解析することが必要である。多くの組織は、企業ソフトウェアシステムを用いて、殆ど全てのビジネスデータを管理している。例えば、企業ソフトウェアシステムは、オンラインショッピング、オンライン決済処理、問答型製品カタログ、自動課金システム、セキュリティ、企業コンテンツの管理、ITサービスの管理、顧客関係の管理、企業資源の計画、ビジネスインテリジェンス、プロジェクト管理、共同作業、人事管理、製造、企業アプリケーションの統合、および企業フォームの自動化などのビジネス向けツールを提供することができる。
簡単な要約
いくつかの実施形態において、ウェブリソースから見出語辞書を自動的に生成する方法は、ウェブリソース内のテキストドキュメントから複数のトークンを抽出するステップと、複数のトークンから複数のNグラムを生成するステップと、有効なNグラムを特定する1つ以上のフィルタ定義を受信するステップと、1つ以上のフィルタ定義を用いて複数のNグラムをフィルタリングすることによって、見出語辞書を生成するステップと、見出語辞書を含むオントロジを生成するステップとを含むことができる。
いくつかの実施形態において、非一時的なコンピュータ可読媒体は、命令を含む。これらの命令は、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに以下の操作の処理を実行させる。当該操作は、ウェブリソース内のテキストドキュメントから複数のトークンを抽出する操作と、複数のトークンから複数のNグラムを生成する操作と、有効なNグラムを特定する1つ以上のフィルタ定義を受信する操作と、1つ以上のフィルタ定義を用いて複数のNグラムをフィルタリングすることによって、見出語辞書を生成する操作とを含むことができる。
いくつかの実施形態において、システムは、1つ以上のプロセッサと、命令を含む1つ以上の記憶装置とを備える。これらの命令は、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに以下の操作を実行させる。当該操作は、ウェブリソース内のテキストドキュメントから複数のトークンを抽出する操作と、複数のトークンから複数のNグラムを生成する操作と、有効なNグラムを特定する1つ以上のフィルタ定義を受信する操作と、1つ以上のフィルタ定義を用いて複数のNグラムをフィルタリングすることによって、見出語辞書を生成する操作とを含むことができる。
明細書および図面の残りの部分を参照することによって、本発明の本質および利点をさらに理解することができる。いくつかの図面において、同様の参照番号を用いて、同様の構成要素を参照する。いくつかの例において、参照番号にサブラベルを付けることによって、複数の類似する構成要素のうち1つを表す。存在するサブラベルを指定せず、参照番号を使用する場合、複数の類似する構成要素の全体を参照することを意図している。
いくつかの実施形態に従って、ウェブに基づく仮想アシスタントを示す簡略ブロック図である。 いくつかの実施形態に従って、自然言語オントロジを生成するためのシステムを示すブロック図である。 いくつかの実施形態に従って、標準化処理を用いて異なる言語でオントロジを生成する方法を示すフローチャートである。 いくつかの実施形態に従って、言語解析ツールと対話するためのユーザインターフェイスを示す図である。 いくつかの実施形態に従って、ウェブドメインからトークンを自動的に抽出するためのユーザインターフェイスを示す図である。 言語解析ツールによって返されたトークンデータ構造内の情報を表示するためのユーザインターフェイスを示す図である。 いくつかの実施形態に従って、さまざまな長さのNグラム見出語を表示するユーザインターフェイスを示す図である。 いくつかの実施形態に従って、見出語フィルタを設定するためのインターフェイスを示す図である。 いくつかの実施形態に従って、オントロジの見出語の最終リストを生成するためのユーザインターフェイスを示す図である。 いくつかの実施形態に従って、テキストコーパスから見出語辞書を自動的に生成する方法を示すフローチャートである。 いくつかの実施形態に従って、見出語の相互関係を確立するためのテキストに基づくユーザインターフェイスを示す図である。 いくつかの実施形態に従って、オントロジを図形的に表現し且つ操作するためのユーザインターフェイスを示す図である。 いくつかの実施形態を実現するための分散システムを示す簡略ブロック図である。 一実施形態に従って、サービスをクラウドサービスとして提供することができるシステム環境の構成要素を示す簡略ブロック図である。 さまざまな実施形態を実装することができる例示的なコンピュータシステムを示す図である。
詳細な説明
本明細書は、仮想アシスタントおよび他の自然言語処理アプリケーション用の自然言語オントロジを生成および提供するための実施形態を説明する。一般的に、仮想アシスタン
トは、ウェブページ、データベースおよびFAQドキュメントなどのテキストコーパスに関連する。これらの実施形態は、テキストコーパスを収集し、オントロジの候補見出語であるトークンまたは単語を特定することができる。ツールを用いて、テキストコーパスの特定言語に使用されるトークンの語根(または語幹)と共に、各トークンの品詞(part-of-speech、POS)を特定することができる。異なるウェブリソース間および異なる言語間でオントロジの生成を標準化するために、各トークンのPOSは、言語間に使用できる標準化POSマップにマッピングすることができる。その後、トークンの組み合わせをフィルタリングおよび洗練することによって、オントロジの基礎を生成するために使用できる見出語(または概念)のライブラリを生成することができる。最後に、視覚化ツールを用いて、オントロジ階層内の見出語の相互関係を確立、編集および理解することができる。これによって、仮想アシスタントなどのアプリケーションは、オントロジを用いて、知識ベース内の概念をグループ化することができ、ユーザのクエリを意図類別にマッピングすることができる。他の実施形態において、生成されたオントロジにおける概念の相互関係は、ユーザの質問に自動的に応答し、ユーザの質問に反応する検索エンジンに使用することができる。
従来には、2つの同源オントロジがこのようなシステムに使用されている。第1には、オープンソースまたは公的に利用可能である包括的なオントロジ、例えばWordNet(登録
商標)から入手可能なオントロジを使用することができる。これらの公開オントロジは、非常に包括的であり、場合によって人間言語全体の概念および関係を定義してしまう。しかしながら、このオントロジの包括的な性質は、特定の有限ドメインを解析する場合に、不利になる可能性がある。例えば、航空会社のウェブドメインは、ユーザのクエリに関連する有限の情報コーパスを有する。公開オントロジを使用すると、特定のドメインに対して意味のない概念を導入してしまう可能性がある。簡単に言えば、公開オントロジは、あまりにも網羅的であるため、検索エンジンに必要以上のヒットを与え、精度を犠牲にして検索率を増加する。さらに、ウェブドメインは、公開オントロジにとって理解できないまたは適切ではない特定の用語および定義を含む場合がある。
第2には、手動でカスタムオントロジを作成することができる。上記のウェブドメインの例において、ウェブデザイナは、苦労して、ウェブドメインによって導入された全ての情報を分類し、オントロジを生成することができる。この手動作業の利点は、オントロジの概念をウェブドメイン特有の概念に限定できることである。しかしながら、この手動作業は、エラーを起こし易く、ウェブドメインのライフサイクルに亘って行うことが殆どできない。ウェブドメインが変更され、用語が導入されおよび/または廃止されると、手動で構築されたオントロジは、すぐに古くなってしまう。ウェブドメインが更新されるたびに、オントロジを更新する必要がある。この処理は、大規模なウェブドメインでは簡単に持続することができない。
第3の選択肢は、本明細書に記載の実施形態によって与えられる。これらの実施形態は、コンピュータツールを用いて、ウェブドメインを自動的に解析し、概念および関係のオントロジを自動的に生成する。この操作は、ウェブドメインのライフサイクルに亘って繰り返すことができる。これらのツールは、オントロジ生成処理の各ステップを検証できるように、人間の関与レベルを容易に変えることができる。従来の自動方法は、統計モデルを訓練するための大量のデータおよびデータ注釈に依存する統計法に依存する。従来の自動方法は、大規模な汎用オントロジの場合にはうまく機能するが、データが比較的少く専門的なドメインにはうまく適用できない。殆どのビジネス別のドメインおよび顧客別のドメインが統計法による取り込みに対して比較的少ない情報を有するため、統計法は、信頼できるモデルを構築できず、失敗につながる。
いくつかの実施形態において、ライブラリおよび手順の標準化セットを用いて、事実上
任意のテキストコーパスからオントロジを生成することができる。ツールは、コーパスを収集するときに、特定種類のドキュメント(例えば、HTML、PDF、XMLなど)に適合したルーチンを使用することができる。これらのルーチンは、トークンのリストから除外すべく情報および単語をドキュメントから特定することができる。このような情報は、例えば、メタデータ、構造データ、フォーマットデータまたは書式情報を含んでもよい。トークンのリストを組み合わせて、さまざまな長さのNグラムを生成することができる。カスタマイズ可能なフィルタセットを用いて、Nグラムのリストを、オントロジに使用されるNグラム候補の最終リストに自動的に絞り込むことができる。
例示目的のために、本開示は、上述したオントロジ生成処理の例示的な応用として、特定のウェブドメインで動作する仮想アシスタントを使用する。しかしながら、理解すべきことは、このオントロジ生成処理は、事実上任意のテキストコーパスと共に使用されることができ、自然言語処理に関与する任意のアプリケーションに適用されてもよいことである。具体的には、これらの例におけるテキストコーパスは、仮想アシスタントに関連するウェブドメインによって提供されたウェブリソースを含む。しかしながら、他のアプリケーションにおいて、テキストコーパスは、任意のテキスト資源を含むことができる。
図1は、いくつかの実施形態に従って、ウェブに基づく仮想アシスタント104を示す簡略ブロック図100である。ウェブドメイン106は、インターネットを介して取引を行う顧客に商品およびサービスを提供することができる。顧客は、ウェブドメイン106と情報を交換するときに、HTMLウェブページ、CSSスタイルシート、後置型データベース、XMLファイル、PDFドキュメント、ブログ投稿、インターネットフォーラムなどを含むがこれらに限定されないさまざまなウェブリソース102と情報を交換することができる。情報を交換する間に、ユーザは、取引を完了したり、必要な情報を見付けたりするための支援を必要とする場合がある。この場合、人間関与を提供する代わりに、ウェブドメイン106は、仮想アシスタント104を提供することができる。この仮想アシスタントは、ユーザからの質問を理解し、知識ベース114から回答を提供するように構成される。知識ベースは、質問に対する回答に有用なFAQ、ユーザマニュアル、ホワイトペーパー、マルチメディアコンテンツ、ウェブドメイン106のユーザが利用可能なウェブリソース102のカタログを含むことができる。いくつかの実施形態において、仮想アシスタント104は、ユーザがダイアログボックスに質問を入力し、質問に対する音声応答を得るように構成された会話型ソフトを含むことができる。例えば、ユーザは、「新しいスマートフォンを購入したいが、モデル9.2の購入を手伝ってもらえますか?」と入力することができる。仮想アシスタント104は、ユーザと目的のある討論を行い、最終的に知識ベース114内のエントリにより回答を形成する。
仮想アシスタント104が正確且つ関連性のある方法で反応して、ユーザによって提供された異なるコンテキストキューを引き出すために、言語概念および関係のロバスト表現が必要とされる。階層に編成された概念辞書は、本明細書において「オントロジ」として呼ばれる。これらのオントロジは、文法および/または用語辞典とも呼ばれる。ユーザのクエリに応じて、自然言語プロセッサ116は、ユーザのクエリを解析し、クエリによって表される1つ以上の意図類別を特定することができる。知識ベース114内の情報は、異なるドメイン112(例えば、データソース)に亘って存在することができる。これらの情報は、意図類別に従って異なるドメイン112に分類される。意図類別は、顧客から受けられる共通話題、例えば「携帯電話の更新」または「メールにアクセスできない」などを含むことができる。これらの意図類別は、ウェブリソース102から生成されたオントロジ108により表された概念に関連付けることができる。一定の意味では、本明細書に記載の実施形態は、ウェブリソース102を解析し、特定のウェブドメイン106に特有の用語および概念の階層を生成する。自然言語プロセッサ116は、オントロジ108内の概念を用いて、仮想アシスタント104を介して受け取ったクエリの意図をより正確
に特定することができる。例えば、クエリは、異なるウェブドメインに亘って異なる意味を有し、特定のウェブドメイン106において特定の意味を有する用語を含むことがある。また、特定のウェブドメイン106は、他のドメインに広く使用されない専門用語を使用する場合もある。これらの実施形態は、全ての言語(例えば、英語)に対して共通のオントロジを使用する代わりに、ウェブドメイン106に特有のオントロジ108を生成する。ウェブドメイン106に特有であり、合理化されたロバストなオントロジ108は、特定の言語に対して共通のオントロジを使用する場合に比べて、一般的に短い処理時間で正確な結果を得ることができる。
多くの応用において、ウェブドメイン106は、多くの異なる言語で顧客に提供されることがある。例えば、世界中の顧客層に対応するために、企業は、英語、中国語および日本語でウェブサイトを提供することができる。ウェブリソース102は、さまざまな言語に翻訳され、ユーザの位置に基づいて提供されてもよい。従来には、ウェブリソース102の各言語バージョンに対して、各々のオントロジを生成する必要がある。この作業は、主に手動で行われ、特定の言語ごとに言語専門家が必要であった。本明細書に記載の実施形態において、オントロジ生成ツールを用いて、さまざまな言語でウェブリソースを収集し、各トークンを言語間で一貫している概念に対して標準化されたPOSマップと比較することができる。概念の階層が一般的に言語間で変化しないため、マスタオントロジ110−1を用いて、各言語で表現された概念をマスタオントロジ110−1内の概念にマッピングした後、マスタオントロジ110−1との概念関係を保存することによって、オントロジ108の複数のバージョン(例えば、オントロジバージョン110−2、...110−N)を生成することができる。本開示で後述する視覚化ツールを用いて、さまざまな言語間のオントロジ関係を見ることができる。
図2は、いくつかの実施形態に従って、自然言語オントロジを生成するためのシステムを示すブロック図200である。仮想アシスタントなどのアプリケーションと共に使用する図1のオントロジ108を提供するために、いくつかの実施形態は、標準化ツールを使用して、一式のウェブリソース102からオントロジを生成し、編集および正確する。図2は、オントロジ生成処理の概要を示している。この処理の各ステップをより詳細に後述する。まず、テキスト収集装置202は、ウェブリソース102をクローリングし、ウェブリソース102からトークンまたは単語を抽出することができる。テキスト収集装置202は、これらの単語をフィルタリングして、オントロジ108に含まれるべきではない情報、例えば、書式設定情報および構造情報を除去する。その後、これらの単語またはトークンは、Oracle(登録商標)言語ライブラリなどの言語解析ツール204に伝送される。言語解析ツール204は、テキスト収集装置202から関連テキストを受け取り、各トークンの語根およびPOSを特定することができる。例えば、ウェブリソース102から収集された単語の1つが「features」であった場合、言語解析ツール204は、原始テキスト(「features」)、その単語の語幹または語根(「feature」)、POS(名詞)、
およびその特定のトークンに関する他の言語特有情報の豊富な集合を含むデータ構造を戻す。POSは、トークンがウェブリソース102に使用された前後文によって、言語解析ツール204によって推測することができる。
言語解析ツール204は、ウェブリソース102の特定の言語に特有のトークンおよびPOS表示を返す。オントロジ生成処理を標準化し、特定言語のオントロジを生成する際に必要とされる特定言語の専門家を軽減するために、POSマッピング処理205は、事実上全ての言語に適用できる標準POSマッピングテーブルを使用することができる。このような標準化POSファイルの例として、以下の表1に示される。品詞の規定は、言語およびドメインによって大きく異なる。従来では、異なる言語からオントロジを生成する場合、異なる処理を用いて、異なる規定を扱う必要があった。表1は、言語間で適用できる一連の基本使用概念を標準化することによって、POSの解析を標準化する。POSマ
ッピング処理205は、各特定の言語内の品詞を標準化POSファイルにマッピングする言語特有マッピングファイルと共に、標準化POSを使用することができる。例えば、スペイン語の特定の単語は、表1の標準化ファイルの対応する最上級の形容詞カテゴリにマッピングすることができる。スペイン語−標準マッピングファイルは、スペイン語のPOS規則と表1に列挙されたPOS規則との関係をリストすることができる。POSマッピング処理205は、これらの関係をスペイン語−標準マッピングファイルに適用することによって、各スペイン語POSを表1の標準化POSに変換することができる。留意すべきことは、いくつかの言語は、他の言語と整合しない品詞を有すること、例えば、日本語は、英語に存在しない丁寧語接頭辞を有することである。なお、表1は、共通POSを含む標準化POS分類のサブセットを示している。各実施形態において、追加のPOS定義および規定を表1に追加することができる。例えば、日本語の特異性を包括するために、特別のラベルを用いて対応することができる。各トークンを標準POSに関連付けることによって、トークンは、単なる単語ではなく、言語間で一貫して表現できる概念を表す概念である。例えば、船の「船首」(bow、名詞)は、動作を行う「曲げる」(bow、動詞)とは大きく異なるが、これらの2つの概念は、各々のPOSによって分けることができる。これらの2つの概念は、英語では同一の単語で表されるが、スペイン語では異なる単語(すなわち、「proa」および「inclinar」)で表される。POS解析の標準化は、オントロジ生成処理を単純化するために、言語間のオントロジ概念をマッピングする手段となる。POSマッピング処理の出力は、標準化POSマップを使用して、トークン206を表すデータ構造の集合である。
その後、トークン206は、見出語生成エンジン208に供給され、見出語フィルタリング処理210を経て、オントロジ108用のNグラム見出語212の最終リストを生成することができる。この処理は、後で詳述する。一般的に、見出語は、ウェブリソース102に出現した1つ、2つまたは3つ以上の連続するトークンから構築することができる。例えば、連続して出現したトークン「flight」(飛行)および「deck」(甲板)を組み合わせることによって、各々の「飛行」および「甲板」の概念とは異なる概念である飛行甲板を表す見出語「flight deck」を形成することができる。さらに、これらのトークン
から追加の見出語、例えば「主飛行甲板」および「二次飛行甲板」を形成することができる。さまざまなフィルタを使用して、Nグラム候補セットをNグラム見出語212の最終リストに切り詰めることができる。
Nグラム見出語212の最終リストを生成した後、Nグラム見出語の相互関係を確立することによって、最終的なオントロジ階層を形成することができる。相互関係を生成するために、視覚化ツール216を用いて、階層内のノードおよび連結線を図表方式で配置することができる。視覚化ツール216の例は、後述する。視覚化ツール216は、ユーザに、見出語の相互関係がどのように相互影響するかに対する理解および全体的な感覚(以前には利用できなかった)を提供することができる。いくつかの実施形態において、視覚化ツール216は、見出語を表すノードの2次元グラフを有する作業スペースを形成することができる。ユーザは、階層的な方法で見出語を図形的に一体に連結することによって、オントロジ108の最終関係を生成することができる。
いくつかの実施形態において、選択された言語、例えば英語でマスタオントロジ110−1を生成することができる。マスタオントロジ110−1は、ウェブドメイン106および特定の言語(例えば、英語)に精通したユーザによって手動で確立された関係を有することができる。マスタオントロジ110−1は、言語間で標準化された見出語およびPOS規則を使用する。換言すれば、マスタオントロジ110−1の言語内のNグラム見出語212のうち1つによって表される概念を、別の言語(例えば、スペイン語)内の異なるNグラム見出語によって表される対応の概念にマッピングすることができる。他の言語のオントロジを生成するために、他の言語バージョンのウェブリソース102に対して、図2の処理の一部を実行するだけでよい。例えば、スペイン語ウェブサイトの場合、テキ
ストからトークンを収集し(202)、言語解析ツール(204)によってトークンにスペイン特有のPOSを与え、そのトークンのPOSを表1の標準POSにマッピングし(205)、スペイン語のNグラム見出語を生成する(208、210)。ユーザが手動でスペイン語のNグラム見出語の階層的な関係を確立することを要求する代わりに、言語マッピング処理214は、マスタオントロジ110−1内の概念をスペイン語Nグラム見出語によって表される概念とマッチングすることができる。全てのスペイン語のNグラム見出語がマッチングされると、スペイン語専門家がスペイン語Nグラム見出語の相互関係を確立する必要なく、マスタオントロジ110−1において確立された関係をスペイン語のNグラム見出語にマッピングすることによって、スペイン語オントロジ110−2を生成することができる。POS規則および言語間オントロジを生成する処理の両方を標準化することによって、大部分の処理を自動化することができ、よって、言語オントロジ間のエラーおよびミスマッチを事実上なくすことができる。
図3は、いくつかの実施形態に従って、標準化処理を用いて異なる言語でオントロジを生成する方法のフローチャート300を示す。この方法は、ウェブリソースおよびウェブドメインから第1言語のトークンを抽出するステップ(302)を含むことができる。ウェブドメインは、異なる言語(例えば、第1言語、第2言語など)で、異なるバージョンのウェブページを提示することができる。例えば、多国籍企業のウェブドメインは、英語、中国語、日本語、フランス語およびスペイン語で事実上同様のウェブページを含み得る。ウェブドメインは、ユーザクエリに答えるために、オントロジを使用した仮想アシスタントアプリケーションを含み得る。トークンは、多くの異なる種類のウェブリソースおよびウェブドメインから抽出できる。場合によって、ウェブドメインは、HTML、PDF、XML、CCS、DOCなどの異なるドキュメント形式を含んでもよい。異なるドキュメント形式からトークンを抽出するために、ツールは、各ドキュメント種類に特有であり、個々に実行可能なスクリプトを使用することができる。例えば、あるスクリプトは、意味のあるテキストのみがトークン化されるように、HTMLページからテキストを収集することができる。Java(登録商標)スクリプト、HTMLタグ、書式設定情報などは、HTMLトークン化スクリプトによって除去することができ、ウェブページに表示されている意味のあるテキストをトークン化することができる。一般的に、「トークン」は、テキスト中の個々の単語または記号を指す。例えば、「open 24/7」という表現は、トー
クン「open」、「24」、「/」および「7」を含む。
また、方法は、各トークンの第1POSを決定するステップ(304)を含み得る。第1POSは、トークンが抽出されたウェブドメインの言語に特有である。例えば、英語のウェブドメインの場合、第1POSは、英語特有のPOSを含む。いくつかの実施形態において、抽出されたテキストは、言語解析ツールに供給され、言語解析ツールは、各トークンに言語特有のPOSに各々割り当てる出力を提供することができる。いくつかの実施形態において、既存の言語解析ツールを活用することができる。したがって、本発明は、各言語のPOSを特定し、割り当てるために、新しい言語解析ツールを開発する必要がない。その代わりに、これらの実施形態は、既存の言語解析ツールを修正せずに動作させ、POSの割り当てを標準化することができる。
さらに、方法は、各トークンの第1POSを第2POSにマッピングするステップ(306)を含むことができる。任意の言語に割り当てられるさまざまなPOSを処理するために、多くの言語に適用できる標準化POS分類法が開発された。上述したように、言語特有のマッピングファイルは、言語特有のPOS割り当てを標準化POSに変換することができる。なお、第1POSの言語と第2POSの言語とは、同様であってもよい。例えば、言語解析ツールは、英語特有のPOS割り当てセットを出力することができるが、標準化POSが英語であっても、POS割り当てセットが標準POSの命名規則およびカテゴリに準拠しない。
さらに、本方法は、トークンから見出語を生成するステップ(308)を含み得る。以下でさらに説明するように、トークンからNグラムを生成し、一連の所定のフィルタ条件でNグラムをフィルタリングすることによって、見出語を生成することができる。この場合、見出語は、生成されるオントロジを構成する概念を表す。この方法は、ノードのネットワークをオントロジ関係と共に表示させるステップ(310)をさらに含み得る。視覚化ツールの例は、本開示でより詳細に後述する。一般的に、視覚化ツールは、見出語の階層を図形表示で提供することができる。階層内のノードは、見出語を表し、ノード間の連結線は、見出語間の概念関係を表す。例えば、「車両」(vehicle)および「自動車」(automobile)を表す見出語の間の連結線は、「車両」と「自動車」との間の関係「is-a」
を表す。いくつかの実施形態において、視覚化ツールを介して、ユーザは、ノードの位置を変更し、ノード間の連結線を編集することによって、オントロジの階層を組立てることができる。視覚化ツールは、変更を行ったときに、連結線がどのように近くの概念を影響するかをユーザに確認させることができるという利点がある。
フローチャート300の方法を完全に理解するために、上記で説明した処理の各ステップをより詳細に示す一連のアルゴリズムおよびフローチャートをさらに提示する。いくつかの実施形態において、ツールおよび作業流れを自動化することによって、人間の関与レベルを最小限に抑え、ウェブドメインおよびオントロジを一致させるのに必要な作業を最小化しながら、カスタム化および組み込みオントロジの利点を組み込んだ高精度のオントロジを作成することができる。ツールは、選択されたドメインに特有のテキストデータに集中させるために、ユーザ(または「コンテンツ管理者」)からの人間入力を受信することができる。この処理の第1ステップは、「コーパス」の選択、または特定の主題を具体化する書面テキストの集合を受信することである。いくつかの実施形態において、コーパスは、ユーザによって選択されてもよく、またはウェブドメインに基づいて自動的に選択されてもよい。例えば、ユーザは、ウェブドメインを入力することができ、処理は、ウェブドメイン内の全てのウェブページをコーパスとして選択することができる。コーパスは、データベース、ウェブドメイン、FAQ、マニュアルなどの任意のテキストドキュメントであってもよい。例えば、ユーザは、顧客のクラウドに基づく製品のためにオントロジを生成したいことがある。顧客は、特定の顧客のウェブドメインを選択し、ウェブページを処理のコーパスとして使用することができる。ウェブページを選択した場合、処理は、ウェブページを「収集」して、ウェブページから使用可能なテキストを抽出することができる。この作業は、ウェブページ上に表示されたテキストを、単にウェブページおよび/またはメタデータの構成を定義するHTMLファイルに存在する他の不可視テキストから分けることを含み得る。
理解すべきことは、図4に示された具体的なステップは、本発明のさまざまな実施形態に従って、オントロジを生成するための特定の方法を提供することである。別の実施形態に従って、他の一連のステップを実行することもできる。例えば、本発明の代替的な実施形態は、上記で概説したステップを異なる順序で実行することができる。さらに、図4に示された各々のステップは、各ステップに応じてさまざまなシーケンスで実行できる複数のサブステップを含むことができる。さらに、特定の応用に応じて、ステップを追加または削除することができる。当業者であれば、多くの変形例、修正例および代替例を認識するだろう。
図4は、いくつかの実施形態に従って、言語解析ツールと対話するためのユーザインターフェイス400を示す。ユーザは、原始テキスト402のボックスを介して、ウェブリソースからの実際のテキストのトークンを入力することができる。代替的にまたは追加的に、原始テキスト402は、ウェブリソースからトークンを収集することによって自動入力されてもよい。一般的に、ユーザインターフェイス400は、ウェブリソースから収集
された各トークンに対して実行され得る解析の種類を示す。原始テキスト402は、言語解析ツールの入力として送信されてもよい。言語解析ツールは、ユーザインターフェイス400内の他のテキストボックスに出力を出すことができる。例えば、言語解析ツールは、原始テキストの語幹または語根を語幹テキストボックス404に返すことができる。また、言語解析ツールは、品詞406を提供することができる。さらに、ユーザは、言語408を選択することができ、言語解析ツールは、言語を自動的に検出し、テキストボックスに言語408(例えば、アメリカ英語)を入れることができる。最後に、原始テキストから1つ以上の見出語410を導出することができ、それを用いて、ユーザインターフェイス400内の制御を設定することができる。1つ以上の見出語は、長さ1のNグラムを表すことができ、長さ1のNグラムを用いて、1を超える長さのNグラムからなる他の見出語を形成することができる。ユーザインターフェイス400によって視覚的に表された情報は、ウェブリソースから収集された各トークンに対して、リッチデータ構造によって格納することができる。
図5は、いくつかの実施形態に従って、ウェブドメインからトークンを自動的に抽出するためのユーザインターフェイス500を示す。ウェブドメインを特定する情報、例えばURL502および/またはプロキシ表示/ホスト名を指定することができる。この情報を受け取った後、ツールは、URL502によって特定されたウェブドメイン内のウェブページを自動的にクロールし、利用可能な全てのウェブリソース、例えばウェブページ、メディアコンテンツ、テキストドキュメント、PDFなどを抽出することができる。ウェブドメイン内にある各種類のドキュメント、またはウェブドメイン内のウェブページによって参照される各種類のドキュメントは、そのファイルの種類拡張子によって自動的に特定される。特定した後、ツールは、各ドキュメントのファイル拡張子と一致する特定のスクリプトファイルを選択し、各スクリプトを実行することによって、オントロジに使用すべきではないテキスト(書式設定データ、構造データ、メタデータ、Javaスクリプトなど)を除去しながら、各々のウェブリソースから関連のテキストを収集することができる。トークン化されたテキストファイルは、ユーザの指定によってまたはツールの自動出力によって、出力ディレクトリ504に保存されてもよい。
図6は、言語解析ツールによって返されたトークンデータ構造内の情報を表示するためのユーザインターフェイス600を示す。上述したように、データ構造は、POS、原始テキスト、語幹、見出語、および言語を表示することに加えて、全体としてウェブリソースの集合における各トークンの使用を特徴付ける情報を含むこともできる。例えば、ユーザインターフェイス600は、ウェブリソースの集合内の各トークンの頻度602または出現回数を示すフィールドをデータ構造に表示することができる。以下で説明するように、見出語として見なされる各トークンの頻度602を用いて、見出語をフィルタリングすることによって、有用な概念を表さないトークンを破棄しながら、オントロジの概念を表すトークンを特定することができる。
いくつかの実施形態において、言語解析ツールがユーザインターフェイス600に表示された情報を有するトークンデータ構造を戻した後に、ツールは、一時停止し、その情報をユーザに提示することができる。この時に、ユーザは、トークンから見出語が生成される前に、手動フィルタリング操作を実行することができる。各トークンに対応する選択ボックス604を形成することができる。これによって、ユーザは、トークンを見出語として検討する時に、各トークンを容易に選択するまたは選択を解除することができる。例えば、図6において、形容詞トークン「now」は、オントロジにおいて有用な概念を記述す
る可能性が低いので、さらなる検討から外される。対照的に、名詞トークン「now」は、
オントロジにおいて有用な概念を記述する可能性が高いので、選択されたままである。いくつかの実施形態において、ユーザインターフェイス600は、特定のPOSで標記されたトークンを自動的に選択/選択解除することができる。例えば、いくつかの実施形態に
おいて、いくつかの動詞が有用な概念を表す見出語に使用される可能性が低いので、これらの動詞を自動的に選択解除することができる。ユーザによってまたは自動処理によって特定のトークンを選択解除した後、インターフェイス600にリストされたトークンを使用して、見出語を形成することができる。留意すべきことは、この時点の処理では、インターフェイス600によって特定されたPOSは、言語解析ツールによって提供されたPOSから、上述した標準化POS分類からのPOSに自動的にマッピングされることである。したがって、インターフェイス600によって特定されたPOSは、さまざまな言語に亘って使用可能なPOS規則を表すことができる。
図7は、いくつかの実施形態に従って、さまざまな長さのNグラム見出語を表すユーザインターフェイス700を示す。マルチワード見出語を生成するために、システムは、ウェブリソースの原始テキストに共に出現するトークンを1つの単語、2つの単語、3つの単語、...N個の単語の組み合わせとして合併することができる。ユーザインターフェイス700は、原始テキストから形成されたNグラムの表を示す。この表は、各Nグラムの長さを指定する列704を含むことができる。さまざまな長さのNグラムを生成するために、所定の変数に各Nグラムの最大長の値を割り当てることができる。いくつかの実施形態において、ツールは、1つの単語、2つの単語、3つの単語、...N個の単語長さの連続トークンの全ての可能なセットを反復的に生成することによって、原始テキストから全ての可能なNグラムを生成することができる。いくつかの実施形態において、処理によって以前に除去されたトークンを除外することができ、したがって、生成されるNグラムの数を制限することができる。
また、インターフェイス700は、各マルチワード組み合わせのPOSを表示することもできる。列701は、Nグラム全体のPOSを示す。列702は、Nグラムを構成するトークンの各々のPOSを示す。なお、列701および列702によって示されたPOSは、上記の標準化POS分類からのものである。列702のPOS表示は、各マルチワードNグラムの記述パターンを形成する。以下に説明するように、この記述パターンを使用して、Nグラムをフィルタリングすることができる。Nグラムを生成する際に、処理は、原始テキストからの句読点を含むことができる。列706は、句読点を含む元のウェブリソースから抽出されたNグラムを示す。列708は、見出語に含まれるべきではない句読点およびトークンを除去した原始テキストから構築された実際の見出語を示す。最後に、列710は、上述したように言語解析ツールによって返されたマルチワード見出語内の各単語の語幹を示す。
ユーザインターフェイス700の列708に表示されたマルチワード見出語のリストを生成した後、候補見出語の辞書が形成される。一般的に、コーパス内の全ての単語がオントロジの生成に有用ではなく、特定のトークンは、処理の早い段階で削除される。同様に、この段階の候補見出語の辞書は、オントロジに有用ではない見出語を含む。特に、マルチワードNグラムが原始テキストからのトークンの全ての可能な組み合わせを用いて形成されたため、辞書は、オントロジに有用ではない見出語を含む。明らかに、このことは、候補見出語の膨大なリストにつながり、無用なトークンの組み合わせが支配的になるだろう。
候補見出語のリストを有用なサイズに減縮するために、いくつかの実施例は、候補見出語をフィルタリングする手動および/または自動方法を採用することができる。この場合、インターフェイス700をユーザに提示することができる。ユーザは、有用とは考えられない列712の見出語を選択解除することによって、手動で除去すべくNグラムを選択することができる。ユーザインターフェイス700の提示は、候補見出語に関する情報に基づく決定を行うために必要な全ての情報をユーザに提供するため、非常に有益であり得る。ユーザは、POS、原始テキストおよび語幹のトークンから、明らかに属していない
いくつかの候補見出語を迅速に排除することができる。ユーザインターフェイス700の利点によって、手動で候補見出語の小さなリストをフィルタリングする効率を大幅に高めることができる。しかしながら、候補見出語の大きな辞書を処理する場合、この手動で候補見出語の辞書をフィルタリングする処理は、エラーを生じ易く時間がかかる。したがって、本明細書に記載の実施形態において、ユーザは、候補見出語の辞書を候補見出語のより有用なセットに自動的にフィルタリングするフィルタリング規則を生成することができる。自動フィルタ処理を行った後、ユーザは、候補見出語のより小さくて正確なリストを手動でフィルタリングすることができる。
図8は、いくつかの実施形態に従って、見出語フィルタを設計するためのインターフェイス800を示す。複数のフィルタを設計して、同一辞書の候補見出語に対して実行することができる。インターフェイス800を用いて、単一のフィルタを設計することができる。この単一のフィルタは、単独で、またはユーザインターフェイス800によって設計された他のフィルタと直列に使用することによって、有効な見出語または無効な見出語を特定することができる。一定の意味では、インターフェイス800により提供された選択肢によって、設計者は、フィルタ定義によって特定される見出語の特定の種類を広くまたは狭く指定することができる。見出語フィルタを設計するために、他の選択肢を提示してもよい。したがって、インターフェイス800によって提示されたものは、単なる例示であり、限定的な意味を示していない。
いくつかの実施形態において、見出語が原始テキストに出現する頻度をフィルタリング基準として使用することができる。最小頻度802は、フィルタ定義の一部として提供され、少なくとも最小頻度802によって定義された最小回数で出現しない見出語を排除することができる。これによって、ドキュメント中に頻繁に出現する概念をオントロジに関連する概念として考えることができる。最小頻度802を使用することによって、テキストコーパスから、オントロジにおいて除外すべき入力ミスまたは他の錯誤を特定することもできる。入力ミスまたは他の一回限りのエラーは、頻繁に発生する可能性が低いため、最小頻度802によってフィルタリングされべきである。対照的に、高頻度の出現は、特殊な意味または他の概念を有する用語を示す可能性が高くなり、オントロジに包含されるべきである。
いくつかの実施形態において、文字テキスト、句読点、ワイルドカード記号などを用いて、テキストパターンを作成することができる。原始テキストパターン804を用いて、原始テキストから、設計者がオントロジに含まれるべきであると認識している単語および語句を特定することができる。例えば、インターフェイス800は、原始テキストパターン804「Oracle.*Service」を示している。このテキストパターンは、一般的に、オン
トロジの見出語として本文に言及された任意のOracle(登録商標)サービスを特定する。例えば、「Oracle(登録商標)顧客サービス」、「Oracle(登録商標)クラウドサービス」、「Oracle(登録商標)データベースサービス」などがこれに該当する。テキストパターンを用いて原始テキストをフィルタリングできるほか、インターフェイス800によって提供された語幹パターン806および見出語パターン808を使用することによって、原始テキストの語幹および見出語をフィルタに使用することもできる。語幹または見出語を使用することによって、ユーザは、概念の語幹から派生した全てのテキストおよび見出語を取り込むことができる。テキストパターンは、会社名、製品名、サービス名、共通の問題などの特定に非常に有用である。
いくつかのウェブリソースは、複数の言語を含む可能性がある。テキストを収集するときに、処理は、言語にも拘わらず、全てのトークンを取り込む可能性がある。各々のトークンの特定の言語は、上述した言語解析ツールを用いて特定することができる。各言語の各トークンのPOSは、上述した標準化POS分類にマッピングすることができる。しか
しながら、場合によっては、オントロジは、単一言語のみに対応する必要がある。候補見出語の辞書に複数の言語を検出した場合、言語制御810を用いて、フィルタリングすべき言語を選択することができる。
多くの単語(特に英語)は、POSに応じて異なる意味を有することがある。例えば、名詞の「bow」は、船の一部(船首)または武器(弓)を表すことができる。動詞の「bow」は、人が取る行動(お辞儀する)を表すことができる。形容詞の「bow」は、木片の特
徴を記述するために使用することができる。見出語として提示されるときに、単語「bow
」の3種類の用途の各々は、特別なPOSを備えた特別な見出語を構成する。インターフェイス800内のPOS制御812を用いて、異なるPOSを有する可能性のあるさまざまな見出語の中から選択することができる。マルチワードPOS制御814を用いて、マルチワード見出語を形成する単一ワード見出語の組み合わせのPOSを選択することができる。例えば、マルチワード見出語は、名詞、形容詞および句読点からなる名詞を表すことができる。インターフェイス800において、用語「UNK」は、未知の品詞または句読点を代表するワイルドカードを表す。
上述したように、候補見出語をフィルタリングするときに、マルチワード見出語内の各見出語のPOSを用いて、許容可能な語パターンを記述することができる。見出語パターン制御816を用いて、許容可能な候補見出語を記述する単語パターン(例えば、「名詞−形容詞−名詞」)を選択することができる。いくつかの実施形態において、見出語パターン制御816は、候補見出語の辞書に存在するマルチワード見出語のパターンを自動的に取り込むことができる。いくつかの実施形態において、見出語パターン制御816は、インターフェイス800によって定義された特定フィルタの他の制約に一致する見出語のみを含むように動的に調整することができる。初期設定では、候補見出語の辞書におけるマルチワード見出語の全ての既知パターンが選択される。フィルタ設計者は、オントロジの有効見出語と一致する可能性の低いパターンの選択を解除することができる。
インターフェイス800によって見出語数制御818を提供することによって、各マルチワード見出語の許容可能なワードの数を制御することができる。上述したように、変数を設定して、インターフェイス700に生成された候補見出語中の単語の数を制限することができる。その例に続き、候補辞書は、長さで6個のトークンまでの見出語を含む。見出語数制御818は、さらに、オントロジに処理されるマルチワード見出語の種類を制限することができる。図8の例において、原始テキストパターン804は、長さで少なくとも3つの単語を有する見出語のみが許容可能であることを示すように見える。この場合、フィルタ設計者は、多分、長さで3つの見出語未満の任意Nグラムを選択する。
上述したように、インターフェイス800を用いて、多くの異なる単一フィルタを定義することができる。図8の特定のフィルタは、Oracle(登録商標)サービスに関連する見出語を特定するように設計されている。実際の応用において、単一のオントロジを生成するために、多くの異なるフィルタを設計する可能性がある。場合によっては、さまざまなウェブページを通じて一貫性のある用語を使用する単一のクライアントに対して、定義済みフィルタのライブラリを格納することができる。ウェブドメインが変わる場合、オントロジを更新して再生成する必要がある。フィルタ規則を定義して、ライブラリに格納した場合、上記で説明した処理を介して、ウェブドメインから新しいテキストコンテンツを取り込み、取り込んだトークンを実行するだけで、オントロジの見出語の最終リストを生成することによって、オントロジを迅速に更新することができる。
図9は、いくつかの実施形態に従って、オントロジの見出語の最終リストを生成するためのユーザインターフェイス900を示す。この時点では、候補見出語の辞書は、図8の自動フィルタリング処理によってフィルタリングされてあるため、インターフェイス90
0の選択制御902を用いて、手動でフィルタリングすることができる。インターフェイス900は、オントロジの見出語の最終辞書を生成する前に、候補見出語のリストを検査することによって、除去すべき誤って含まれたものを特定するための最後の機会をユーザに与える。この手動フィルタリング段階は、自動フィルタリング段階の後に設けられる。自動フィルタリング段階は、より簡潔で正確なリストをユーザに与え、ユーザは、それに対して最終的な手動フィルタリングを実行する。なお、候補見出語の辞書が自動フィルタ処理の前に手動でフィルタリングされた場合、手動フィルタリング処理は、遥かに大きく且つ不正確なリスト上で実行される可能性が高く、また、手動フィルタリング処理は、自動フィルタリング処理でフィルタリングされる多くの候補見出語をフィルタリングする可能性もある。したがって、自動フィルタリング処理は、処理の精度を高めるとともに、必要とされる手動フィルタリングの量を減らすようにするべきである。
図10は、いくつかの実施形態に従って、テキストコーパスから見出語辞書を自動的に生成する方法を示すフローチャート1000である。フローチャート1000に示す方法は、上述したステップを要約し、実施形態のいずれかを本開示に記載の特徴として含むものとして理解される。方法は、テキストコーパスからトークンを抽出するステップ(1002)を含むことができる。テキストコーパスは、ウェブリソース、例えば、HTMLウェブページ、PDF、CSSスタイルシート、Javaスクリプトなどの異なるテキストドキュメントで構成されたウェブドメインを含むことができる。テキストコーパスからトークンを抽出するときに、プロセスは、オントロジに含まれるべきではない構造テキストおよび/または書式設定テキストを特定および/または除去することができる。
また、方法は、トークンのセットから1組のNグラムを生成するステップ(1004)を含むことができる。Nグラムは、コーパステキストに出現した順番で、トークンを文字列に組み合わせることによって生成することができる。Nグラムは、原始テキスト、見出語、または言語解析ツールによって特定された単語の語幹から構築することができる。また、方法は、1つ以上のフィルタ定義を受信するステップ(1006)を含むことができる。上記で詳細に説明したように、フィルタ定義は、マルチワードNグラム内の各トークンのPOSパターンを各々含むことができる。フィルタ定義はまた、文字テキストおよび/またはワイルドカードを含み、原始テキスト、語幹、および/またはNグラム内の見出語に作用するテキストパターンを含むことができる。フィルタ定義はまた、言語の選択および/またはNグラムがウェブリソースに出現する最小頻度を含むことができる。フィルタ定義はまた、Nグラムの許容可能な長さ(数またはワード)を含むことができる。
方法は、1つ以上のフィルタ定義を1組のNグラムに適用するステップ(1008)をさらに含むことができる。実際には、最終的な見出語辞書を生成するために、任意数のフィルタを1組のNグラムに直列または並列に適用することができる。いくつかの実施形態において、ユーザインターフェイスを提示することによって、自動フィルタ処理を行う前/後に、ユーザが、手動でNグラムをフィルタリングする追加のステップを実行することができる。最後に、方法は、最終的な見出語辞書を生成するステップ(1010)を含むことができる。最終的な見出語辞書を用いて、見出語の相互関係を確立することによって、オントロジを生成することができる。
理解すべきことは、図10に示された具体的なステップは、本発明のさまざまな実施形態に従って、見出語を生成するための特定の方法を提供することである。別の実施形態に従って、他の一連のステップを実行することもできる。例えば、本発明の代替的な実施形態は、上記で概説したステップを異なる順序で実行することができる。さらに、図10に示された各々のステップは、各ステップに応じてさまざまなシーケンスで実行できる複数のサブステップを含むことができる。さらに、特定の応用に応じて、ステップを追加または削除することができる。当業者であれば、多くの変形例、修正例および代替例を認識す
るだろう。
いくつかの実施形態は、見出語のの相互関係を生成するための異なる選択肢を提供することができる。図11は、いくつかの実施形態に従って、見出語の相互関係を確立するためのテキストに基づくユーザインターフェイス1100を示す。ユーザは、ユーザインターフェイス1100を介して、最終的な見出語辞書内の2つの見出語の相互関係を手動で割り当てることができる。ユーザは、インターフェイス1100を介して、第1見出語を選択した後、第2見出語1101を選択し、第1見出語と第2見出語との相互関係を確立する。ユーザは、第1見出語と第2見出語との間に確立され得る異なる種類のオントロジ関係を選択することができる。例えば、ユーザは、制御1102を介して、「is-a」関係、「has-a」関係、「is-part-of」関係などを確立することができる。
ユーザのクエリに応じて情報を特定するための検索エンジンまたは知識管理システムの一部として使用されるオントロジについて、オントロジ関係内に追加情報を埋め込むことによって、検索エンジンにさらなる情報を提供することができる。インターフェイス1100は、2つの見出語の間の単一の関係に関連付けることができる「上方重み」(up weight)1104および「下方重み」(down weight)1106を含む。上方重み1104および下方重み1106を用いて、検索エンジンがオントロジツリーを捜索して回答を突き止める際に、検索エンジンに通知することができる。例えば、インターフェイス1100を用いて、見出語「クラウドサービス」と見出語「データ記憶」との相互関係に、0.5という上方重み1104および1.0という下方重み1106を確立することができる。オントロジを生成するウェブドメインに対する検索クエリを受信した場合、上方重み1104および下方重み1106は、その関係を捜索するときに検索スコアに適用されるペナルティ乗数として使用され得る。例えば、ユーザが「クラウドサービス」のクエリを提出する場合、検索エンジンは、オントロジのノード「クラウドサービス」に分類されたドキュメントを検索することができる。さらに、検索エンジンは、オントロジのノード「クラウドサービス」に隣接するノードに分類されたドキュメントを検索し、捜索する関係の上方/下方重みに基づいて、これらの追加の結果にペナルティを課すことができる。例えば、検索エンジンがオントロジを「クラウドサービス」から「データ記憶」に捜索する場合、1.0という下方重みをオントロジのノード「データ記憶」に分類された結果に適用する。逆に、クエリが「データ記憶」であった場合、オントロジのノード「クラウドサービス」に分類された結果に、0.5という上方重み1104のペナルティを課す。上方重み1104および下方重み1106により、設計者は、関係を捜索する方向に応じて、異なる検索ペナルティを有する関係を確立することができる。
図12は、いくつかの実施形態に従って、オントロジを図形的に表現し且つ操作するためのユーザインターフェイス1200を示す。インターフェイス1200は、オントロジを表すグラフを表示する。グラフ内のノード(1202、1206)は、上記の処理から得られた見出語辞書内の見出語を表す。グラフ内のノード間の連結線(1204)は、ノード(1202、1206)の相互関係を表す。各々の関係は、関係の種類(例えば、「is-a」)、矢印で示す方向性、および関係に割り当てられた上方重みおよび下方重みで、標記されてもよい。オントロジからの情報をグラフ形式で表示することにより、ユーザは、見出語が関係を介してどのように互いに関連しているかを迅速に評価することができる。具体的には、オントロジの複数の世代を捜索するために、どのくらいの検索ペナルティを適用したが視覚的に明白である。また、オントロジ関係の変更が概念群全体にどのように影響するかが視覚的に明白である。
ユーザインターフェイス1200は、オントロジの図形表現を提供するだけではなく、オントロジにおける関係の図形的な操作および確立を提供することもできる。例えば、2つのノードを選択することができ、制御1208を用いて2つのノードの相互関係を追加
することができる。同様に、マウス入力装置などの入力装置を用いて、相互関係を図形的に連結、切断、および再配置することができる。
いくつかの実施形態において、ユーザ入力からの手動連結を必要とせず、見出語の相互関係を自動的に生成することができる。一例として、Nグラムの相互関係は、それらのNグラムが互いにテキストとして構築されたときに自動的に生成されてもよい。例えば、別のNグラムのトークンサブセットを表すNグラムには、オントロジの親子配置を割り当てることができる。「データ記憶」は、親ノードとして、「クラウドデータ記憶」に割り当てることができる。別の例として、ウェブリソース内の同様の場所から抽出された見出語は、自動的にユーザインターフェイス1200において視覚的にグループ化することができる。例えば、単一のウェブページからの全ての見出語をインターフェイス1200において視覚的にグループ化することができる。これによって、ユーザは、一群の見出語を見ることができ、その後、一群の見出語を容易に関係付けることができる。別の例として、ウェブリソース内の構造化データまたは書式設定データを用いて、相互関係を自動的に生成することができる。例えば、ヘッダ行を含むHTML表を用いて、ヘッダを表す見出語と、ヘッダ以下の各列のテキストを表す見出語との相互関係を自動的に確立することができる。別の例として、見出語が原始テキストに出現する近接度を用いて、インターフェイス1200においてノードを自動的にグループ化することができる。例えば、同一の一文または段落に出現する見出語は、インターフェイス1200において一緒にグループ化される。
所定の言語で単一のオントロジを生成することに加えて、本明細書に記載の方法は、基本オントロジ(例えば、英語オントロジ)を用いて異なる言語の追加オントロジを生成する処理の一部として使用することもできる。簡潔に言えば、基本オントロジの概念または見出語は、他の言語の対応する概念にマッピングすることができる。したがって、これらの概念を表す他の言語の見出語は、基本オントロジに確立された同様の関係を用いて連結することができる。その結果、テキストコーパスから抽出された見出語の相互関係を確立し検証する手作業を必要とせず、殆ど完全に自動処理によって新しいオントロジを生成することができる。
本明細書に記載の方法の各々は、コンピュータシステムによって実施することができる。これらの方法の各ステップは、コンピュータシステムによって自動的に実行されてもよく、および/またはユーザの関与で入力/出力を提供してもよい。例えば、ユーザは、方法の各ステップに入力を提供し、各入力は、コンピュータシステムによって生成された、その入力を必要とする特定の出力に対応する。各入力は、対応する要求出力に応じて、受信されてもよい。さらに、入力は、ユーザから受信されてもよく、他のコンピュータシステムからデータストリームとして受信されてもよく、メモリ位置から検索されてもよく、ネットワークを介して検索されてもよく、および/またはウェブサービスから要求されてもよい。同様に、出力は、ユーザに提供されてもよく、データストリームとして別のコンピュータシステムに提供されてもよく、メモリ位置に保存されされてもよく、ネットワークを介して送信されてもよく、ウェブサービスに提供されてもよい。簡潔に言えば、本明細書に記載の方法の各ステップは、コンピュータシステムによって実行されてもよく、ユーザの関与が必須ではないコンピュータシステムに入力または出力される任意数の入力、出力、および/または要求を含むことができる。ユーザの関与が必要としないステップは、人間の介入なしにコンピュータシステムによって自動的に実行されるとも言える。したがって、本開示に照らして、本明細書に記載の各方法の各ステップは、ユーザからの入力を受け取り、ユーザに出力を与えるように変更してもよく、または人間の介入なしに、プロセッサが判断を行い、コンピュータシステムによって自動的に実行されてもよい。さらに、本明細書に記載の各方法のいくつかの実施形態は、有形の非一時的記憶媒体に記憶され、有形のソフトウェア製品を形成する一組の命令として実装されてもよい。
図13は、実施形態のうちの1つを実現するための分散システム1300を示す簡略図である。図示の実施形態において、分散システム1300は、1つ以上のネットワーク1310を介して、ウェブブラウザまたは専用クライアント(たとえば、オラクルフォーム)などのようなクライアントアプリケーションを実行および作動するように構成された1つ以上のクライアントコンピューティング装置1302、1304、1306および1308を含む。サーバ1312は、ネットワーク1310を介して、リモートクライアントコンピューティング装置1302、1304、1306および1308と通信可能に連結されてもよい。
さまざまな実施形態において、サーバ1312は、システムの1つ以上のコンポーネントによって提供される1つ以上のサービスまたは1つ以上のソフトウェアアプリケーションを実行するように構成されることができる。いくつかの実施形態において、これらのサービスは、ウェブサービスまたはクラウドサービスとして、またはSaaS(Software as a Service)モデルに基づいて、クライアントコンピューティング装置1302、1304
、1306および/または1308のユーザに提供されてもよい。よって、クライアントコンピューティング装置1302、1304、1306および/または1308を操作するユーザは、1つ以上のクライアントアプリケーションを用いて、サーバ1312と情報を交換することによって、これらのコンポーネントによって提供されたサービスを利用することができる。
図示の構成において、システム1300のソフトウェア要素1318、1320および1322は、サーバ1312上に実装されている。他の実施形態において、システム1300の1つ以上の構成要素および/またはこれらのコンポーネントによって提供されたサービスは、1つ以上のクライアントコンピューティング装置1302、1304、1306および/または1308によって実現されてもよい。クライアントコンピューティング装置を操作するユーザは、1つ以上のクライアントアプリケーションを用いて、これらのコンポーネントによって提供されたサービスを利用することができる。これらの構成要素は、ハードウェア、ファームウェア、ソフトウェア、またはこれらの組み合わせで実現されてもよい。理解すべきことは、分散システム1300と異なるさまざまなシステム構成が可能であることである。したがって、図示された実施形態は、実施形態のシステムを実現するための分散システムの一例であり、限定することを意図をしていない。
クライアントコンピューティング装置1302、1304、1306および/または1308は、たとえば、Microsoft Windows Mobile(登録商標)のようなソフトウェア、および/またはiOS、Windowsフォン、アンドロイド、ブラックベリー10およびパーム
OSなどのさまざまなモバイルオペレーティングシステムを実行することができ、インターネット、電子メール、ショートメッセージサービス(SMS)、ブラックベリー(登録商標)または他の通信プロトコルが有効化された手持ち式携帯装置(たとえば、iPhone(登録商標)、携帯電話、Ipad(登録商標)、タブレット、携帯情報端末(PDA)または着用できる装置(Google Glass(登録商標)ヘッドマウントディスプレイ)であってもよい。クライアントコンピューティング装置は、例示として、Microsoft Windows(登録商
標)オペレーティングシステム、Apple Macintosh(登録商標)オペレーティングシステ
ムおよび/またはLinux(登録商標)オペレーティングシステムのさまざまなバージョンを実行するパーソナルコンピュータおよび/またはラップトップコンピュータを含む汎用のパーソナルコンピュータであってもよい。クライアントコンピューティング装置は、たとえば、さまざまなGNU/Linuxオペレーティングシステム、たとえば、Google Chrome OSを含むがこれに限定されない市販のUNIX(登録商標)またはUNIXに類似するさまざまなオペレーティングシステムを動かすワークステーションコンピュータであってもよい。代替的にまたは追加的には、クライアントコンピューティング装置13
02、1304、1306および1308は、ネットワーク1310を介して通信可能なシンクライアントコンピュータ、インターネット対応のゲームシステム(たとえば、Kinect(登録商標)ジェスチャ入力装置を備えるまたは備えないMicrosoft Xboxゲームコンソール)、および/またはパーソナルメッセージング装置などの他の電子機器であってもよい。
例示の分散システム1300は、4つのクライアントコンピューティング装置を備えると示されているが、任意の数のクライアントコンピューティング装置をサポートすることができる。他の装置、たとえばセンサを有する装置は、サーバ1312と情報を交換することができる。
分散システム1300のネットワーク1310は、TCP/IP(伝送制御プロトコル/インターネットプロトコル)、SNA(システムネットワークアーキテクチャ)、IPX(インターネットパケット交換)、Apple Talkなどを含むがこれらに限定されないさまざまな市販プロトコルのいずれかを使用してデータ通信をサポートすることができ、当業者に熟知される任意種類のネットワークであってもよい。単なる例示として、ネットワーク1310は、イーサネット(登録商標)、トークンリングおよび/またはその他に基づくローカルエリアネットワーク(LAN)であってもよい。ネットワーク1310は、広域ネットワークまたはインターネットであってもよい。ネットワーク1310は、仮想プライベートネットワーク(VPN)を含むがこれに限定されない仮想ネットワーク、イントラネット、エクストラネット、公衆交換電話ネットワーク(PSTN)、赤外線ネットワーク、無線ネットワーク(たとえば、IEEE(Institute of Electrical and Electronic Engineers)802.11プロトコルスイート、Bluetooth(登録商標)、および/
または任意の他の無線プロトコルの下で動作するネットワーク)および/またはこれらのネットワークと他のネットワークの組み合わせを含むことができる。
サーバ1312は、1つ以上の汎用コンピュータ、専用サーバコンピュータ(例示として、PC(パーソナルコンピュータ)サーバ、UNIX(登録商標)サーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウントサーバを含む)、サーバファーム、サーバクラスタ、または任意の他の適切な構成および/または組み合わせから構成されてもよい。さまざまな実施形態において、サーバ1312は、前述の開示に記載された1つ以上のサービスまたはソフトウェアアプリケーションを動かすように構成することができる。たとえば、サーバ1312は、本開示の実施形態に従って上記に説明した処理を実行するためのサーバに対応することができる。
サーバ1312は、上述したものいずれかを含むオペレーティングシステム、および任意の市販サーバオペレーティングシステムを動かすことができる。また、サーバ1312は、HTTP(ハイパーテキスト転送プロトコル)サーバ、FTP(ファイル転送プロトコル)サーバ、CGI(共通ゲートウェイインターフェイス)サーバ、Java(登録商標)サーバ、データベースサーバなどを含むさまざまな追加サーバアプリケーションおよび/または中間層アプリケーションのいずれかを動かすことができる。例示的なデータベースサーバは、Oracle(登録商標)、Microsoft(登録商標)、Sybase(登録商標)、IBM(登録商標)などの会社から市販されているものを含むがこれらに限定されない。
いくつかの実現例において、サーバ1312は、クライアントコンピューティング装置1302、1304,1306、および1308のユーザから受信したデータフィードおよび/またはイベント更新を分析および統合する1つ以上のアプリケーションを含んでもよい。例示として、データフィードおよび/またはイベント更新は、Twitter(登録商標
)フィード、Facebook(登録商標)更新または1つ以上の第3情報源および連続データストリームから受信したリアルタイム更新を含むがこれらに限定されない。リアルタイム更
新は、センサデータアプリケーション、金融相場表示機、ネットワーク性能測定ツール(たとえば、ネットワーク監視およびトラフィック管理アプリケーション)、ページ遷移(Clickstream)解析ツール、自動車交通監視装置などに関連するリアルタイムイベントを
含むことができる。また、サーバ1312は、クライアントコンピューティング装置1302、1304、1306および1308の1つ以上の表示装置を介して、データフィードおよび/またはリアルタイムイベントを表示するための1つ以上のアプリケーションを含むこともできる。
また、分散システム1300は、1つ以上のデータベース1314および1316を含むこともできる。データベース1314および1316は、さまざまな場所に常駐することができる。例示として、1つ以上のデータベース1314および1316は、サーバ1312の近く(および/またはその中)の非一時記憶媒体に常駐することができる。代替的には、データベース1314および1316は、リモートサーバ1312から離れており、ネットワークに基づく接続または専用接続を介して、サーバ1312と通信している。一組の実施形態において、データベース1314および1316は、記憶領域ネットワーク(SAN)に常駐することができる。同様に、サーバ1312に寄与する機能を実行するための任意の必要なファイルは、必要に応じて、サーバ1312上に/またはサーバ1312から離れた場所に保存されてもよい。一組の実施形態において、データベース1314および1316は、たとえば、Oracleにより提供されるデータベースなどの関係データベースを含むことができる。これらの関係データベースは、SQLフォーマット命令に応じて、データを取得、保存および更新するように構成されている。
図14は、本開示の実施形態に従ったシステム環境1400の1つ以上の構成要素を示す簡略ブロック図である。実施形態に従ったシステムの1つ以上の構成要素によって提供されるサービスは、クラウドサービスとして提供されることができる。図示の実施形態において、システム環境1400は、1つ以上のクライアントコンピューティング装置1404、1406および1408を含む。ユーザは、クライアントコンピューティング装置を用いて、クラウドサービスを提供するクラウドインフラストラクチャシステム1402と情報を交換することができる。クライアントコンピューティング装置は、ウェブブラウザ、専用クライアントアプリケーション(たとえば、オラクルフォーム)または他のアプリケーションなどのクライアントアプリケーションを作動するように構成されることができる。ユーザは、クライアントアプリケーションを用いてクラウドインフラストラクチャシステム1402と情報を交換することによって、クラウドインフラストラクチャシステム1402により提供されたサービスを利用することができる。
理解すべきことは、図示のクラウドインフラストラクチャシステム1402は、図示された構成要素以外の構成要素を備えてもよいことである。さらに、図示の実施形態は、本発明の実施形態を組み込むことができるクラウドインフラストラクチャシステムの一例に過ぎない。いくつかの他の実施形態において、クラウドインフラストラクチャシステム1402は、図示よりも多いまたは少ない構成要素を有してもよく、2つ以上の構成要素を組み合わせてもよく、または異なる構成または配置の構成要素を有してもよい。
クライアントコンピューティング装置1404、1406および1408は、上述したクライアントコンピューティング装置1302、1304、1306および1308と同様であってもよい。
例示的なシステム環境1400は、3つのクライアントコンピューティング装置を備えると示されているが、任意の数のクライアントコンピューティング装置をサポートすることができる。他の装置、たとえばセンサを有する装置は、クラウドインフラストラクチャシステム1402と情報を交換することができる。
ネットワーク1410は、クライアント1404、1406および1408とクラウドインフラストラクチャシステム1402との間のデータの通信および交換を促進することができる。各ネットワークは、上記でネットワーク1310に関して説明したプロトコルをさまざまな市販プロトコルのいずれかを用いてデータ通信をサポートすることができ、当業者に熟知する任意の種類のネットワークであってもよい。
クラウドインフラストラクチャシステム1402は、上記でサーバ1312に関して説明した構成要素を含み得る1つ以上のコンピュータおよび/またはサーバを含むことができる。
特定の実施形態において、クラウドインフラストラクチャシステムによって提供されたサービスは、需要に応じて、クラウドインフラストラクチャシステムからユーザに提供できるオンラインデータの記憶およびバックアップ、ウェブベースの電子メールサービス、ホストされたオフィススイートおよび文章連携サービス、データベース処理、管理できる技術サポートサービスなどの多くのサービスを含んでよい。クラウドインフラストラクチャシステムによって提供されるサービスは、ユーザのニーズを満たすように動的に拡張できる。クラウドインフラストラクチャシステムによって提供されたサービスの特定の例示は、本明細書において、「サービスインスタンス」と呼ばれる。一般的には、インターネットなどの通信ネットワークを介して、クラウドサービスプロバイダのシステムからユーザに提供できる任意のサービスは、「クラウドサービス」と呼ばれる。典型的には、パブリッククラウド環境において、クラウドサービスプロバイダのシステムを構成するサーバおよびシステムは、顧客のオンプレミスサーバおよびシステムとは異なる。たとえば、クラウドサービスプロバイダのシステムは、アプリケーションを提供することができ、ユーザは、必要に応じて、インターネットなどの通信ネットワークを介して、アプリケーションを注文し、使用することができる。
いくつかの例において、コンピュータネットワーククラウドインフラストラクチャ内のサービスは、保護されたコンピュータネットワークのストレージアクセス、ホストされたデータベース、ホストされたウェブサーバ、ソフトウェアアプリケーション、またはクラウドベンダによってユーザに提供された他のサービス、または当該技術分野に知られている他のサービスを含むことができる。たとえば、サービスは、インターネットを介して、クラウド上のリモートストレージに対して、パスワードにより保護されたアクセスを含むことができる。別の例として、サービスは、ウェブサービスにホストされている関係データベースおよびネットワーク上の開発者により私的使用のためのスクリプト言語ミドルウェアエンジンを含むことができる。別の例として、サービスは、クラウドベンダのウェブサイト上でホストされている電子メールソフトウェアアプリケーションに対するアクセスを含むことができる。
特定の実施形態において、クラウドインフラストラクチャシステム1402は、セルフサービスのサブスクリプションに基づく、柔軟なスケーラビリティ、信頼性、高可用性および安全性を有する方法で、顧客に提供できる一連のアプリケーション、ミドルウェアおよびデータベースサービスを含むことができる。このようなクラウドインフラストラクチャシステムの例示として、本願譲受人により提供されたOracleパブリッククラウドが挙げられる。
さまざまな実施形態において、クラウドインフラストラクチャシステム1402は、顧客から申込んだクラウドインフラストラクチャシステム1402のサービスを自動的に提供、管理および追跡するように構成されることができる。クラウドインフラストラクチャシステム1402は、さまざまな展開モデルを介して、クラウドサービスを提供すること
ができる。たとえば、サービスは、クラウドサービスを販売する組織に所有された(たとえば、Oracleに所有された)クラウドインフラストラクチャシステム1402を有するパブリッククラウドモデルで提供され、一般人または異なる業界の企業に利用されることができる。別の例として、サービスは、単一の組織に専用されたクラウドインフラストラクチャシステム1402を有するプライベートクラウドモデルで提供され、組織内の1つ以上の実体に利用されることができる。また、クラウドサービスは、集団クラウドモデルで提供されてもよい。よって、クラウドインフラストラクチャシステム1402およびクラウドインフラストラクチャシステム1402により提供されたサービスは、関連する集団内の複数の組織によって共有される。また、クラウドサービスは、2つ以上の異なるモデルの組み合わせからなるハイブリッドクラウドモデルで提供されてもよい。
いくつかの実施形態において、クラウドインフラストラクチャシステム1402によって提供されたサービスは、SaaS(Software as a Service)カテゴリ、PaaS(Platform as
a Service)カテゴリ、IaaS(Infrastructure as a Service)カテゴリ、またはハイブ
リッドサービスを含む他のカテゴリのサービスに準拠して提供された1つ以上のサービスを含むことができる。顧客は、サブスクリプションの申込みによって、クラウドインフラストラクチャシステム1402によって提供された1つ以上のサービスを注文することができる。これに応じて、クラウドインフラストラクチャシステム1402は、顧客のサブスクリプション申込書に含まれたサービスを提供する処理を行う。
いくつかの実施形態において、クラウドインフラストラクチャシステム1402によって提供されたサービスは、アプリケーションサービス、プラットフォームサービスおよびインフラストラクチャサービスを含むがこれらに限定されない。いくつかの例において、アプリケーションサービスは、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プラットフォームにより提供されたサービスを利用する顧客のために、ストレージ、ネットワークおよびその他の基本的なコンピューティングリソースとしての基礎コンピューティングリソースの管理と制御を容易にする。
特定の実施形態において、クラウドインフラストラクチャシステム1402はまた、クラウドインフラストラクチャシステムを利用する顧客に、さまざまなサービスを提供するために使用されるリソースを提供するためのインフラストラクチャリソース1430を含むことができる。一実施形態において、インフラストラクチャリソース1430は、PaaSプラットフォームおよびSaaSプラットフォームによって提供されたサービスを実行するために、事前に統合され且つ最適化されたサーバリソース、ストレージリソースおよびネットワークリソースなどのハードウェアの組み合わせを含んでもよい。
いくつかの実施形態において、クラウドインフラストラクチャシステム1402内のリソースは、複数のユーザに共有されることができ、各々の需要に応じて動的に再割当てることができる。また、リソースは、異なるタイムゾーンでユーザに割当てることができる。たとえば、クラウドインフラストラクチャシステム1430は、指定時間内でクラウドインフラストラクチャシステムのリソースを第一時間帯における第一グループのユーザに利用させ、その後、同様のリソースを異なる時間帯における別のグループのユーザに再配分することができ、リソースを最大に利用する。
特定の実施形態において、複数の内部共有サービス1432は、提供され、クラウドインフラストラクチャシステム1402の異なる構成要素またはモジュールに共有されおよびクラウドインフラストラクチャシステム1402によって提供されたサービスに共有されることができる。これらの内部共有サービスは、安全性および識別サービス、統合サービス、企業リポジトリサービス、企業管理サービス、ウイルススキャンおよびホワイトリストサービス、高可用性のバックアップおよびリカバリサービス、クラウドサポートを可能にするサービス、メールサービス、通知サービス、およびファイル転送サービスなどを含むがこれらに限定されない。
特定の実施形態において、クラウドインフラストラクチャシステム1402は、クラウドインフラストラクチャシステム内のクラウドサービス(たとえば、SaaSサービス、PaaS
サービスおよびIaaSサービス)を包括的に管理する機能を提供することができる。一実施形態において、クラウド管理機能は、クラウドインフラストラクチャシステム1402などによって受信した顧客のサブスクリプションを提供、管理、および追跡する機能を含んでもよい。
一実施形態において、図示のように、クラウド管理機能は、1つ以上のモジュール、たとえば、オーダー管理モジュール1420、オーダーオーケストレーションモジュール1422、オーダー支給モジュール1424、オーダー管理および監視モジュール1426、およびID管理モジュール1428によって提供される。これらのモジュールは、1つ以上のコンピュータおよび/またはサーバを含んでもよく、これらを用いて形成されてもよい。これらのコンピュータおよび/またはサーバは、汎用コンピュータ、専用サーバコンピュータ、サーバファーム、サーバクラスタ、または任意の他の適切な配置および/またはこれらの組み合わせであってもよい。
例示的な操作1434において、顧客は、クライアント装置、たとえば、クライアント装置1404、1406または1408を使用して、クラウドインフラストラクチャシステム1402により提供された1つ以上のサービスをリクエストし、クラウドインフラストラクチャシステム1402によって提供された1つ以上のサービスをオーダーすることによって、クラウドインフラストラクチャシステム1402と情報を交換することができる。特定の実施形態において、顧客は、クラウドユーザインターフェイス(UI)、クラウドUI1412、クラウドUI1414および/またはクラウドUI1416にアクセスし、これらのUIを介して、サブスクリプションをオーダーすることができる。クラウドインフラストラクチャシステム1402が顧客のオーダーに応答して受信したオーダー情報は、顧客と、クラウドインフラストラクチャシステム1402により提供され、顧客が購読しようとする1つ以上のサービスとを識別する情報を含むことができる。
顧客がオーダーした後、オーダー情報は、クラウドUI1412、1414および/または1416を介して受信される。
操作1436において、オーダーは、オーダーデータベース1418に保存される。オーダーデータベース1418は、クラウドインフラストラクチャシステム1418によって操作され、または他のシステム要素と連動して操作されるいくつかのデータベースのうち1つであってもよい。
操作1438において、オーダー情報は、オーダー管理モジュール1420に転送される。いくつかの例において、オーダー管理モジュール1420は、オーダーに関連する請求および会計機能、たとえば、オーダーの確認、および確認後オーダーの記入を実行するように構成されてもよい。
操作1440において、オーダーに関する情報は、オーダーオーケストレーションモジュール1422に伝達される。オーダーオーケストレーションモジュール1422は、オーダー情報を利用して、顧客がオーダーしたサービスおよびリソースの提供を用意する。いくつかの例において、オーダーオーケストレーションモジュール1422は、オーダー支給モジュール1424のサービスを用いて、オーダーしたサービスをサポートするように、リソースの提供を用意することができる。
特定の実施形態において、オーダーオーケストレーションモジュール1422は、各オーダーに関連したビジネスプロセスを管理することができ、ビジネスロジックを適用することによって、オーダーに対して支給をするか否かを判断することができる。操作1442において、新規サブスクリプションのオーダーを受信すると、オーダーオーケストレー
ションモジュール1422は、リソースを割当て、サブスクリプションオーダーを満たすために必要なリソースを構成するように、リクエストをオーダー支給モジュール1424に送信する。オーダー支給モジュール1424は、顧客がオーダーしたサービス用のリソースを割当てることができる。オーダー支給モジュール1424は、クラウドインフラストラクチャシステム1400により提供されたクラウドサービスと、リクエストされたサービスを提供するためのリソースを供給するために使用される物理的な実装層との間の抽象化レベルを形成する。このように、オーダーオーケストレーションモジュール1422は、たとえば、サービスおよびリソースをその場で支給するかまたは事前に支給するか、リクエストに応じて割当てる/与えるかなどの実装詳細から単離することができる。
操作1444において、サービスおよびリソースを支給した後、クラウドインフラストラクチャシステム1402のオーダー支給モジュール1424は、提供されるサービスの通知をクライアント装置1404、1406および/または1408を操作する顧客に送信することができる。
操作1446において、オーダー管理および監視モジュール1426は、顧客のサブスクリプションオーダーを管理および追跡することができる。いくつかの例において、オーダー管理および監視モジュール1426は、サブスクリプションオーダー内のサービスの利用統計、たとえば、ストレージの使用量、データの転送量、ユーザの数、システムの起動時間およびシステムの停止時間を収集するように構成されることができる。
特定の実施形態において、クラウドインフラストラクチャシステム1400は、ID管理モジュール1428を含むことができる。ID管理モジュール1428は、クラウドインフラストラクチャシステム1400に、識別サービス、たとえば、アクセス管理および認可サービスを提供するように構成することができる。いくつかの実施形態において、ID管理モジュール1428は、クラウドインフラストラクチャシステム1402によって提供されたサービスを利用したい顧客に関する情報を制御することができる。このような情報は、顧客のIDを承認する情報、およびさまざまなシステムリソース(たとえば、ファイル、ディレクトリ、アプリケーション、通信ポート、メモリセグメントなど)に対して許可された顧客の実行権限を記載する情報を含むことができる。ID管理モジュール1428は、各顧客に関する記述情報、記述情報にアクセスおよび変更する方法、および記述情報にアクセスおよび変更した顧客に対する管理を含むことができる。
図15は、本発明のさまざまな実施形態を実現することができるコンピュータシステム1500の一例を示す図である。コンピュータシステム1500を用いて、上述したコンピュータシステムのいずれかを実現することができる。図示のように、コンピュータシステム1500は、バスサブシステム1502を介して、複数の周辺サブシステムと連通する処理ユニット1504を含む。周辺サブシステムは、処理加速ユニット1506と、I/Oサブシステム1508と、記憶サブシステム1518と、通信サブシステム1524とを含むことができる。記憶サブシステム1518は、有形コンピュータ可読記憶媒体1522と、システムメモリ1510とを含む。
バスサブシステム1502は、コンピュータシステム1500のさまざまな構成要素およびサブシステムが必要に応じて相互通信させるための機構を形成する。図示には、バスサブシステム1502を単一のバスとして概略的に示しているが、代替的な実施形態において、バスサブシステムは、複数のバスを利用してもよい。バスサブシステム1502は、メモリバスまたはメモリコントローラ、周辺バス、およびさまざまなバスアーキテクチャのいずれかを使用するローカルバスを備えるいくつかの種類のバス構造のいずれかを有してもよい。たとえば、このようなアーキテクチャは、業界標準アーキテクチャ(ISA)
バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオエレ
クトロニクス規格協会(VESA)ローカルバス、および周辺構成要素相互接続(PCI)バス
を含むことができる。これらのバスは、IEEE P1386.1規格に準拠した製造されたメザニンバスとして実現することができる。
1つ以上の集積回路(たとえば、従来のマイクロプロセッサまたはマイクロコントローラ)として実装することができる処理ユニット1504は、コンピュータシステム1500の操作を制御する。処理ユニット1504は、1つ以上のプロセッサを含むことができる。これらのプロセッサは、シングルコアプロセッサであってもよく、マルチコアプロセッサであってもよい。特定の実施形態において、処理ユニット1504は、各々シングルコアプロセッサまたはマルチコアプロセッサを備える1つ以上の独立した処理ユニット1532および/または1534として実装されてもよい。他の実施形態において、処理ユニット1504は、2つのデュアルコア(dual-core)プロセッサを単一のチップに集積
することにより形成されたクアッドコア(Quad-core)処理ユニットとして実装されても
よい。
さまざまな実施形態において、処理ユニット1504は、プログラムコードに応じてさまざまなプログラムを実行することができ、複数のプログラムまたはプロセスを同時に実行することができる。任意の時点で、実行されるプログラムコードの一部または全てをプロセッサ1504および/または記憶サブシステム1518に常駐することができる。適切なプログラミングによって、プロセッサ1504は、上述したさまざまな機能を提供することができる。コンピュータシステム1500は、デジタルシグナルプロセッサ(DSP
)および専用プロセッサなどを含むことができる処理加速ユニット1506をさらに備えてもよい。
I/Oサブシステム1508は、ユーザインターフェイス入力装置と、ユーザインターフェイス出力装置とを含むことができる。ユーザインターフェイス入力装置は、キーボード、マウスまたはトラックボールなどのポインティング装置、ディスプレイに組み込まれたタッチパッドまたはタッチスクリーン、スクロールホイール、クリックホイール、ダイヤル、ボタン、スイッチ、キーパッド、音声命令認識システムを備える音声入力装置、マイクロフォン、および他の種類の入力装置を含んでもよい。また、ユーザインターフェイス入力装置は、たとえば、Microsoft Kinect(登録商標)モーションセンサのようなモーション検知および/またはジェスチャ認識装置を含んでもよい。Microsoft Kinect(登録商標)モーションセンサは、ジェスチャおよび音声命令を利用する自然ユーザインターフェース(NUI)を介して、Microsoft Xbox(登録商標)360ゲームコントローラなどの
入力装置を制御することができ、それと対話することができる。また、ユーザインターフェイス入力装置は、Google Glass(登録商標)瞬き検出器のような眼球ジェスチャ認識装置を含むことができる。Google Glass(登録商標)瞬き検出器は、ユーザの眼球活動(たとえば、写真を撮るときおよび/またはメニューを選択するときの「瞬き」)を検出し、眼球活動を入力装置(たとえば、Google Glass(登録商標))に入力する入力に変換する。さらに、ユーザインターフェイス入力装置は、音声命令を介してユーザと音声認識システム(たとえば、Siri(登録商標)ナビゲータ)との対話を可能にする音声認識検出装置を含んでもよい。
また、ユーザインターフェイス入力装置は、三次元(3D)マウス、ジョイスティックまたはポインティングスティック、ゲームパッド、グラフィックタブレット、スピーカなどのオーディオ/ビジュアル装置、デジタルカメラ、デジタルビデオカメラ、ポータブルメディアプレーヤ、ウェブカメラ、イメージスキャナ、指紋スキャナ、バーコードリーダ、3Dスキャナ、3Dプリンタ、レーザ距離計、および視線追跡装置を含むがこれらに限定されない。さらに、ユーザインターフェイス入力装置は、たとえば、コンピュータ断層撮影装置、磁気共鳴像装置、超音波放射断層撮影装置、および医療用超音波装置などのよ
うな医用画像入力装置を含んでもよい。また、ユーザインターフェイス入力装置は、たとえば、MIDIキーボードおよび電子楽器などの音声入力装置を含んでもよい。
ユーザインターフェイス出力装置は、ディスプレイサブシステム、インジケータライト、またはオーディオ出力装置などの非視覚ディスプレイを含んでもよい。ディスプレイサブシステムは、たとえば、陰極線管(CRT)、液晶ディスプレイ(LCD)またはプラズマディスプレイを使用するフラットパネル装置、投射装置またはタッチスクリーンであってもよい。一般に、「出力装置」という用語を使用する場合、コンピュータシステム1500から情報をユーザまたは他のコンピュータに出力するためのすべての可能な種類の装置および機構を含むことを意図している。たとえば、ユーザインターフェイス出力装置は、文字、画像およびオーディオ/ビデオ情報を視覚的に伝達するさまざまな表示装置、たとえば、モニタ、プリンタ、スピーカ、ヘッドフォン、カーナビゲーションシステム、プロッタ、音声出力装置、およびモデムを含むがこれらに限定されない。
コンピュータシステム1500は、記憶サブシステム1518を含むことができる。記憶サブシステム1518は、ソフトウェア要素を備え、図示では、これらのソフトウェア要素は、システムメモリ1510内に配置されている。システムメモリ1510は、処理ユニット1504にロード可能かつ実行可能なプログラム命令、およびこれらのプログラムの実行により生成されたデータを記憶することができる。
コンピュータシステム1500の構成およびタイプに応じて、システムメモリ1510は、揮発性メモリ(たとえば、ランダムアクセスメモリ(random access memory:RAM))であってもよく、および/または、不揮発性メモリ(たとえば、読取り専用メモリ(read-only memory:ROM)、フラッシュメモリ)であってもよい。一般に、RAMは、処理ユニット1504がすぐにアクセス可能なデータおよび/またはプログラムモジュール、および/または、処理ユニット1504によって現在操作および実行されているデータおよび/またはプログラムモジュールを収容する。いくつかの実現例では、システムメモリ1510は、スタティックランダムアクセスメモリ(static random access memory
:SRAM)またはダイナミックランダムアクセスメモリ(dynamic random access memory:DRAM)などの複数の異なるタイプのメモリを含み得る。いくつかの実現例では、始動中などにコンピュータシステム1500内の要素間で情報を転送することを助ける基本ルーチンを含む基本入力/出力システム(basic input/output system:BIOS)が
、一般にROMに格納され得る。一例としておよび非限定的に、システムメモリ1510は、クライアントアプリケーション、ウェブブラウザ、中間層アプリケーション、リレーショナルデータベース管理システム(relational database management system:RDB
MS)などを含み得るアプリケーションプログラム1512、プログラムデータ1514およびオペレーティングシステム1516も示す。一例として、オペレーティングシステム1516は、マイクロソフトウィンドウズ(登録商標)、Apple Macintosh(登録商標
)および/もしくはLinux(登録商標)オペレーティングシステムのさまざまなバージョン、さまざまな市販のUNIX(登録商標)もしくはUNIXライクオペレーティングシステム(さまざまなGNU/Linuxオペレーティングシステム、Google Chrome
(登録商標)OSなどを含むが、これらに限定されるものではない)、ならびに/または、iOS、Windows(登録商標)フォン、アンドロイド(登録商標)OS、ブラックベリ
ー(登録商標)10 OSおよびパーム(登録商標)OSオペレーティングシステムなど
のモバイルオペレーティングシステムを含み得る。
また、記憶サブシステム1518は、いくつかの実施例の機能を提供する基本的なプログラミングおよびデータ構造を格納するための有形のコンピュータ可読記憶媒体を提供し得る。プロセッサによって実行されたときに上記の機能を提供するソフトウェア(プログラム、コードモジュール、命令)が記憶サブシステム1518に格納され得る。これらの
ソフトウェアモジュールまたは命令は、処理ユニット1504によって実行され得る。また、記憶サブシステム1518は、本発明に従って使用されるデータを格納するためのリポジトリを提供し得る。
また、記憶サブシステム1510は、コンピュータ可読記憶媒体1522にさらに接続可能なコンピュータ可読記憶媒体リーダ1520を含み得る。コンピュータ可読記憶媒体1522は、システムメモリ1510とともに、または必要に応じてシステムメモリ1510と組み合わせて、コンピュータ可読情報を一時的および/または永久に収容、格納、送信および検索するための記憶媒体に加えて、リモート記憶装置、ローカル記憶装置、固定的な記憶装置および/または取外し可能な記憶装置を包括的に表すことができる。
また、コードまたはコードの一部を含むコンピュータ可読記憶媒体1522は、当該技術分野において公知のまたは使用される任意の適切な媒体を含み得て、当該媒体は、情報の格納および/または送信のための任意の方法または技術において実現される揮発性および不揮発性の、取外し可能および取外し不可能な媒体などであるが、これらに限定されるものではない記憶媒体および通信媒体を含む。これは、RAM、ROM、電子的消去・プログラム可能ROM(electronically erasable programmable ROM:EEPROM)、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(digital versatile disk:DVD)、または他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または他の有形のコンピュータ可読媒体などの有形のコンピュータ可読記憶媒体を含み得る。また、これは、データ信号、データ送信などの無形のコンピュータ可読媒体、または、所望の情報を送信するために使用可能であり且つコンピュータシステム1500によってアクセス可能なその他の媒体を含み得る。
一例として、コンピュータ可読記憶媒体1522は、取外し不可能な不揮発性磁気媒体から読取るまたは当該媒体に書込むハードディスクドライブ、取外し可能な不揮発性磁気ディスクから読取るまたは当該ディスクに書込む磁気ディスクドライブ、ならびに、CD
ROM、DVDおよびブルーレイ(登録商標)ディスクまたは他の光学式媒体などの取外し可能な不揮発性光学ディスクから読取るまたは当該ディスクに書込む光学式ディスクドライブを含み得る。コンピュータ可読記憶媒体1522は、ジップ(登録商標)ドライブ、フラッシュメモリカード、ユニバーサルシリアルバス(universal serial bus:USB)フラッシュドライブ、セキュアデジタル(secure digital:SD)カード、DVDディスク、デジタルビデオテープなどを含み得るが、これらに限定されるものではない。また、コンピュータ可読記憶媒体1522は、フラッシュメモリベースのSSD、企業向けフラッシュドライブ、ソリッドステートROMなどの不揮発性メモリに基づくソリッドステートドライブ(solid-state drive:SSD)、ソリッドステートRAM、ダイナミッ
クRAM、スタティックRAMなどの揮発性メモリに基づくSSD、DRAMベースのSSD、磁気抵抗RAM(magnetoresistive RAM:MRAM)SSD、およびDRAMとフラッシュメモリベースのSSDとの組み合わせを使用するハイブリッドSSDを含み得る。ディスクドライブおよびそれらの関連のコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュールおよび他のデータの不揮発性記憶装置をコンピュータシステム1500に提供し得る。
通信サブシステム1524は、他のコンピュータシステムおよびネットワークとのインターフェイスを提供する。通信サブシステム1524は、他のシステムからデータを受信したり、コンピュータシステム1500から他のシステムにデータを送信するためのインターフェイスの役割を果たす。たとえば、通信サブシステム1524は、コンピュータシステム1500がインターネットを介して1つ以上の装置に接続することを可能にし得る。いくつかの実施例では、通信サブシステム1524は、(たとえば3G、4GまたはE
DGE(enhanced data rates for global evolution)などの携帯電話技術、高度データネットワーク技術を用いて)無線音声および/またはデータネットワークにアクセスするための無線周波数(radio frequency:RF)トランシーバ構成要素、WiFi(IEE
E1602.11ファミリ標準または他のモバイル通信技術またはそれらの任意の組み合わせ)、全地球測位システム(global positioning system:GPS)レシーバ構成要素
、および/または、他の構成要素を含み得る。いくつかの実施例では、通信サブシステム1524は、無線インターフェイスに加えて、または無線インターフェイスの代わりに、有線ネットワーク接続(たとえばイーサネット)を提供し得る。
また、いくつかの実施例において、通信サブシステム1524は、コンピュータシステム1500を使用し得る1人以上のユーザを代表して、構造化されたおよび/または構造化されていないデータフィード1526、イベントストリーム1528、イベント更新1530などの形態で入力通信を受信し得る。
一例として、通信サブシステム1524は、ツイッター(登録商標)フィード、フェースブック(登録商標)更新、リッチ・サイト・サマリ(Rich Site Summary:RSS)フ
ィードなどのウェブフィードなどのデータフィード1526をリアルタイムでソーシャルネットワークおよび/または他の通信サービスのユーザから受信し、および/または、1つ以上の第三者情報源からリアルタイム更新を受信するように構成され得る。
また、通信サブシステム1524は、連続的なデータストリームの形態でデータを受信するように構成され得て、当該データは、連続的である場合もあれば本質的に明確な端部を持たない状態で境界がない場合もあるリアルタイムイベントのイベントストリーム1528および/またはイベント更新1530を含み得る。連続的なデータを生成するアプリケーションの例としては、たとえばセンサデータアプリケーション、金融ティッカ、ネットワーク性能測定ツール(たとえばネットワークモニタリングおよびトラフィック管理アプリケーション)、クリックストリーム分析ツール、自動車交通モニタリングなどを含み得る。
また、通信サブシステム1524は、構造化されたおよび/または構造化されていないデータフィード1526、イベントストリーム1528、イベント更新1530などを、コンピュータシステム1500に結合された1つ以上のストリーミングデータソースコンピュータと通信し得る1つ以上のデータベースに出力するように構成され得る。
コンピュータシステム1500は、手持ち式携帯機器(たとえばiPhone(登録商標)携帯電話、Ipad(登録商標)計算タブレット、PDA)、ウェアラブル装置(たとえばGoogle Glass(登録商標)ヘッドマウントディスプレイ)、PC、ワークステーション、メインフレーム、キオスク、サーバラックまたはその他のデータ処理システムを含むさまざまなタイプのうちの1つであってもよい。
コンピュータおよびネットワークが絶え間なく進化し続けるため、図示されているコンピュータシステム1500の説明は、特定の例として意図されているにすぎない。図に示されているシステムよりも多くのまたは少ない数の構成要素を有する多くの他の構成が可能である。例えば、ハードウェア、ファームウェア、(アプレットを含む)ソフトウェア、または組み合わせにおいて、カスタマイズされたハードウェアも使用されてもよく、および/または、特定の要素が実装されてもよい。さらに、ネットワーク入力/出力装置などの他の計算装置への接続が利用されてもよい。本明細書で提供される開示および教示に基づいて、当業者は、さまざまな実施例を実現するための他の手段および/または方法を理解するであろう。
前述の説明において、説明の目的で、本発明の実施形態を完全に理解できるようにするために、多くの具体的な詳細を記載する。しかしながら、これらの具体的な詳細がなくても本発明を実施できることは明らかであろう。場合によって、一部の周知の構造および装置は、ブロック図で示される。
上記の説明は、例示的な実施形態を提供するもののみであり、本開示の範囲、適用性または構成を限定するものではない。むしろ、例示的な実施形態の上記の説明は、例示的な実施形態を実施可能な説明を当業者に提供する。理解すべきことは、添付の特許請求の範囲に記載された発明の精神および範囲から逸脱することなく、要素の機能および要素の配置にさまざまな変更を加えることができることである。
本発明の実施形態を完全に理解するために、上記の記載において、具体的な詳細を説明した。しかしながら、当業者には、これらの具体的な詳細がなくても、本発明の実施形態を実施できることが理解されるであろう。例えば、不必要な詳細で実施形態を不明瞭にしないように、回路、システム、ネットワーク、プロセスおよび他の構成要素をブロック要素として示してもよい。他の例において、実施形態を不明瞭にしないように、不必要な詳細なしで、周知の回路、プロセス、アルゴリズム、構造および技術を示してもよい。
また、留意すべきことは、各々の実施形態は、フローチャート、フロー図、データフロー図、構造図、またはブロック図として示された処理として説明されていることである。フローチャートは、操作を順次処理として説明しているが、多くの操作は、並行でまたは同時に実行することができる。さらに、操作の順序を再配置してもよい。処理は、その操作が完了した時点で終了するが、図に示されていない追加のステップを含んでもよい。処理は、メソッド、関数、プロシージャ、サブルーチン、サブプログラムなどに対応することができる。処理が関数に対応する場合、その終了は、呼び出し関数またはメイン関数の戻りに対応することができる。
「コンピュータ可読媒体」という用語は、命令および/またはデータを記憶、格納または搬送することができる可搬型または固定型記憶装置、光記憶装置、無線チャネル、およびさまざまな他の媒体を含むが、これらに限定されない。コードセグメントまたは機械実行可能な命令は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、もしくは命令、データ構造またはプログラム文の任意の組合せを表すことができる。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容を転送および/または受取ることによって、別のコードセグメントまたはハードウェア回路に結合されてもよい。情報、引数、パラメータおよびデータなどは、メモリ共有、メッセージ転送、トークン転送、ネットワーク送信などの任意の適切な手段を介して、伝達され、転送され、または送信され得る。
さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組み合わせによって実施されてもよい。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードに実施される場合、必要な作業を実行するプログラムコードまたはコードセグメントは、機械可読媒体に格納されてもよい。プロセッサは、必要な作業を実行することができる。
上記の明細書では、本発明の局面は、その具体的な実施例を参照して記載されているが、本発明はこれに限定されるものではないことを当業者は認識するであろう。上記の発明のさまざまな特徴および局面は、個々にまたは一緒に使用されてもよい。さらに、実施例は、明細書のより広い精神および範囲から逸脱することなく、本明細書に記載されているものを越えたどのような環境およびアプリケーションでも利用可能である。したがって、明細書および図面は、限定的ではなく例示的であるものとみなされるべきである。
さらに、例示の目的のために、特定の順序で方法を記載した。代替の実施形態において、記載された順序と異なる順序で方法を実行してもよい。また、上述した方法は、ハードウェア構成要素によって実行されてもよく、または一連の機械実行可能な命令で具体化されてもよい。機械実行可能な命令を用いて、汎用または専用プロセッサもしくは命令でプログラムされたロジック回路に指示して、方法を実行することができる。これらの機械実行可能な命令は、1つ以上の機械可読媒体、例えば、CD−ROMまたは他の種類の光ディスク、フロッピー(登録商標)ディスク、ROM、RAM、EPROM、EEPROM、磁気または光カード、フラッシュメモリ、または電子命令の記憶に適した他の種類の機械可読媒体を含む。代替的に、これらの方法は、ハードウェアおよびソフトウェアの組み合わせによって実行されてもよい。
いくつかの実施形態において、異なる言語間で仮想アシスタント用のオントロジを生成する方法は、仮想アシスタントを含むウェブドメイン内の複数のウェブリソースから第1言語の複数のトークンを抽出するステップを備え、ウェブリソースは、第1言語および第2言語で利用可能である。方法は、複数のトークンの各々に対応する第1品詞(POS)を決定するステップを備え、第1POSは、第1言語に特有である。方法は、複数のトークンの各々に対応する第1OSを第1言語と第2言語との間で共通な標準化POSセットからの第2POSにマッピングするステップと、複数のトークンから複数の見出語を生成するステップと、ノードのネットワークを表示させるステップとを備え、ノードのネットワーク内の各ノードは、複数の見出語のうちの1つを表し、ノードのネットワーク内のノード間の連結線は、複数の見出語の間の概念関係を表す。
方法において、複数のトークンは、複数のウェブリソース内の複数の異なる形式のドキュメントから抽出される。方法は、異なる形式のドキュメントの各々に特有のスクリプトを実行することによって、複数のトークンを抽出するステップをさらに含む。方法は、複数の見出語を含み、複数の見出語間の概念関係を有する第1オントロジを生成するステップをさらに含む。この方法は、ユーザのクエリに応答するために、仮想アシスタントに第1オントロジを提供するステップをさらに含む。方法は、複数のウェブリソースから第2言語の第2複数のトークンを抽出するステップと、第2複数のトークンの各々に対応する第3POSを決定するステップとを含み、第3POSは、第2言語に特有である。方法は、第2複数のトークンの各々に対応する第3POSを標準化POSセット内の第4POSにマッピングするステップと、第2複数のトークンから複数の第2見出語を生成するステップと、複数の見出語の間の概念関係を第2複数の見出語にマッピングすることによって、第2言語に特有の第2オントロジを生成するステップとを含む。方法において、ノードのネットワークは、複数の第2見出語を表す追加のノードを含み、よって、複数の見出語と第2複数の見出語との相互関係が表示される。方法において、第1POSを第2POSにマッピングするステップは、第1言語に特有のマッピングファイルを使用して、第1言語の各POSを標準化POSセット内のPOSにマッピングすることを含む。
いくつかの実施形態において、非一時的なコンピュータ可読媒体は、命令を含む。これらの命令は、1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに以下の操作を実行させる。当該操作は、仮想アシスタントを含むウェブドメイン内の複数のウェブリソースから第1言語の複数のトークンを抽出する操作を備え、ウェブリソースは、第1言語および第2言語で利用可能である。当該操作は、複数のトークンの各々に対応する第1品詞(POS)を決定する操作を備え、第1POSは、第1言語に特有である。当該操作は、複数のトークンの各々に対応する第1OSを第1言語と第2言語との間で共通な標準化POSセットからの第2POSにマッピングする操作と、複数のトークンから複数の見出語を生成する操作と、ノードのネットワークを表示させる操作とを備え、ノードのネットワーク内の各ノードは、複数の見出語のうちの1つを表し、ノードのネット
ワーク内のノード間の連結は、複数の見出語の間の概念関係を表す。
非一時的なコンピュータ可読媒体において、複数のトークンは、複数のウェブリソース内の複数の異なる形式のドキュメントからを抽出する。非一時的なコンピュータ可読媒体内の命令は、1つ以上のプロセッサに、異なる形式のドキュメントの各々に特有のスクリプトを実行することによって、複数のトークンを抽出することを含む追加の操作を実行させる。非一時的なコンピュータ可読媒体内の命令は、1つ以上のプロセッサに、複数の見出語を含み、複数の見出語間の概念関係を有する第1オントロジを生成することを含む追加の操作を実行させる。非一時的なコンピュータ可読媒体内の命令は、1つ以上のプロセッサに、ユーザのクエリに応答するために、仮想アシスタントに第1オントロジを提供することを含む追加の操作を実行させる。非一時的なコンピュータ可読媒体内の命令は、1つ以上のプロセッサに、複数のウェブリソースから第2言語の第2複数のトークンを抽出する操作と、第2複数のトークンの各々に対応する第3POSを決定する操作とを含む追加の操作を実行させる。第3POSは、第2言語に特有である。非一時的なコンピュータ可読媒体内の命令は、1つ以上のプロセッサに、第2複数のトークンの各々に対応する第3POSを標準化POSセット内の第4POSにマッピングする操作と、第2複数のトークンから複数の第2見出語を生成する操作と、複数の見出語の間の概念関係を第2複数の見出語にマッピングすることによって、第2言語に特有の第2オントロジを生成する操作とを含む追加の操作を実行させる。非一時的なコンピュータ可読媒体において、ノードのネットワークは、複数の第2見出語を表す追加のノードを含み、よって、複数の見出語と第2複数の見出語との相互関係が表示される。非一時的なコンピュータ可読媒体において、第1POSを第2POSにマッピングするステップは、第1言語に特有のマッピングファイルを使用して、第1言語の各POSを標準化POSセット内のPOSにマッピングすることを含む。
いくつかの実施形態において、システムは、1つ以上のプロセッサと、命令を含む1つ以上の記憶装置とを備え、命令は、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに以下の操作を実行させる。当該操作は、当該操作は、仮想アシスタントを含むウェブドメイン内の複数のウェブリソースから第1言語の複数のトークンを抽出する操作を備え、ウェブリソースは、第1言語および第2言語で利用可能である。当該操作は、複数のトークンの各々に対応する第1品詞(POS)を決定する操作を備え、第1POSは、第1言語に特有である。当該操作は、複数のトークンの各々に対応する第1OSを第1言語と第2言語との間で共通な標準化POSセットからの第2POSにマッピングする操作と、複数のトークンから複数の見出語を生成する操作と、ノードのネットワークを表示させる操作とを備え、ノードのネットワーク内の各ノードは、複数の見出語のうちの1つを表し、ノードのネットワーク内のノード間の連結は、複数の見出語の間の概念関係を表す。
システムの命令は、1つ以上のプロセッサに、複数の見出語を含み、複数の見出語間の概念関係を有する第1オントロジを生成することを含む追加の操作を実行させる。命令は、1つ以上のプロセッサに、ユーザのクエリに応答するために、仮想アシスタントに第1オントロジを提供することを含む追加の操作の処理を実行させる。システムの命令は、1つ以上のプロセッサに、複数のウェブリソースから第2言語の第2複数のトークンを抽出する操作と、第2複数のトークンの各々に対応する第3POSを決定する操作とを含む追加の操作を実行させる。第3POSは、第2言語に特有である。システムの命令は、1つ以上のプロセッサに、第2複数のトークンの各々に対応する第3POSを標準化POSセット内の第4POSにマッピングする操作と、第2複数のトークンから複数の第2見出語を生成する操作と、複数の見出語の間の概念関係を第2複数の見出語にマッピングすることによって、第2言語に特有の第2オントロジを生成する操作とを含む追加の操作を実行させる。システムにおいて、ノードのネットワークは、複数の第2見出語を表す追加のノードを含み、よって、複数の見出語と第2複数の見出語との相互関係が表示される。

Claims (20)

  1. ウェブリソースから見出語辞書を自動的に生成する方法であって、
    前記ウェブリソース内のテキストドキュメントから複数のトークンを抽出するステップと、
    前記複数のトークンから複数のNグラムを生成するステップと、
    有効なNグラムを特定する1つ以上のフィルタ定義を受信するステップと、
    前記1つ以上のフィルタ定義を用いて前記複数のNグラムをフィルタリングすることによって、見出語辞書を生成するステップと、
    前記見出語辞書を含むオントロジを生成するステップとを含む、方法。
  2. 前記テキストドキュメントから前記複数のトークンを抽出するステップは、構造テキストおよび書式設定テキストを特定し、前記複数のトークンから除去することを含む、請求項1に記載の方法。
  3. 前記ウェブリソースは、ウェブドメインを含み、
    前記ウェブドメインは、複数のHTMLウェブページを含む、請求項1に記載の方法。
  4. 前記複数のNグラムを生成するステップは、前記ウェブリソースに出現する単語の組み合わせを生成することを含む、請求項1に記載の方法。
  5. 前記複数のNグラムをフィルタリングした後、ユーザインターフェイスに表示させるステップと、
    前記見出語辞書から少なくとも1つのNグラムを除去する入力を受信するステップとをさらに含む、請求項1に記載の方法。
  6. 前記1つ以上のフィルタ定義は、Nグラムの各トークンに対応する品詞フィルタを含む、請求項1に記載の方法。
  7. 前記1つ以上のフィルタ定義は、テキストパターンを含む、請求項1に記載の方法。
  8. 前記1つ以上のフィルタ定義は、前記ウェブリソースに出現するNグラムの最小頻度を含む、請求項1に記載の方法。
  9. 前記1つ以上のフィルタ定義は、言語の選択を含む、請求項1に記載の方法。
  10. 命令を含む非一時的なコンピュータ可読媒体であって、前記命令は、1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに以下の操作を実行させ、当該操作は、
    前記ウェブリソース内のテキストドキュメントから複数のトークンを抽出する操作と、
    前記複数のトークンから複数のNグラムを生成する操作と、
    有効なNグラムを特定する1つ以上のフィルタ定義を受信する操作と、
    前記1つ以上のフィルタ定義を用いて前記複数のNグラムをフィルタリングすることによって、見出語辞書を生成する操作と、
    前記見出語辞書を含むオントロジを生成する操作とを含む、非一時的なコンピュータ可読媒体。
  11. 前記複数のNグラムを生成する操作は、前記ウェブリソースに出現する単語の組み合わせを生成することを含む、請求項10に記載の非一時的なコンピュータ可読媒体。
  12. 前記1つ以上のフィルタ定義は、Nグラムの各トークンに対応する品詞フィルタを含む、請求項10に記載の非一時的なコンピュータ可読媒体。
  13. 前記1つ以上のフィルタ定義は、テキストパターンを含む、請求項10に記載の非一時的なコンピュータ可読媒体。
  14. 前記1つ以上のフィルタ定義は、前記ウェブリソースに出現するNグラムの最小頻度を含む、請求項10に記載の非一時的なコンピュータ可読媒体。
  15. 前記1つ以上のフィルタ定義は、言語の選択を含む、請求項10に記載の非一時的なコンピュータ可読媒体。
  16. システムであって、
    1つ以上のプロセッサと、
    命令を含む1つ以上の記憶装置とを備え、前記命令は、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに以下の操作を実行させ、当該操作は、
    前記ウェブリソース内のテキストドキュメントから複数のトークンを抽出する操作と、
    前記複数のトークンから複数のNグラムを生成する操作と、
    有効なNグラムを特定する1つ以上のフィルタ定義を受信する操作と、
    前記1つ以上のフィルタ定義を用いて前記複数のNグラムをフィルタリングすることによって、見出語辞書を生成する操作と、
    前記見出語辞書を含むオントロジを生成する操作とを含む、システム。
  17. 前記複数のNグラムを生成する操作は、前記ウェブリソースに出現する単語の組み合わせを生成することを含む、請求項16に記載のシステム。
  18. 前記1つ以上のフィルタ定義は、Nグラムの各トークンに対応する品詞フィルタを含む、請求項16に記載のシステム。
  19. 前記1つ以上のフィルタ定義は、前記ウェブリソースに出現するN−グラムの最小頻度を含む、請求項16に記載のシステム。
  20. 前記1つ以上のフィルタ定義は、言語の選択を含む、請求項16に記載のシステム。
JP2018004992A 2014-11-10 2018-01-16 言語入力データからnグラムおよび概念関係の自動生成 Active JP6714024B2 (ja)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201462077887P 2014-11-10 2014-11-10
US201462077868P 2014-11-10 2014-11-10
US62/077,887 2014-11-10
US62/077,868 2014-11-10
US14/793,677 2015-07-07
US14/793,677 US9678946B2 (en) 2014-11-10 2015-07-07 Automatic generation of N-grams and concept relations from linguistic input data
US14/793,701 2015-07-07
US14/793,701 US9842102B2 (en) 2014-11-10 2015-07-07 Automatic ontology generation for natural-language processing applications

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017525070A Division JP6279153B2 (ja) 2014-11-10 2015-10-14 言語入力データからnグラムおよび概念関係の自動生成

Publications (2)

Publication Number Publication Date
JP2018097887A true JP2018097887A (ja) 2018-06-21
JP6714024B2 JP6714024B2 (ja) 2020-06-24

Family

ID=55912345

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2017525070A Active JP6279153B2 (ja) 2014-11-10 2015-10-14 言語入力データからnグラムおよび概念関係の自動生成
JP2017525068A Active JP6320637B2 (ja) 2014-11-10 2015-10-14 コンピュータ自然言語処理における見出語と汎用オントロジとのマッピング
JP2018004992A Active JP6714024B2 (ja) 2014-11-10 2018-01-16 言語入力データからnグラムおよび概念関係の自動生成

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2017525070A Active JP6279153B2 (ja) 2014-11-10 2015-10-14 言語入力データからnグラムおよび概念関係の自動生成
JP2017525068A Active JP6320637B2 (ja) 2014-11-10 2015-10-14 コンピュータ自然言語処理における見出語と汎用オントロジとのマッピング

Country Status (5)

Country Link
US (3) US9842102B2 (ja)
EP (2) EP3218821A1 (ja)
JP (3) JP6279153B2 (ja)
CN (2) CN107077466B (ja)
WO (2) WO2016077016A1 (ja)

Families Citing this family (150)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
KR102516577B1 (ko) 2013-02-07 2023-04-03 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
KR101922663B1 (ko) 2013-06-09 2018-11-28 애플 인크. 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
WO2015020942A1 (en) 2013-08-06 2015-02-12 Apple Inc. Auto-activating smart responses based on activities from remote devices
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
WO2015184186A1 (en) 2014-05-30 2015-12-03 Apple Inc. Multi-command single utterance input method
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US9842102B2 (en) 2014-11-10 2017-12-12 Oracle International Corporation Automatic ontology generation for natural-language processing applications
GB2549240A (en) * 2015-01-06 2017-10-18 What3Words Ltd A method for suggesting one or more multi-word candidates based on an input string received at an electronic device
US9218427B1 (en) * 2015-01-21 2015-12-22 Maana, Inc. Dynamic semantic models having multiple indices
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10262061B2 (en) 2015-05-19 2019-04-16 Oracle International Corporation Hierarchical data classification using frequency analysis
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10042998B2 (en) * 2015-06-04 2018-08-07 International Business Machines Corporation Automatically altering and encrypting passwords in systems
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US20170116180A1 (en) * 2015-10-23 2017-04-27 J. Edward Varallo Document analysis system
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10878191B2 (en) * 2016-05-10 2020-12-29 Nuance Communications, Inc. Iterative ontology discovery
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US9948664B2 (en) * 2016-07-11 2018-04-17 Petabi, Inc. Method and system for correlation and management of distributed and heterogeneous events
HK1220319A2 (zh) * 2016-07-29 2017-04-28 李應樵 基於結構化網絡知識的自動中文本體庫建構方法、系統及計算機可讀介質
US10621314B2 (en) * 2016-08-01 2020-04-14 Palantir Technologies Inc. Secure deployment of a software package
US10762297B2 (en) * 2016-08-25 2020-09-01 International Business Machines Corporation Semantic hierarchical grouping of text fragments
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US10467347B1 (en) 2016-10-31 2019-11-05 Arria Data2Text Limited Method and apparatus for natural language document orchestrator
US10268680B2 (en) 2016-12-30 2019-04-23 Google Llc Context-aware human-to-computer dialog
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US11507743B2 (en) * 2017-02-28 2022-11-22 Nice Ltd. System and method for automatic key phrase extraction rule generation
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US10289615B2 (en) * 2017-05-15 2019-05-14 OpenGov, Inc. Natural language query resolution for high dimensionality data
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. MULTI-MODAL INTERFACES
DK201770432A1 (en) * 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US10466963B2 (en) 2017-05-18 2019-11-05 Aiqudo, Inc. Connecting multiple mobile devices to a smart home assistant account
US20200167525A1 (en) * 2017-06-08 2020-05-28 3M Innovative Properties Company Systems and methods for word filtering in language models
US11568273B2 (en) 2017-11-14 2023-01-31 International Business Machines Corporation Multi-dimensional cognition for unified cognition in cognitive assistance
US11443196B2 (en) 2017-11-14 2022-09-13 International Business Machines Corporation Unified cognition for a virtual personal cognitive assistant when cognition is embodied across multiple embodied cognition object instances
US11544576B2 (en) * 2017-11-14 2023-01-03 International Business Machines Corporation Unified cognition for a virtual personal cognitive assistant of an entity when consuming multiple, distinct domains at different points in time
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
JP7074365B2 (ja) * 2017-12-11 2022-05-24 株式会社レボーン 香り品質特定システム、高機能携帯端末及びプログラム
CN108154395B (zh) * 2017-12-26 2021-10-29 上海新炬网络技术有限公司 一种基于大数据的客户网络行为画像方法
US10963495B2 (en) 2017-12-29 2021-03-30 Aiqudo, Inc. Automated discourse phrase discovery for generating an improved language model of a digital assistant
US10929613B2 (en) 2017-12-29 2021-02-23 Aiqudo, Inc. Automated document cluster merging for topic-based digital assistant interpretation
US10963499B2 (en) 2017-12-29 2021-03-30 Aiqudo, Inc. Generating command-specific language model discourses for digital assistant interpretation
US10176171B1 (en) * 2017-12-29 2019-01-08 Aiqudo, Inc. Language agnostic command-understanding digital assistant
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10872122B2 (en) * 2018-01-30 2020-12-22 Government Of The United States Of America, As Represented By The Secretary Of Commerce Knowledge management system and process for managing knowledge
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
WO2019182593A1 (en) * 2018-03-22 2019-09-26 Equifax, Inc. Text classification using automatically generated seed data
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
US10944859B2 (en) 2018-06-03 2021-03-09 Apple Inc. Accelerated task performance
CN110647589B (zh) * 2018-06-08 2021-06-25 北京三快在线科技有限公司 一种语料数据的生成方法、装置、电子设备及存储介质
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
CN113168416A (zh) * 2018-11-29 2021-07-23 皇家飞利浦有限公司 用于根据通用领域语料库来创建领域特异性训练语料库的方法和系统
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11328007B2 (en) * 2019-02-04 2022-05-10 International Business Machines Corporation Generating a domain-specific phrasal dictionary
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK201970510A1 (en) 2019-05-31 2021-02-11 Apple Inc Voice identification in digital assistant systems
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11429789B2 (en) 2019-06-12 2022-08-30 International Business Machines Corporation Natural language processing and candidate response identification
US11163953B2 (en) 2019-06-12 2021-11-02 International Business Machines Corporation Natural language processing and candidate response evaluation
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
US20210097404A1 (en) * 2019-09-26 2021-04-01 Kpmg Llp Systems and methods for creating product classification taxonomies using universal product classification ontologies
WO2021195133A1 (en) 2020-03-23 2021-09-30 Sorcero, Inc. Cross-class ontology integration for language modeling
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11183193B1 (en) 2020-05-11 2021-11-23 Apple Inc. Digital assistant hardware abstraction
US11301639B2 (en) * 2020-06-26 2022-04-12 Huawei Technologies Co., Ltd. Methods and systems for generating a reference data structure for anonymization of text data
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
US11775773B2 (en) 2020-12-15 2023-10-03 Kore.Ai, Inc. Methods for conducting a conversation in an application enabled by a virtual assistant server and devices thereof
TWI800982B (zh) 2021-11-16 2023-05-01 宏碁股份有限公司 文章標記資料的產生裝置及其產生方法
US11977841B2 (en) 2021-12-22 2024-05-07 Bank Of America Corporation Classification of documents

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9727322D0 (en) 1997-12-29 1998-02-25 Xerox Corp Multilingual information retrieval
JP3768157B2 (ja) * 2001-12-28 2006-04-19 株式会社東芝 他言語オントロジー辞書利用装置及び方法並びにプログラム
JP2005316699A (ja) * 2004-04-28 2005-11-10 Hitachi Ltd コンテンツ公開システム、コンテンツ公開方法、及びコンテンツ公開プログラム
US20060122834A1 (en) 2004-12-03 2006-06-08 Bennett Ian M Emotion detection device & method for use in distributed systems
JP4404211B2 (ja) * 2005-03-14 2010-01-27 富士ゼロックス株式会社 マルチリンガル翻訳メモリ、翻訳方法および翻訳プログラム
US7587308B2 (en) * 2005-11-21 2009-09-08 Hewlett-Packard Development Company, L.P. Word recognition using ontologies
US7676489B2 (en) 2005-12-06 2010-03-09 Sap Ag Providing natural-language interface to repository
JP2007219620A (ja) * 2006-02-14 2007-08-30 Fuji Xerox Co Ltd テキスト検索装置、テキスト検索プログラム、及びテキスト検索方法
US7797303B2 (en) * 2006-02-15 2010-09-14 Xerox Corporation Natural language processing for developing queries
US8204751B1 (en) * 2006-03-03 2012-06-19 At&T Intellectual Property Ii, L.P. Relevance recognition for a human machine dialog system contextual question answering based on a normalization of the length of the user input
JP4891737B2 (ja) * 2006-11-17 2012-03-07 日本放送協会 知識メタデータ生成装置、ダイジェスト生成装置、知識メタデータ生成プログラム、及びダイジェスト生成プログラム
US20110087670A1 (en) 2008-08-05 2011-04-14 Gregory Jorstad Systems and methods for concept mapping
US8396287B2 (en) * 2009-05-15 2013-03-12 Google Inc. Landmarks from digital photo collections
US8423350B1 (en) 2009-05-21 2013-04-16 Google Inc. Segmenting text for searching
US8747115B2 (en) 2012-03-28 2014-06-10 International Business Machines Corporation Building an ontology by transforming complex triples
US20140278362A1 (en) 2013-03-15 2014-09-18 International Business Machines Corporation Entity Recognition in Natural Language Processing Systems
US9984067B2 (en) 2014-04-18 2018-05-29 Thomas A. Visel Automated comprehension of natural language via constraint-based processing
US10540365B2 (en) 2014-05-30 2020-01-21 Apple Inc. Federated search
CN104133848B (zh) * 2014-07-01 2017-09-19 中央民族大学 藏语实体知识信息抽取方法
US9842102B2 (en) 2014-11-10 2017-12-12 Oracle International Corporation Automatic ontology generation for natural-language processing applications
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US10095689B2 (en) 2014-12-29 2018-10-09 International Business Machines Corporation Automated ontology building
US10262061B2 (en) 2015-05-19 2019-04-16 Oracle International Corporation Hierarchical data classification using frequency analysis

Also Published As

Publication number Publication date
EP3218821A1 (en) 2017-09-20
JP6320637B2 (ja) 2018-05-09
WO2016077016A1 (en) 2016-05-19
US20160132482A1 (en) 2016-05-12
JP6279153B2 (ja) 2018-02-14
WO2016077015A1 (en) 2016-05-19
JP6714024B2 (ja) 2020-06-24
CN107077466B (zh) 2019-06-21
US9842102B2 (en) 2017-12-12
US20160132484A1 (en) 2016-05-12
US9678946B2 (en) 2017-06-13
CN107077466A (zh) 2017-08-18
EP3218820A1 (en) 2017-09-20
JP2017537391A (ja) 2017-12-14
US20160132487A1 (en) 2016-05-12
CN107111608A (zh) 2017-08-29
JP2017539006A (ja) 2017-12-28
US9582493B2 (en) 2017-02-28

Similar Documents

Publication Publication Date Title
JP6714024B2 (ja) 言語入力データからnグラムおよび概念関係の自動生成
CN112437917B (zh) 使用自主代理和词库的数据库的自然语言接口
US11334583B2 (en) Techniques for semantic searching
JP7187545B2 (ja) 名前付きエンティティの構文解析および識別に基づくクロスドキュメントの修辞的つながりの判断
US20200117658A1 (en) Techniques for semantic searching
JP6439043B2 (ja) 文脈検索文字列同義語の自動生成
JP2020537223A (ja) 質問と要求とを自律エージェントが区別できるようにすること
US20210117613A1 (en) Augmenting textual explanations with complete discourse trees
CN112417090B (zh) 利用未提交的用户输入数据来提高任务性能
US20210191938A1 (en) Summarized logical forms based on abstract meaning representation and discourse trees
US9665560B2 (en) Information retrieval system based on a unified language model
US11847411B2 (en) Obtaining supported decision trees from text for medical health applications
US20160342589A1 (en) Hierarchical data classification using frequency analysis
US20240169161A1 (en) Automating large-scale data collection
WO2023034397A1 (en) Generating similarity scores between different document schemas

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180207

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191126

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200306

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200512

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200604

R150 Certificate of patent or registration of utility model

Ref document number: 6714024

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250