(57)【要約】      （修正有）【課題】メッセージ中のタスクを識別する方法および装置を提供する。【解決手段】受信されたメッセージに対して自然言語処理を実行して、注釈付きメッセージを生成する。注釈付きメッセージは文法に従って分析される。メッセージの一部を、注釈付きメッセージの分析に基づいて、ユーザタスク登録として分類する。【選択図】図４
2019106194.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングシステムにより、ユーザにアドレス指定されるメッセージのコンテンツを分析するステップであって、前記メッセージは、前記ユーザによって構成されたものではない、ステップと、
前記コンピューティングシステムにより、前記メッセージの前記コンテンツの一部を前記メッセージの前記分析に基づいて、1又は複数の個人によって前記ユーザに割り当てられたタスクとして分類するステップと、
前記コンピューティングシステムにより、前記メッセージの前記コンテンツの前記分析に基づいて、複数の互いに異なるソフトウェアアプリケーションに関連する複数の互いに異なるユーザインタフェースから、前記タスクを遂行するための前記ユーザによって操作可能なユーザインタフェースを選択するステップと、
前記コンピューティングシステムにより、前記メッセージの前記コンテンツの前記分析に基づく情報を使用して、前記ユーザによって編集可能である前記選択されたユーザインタフェースの1つまたは複数のデータ入力フィールドを自動的にポピュレートするステップと
を含む、コンピュータ実装方法。
【請求項２】
前記分析するステップが、前記コンピューティングシステムにより、前記メッセージの前記コンテンツを文法の複数のルール経路に従って分析し、複数のユーザタスク候補および関連したスコアを生成するステップを含み、
前記分類するステップが、前記コンピューティングシステムにより、前記関連したスコアに基づいて、前記複数のユーザタスク候補から前記タスクを選択するステップを含む、請求項1に記載のコンピュータ実装方法。
【請求項３】
前記分析するステップが、前記コンピューティングシステムにより、前記メッセージ中の前記タスクのタスク相互作用エンティティへの参照を識別するステップを含む、請求項1に記載のコンピュータ実装方法。
【請求項４】
前記分析するステップが、前記コンピューティングシステムにより、前記タスク相互作用エンティティを、人、場所、または、組織として分類するステップをさらに含む、請求項3に記載のコンピュータ実装方法。
【請求項５】
前記分析するステップが、前記コンピューティングシステムにより、前記タスクのタスク活動を識別するステップをさらに含む、請求項4に記載のコンピュータ実装方法。
【請求項６】
前記ユーザインタフェースを選択するステップが、前記タスク相互作用エンティティおよびタスク活動に基づいて、前記ユーザインタフェースを選択するステップを含む、請求項5に記載のコンピュータ実装方法。
【請求項７】
前記コンピューティングシステムにより、前記ユーザインタフェースを自動的に立ち上げるステップ、または、オープンするステップをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項８】
前記コンピューティングシステムにより、前記メッセージの前記分析に基づいて、複数の互いに異なるURLから、前記タスクを遂行するための前記ユーザによって操作可能なネットワークベースのリソースに関連するURLを選択するステップをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項９】
コンピューティングシステムにより、ユーザの通信のコンテンツを分析するステップと、
前記コンピューティングシステムにより、前記通信の前記コンテンツの一部を、前記通信の前記コンテンツの前記分析に基づいて、前記ユーザに割り当てられたタスクとして分類するステップと、
前記コンピューティングシステムにより、前記通信の前記コンテンツの前記分析に基づいて、複数の互いに異なるソフトウェアアプリケーションに関連する互いに異なるユーザインタフェースのインデックスから、前記タスクを遂行するための前記ユーザによって操作可能な少なくとも1つのユーザインタフェースを選択するステップと、
前記コンピューティングシステムにより、前記タスクを遂行するための前記ユーザによって操作可能な前記少なくとも1つのユーザインタフェースに対応する少なくとも1つの視覚的プロンプトを提供するステップと
を含む、コンピュータ実装方法。
【請求項１０】
前記通信の前記コンテンツの前記分析に基づく情報を使用して、前記少なくとも1つのユーザインタフェースに関連する1つまたは複数のデータ入力フィールドを事前にポピュレートするステップをさらに含む、請求項9に記載のコンピュータ実装方法。
【請求項１１】
前記1つまたは複数のデータ入力フィールドが、前記ユーザによって編集可能である、請求項10に記載のコンピュータ実装方法。
【請求項１２】
前記通信が、前記ユーザとは異なる1又は複数の個人によって構成されたものである、請求項9に記載のコンピュータ実装方法。
【請求項１３】
前記分析するステップが、前記コンピューティングシステムにより、前記通信の前記コンテンツを文法の複数のルール経路に従って分析し、複数のユーザタスク候補および関連したスコアを生成するステップを含み、
前記分類するステップが、前記コンピューティングシステムにより、前記関連したスコアに基づいて、前記複数のユーザタスク候補から前記タスクを選択するステップを含む、請求項9に記載のコンピュータ実装方法。
【請求項１４】
前記分析するステップが、前記コンピューティングシステムにより、前記通信の前記タスクのタスク相互作用エンティティへの参照を識別するステップを含む、請求項9に記載のコンピュータ実装方法。
【請求項１５】
前記分析するステップが、前記コンピューティングシステムにより、前記タスク相互作用エンティティを、人、場所、または、組織として分類するステップをさらに含む、請求項14に記載のコンピュータ実装方法。
【請求項１６】
前記分析するステップが、前記コンピューティングシステムにより、前記タスクのタスク活動を識別するステップをさらに含む、請求項15に記載のコンピュータ実装方法。
【請求項１７】
前記少なくとも1つのユーザインタフェースを前記選択するステップが、前記タスク相互作用エンティティおよびタスク活動に基づいて、前記少なくとも1つのユーザインタフェースを選択するステップを含む、請求項16に記載のコンピュータ実装方法。
【請求項１８】
コンピューティングシステムにより、ユーザにアドレス送信される通信のコンテンツを分析するステップであって、前記通信は、前記ユーザによって構成されたものではない、ステップと、
前記コンピューティングシステムにより、前記分析に基づいて、前記ユーザに割り当てられた複数のユーザタスク候補を識別するステップと、
前記コンピューティングシステムにより、前記分析に基づいて、複数の互いに異なるソフトウェアアプリケーションに関連する互いに異なるユーザインタフェースのインデックスから、前記複数のユーザタスク候補を遂行するための前記ユーザによって操作可能な1つまたは複数のユーザインタフェースのそれぞれを選択するステップと、
前記コンピューティングシステムにより、前記ユーザによって操作可能な前記1つまたは複数のユーザインタフェースに対応する複数のプロンプトを出力として提供するステップと
を含む、コンピュータ実装方法。
【請求項１９】
前記複数のプロンプトが、1つまたは複数の視覚的プロンプトを含む、請求項18に記載のコンピュータ実装方法。
【請求項２０】
前記複数のプロンプトが、1つまたは複数の音響プロンプトを含む、請求項18に記載のコンピュータ実装方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は一般に、メッセージ中のタスクを識別し、様々な応答活動を実行するための方法、装置、および、コンピュータ可読媒体(一時的および非一時的)を対象とする。
【背景技術】
【０００２】
ユーザのもとには、ユーザに様々なタスク(たとえば、「火曜日の午前9時にSallyに電話する」、「報告書を作成する」、「土曜日8時にSalを予約する」等)の実行を求める電子メールテキスト、音声メール、および/または、他のメッセージが殺到することがあり得る。これらのタスクは、ユーザが各自に割り当てられたタスクを遂行する、または、他の方法で処理するのを確実にするために、ユーザがメッセージを注意深く読むように、あるいはいくつかのメッセージを再読するように求められ得るように、様々な方法でメッセージ中に組み込むことができる。ユーザがTo Doリストを作成しない場合、ユーザが様々な形式(たとえば、電子メール、テキスト、音声メール等)の無数のメッセージの中から、各自に割り当てられたタスクを後から見つけ出すことは困難な場合がある。
【発明の概要】
【課題を解決するための手段】
【０００３】
本開示は一般に、メッセージ中のタスクを識別し、様々な応答活動を実行するための方法、装置、および、コンピュータ可読媒体(一時的および非一時的)を対象とする。いくつかの実装形態において、メッセージは自然言語処理を経て、注釈付き品詞、構文解析された統語関係、注釈付き実体参照、同一の実体に対する参照群など、様々な情報を含む注釈付きメッセージを生成し得る。この注釈付きメッセージは、たとえば、1つまたは複数のルール経路を有する文法に従って、メッセージの一部がタスクとして分類されるのに適格であるか、および、適格である場合には、どのタイプのタスクとして分類されるべきか決定するために分析され得る。様々な実装形態において、タスクのタイプ分類、自然言語処理からの注釈付きメッセージ出力、および、他のデータ源に基づいて、適切なユーザインタフェースが識別され、場合によっては、立ち上げられ、または、オープンされ得る。
【０００４】
メッセージの一部(または全部)をタスクとして分類すること、ならびにタスクのタイプを決定することにより、様々な技術的な利点が得られる。たとえば、メッセージの一部を自動的にタスクとして分類することにより、ユーザが、急いで読んだメッセージ中で、ユーザが読み損なったメッセージ中で、および/または、ユーザが(たとえば、注意力散漫等により)完全には理解できなかったメッセージ中で、見落とした可能性があるタスクを実行し損なうのを防止することが可能となる。さらに、タスクを自動的に決定することにより、ユーザが、後から潜在的なタスクを見つけ出すためにメッセージを再読しなくてはならない手間を省くことができる。別の例として、分類されたタスクの遂行に関連するユーザインタフェースを自動的に識別することにより、ユーザは、ユーザインタフェースを自身で開始する手間が省け、かつ/または、ユーザがタスクを完了する公算が増える可能性がある。タスクを識別するために自然言語処理および文法を利用することにより、電子通信の機密性を損なうことなくタスク識別が容易になるなど、他の技術的利点もまた得られる。別の潜在的な技術的利点としては、タスクが自動的に識別されるために、必要となるフォローアップ電子メール(たとえば、タスクを完了させるためのリマインダ)が少なくて済むので、全体的な電子メールのトラフィックが削減可能である。
【０００５】
いくつかの実装形態において、コンピューティングシステムにより、受信されたメッセージに対して自然言語処理を実行して注釈付きメッセージを生成するステップと、コンピューティングシステムにより、文法に従って注釈付きメッセージを分析するステップと、コンピューティングシステムにより、注釈付きメッセージの分析に基づいてメッセージの一部をユーザタスク登録として分類するステップとを含む、コンピュータ実装方法が提供され得る。
【０００６】
本明細書で開示された技術の本方法、および他の実装形態は、以下の諸機能のうちの1つまたは複数の機能をそれぞれ随意に含み得る。
【０００７】
様々な実装形態において、分析は、コンピューティングシステムにより、文法の複数のルール経路に従って注釈付きメッセージを分析し、複数のユーザタスク登録候補、および、関連するスコアを生成することを含む。様々な実装形態において、分類は、コンピューティングシステムにより、関連するスコアに基づいて複数のユーザタスク登録候補からユーザタスク登録を選択することを含む。
【０００８】
本方法は、コンピューティングシステムにより、注釈付きメッセージの分析に基づいてユーザタスク登録の遂行に関連するユーザインタフェースを識別するステップをさらに含み得る。様々な実装形態において、自然言語処理の実行は、コンピューティングシステムにより、メッセージ中のユーザタスク登録のタスク相互作用エンティティへの参照を識別するステップを含む。様々な実装形態において、自然言語処理の実行は、コンピューティングシステムにより、第1のタスク相互作用エンティティを人、場所、または組織として分類するステップをさらに含む。様々な実装形態において、自然言語処理の実行は、コンピューティングシステムにより、ユーザタスク登録のタスク活動を識別するステップをさらに含む。
【０００９】
様々な実装形態において、ユーザインタフェースの識別するステップは、タスク相互作用エンティティおよびタスク活動に基づいてユーザインタフェースを識別するステップを含む。様々な実装形態において、本方法は、コンピューティングシステムにより、注釈付きメッセージの分析に基づく情報を用いて、ユーザインタフェースに関連した1つまたは複数のデータ点を自動的にポピュレートするステップをさらに含む。様々な実装形態において、本方法は、コンピューティングシステムにより、ユーザインタフェースを自動的に立ち上げるステップ、または、オープンするステップをさらに含み得る。様々な実装形態において、文法には文脈自由文法が含まれる。
【００１０】
他の実装形態は、前述の方法のうちの1つまたは複数の方法などの方法を実行するプロセッサによって実行可能な命令を記憶する、非一時的なコンピュータ可読記憶媒体を含むことができる。さらに別の実装形態も、メモリおよびメモリに記憶された命令を実行するように操作可能な1つまたは複数のプロセッサを含み、前述の方法のうちの1つまたは複数の方法などの方法を実行するシステムを含むことができる。
【００１１】
本明細書において極めて詳細に記載した前述の概念および追加的概念のすべての組み合わせは、本明細書に開示した主題の一部であると考えられることを理解すべきである。たとえば、本開示の末尾に記載の特許請求された主題のすべての組み合わせは、本明細書で開示された主題の一部であると考えられる。
【図面の簡単な説明】
【００１２】
【図１】メッセージ中でタスクが識別され得る環境の例を示す図である。
【図２】自然言語処理エンジンの構成要素の例を示す図である。
【図３】メッセージが、本明細書で開示された技術を使用し、どのように分析されてタスクを識別し、かつ/または、タスクを分類して、応答活動を取るかの例を概略的に示す図である。
【図４】メッセージ中のタスクを識別する方法の例を表すフローチャートを示す図である。
【図５】コンピュータシステムのアーキテクチャの例を概略的に示す図である。
【発明を実施するための形態】
【００１３】
図1は、タスクがメッセージ中で識別され得る環境の例を示す。例示の環境は、クライアント装置106およびユーザタスク登録システム102を含む。ユーザタスク登録システム102は、たとえばネットワークを介して通信する1つまたは複数のコンピュータ(図示せず)内で実装されてもよい。ユーザタスク登録システム102は、本明細書に記載のシステム、構成要素、および、技術が実装され得るシステム、および/または、本明細書に記載のシステム、構成要素、および技術がインタフェース接続し得るシステムの例であってよい。本明細書で開示された技術は大部分が「ユーザタスク登録システム」上に実装されるように説明されるが、実際は、電子メールシステム、テキストメッセージングシステム、ソーシャルネットワーキングシステム、音声メールシステム、生産性システム、企業ソフトウェア、検索エンジンなど、他の様々な目的に奉仕するシステム上で実行され得る。
【００１４】
ユーザは、クライアント装置106を介して、ユーザタスク登録システム102と対話することができる。他のコンピュータ装置は、それだけには限らないが、追加のクライアント装置、および/または、ユーザタスク登録システム102のプロバイダと連携したウェブサイトにサービスを実装する1つまたは複数のサーバを含む、ユーザタスク登録システム102と通信を行うことができる。しかし、簡潔のために、例はクライアント装置106との関連で説明する。
【００１５】
クライアント装置106は、ローカルエリアネットワーク(LAN)などのネットワーク、または、インターネットなどの広域ネットワーク(WAN)(全体として110で示す1つまたは複数のこうしたネットワーク)を介して、ユーザタスク登録システム102と通信を行うコンピュータとすることができる。クライアント装置106は、たとえば、デスクトップコンピューティング装置、ラップトップコンピューティング装置、タブレットコンピューティング装置、携帯電話コンピューティング装置、ユーザの車両のコンピューティング装置(たとえば、車載通信システム、車載娯楽システム、車載ナビゲーションシステム)、または、コンピューティング装置を含むユーザのウェアラブル機器(たとえば、コンピューティング装置を有するユーザの時計、コンピューティング装置を有するユーザのメガネ、ウェアラブル音楽プレーヤ)とすることができる。追加の、および/または、代替のクライアント装置を設けてもよい。クライアント装置106は、ユーザが、メッセージを受信しかつ消化し、タスクリストを作成し、タスクの遂行に関する様々な行動を実行することができるようにするクライアントアプリケーション107など、1つまたは複数のアプリケーションを実行することができる。本明細書で使用される場合、「メッセージ」は、電子メール、テキストメッセージ(たとえば、SMS、MMS)、インスタントメッセンジャメッセージ、音声メール、または、ユーザ宛てにアドレス指定され、かつ自然言語処理を受けることができる他の任意の入力通信を指すことができる。
【００１６】
いくつかの実装形態において、クライアント装置106およびユーザタスク登録システム102はそれぞれ、データおよびソフトウェアアプリケーションを記憶するメモリ、データにアクセスしアプリケーションを実行するプロセッサ、ならびにネットワーク110を介した通信を容易にする構成要素を含む。クライアント装置106および/またはユーザタスク登録システム102によって実行される操作は、多数のコンピュータシステムにわたって分散され得る。ユーザタスク登録システム102は、たとえば、ネットワークを介して相互に結合された1つまたは複数の場所にある、1つまたは複数のコンピュータ上を走るコンピュータプログラムとして実装し得る。
【００１７】
様々な実装形態において、ユーザタスク登録システム102は、エンティティエンジン120、ユーザインタフェースエンジン122、自然言語処理(NLP)エンジン124、文法エンジン126、および/または、タスク分類エンジン128を含むことができる。いくつかの実装形態において、エンジン120、122、124、126、および/または、128のうちの1つ、または、複数のエンジンは、結合され、かつ/または省略されてよい。いくつかの実装形態において、エンジン120、122、124、126、および/または、128のうちの1つまたは複数のエンジンは、ユーザタスク登録システム102からは分離した構成要素に実装されてもよい。いくつかの実装形態において、エンジン120、122、124、126、および/もしくは、128のうちの1つまたは複数のエンジン、またはそれらのうちの任意の操作可能部分は、クライアント装置106によって実行される構成要素に実装されてもよい。
【００１８】
エンティティエンジン120はエンティティデータベース125を保守し得る。「エンティティ」は、それだけには限らないが、人、場所、組織、活動、物体などを含むことができる。様々な実装形態において、エンティティデータベース125は、特定のユーザおよび/またはユーザ全体に関するエンティティデータを含むことができる。たとえば、いくつかの実装形態において、エンティティデータベース125は、ユーザの連絡先リストを含むことができ、これはユーザのスマートフォン、および/または、電子メールの連絡先リストとして保守され得ることが多い。いくつかのこうしたケースにおいて、エンティティデータベース125は、クライアント装置106に追加的または代替的に実装され得る。いくつかの実装形態において、エンティティデータベース125は、すべてのユーザに関しても関しなくてもよいエンティティの全体的ネットワークを含むことができる。様々な実装形態において、全体的なエンティティデータは、検索エンジン(たとえば、およびそれに関連したウェブクローラ)、ユーザの共同連絡先リスト、ソーシャルネットワーキングシステムなどの様々なデータ源から経時的にポピュレートされてよい。様々な実装形態において、エンティティデータは、グラフ、樹形図等、様々な形式でエンティティデータベース125に記憶され得る。
【００１９】
ユーザインタフェースエンジン122は、ユーザインタフェースの索引127を保守することができる。本明細書で使用される場合、「ユーザインタフェース」は、ユーザが対話可能な任意の視覚的、および/もしくは、音声的インタフェース、または、プロンプトを指すことができる。いくつかのユーザインタフェースは、C、C#、C++、Pascal、Visual Basic、Perlなどの様々なプログラミング言語、および/または、スクリプティング言語を使用してプログラム可能な、実行可能なソフトウェアアプリケーションの統合された部分とすることができる。他のユーザインタフェースは、ウェブページ(たとえば、HTML、XML)、または、対話型音声アプリケーション(たとえば、VXML)などのマークアップ言語文書の形式としてもよい。
【００２０】
本明細書において、「データベース」および「索引」という用語は、任意のデータの集合を指すように広く使用される。データベースおよび/または索引のデータは、何らかの特定の方法で構成される必要はなく、1つまたは複数の地理的位置にある記憶装置に記憶され得る。したがって、たとえば、エンティティデータベース125および/または索引127は多数のデータの集合を含むことができ、それぞれは別々に編成され、アクセスされ得る。
【００２１】
本明細書に記載したように、ユーザタスク登録(あるいは簡単に「タスク」と呼ぶ)は、1つまたは複数のタスク活動の指示、および、1つまたは複数のタスク相互作用エンティティの指示を含むことができる。タスク活動は、ユーザが完了することに、および/または、1人または複数の他のユーザによって完了されたことに関心がある活動とすることができる。たとえば、タスク活動は「購入」とすることができ、ユーザは何かを購入すること、および/または、別の人にユーザのために何かを購入してもらうことに興味を持つことができる。タスク相互作用エンティティは、タスク活動に関連付けられたエンティティである。たとえば、あるタスクは「購入」というタスク活動、および、「バナナ」というタスク相互作用エンティティを有することができ、このタスクの目的はユーザがバナナを購入することであるとしてよい。
【００２２】
いくつかの実装形態において、ユーザタスク登録中のタスク活動、および/または、タスク相互作用エンティティの指示は、エンティティ識別子を含むことができる。たとえば、「購入」というタスク活動の指示は、購入活動に関連付けられたエンティティの識別子を含むことができる。エンティティ識別子は、エンティティデータベース125などの、1つまたは複数のデータベース中のエンティティと関連付けることができる。いくつかの実装形態において、ユーザタスク登録中のタスク活動、および/または、タスク相互エンティティの指示は、タスク活動および/またはタスク相互作用エンティティに関連付けられた1つまたは複数の用語を追加的または代替的に含むことができる。たとえば、「購入」というタスク活動の指示は、「購入」および/または「買い物」という用語を含むことができる。
【００２３】
ユーザタスク登録システム102は、文法に従ったメッセージの分析に少なくとも部分的に基づいて、メッセージ内のユーザタスク登録を識別し、かつ/または、分類するよう構成することができる。しかし、このような分析を容易にすることができる文法を設計することは、実用的ではないことがある。メッセージは実際上、いかなる言語のいかなる単語をいかなる配列でも含むことができる。したがって、NLPエンジン124は、メッセージに対して最初に自然言語処理を実行し、本明細書で「注釈付きメッセージ」と呼ばれるものを提供するよう構成することが可能である。注釈付きメッセージは、メッセージの様々な態様に対して、様々なタイプおよびレベルの注釈を含むことができる。これらの注釈は、メッセージの様々な態様、メッセージの用語と節との間の関係などを明らかにし、その結果、メッセージを分析してタスクを識別し、かつ/または、分類するのに適した文法を設計することが、実用可能になる可能性がある。様々な実装形態において、注釈付きメッセージは、それだけには限らないが、樹形図、グラフ、リスト(たとえば、リンクリスト)、配列などを含む1つまたは複数のデータ構造に体系化され得る。
【００２４】
NLPエンジン124によって、注釈付きメッセージの一部として提供され得る注釈は、例示のNLPエンジン124の構成要素を示す図2を参照することによって最もよく理解され得る。NLPエンジン124は、メッセージの単語にその文法的役割によって注釈を付ける、または「タグを付ける」ように構成することができる品詞タガー230を含むことができる。たとえば、品詞タガー230は、「名詞」、「動詞」、「形容詞」、「代名詞」等の品詞の役割で各単語にタグを付けることができる。
【００２５】
いくつかの実装形態において、NLP124はまた従属構文解析ツール232を含むことができる。従属構文解析ツール232は、メッセージの単語間の統語関係を決定するように構成することができる。たとえば、従属構文解析ツール232は、どの単語が文章中の他のどの単語、主語、および動詞などを修飾するかを決定することができる。従属構文解析ツール232は、次いで、このような従属関係に適切な注釈を作成することができる。
【００２６】
いくつかの実装形態において、NLP124は、メンションチャンカ234を含むことができる。メンションチャンカ234は、メッセージ中のタスク相互作用エンティティを含むエンティティに対して、参照または「言及」を識別し、かつ/または、注釈付けするように構成することができる。たとえば、メンションチャンカ234は、どの人、場所、もの、考え、または他のエンティティに、各名詞または人称代名詞を割り当てるかを決定し、それに基づいて注釈付けまたは「タグ付け」を行うことができる。別の例として、メンションチャンカ234は、特定の時刻または日付に対して、時刻および/または日付への参照を関連させるように構成することができる。たとえば、あるメッセージが、「あなたは今晩帰宅途中に牛乳をいくらか買うことができるか」という文を含んでいると仮定する。メンションチャンカ234は、「今晩」という単語を今日の日付、および、特定の時刻(たとえば、午後5時すぎ)と関連させることができる。いくつかの実装形態において、メンションチャンカ234は、たとえば、ユーザの予定表からユーザがいつ退社するかを決定し、その時刻と「今晩」という単語を関連させることができる。1つまたは複数の下流の構成要素は、この情報を使用して適切な予定表登録を行い、または、ユーザが登録する助けとなり、かつ/または、ユーザが適切な時刻に(たとえば、車で帰宅中に)確実に合図を受け取ることを可能とする。
【００２７】
いくつかの実装形態において、NLP124は名前付きエンティティタガー236を含むことができる。名前付きエンティティタガー236は、注釈付きメッセージ中のエンティティ参照に、人、場所、組織などとして、注釈付け、または「タグ付け」するように構成され得る。いくつかの実装形態において、名前付きエンティティタガー236は、ユーザタスク登録の1つまたは複数のタスク活動を識別することができる。他の実装形態において、図2または図面の他の場所に示した1つまたは複数の他の構成要素は、ユーザタスク登録のうちの1つまたは複数のタスク活動を識別するように構成され得る。
【００２８】
いくつかの実装形態において、NLP124は同一指示リゾルバ238を含むことができる。同一指示リゾルバ238は、メッセージ中に含まれる様々な文脈上の手掛かりに基づいて、参照を同一のエンティティに分類、または「集める」ように構成され得る。たとえば、メッセージ中の「Reagan」、「大統領」および「彼」は、合わせてグループ化され得る。いくつかの実装形態において、同一指示リゾルバ238は、メッセージの本文または主題の外側にあるデータ、たとえばメタデータを使用して参照を集めることができる。たとえば、電子メールまたはテキストは、「あなた」に対する参照(たとえば、「あなたは今晩帰宅途中に牛乳を買うことができるか」)を含むだけでよい。こうしたケースでは、同一指示リゾルバ238(または異なる実装形態における別の構成要素)は、「あなた」に対する参照を電子メールまたはテキストがアドレス指定する先の人へと決定することができる。
【００２９】
いくつかの実装形態において、NLP124はまたエンティティリゾルバ240を含むことができる。エンティティリゾルバ240は、エンティティエンジン120と通信して、(たとえば、メンションチャンカ234によってタグ付けされた参照により)メッセージ内で参照されたエンティティが、エンティティデータベース125に含まれるエンティティか否かを決定するように構成され得る。
【００３０】
再度図1を参照すると、文法エンジン126は、メッセージがユーザタスク登録を含んでいるかどうか決定するために、文法に照らしてNLPエンジン124の注釈付きメッセージを分析するように構成され得る。いくつかの実装形態において、文法エンジン126は、文法の複数のルール経路に従って注釈付きメッセージを分析することができる。各ルール経路は、ユーザタスク登録の1つまたは複数の潜在的タイプと関連付けられ得る。タスク分類エンジン128は、タスクのタイプを決定するために、文法エンジン126の出力、および、特に文法の複数のルール経路の出力を分析するように構成され得る。ユーザインタフェースエンジン122は、たとえば図1の様々な他の構成要素からの様々なデータに基づいて、タスクと関連付けられたユーザインタフェースを識別するように構成され得る。
【００３１】
図3に、メッセージ350中のタスクを識別するためのプロセスフローの一例を示す。メッセージ350は、たとえば電子メール、テキストメッセージ等のコンピュータ可読文字、および/または、記号を含むことができる。さらに、または別法として、メッセージ350は、音声メールまたは他の音声メッセージの音声認識テキスト(たとえば、転写)を含むことができる。メッセージ350は、注釈付きメッセージを生成するために、最初にNLPエンジン124によって処理され得る。図3に示したように、NLP124は、様々な分析を実行するために、たとえばエンティティリゾルバ240を経由してエンティティエンジン120からデータを入手することができる。NLP124による注釈付きメッセージ出力は、文法エンジン126の複数のルール経路352a〜352n(総称して352で参照される)への入力として提供され得る。各ルール経路352は、注釈付きメッセージが比較され、判断される1つまたは複数のルールを規定することができる。いくつかの実装形態において、注釈付きメッセージによって満足されるルール経路352のルールまたはパラメータが多いほど、その注釈付きメッセージがルール経路352から受け取るスコアは高くなる。
【００３２】
たとえば、ルール経路352aが、「打ち合わせ」、場所(たとえば、住所)、日付、および時刻のタスク活動に対する注釈付きメッセージをテストすると仮定する。ルール経路352bも、「打ち合わせ」、日付、および時刻のタスク活動に対する注釈付きメッセージをテストするが、場所の代わりに電話番号をテストすると仮定する。メッセージ350が、「あなたは6月2日午後3時にパーティの計画についてJudy(555-1234)と打ち合わせを行うことを確認しなさい」というタスクを含む場合、第1のルール経路352aには、3点をつけ(なぜならば求められる4項目のうち3項目が一致したためである)、第2のルール経路352bには4点をつけることができる。
【００３３】
タスク分類エンジン128は、複数の文法ルール経路352a〜352nからスコアを受け取り、最も満足のいくスコア(たとえば、最高点)を選択するように構成され得る。たとえば、前記の例において、タスク分類エンジン128は、ルール経路352bに関連付けられたタスクのタイプを選択するであろう。いくつかの実装形態において、いずれのルール経路352によって生成された得点も、特定の閾値を満足させない場合、タスク分類エンジン128は、メッセージ350中にはユーザタスク登録は存在しないと決定することができる。
【００３４】
UIエンジン122は、様々なデータに基づいてユーザタスク登録の遂行に関連したユーザインタフェースを識別するように構成され得る。たとえば、UIエンジン122は、たとえばエンティティタガー236によってタグを付けられたタスク相互作用エンティティを特定のタスクと関連付けることができるように、エンティティエンジン120と通信することができる。いくつかの実装形態において、ユーザインタフェースとエンティティとの間の関係は、ユーザインタフェース中のエンティティの1つまたは複数の属性の存在に基づき得る。たとえば、ユーザインタフェースとエンティティとの間の関係は、ユーザインタフェース中のエンティティの1つまたは複数の別名の重要性に基づき得る。たとえば、重要なフィールド中でのエンティティの別名の出現、および/または、ユーザインタフェース中での非常な頻度での出現は、ユーザインタフェースに対するエンティティの関係を示し得る。また、たとえば、ユーザインタフェースとエンティティとの間の関係は、生年月日、出生地、身長、体重、人口、地理的位置、エンティティタイプ(たとえば、人、俳優、場所、企業、大学)などのエンティティの追加的な、および/または、代替的なエンティティの属性の存在に基づき得る。
【００３５】
「あなたは6月2日午後3時にパーティの計画についてJudy(555-1234)と打ち合わせを行うことを確認しなさい」というタスクに関する前述の例を取り上げる。UIエンジン122は、予定表ユーザインタフェースを識別し、かつ場合によってはオープンまたは立ち上げることができる。いくつかの実装形態において、UIエンジン122は、ユーザインタフェースに関する1つまたは複数のデータ点をポピュレートすることができる。したがって、同一の例において、UIエンジン122は、タスク中に記載され既に設定された日付と時刻を使用して予定表登録を立ち上げることができる。
【００３６】
UIエンジン122は、他のタイプのタスクのための他のタイプのユーザインタフェースを識別し、オープンし、かつ/または、開始することができる。たとえば、メッセージ350が、「火曜日にSalのビストロに夕食の予約をする」というタスクを含むと仮定する。前述のように、文法エンジン126は複数のルール経路352a〜352nを使用して、NLPエンジン124によって出力された注釈付きメッセージを分析することができる。レストランの予約を行うことに関連付けられたルール経路352は、最も高いスコアを出す可能性があり、そのスコアがタスク分類エンジン128によって選択されることとなる可能性がある。さらに、NLPエンジン124は、たとえば、クエリをエンティティエンジン120に送信するエンティティタガー236を介して、Salのビストロをエンティティとして識別し、したがって注釈付きメッセージ中にそれにタグを付けることができる。いくつかの実装形態において、住所および/または電話番号等、メッセージ350中で明記されないSalのビストロについての他の情報もまた、一度Salのビストロがエンティティとしてタグ付けされると様々な情報源から入手され得る。
【００３７】
前述の情報を使用して、UIエンジン122は、ユーザをレストランの予約を行う際に支援する適切なユーザインタフェースを識別することができる。予約を行うためにユーザが使用可能な、様々なユーザインタフェース354a〜354mを図3に示す。第1のインタフェース354aは、オンラインのレストラン予約アプリケーションへのインタフェースとすることができる。第2のインタフェース354bは、ウェブページ、たとえば、予約を行うために対話型インタフェースを含むSalのビストロによって提供されたウェブページへのURLとすることができる。別のユーザインタフェース354mは、スマートフォンの電話インタフェースとすることができる。これは場合によっては、既に登録されたSalのビストロの電話番号で開始することができ、そのため、ユーザがSalのビストロへの通話に必要なことは「通話」ボタンを押下することだけである。もちろん、他のタイプのインタフェースも可能である。様々な実装形態において、1つまたは複数のデータ点(たとえば、人または組織、タスク活動、時刻、日付、場所等の相互作用エンティティ)は、注釈付きメッセージから抽出可能であり、どのユーザインタフェースが選択されても提供され得る。そのため、ユーザはこの情報を手動で提供する必要はない。
【００３８】
ここで図4を参照すると、メッセージ中のタスクを識別する例示の方法400が示されている。便宜上、フローチャートの操作は、その操作を実行するシステムを参照して記載する。このシステムは、様々なコンピュータシステムの様々な構成要素を含むことができる。たとえば、いくつかの操作はクライアント装置106で実行し得る。一方、他の操作は、エンティティエンジン120、ユーザインタフェースエンジン122、NLPエンジン124、文法エンジン126、および/または、タスク分類エンジン128など、ユーザタスク登録システム102の1つまたは複数の構成要素によって実行され得る。また、操作方法400は特定の順序で示しているが、これに限られるものではない。1つまたは複数の操作が、順番変更され、省略され、または加えられ得る。
【００３９】
方法400は、メッセージ(たとえば、350)が、たとえばクライアント装置106またはユーザタスク登録システム102(たとえば、クライアント装置106が容易にアクセス可能な方法で)において受信され、かつ/または、使用されると、開始(「スタート」)することができる。ブロック402において、システムは、メッセージに対して、図2に示し、かつ前述の様々な構成要素に関係付けられた操作の実行を含む自然言語処理を実行して、注釈付きメッセージを生成することができる。
【００４０】
ブロック404において、システムは、文法に従って注釈付きメッセージを分析することができる。たとえば、ブロック404において、システムは、複数のルール経路(たとえば、図3の352a〜352n)に従って注釈付きメッセージを分析し、複数のユーザタスク登録候補および関連したスコアを生成することができる。上述のように、他に比べて各ルール経路のパラメータをより多く満足させた候補が、他よりも高いスコアを得ることができる。様々な実装形態において、文法の各ルール経路、または全体としての文法は、文脈自由文法など様々なタイプの文法でよい。
【００４１】
ブロック408において、システムは、ブロック402において提供される注釈付きメッセージの分析に基づいて、メッセージ(たとえば、文、節、選択された単語、件名など)の一部をユーザタスク登録として分類することができる。たとえば、ブロック410において、システムは、最も高い関連スコアを有するユーザタスク登録候補を選択することができる。
【００４２】
ブロック412において、システムは、選択されたユーザタスク登録に関連付けられた1つまたは複数のユーザインタフェースを選択することができる。ブロック414において、システムは、選択されたユーザインタフェースに関連した1つまたは複数のデータ点(たとえば、入力フィールド)を、自動的にポピュレートすることができる。たとえば、インタフェースが対話型ウェブページの場合、クライアントアプリケーション107は、値を有するHTTP要求を様々なHTTPサーバ変数に割り当てるために送信することができる。ブロック416において、システムは、選択されたユーザインタフェースを自動的に立ち上げ、または、オープンすることができる。いくつかの実装形態において、ブロック414および416の操作は、逆順で実行され得る。
【００４３】
図5は例示のコンピュータシステム510のブロック図である。コンピュータシステム510は通常、バスサブシステム512を介して多くの周辺装置と通信を行う少なくとも1つのプロセッサ514を備えている。これらの周辺装置は、たとえば、メモリサブシステム525およびファイル記憶サブシステム526を含む記憶サブシステム524、ユーザインタフェース出力装置520、ユーザインタフェース入力装置522、ならびに、ネットワークインタフェースサブシステム516を含むことができる。入力装置および出力装置により、コンピュータシステム510とのユーザ対話が可能となる。ネットワークインタフェースサブシステム516は、外部ネットワークへのインタフェースを提供し、他のコンピュータシステムの対応するインタフェース装置と結合する。
【００４４】
ユーザインタフェース入力装置522は、キーボード、マウスやトラックボールやタッチパッドもしくはグラフィックスタブレットなどのポインティング装置、スキャナ、ディスプレイ組込み式のタッチスクリーン、音声認識システムやマイクロフォンなどの音声入力装置、ならびに/または、他のタイプの入力装置を含むことができる。一般に、「入力装置」という用語の使用には、情報をコンピュータシステム510、または、通信ネットワークへ入力するあらゆる可能なタイプの装置、および、方法を含むことを意味する。
【００４５】
ユーザインタフェース出力装置520は、ディスプレイサブシステム、プリンタ、ファックス、または、音声出力装置などの非視覚的ディスプレイを含むことができる。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネル装置、投射装置、または、可視画像を生成する他の何らかの機械装置を含むことができる。ディスプレイサブシステムはまた、音声出力装置経由などの非視覚的ディスプレイを提供することができる。一般に、「出力装置」という用語の使用には、情報をコンピュータシステム510からユーザ、または、別のマシンもしくはコンピュータシステムへ出力するあらゆる可能なタイプの装置、および、方法を含むことを意味する。
【００４６】
記憶サブシステム524は、本明細書に記載の一部またはすべてのモジュールの機能を提供するプログラミング構成体およびデータ構成体を記憶する。たとえば、記憶サブシステム524は、方法400の選択された態様を実行し、かつ/または、エンティティエンジン120、ユーザインタフェースエンジン122、NLPエンジン124、文法エンジン126、および/または、タスク分類エンジン128のうちの1つまたは複数を実装する論理回路を備えることができる。
【００４７】
こうしたソフトウェアモジュールは一般に、プロセッサ514単独で、または、他のプロセッサと組み合わせて実行される。記憶サブシステム中で使用されるメモリ525は、プログラムの実行中に命令およびデータを記憶するための主ランダムアクセスメモリ(RAM)530、ならびに、固定的な命令が記憶される読み出し専用メモリ(ROM)532を含む多数のメモリを備えることができる。ファイル記憶サブシステム524は、プログラムファイルおよびデータファイル用の永続的な記憶装置を提供することができ、ハードディスクドライブ、関連した取り外し可能な媒体と一体のフロッピーディスクドライブ、CD-ROMドライブ、光学式ドライブ、または、取り外し可能なメディアカートリッジを含むことができる。ある種の実装態様の機能を実装するモジュールは、記憶サブシステム524中の、または、プロセッサ514によってアクセス可能な他のマシン中の、メモリサブシステム525によって記憶され得る。
【００４８】
バスサブシステム512は、コンピュータシステム510の様々な構成要素およびサブシステムを、目的どおりに互いに通信させるための仕組みを提供する。バスサブシステム512は、単一バスとして概略的に示しているが、バスサブシステムの代替実装形態では、多重バスを使用することができる。
【００４９】
コンピュータシステム510は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または、他の任意のデータ処理システムもしくはコンピューティング装置を含む様々なタイプとすることができる。コンピュータおよびネットワークの絶えず変化する性質により、図5に示したコンピュータシステム510の記載は、いくつかの実装形態を説明するための特定の例としてのみ意図している。図5に示したコンピュータシステムよりも多くの、または、少ない構成要素を有する、コンピュータシステム510の他の多くの構成も可能である。
【００５０】
本明細書に記載のシステムが、ユーザについての個人情報を収集し、または、個人情報を使用することができる状況において、ユーザは、プログラムまたは機能のどちらがユーザ情報(たとえば、ユーザのソーシャルネットワークについての情報、社会的活動または行為、職業、ユーザの好み、またはユーザの現在の地理的位置)を収集するかどうかを制御する機会、または、ユーザにとってより適切であり得るコンテンツサーバからコンテンツを受け取っているかどうか、および/または、その受け取り方法を制御する機会を与えられ得る。また、一定のデータは、記憶または使用される前に1つまたは複数の方法で処理することが可能であり、その結果、個人を識別できる情報が除去される。たとえば、個人を識別できる情報がユーザに対して特定できないように、ユーザの身元は処理され得る、または、ユーザの地理的位置は、地理的位置情報が得られる場所へ(市レベル、郵便番号レベル、州レベルなどへ)一般化され得、その結果、ユーザの特定の地理的位置は、特定され得ない。したがって、ユーザは、自分についてどのように情報は収集されるか、および/または、どのように使用されるかについて制御することができる。
【００５１】
本明細書において、いくつかの実装形態を記載しかつ説明してきたが、本明細書に記載された機能を実行し、その結果を、および/または、その1つまたは複数の利点を入手するための様々な他の手段、および/または、構造を使用することができ、こうした変形形態、および/または、変更形態のそれぞれは、本明細書に記載の実装形態の範囲内にあると考えられる。より一般には、本明細書に記載のすべてのパラメータ、寸法、材料、および、構成は、例示であると意図しており、実際のパラメータ、寸法、材料、および/または、構成は、教示内容が使用される特定の用途に基づくことになる。当業者であれば、ありふれた実験を用いるだけで、本明細書に記載の特定の実装形態の多くの同等物であることが理解、または、確認できるであろう。したがって、前述の実装形態は、ほんの一例として提示されたものであり、添付の特許請求の範囲およびそれと同等物の範囲内において、実装形態は、具体的に記載され、特許請求されたものとは別のやり方で実施できることを理解されたい。本開示の実装形態は、本明細書に記載の個々のそれぞれの機能、システム、物品、材料、キット、および/または、方法を対象とする。さらに、こうした機能、システム、物品、材料、キット、および/または、方法のうちの2つ以上のいかなる組み合わせも、こうした機能、システム、物品、材料、キット、および/または、方法が相互に矛盾していない場合には、本開示の範囲内に含まれる。
【符号の説明】
【００５２】
102  ユーザタスク登録システム
106  クライアント装置
107  クライアントアプリケーション
110  ネットワーク
120  エンティティエンジン
122  ユーザインタフェースエンジン
124  自然言語処理エンジン
125  エンティティデータベース
126  文法エンジン
127  索引
128  タスク分類エンジン
230  品詞タガー
232  従属構文解析ツール
234  メンションチャンカ
236  エンティティタガー
238  同一指示リゾルバ
240  エンティティリゾルバ
350  メッセージ
352  ルール経路
354a  APP UI
354b  URL(HTML)
354m  電話番号(VXML)
510  コンピュータシステム
512  バスサブシステム
514  プロセッサ
516  ネットワークインタフェースサブシステム
520  ユーザインタフェース出力装置
522  ユーザインタフェース入力装置
524  記憶サブシステム
525  メモリサブシステム
526  ファイル記憶サブシステム
530  主ランダムアクセスメモリ
532  読み出し専用メモリ
【図１】
2019106194.tif 000003
【図２】
2019106194.tif 000004
【図３】
2019106194.tif 000005
【図４】
2019106194.tif 000006
【図５】
2019106194.tif 000007
【外国語明細書】
2019106194000001.pdf