JP7441650B2 - エンティティベースの通信を有する、インターネットクラウドによってホストされた自然言語インタラクティブメッセージングシステム - Google Patents

エンティティベースの通信を有する、インターネットクラウドによってホストされた自然言語インタラクティブメッセージングシステム Download PDF

Info

Publication number
JP7441650B2
JP7441650B2 JP2019514756A JP2019514756A JP7441650B2 JP 7441650 B2 JP7441650 B2 JP 7441650B2 JP 2019514756 A JP2019514756 A JP 2019514756A JP 2019514756 A JP2019514756 A JP 2019514756A JP 7441650 B2 JP7441650 B2 JP 7441650B2
Authority
JP
Japan
Prior art keywords
intent
message
server
content
user
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.)
Active
Application number
JP2019514756A
Other languages
English (en)
Other versions
JP2019537768A5 (ja
JP2019537768A (ja
Inventor
ビスワナサン,サンガメスワラン
ミシュラ,シャイレンドラ
スリニバサン,アナンド
Original Assignee
オラクル・インターナショナル・コーポレイション
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 オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2019537768A publication Critical patent/JP2019537768A/ja
Publication of JP2019537768A5 publication Critical patent/JP2019537768A5/ja
Priority to JP2022073432A priority Critical patent/JP2022105106A/ja
Application granted granted Critical
Publication of JP7441650B2 publication Critical patent/JP7441650B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • 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/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • 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/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]

Description

関連出願の相互参照
本願は、「インターネットクラウドによってホストされた自然言語インタラクティブメッセージングシステム(INTERNET CLOUD-HOSTED NATURAL LANGUAGE INTERACTIVE MESSAGING SYSTEM)」と題される2016年9月16日に出願されたインド仮特許番号第201641/031569号に対する利益および優先権を主張し、その内容全体は、全ての目的で引用によって本明細書に援用される。
背景
メッセージングアプリケーション(たとえば、フェイスブック(登録商標)メッセンジャ、WHATSAPP(登録商標)インスタントメッセージングソフトウェア、WECHAT(登録商標)モバイルテキストおよびボイスメッセージング通信サービス、KIK(登録商標)メッセンジャ、TELEGRAM(登録商標)メッセンジャ、およびSKYPE MOBILE(登録商標)メッセンジャ)は、モバイルデバイス、ラップトップおよびタブレットなどのインターネット接続デバイスで急速に登場してきた技術である。メッセージングアプリケーションは、高い普及率および1日当たり高い使用数を獲得している。しかし、モバイルデバイス上のエンタープライズアプリケーションは、ユーザにエンタープライズアプリケーションをダウンロードして定期的に使用してもらおうと奮闘している。
概要
本開示は、ダイアログエンジンを実現するための技術について説明する。ダイアログエンジンは、ボットサーバとの会話の流れおよび状態を管理してもよい。いくつかの例では、ダイアログエンジンは、メッセージングアプリケーションを使用してボットサーバが受信したメッセージに対する応答を決定してもよい。
たとえば、方法は、ユニフォーム・リソース・アイデンティファイア(URI)を有するボットサーバが、ハイパーテキスト・トランスファ・プロトコル(HTTP)ポストコールメッセージを受信するステップを含んでもよい。いくつかの例では、上記HTTPポストコールメッセージは、メッセージングアプリケーションサーバから上記URIに向けられてもよい。いくつかの例では、上記HTTPポストコールメッセージは、ユーザからの内容を含んでもよい。上記内容は、1つ以上の単語を含んでもよい。
上記方法は、上記内容の意図を識別するステップと、上記識別された意図に関連付けられた1つ以上の必須エンティティを識別するステップとをさらに含んでもよい。上記意図は、上記ユーザが上記内容を上記サーバに送信した目的であってもよい。上記意図は、上記ユーザと上記サーバとの間の会話を定義してもよい。いくつかの例では、上記意図は、複数のエンティティを含んでもよく、上記複数のエンティティのうちの各エンティティは、優先順位を割り当てられ、上記優先順位は、上記エンティティが必須エンティティであるか否かを示す。上記内容の上記意図を識別するステップに応答して、上記方法は、上記サーバが上記情報にアクセスできるように、上記意図に関連付けられた上記セッションを取得するステップをさらに含んでもよい。
上記方法は、上記内容から欠落している上記1つ以上の必須エンティティのうちの1つの必須エンティティを識別するステップをさらに含んでもよい。いくつかの例では、上記意図に関連付けられたセッションは、上記サーバが上記1つ以上の必須エンティティの各々の入力を上記ユーザから受信すると完了してもよい。いくつかの例では、上記方法は、上記意図に関連付けられたセッションを格納するステップをさらに含んでもよい。上記セッションは、上記ユーザから受信される情報を含んでもよい。
上記方法は、上記HTTPポストコールメッセージに対する応答を生成するステップをさらに含んでもよい。いくつかの例では、上記応答は、上記欠落している必須エンティティを要求してもよい。上記方法は、上記HTTPポストコールメッセージに対する上記応答を上記メッセージングアプリケーションサーバに送信するステップをさらに含んでもよい。
用いられた用語および表現は、限定ではなく説明の用語として使用されており、このような用語および表現を使用する際に、示され記載されている特徴またはその一部のいかなる等価物も除外するつもりはない。しかし、クレームされているシステムおよび方法の範囲内でさまざまな変形が可能であるということが認識される。したがって、本システムおよび方法が例および任意の特徴によって具体的に開示されたが、本明細書に開示されている概念の変形および変更が当業者によって採用されてもよく、このような変形および変更は、添付の特許請求の範囲によって定義されるシステムおよび方法の範囲内であると考えられる、ということが理解されるべきである。
この概要は、クレームされている主題の重要なまたは必須の特徴を識別するよう意図されたものではなく、クレームされている主題の範囲を決定するために単独で使用されるよう意図されたものでもない。主題は、本特許の明細書全体、任意のまたは全ての図面、および各請求項の適切な部分を参照することによって理解されるべきである。
上記については、他の特徴および例とともに、以下の明細書、特許請求の範囲および添付の図面においてより詳細に後述する。
以下の図を参照して、例示的な例を以下で詳細に説明する。
メッセージングアプリケーションを使用してユーザと通信するためのボットサーバを実装するシステムの一例を示す。 自然言語プロセッサを使用してメッセージの意図を識別するためのシステムの一例を示す。 自然言語通信に応答するためのプロセスの一例を示すフローチャートである。 メッセージングアプリケーションを使用したモバイルデバイス上のユーザとボットサーバとの間の会話の一例を示す。 ユーザから追加情報を要求するための応答を送信するためのプロセスの一例を示すフローチャートである。 イベントデータを管理するためのシステムの一例を示す。 仮想データベースの一例を示す。 仮想データベースにアクセスするための呼び出し可能な方法を公開するためのプロセスの一例を示すフローチャートである。 サーバの一例を示す。 クラウドインフラストラクチャシステムの一例を示す。 コンピュータシステムの一例を示す。
詳細な説明
以下の記載では、本開示の例が完全に理解されるように具体的な詳細が説明の目的で示されている。しかし、これらの具体的な詳細がなくてもさまざまな例を実施できることは明らかであろう。図面および明細書は、限定的であるよう意図されるものではない。
以下の記載は、例示的な例を提供しているに過ぎず、本開示の範囲、適用範囲または構成を限定するよう意図されるものではない。むしろ、以下の例示的な例の記載は、例示的な例を実現するための実施可能な説明を当業者に提供するであろう。添付の特許請求の範囲に記載されている本開示の精神および範囲から逸脱することなく要素の機能および配置に対してさまざまな変更を行うことができるということが理解されるべきである。
例が完全に理解されるように、以下の記載では具体的な詳細が提供されている。しかし、これらの具体的な詳細がなくても例を実施できることは当業者によって理解されるであろう。たとえば、回路、システム、ネットワーク、プロセスおよび他の構成要素は、不必要なほど詳細に例を分かりにくくしないようにブロック図の形態の構成要素として示されてもよい。他の例では、例を分かりにくくすることを回避するために、周知の回路、プロセス、アルゴリズム、構造および技術は、不必要な詳細なしに示されてもよい。
また、個々の例は、フローチャート、フロー図、データフロー図、構造図またはブロック図として示されるプロセスとして記載されてもよいということに留意されたい。フローチャートは、動作をシーケンシャルなプロセスとして記載してもよいが、動作のうちの多くは、並列にまたは同時に実行されてもよい。また、動作の順序は、配列し直されてもよい。プロセスは、その動作が完了したときに終了するが、図面に含まれていないさらに他のステップを有してもよい。プロセスは、方法、関数、手順、サブルーチン、サブプログラムなどに対応し得る。プロセスが関数に対応する場合、その終了は、当該関数の呼び出し関数またはメイン関数への戻りに対応し得る。
「機械読取可能な記憶媒体」または「コンピュータ読取可能な記憶媒体」という用語は、命令および/またはデータを格納、収容または担持することができる携帯型または据え置き型記憶装置、光学式記憶装置およびさまざまな他の媒体を含むが、それらに限定されるものではない。機械読取可能な記憶媒体またはコンピュータ読取可能な記憶媒体は、データを格納することができ、かつ、無線でまたは有線接続を介して伝搬する搬送波および/または一時的な電子信号を含まない非一時的な媒体を含んでもよい。非一時的な媒体の例としては、磁気ディスクもしくはテープ、コンパクトディスク(CD)もしくはデジタル多用途ディスク(DVD)などの光学式記憶媒体、フラッシュメモリ、メモリもしくはメモリデバイスを挙げることができるが、それらに限定されるものではない。コンピュータプログラム製品は、手順、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造もしくはプログラムステートメントの任意の組み合わせを表し得るコードおよび/または機械によって実行可能な命令を含んでもよい。情報、データ、引数、パラメータまたは記憶内容を受け渡すおよび/または受信することによって、コードセグメントは、別のコードセグメントまたはハードウェア回路に結合されてもよい。情報、引数、パラメータ、データなどは、メモリ共有、メッセージ受け渡し、トークン受け渡し、ネットワーク伝送などを含む任意の好適な手段によって受け渡されてもよく、転送されてもよく、または送信されてもよい。
さらに、例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組み合わせによって実現されてもよい。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードで実現される場合、必要なタスク(たとえば、コンピュータプログラム製品)を実行するためのプログラムコードまたはコードセグメントは、機械読取可能な媒体に格納されてもよい。プロセッサが必要なタスクを実行してもよい。
図面のうちのいくつかに示されるシステムは、さまざまな構成で設けられてもよい。いくつかの例では、システムは、システムの1つ以上の構成要素がクラウドコンピューティングシステムにおいて1つ以上のネットワークにわたって分散される分散システムとして構成されてもよい。
A.概略
本明細書における例は、自然言語メッセージ(たとえば、質問またはコメント)を使用するメッセージングアプリケーションを介して自然言語メッセージに応答することができるボットサーバに関する。特に、例は、企業が、ユーザと通信する1つ以上のボットサーバを定義して、当該1つ以上のボットサーバをマルチテナントのクロスメッセージングプラットフォームの態様で大規模に実行することを可能にすることができる。
いくつかの例では、ボットサーバは、ユニフォーム・リソース・アイデンティファイア(URI)に関連付けられてもよい。URIは、文字列を使用してボットサーバを識別してもよい。URIは、1つ以上のメッセージングアプリケーションサーバのためのウェブフックとして使用されてもよい。URIの形式は、ユニフォーム・リソース・ロケータ(URL)およびユニフォーム・リソース・ネーム(URN)を含んでもよい。ボットサーバは、メッセージングアプリケーションサーバからメッセージ(たとえば、ハイパーテキスト・トランスファ・プロトコル(HTTP)ポストコールメッセージ)を受信するように設計されてもよい。HTTPポストコールメッセージは、メッセージングアプリケーションサーバからURIに向けられてもよい。いくつかの例では、メッセージは、HTTPポストコールメッセージとは異なってもよい。たとえば、ボットサーバは、ショートメッセージサーバ(SMS)からメッセージを受信してもよい。本明細書の記載は、ボットサーバがメッセージとして受信する通信を参照するが、メッセージは、HTTPポストコールメッセージ、SMSメッセージ、または2つのシステム間のその他のタイプの通信であってもよいということを当業者は認識するであろう。また、ボットサーバがメッセージを1つの構成要素から別の構成要素に送信するときはいつでも、実際のメッセージが送信されなくてもよいということを当業者は認識するであろう。その代わりに、メッセージからの情報が送信されてもよい。
いくつかの例では、ボットサーバは、ボットサーバの管理者によるインタラクションなしにユーザインタラクションを処理してもよい。たとえば、ユーザは、所望の目標(意図と称される場合もある)を達成するために1つ以上のメッセージをボットサーバに送信してもよい。メッセージは、内容(たとえば、テキスト、絵文字、音声、画像、ビデオ、またはメッセージを伝える他の方法)を含んでもよい。ボットサーバは、当該内容を標準的な形式(たとえば、適切なパラメータを有するエンタープライズサービスに対するRESTコール)に変換して、自然言語応答を生成してもよい。また、ボットサーバは、さらに他の必須パラメータをユーザに促して、追加情報を要求してもよい。また、ボットサーバは、ユーザとの通信を開始させてもよい。
図1は、メッセージングアプリケーションを使用してユーザと通信するためのボットサーバ120を実装するシステムの一例を示す。いくつかの例では、メッセージングアプリケーションは、電子デバイス(たとえば、デスクトップコンピュータ、ラップトップ、モバイルデバイス110など)にインストールされてもよい。本明細書の記載は、モバイルデバイスおよびメッセージングアプリケーションを参照するが、いかなる電子デバイスが使用されてもよく、いかなるメッセージングプラットフォームが使用されてもよい(たとえば、フェイスブック(登録商標)メッセンジャ、WHATSAPP(登録商標)インスタントメッセージングソフトウェア、WECHAT(登録商標)モバイルテキストおよびボイスメッセージング通信サービス、KIK(登録商標)メッセンジャ、TELEGRAM(登録商標)メッセンジャ、SKYPE MOBILE(登録商標)メッセンジャ、ショートメッセージサービス(SMS))ということを当業者は認識するであろう。他の例では、メッセージングアプリケーションは、モバイルデバイス110上にインストールされるブラウザ(たとえば、GOOGLE CHROME(登録商標)ブラウザ、MOZILLA(登録商標)FIREFOX(登録商標)ブラウザおよびインターネットエクスプローラーブラウザ)を介して実行されてもよい。メッセージングアプリケーションは、フェイスブック(登録商標)メッセンジャ、WHATSAPP(登録商標)インスタントメッセージングソフトウェア、WECHAT(登録商標)モバイルテキストおよびボイスメッセージング通信サービス、KIK(登録商標)メッセンジャ、TELEGRAM(登録商標)メッセンジャ、SKYPE MOBILE(登録商標)メッセンジャ、またはユーザが通信するためのプラットフォームを提供するその他のメッセージングアプリケーションであってもよい。メッセージングアプリケーションは、メッセージングアプリケーションサーバ115に関連付けられてもよい。モバイルデバイス110は、第1のネットワーク(たとえば、インターネット)によってメッセージングアプリケーションサーバ115に接続されてもよい。メッセージングアプリケーションサーバ115は、複数のモバイルデバイスにわたってメッセージングアプリケーションを介して送受信された内容を管理してもよい。当該内容は、テキスト、絵文字、音声、メディア(たとえば、画像、ビデオ、リンク)、またはメッセージを伝える他の方法を含んでもよい。フェイスブック(登録商標)メッセンジャからボットサーバ120によって受信されるメッセージの一例は、以下であってもよい。
Figure 0007441650000001
また、メッセージングアプリケーションサーバ115は、ボットサーバ120と通信してもよい。メッセージングアプリケーションサーバ115とボットサーバ120との間の通信は、第2のネットワーク(たとえば、インターネット)を介したものであってもよい。第1のネットワークおよび第2のネットワークは、同じネットワークであってもよく、または同様のもしくは全く異なったネットワークであってもよい。メッセージングアプリケーションサーバ115は、インターネットを使用して内容(たとえば、メッセージまたはメッセージからの情報)をモバイルデバイス110からボットサーバ120にルーティングしてもよい。内容(たとえば、ボットサーバ120の識別)の宛先は、名目宛先として内容に含まれてもよい。
ボットサーバ120は、コネクタ130を使用して内容を受信してもよい。コネクタ130は、メッセージングアプリケーションサーバ115とボットサーバ120との間のインターフェイスとしての役割を果たしてもよい。いくつかの例では、コネクタ130は、ボットサーバ120がさまざまなメッセージングアプリケーションサーバにわたって内容を分析できるようにメッセージングアプリケーションサーバ115からの内容を正規化してもよい。正規化は、処理するために各タイプのメッセージングアプリケーションから共通のフォーマットに内容をフォーマットすることを含んでもよい。いくつかの例では、ボットサーバ120は、メッセージングアプリケーション(フェイスブック(登録商標)メッセンジャ、WHATSAPP(登録商標)インスタントメッセージングソフトウェア、WECHAT(登録商標)モバイルテキストおよびボイスメッセージング通信サービス、KIK(登録商標)メッセンジャ、TELEGRAM(登録商標)メッセンジャ、SKYPE MOBILE(登録商標)メッセンジャ、ショートメッセージサービス(SMS)など)の各々のための1つ以上のコネクタを含んでもよい。
コネクタ130は、内容をメッセージ受信キュー140にルーティングしてもよい。メッセージ受信キュー140は、受信された順序で内容を格納してもよい。いくつかの例では、コネクタ130は、1つ以上のメッセージ受信キューに関連付けられてもよい。
メッセージ受信キュー140は、メッセージプロセッサパイプライン150が利用可能になるとメッセージプロセッサパイプライン150に内容を送信してもよい。他の例では、メッセージプロセッサパイプライン150は、メッセージ受信キューから内容を引き出してもよい。メッセージプロセッサパイプライン150は、本明細書に記載されている革新技術のうちの1つ以上を使用して内容を分析してもよい。たとえば、メッセージプロセッサパイプライン150は、セッショナイザ152、ユーザリゾルバ154、自然言語プロセッサ156、ダイアログエンジン158、またはそれらの任意の組み合わせのうちの少なくとも1つ以上を含んでもよい。一般に、セッショナイザ152は、ユーザおよびボットサーバのためのセッションを作成して管理してもよい。一般に、ユーザリゾルバ154は、複数のメッセージングアプリケーションを使用する重複ユーザのために組み合わせることが可能なセッションを決定してもよい。一般に、自然言語プロセッサ156は、メッセージの意図を判断するためにメッセージをパーズしてもよい。当該意図は、メッセージの目的を含んでもよい。たとえば、メッセージの目的は、ピザを注文すること、コンピュータを注文すること、配達に関する質問をすることなどであってもよい。一般に、ダイアログエンジンは、ボットサーバとの会話をオーケストレートしてもよい。
内容がメッセージプロセッサパイプライン150によって分析された後、分析された内容は、ボットコード160に送信されてもよい。ボットコード160は、分析された内容およびセッションに基づいて実行すべきアクションを決定するために第三者によって書き込まれてもよい。いくつかの例では、当該セッションは、メッセージの意図を含んでもよい。ボットコード160は、アウトバウンド内容をメッセージ送信キュー170に送信してもよい。メッセージ送信キュー170は、アウトバウンド内容をコネクタ130に送信してもよい。次いで、コネクタ130は、アウトバウンド内容を、ボットコード160によって示されるメッセージングアプリケーションサーバに送信してもよく、当該メッセージングアプリケーションサーバは、メッセージングアプリケーションサーバ115と同じであってもよく、または異なってもよい。次いで、メッセージングアプリケーションサーバ115は、アウトバウンド内容をモバイルデバイス110上のメッセージングアプリケーションに転送してもよい。
ボットサーバ120は、さらに、1つ以上のエンタープライズサービス(たとえば、エンタープライズサービス125)、ボットサーバ120によって受信されたメッセージを格納して場合によっては分析するためのストレージサーバ(図6に図示)、または内容をボットサーバ120に提供するための内容サーバと通信してもよい。エンタープライズサービス125は、コネクタ130、ボットコード160、またはそれらの任意の組み合わせのうちの少なくとも1つ以上と通信してもよい。エンタープライズサービス125は、メッセージングアプリケーションサーバ115と同様の態様でコネクタ130と通信してもよい。エンタープライズサービス125は、1人以上のユーザに関連付けられるように内容をコネクタ130に送信してもよい。また、エンタープライズサービス125は、ユーザに関連付けられたアクションをボットサーバ120に実行させるように内容をコネクタ130に送信してもよい。ボットコード160は、エンタープライズサービス125と通信して、エンタープライズサービス125から情報を取得してもよく、および/または、エンタープライズサービス125がボットコード160によって識別されるアクションを取ってもよい。
いくつかの例では、ボットサーバ120は、1つ以上のタイマを含んでもよい。タイマは、一定時間が経過した後にコネクタ130およびメッセージングアプリケーションサーバ115を使用してボットコード160に内容をユーザに送信させてもよい。いくつかの例では、タイマは、ユーザまたはエンタープライズサービス125と同様にボットサーバ120に内容を送信してもよい。たとえば、タイマは、ユーザからのメッセージが分析されるように、分析対象のメッセージをボットサーバ120に送信してもよい。
ボットサーバ120を説明するために、ここで一例を記載する。ユーザは、メッセージングアプリケーションを使用してメッセージをボットサーバに送信してもよい。メッセージは、挨拶を含んでもよい。ボットサーバは、ユーザとの新たな会話が開始したことを識別してもよい。ボットサーバは、ユーザの1つ以上の特徴を識別してもよい。たとえば、ボットサーバは、メッセージングアプリケーションサーバ上のユーザに関連付けられたプロフィールを使用してユーザの名前を識別してもよい。1つ以上の特徴を使用して、ボットサーバは、メッセージングアプリケーション上のユーザに応答してもよい。応答は、ユーザから受信されたメッセージに応答するユーザへのメッセージを含んでもよい。たとえば、応答は、ユーザの名前を使用した挨拶を含んでもよい。
ボットサーバに関連付けられた企業によっては、ボットサーバは、当該企業の目標を達成するように発展してもよい。たとえば、ボットサーバがピザ配達企業に関連付けられる場合、ボットサーバは、ピザが欲しいかどうか尋ねるメッセージをユーザに送信してもよい。ボットサーバとユーザとの間の会話は、そこから続いて、ボットサーバが会話を完了するかまたはユーザがボットサーバに応答することをやめるまで行ったり来たりしてもよい。
いくつかの例では、ボットサーバは、ユーザとの会話を開始させてもよい。サーバによって開始される会話は、ユーザとの以前の会話に応答したものであってもよい。たとえば、以前の会話でユーザはピザを注文してもよい。次いで、ボットサーバは、ピザが用意できたときに会話を開始させてもよい。いくつかの例では、ボットサーバは、ボットサーバに関連付けられた企業(たとえば、ピザが用意できたというメッセージをボットサーバに送信する従業員)から指示が受信されると、ピザが用意できたと判断してもよい。会話は、ピザが用意できたことを示す、ユーザに送信されるメッセージを含んでもよい。
いくつかの例では、ボットサーバは、以前のメッセージを受信したメッセージングアプリケーションとは異なるメッセージングアプリケーション上のユーザにメッセージを送信してもよい。たとえば、ボットサーバは、フェイスブック(登録商標)メッセンジャではなくショートメッセージサービス(SMS)を使用してメッセージを送信することにしてもよい。このような実現例では、ボットサーバは、複数のメッセージングアプリケーションを統合してもよい。
いくつかの例では、ボットサーバは、タイマに基づいて会話を開始させることにしてもよい。たとえば、ボットサーバは、ピザが注文された後に1週間タイマをユーザのために有することにしてもよい。1週間タイマが期限切れになることにより、ボットサーバは、別のピザを注文するためのユーザとの新たな会話を開始させてもよい。タイマは、企業によって構成され、ボットサーバによって実行されてもよい。
いくつかの例では、ボットサーバは、会話間の情報を維持してもよい。当該情報は、ユーザとボットサーバとの間で新たな会話が開始されるたびにボットサーバがいくつかの質問をしなくてもいいように使用されてもよい。たとえば、ボットサーバは、ユーザによるピザの以前の注文を格納してもよい。新たな会話において、ボットサーバは、ユーザが前回と同じ注文をしたいかどうか尋ねるメッセージをユーザに送信してもよい。
ボットサーバ120は、減速が識別されると各構成要素をスケール変更することを可能にしてもよい。たとえば、閾値を超える数のメッセージがコネクタ130に到着していることをボットサーバ120が識別する場合、さらに他の1つ以上のコネクタがコネクタ130に追加されてもよい。また、メッセージ受信キュー、メッセージプロセッサパイプライン、ボットコードのインスタンス、およびメッセージ送信キューの各々の数は、どこで減速が識別されるかによって増加させてもよい。このような実現例では、他の追加構成要素を追加する必要なしに、さらに他の構成要素を追加することができる。たとえば、ボットコードのさらに他のインスタンスを追加する必要なしに、コネクタを追加することができる。いくつかの実現例では、ボットサーバ120の1つ以上の構成要素または構成要素の一部は、仮想マシン上で実行されてもよい。仮想マシン上で実行することによって、さらに他の仮想マシンを意のままに起動することができる。
いくつかの例では、ボットサーバ120は、ユーザに関連付けられた情報をキャッシュに格納してもよい。キャッシュは、アウトバウンドメッセージがコネクタ130からメッセージングアプリケーションサーバに送信された後に情報を保存するようにデータベースに書き込んでもよい。他の例では、キャッシュは、さまざまなときに(たとえば、特定の構成要素の後に、各構成要素の後に、一定時間後に、またはいつデータベースに書き込むかを判断するためのその他のメトリックで)データに書き込んでもよい。
B.自然言語プロセッサ
上記のように、メッセージプロセッサパイプラインは、自然言語プロセッサを含んでもよい。自然言語プロセッサは、自然言語プロセッサによって処理されているメッセージの意図を判断してもよい。いくつかの例では、意図は、ユーザによって送信されるメッセージの目標、理由または目的であってもよい。たとえば、ユーザは、(1)ピザを注文する、(2)注文をキャンセルする、または(3)注文の状態を確認する意図でピザアプリケーションにメッセージを送信してもよい。
いくつかの例では、メッセージの意図は、ベクトルを使用して判断されてもよい。ベクトルは、内容(たとえば、テキスト、音声、メディアなど)の分散表現であってもよい。ベクトルは、複数の要素を含んでもよく、各要素は、モデル(たとえば、言語モデル)に従ってテキストを特徴付ける。言語モデルは、自然言語における一連の単語の分散の顕著な統計的特徴を取り込む関数またはこのような関数を学習するためのアルゴリズムであってもよい。いくつかの例では、ベクトルの要素は、言語モデルによって選択され決定されるセマンティック/シンタックス情報を表現してもよい。いくつかの例では、ベクトルは、言語モデルによって定義される連続的なベクトル空間の中にあってもよく、当該空間では、意味的に同様のテキストは近くの地点にマッピングすることができる。言語モデルを訓練してテキストのベクトルを生成する方法は数多くあるということを当業者は認識するであろう。たとえば、予測方法(たとえば、ニューラル確率論的言語モデル)を使用して、言語モデルを訓練してもよい。センテンスおよびドキュメントの分散表現(Le & Mikolov, ICML 2014)を参照されたい。これは、全文が本明細書に援用される。
いくつかの例では、自然言語プロセッサによって処理されているメッセージのために第1のベクトルが生成されてもよい。当該メッセージは、内容(たとえば、テキスト、音声、メディアなど)を含んでもよい。第1のベクトルは、1つ以上の第2のベクトルと比較されてもよい。いくつかの例では、第1のベクトルも1つ以上の第2のベクトルも、言語モデルに基づいて生成されてもよい。第2のベクトルの各々は、1つ以上の例によって定義され得る意図に関連付けられてもよい。例は、意図に関連付けられるものとして識別された内容であってもよい。いくつかの例では、ユーザは、当該例が意図に関連付けられていることを識別してもよい。他の例では、意図は、上記のように言語モデルを訓練するために、予測方法を使用して判断されてもよい。このような例では、意図が予測方法を使用して判断されると、ユーザは、判断された意図についての会話の仕方をボットサーバが理解できるように、判断された意図をボットコードに関連付けてもよい。
ベクトルを比較する際、第1のベクトルは、第1のベクトルと(意図に関連付けられた)第2のベクトルとの間の距離(たとえば、コサイン距離またはユークリッド距離)が予め定められた閾値未満である場合に意図に関連付けられるように決定されてもよい。2つのベクトル間のコサイン類似性は、2つのベクトル間の角度のコサインを計算する尺度であってもよい。
いくつかの例では、1つ以上の意図について1つ以上のエンティティが定義されてもよい。このような例では、1つ以上のエンティティは、ユーザによって定義されてもよい。他の例では、1つ以上のエンティティは、言語モデルによって定義されてもよい。たとえば、特定の表現(たとえば、1つ以上の単語)が会話の中でしばしば使用される場合、当該特定の表現は、エンティティとして識別されてもよい。別の例では、意図を反映するために特定の内容がしばしば使用される場合、当該特定の内容は、エンティティとして識別されてもよい。
意図が1つ以上のエンティティを含む場合、自然言語プロセッサ156は、さらに、メッセージの中のエンティティを識別してもよい。このような例では、上記の比較に加えて、当該エンティティが使用されてもよい。たとえば、意図間で比較がなされた後、2つ以上の意図は類似していてもよい。このような例では、メッセージにおいて識別された大部分のエンティティを含む2つ以上の意図のうちの意図が、メッセージの意図として選択されてもよい。いくつかの例では、特定のエンティティが他のエンティティよりも重要であると識別される。このような例では、意図選択は、メッセージの意図を判断する際に各エンティティに割り当てられる重みを考慮に入れてもよい。
いくつかの例では、自然言語プロセッサ156は、知識パックをインポートおよび/またはエクスポートしてもよい。知識パックは、1つ以上の業種のための1つ以上の意図、1つ以上のドメイン、または1つ以上の意図の他の論理グループを含んでもよい。1つ以上の意図のうちの意図は、1つ以上の例、1つ以上のエンティティ、および/または、意図のためのベクトルを含んでもよい。いくつかの例では、知識パックは、受信された新たなメッセージに基づいて更新されてもよい。いくつかの例では、知識パックは、ボットサーバにわたって維持されてもよく、1つのボットサーバから知識パックへの更新は、他のボットサーバの知識パックに影響を及ぼす。
図2は、自然言語プロセッサを使用してメッセージの意図を識別するためのシステムの一例を示す。メッセージは、ユーザから受信されてもよい。メッセージは、1つ以上の単語を含んでもよい。いくつかの例では、メッセージは、メッセージオブジェクト210として格納されてもよい。しかし、メッセージは他の態様または他のデータ構造で格納されてもよいということを当業者は認識するであろう。たとえば、自然言語処理では1つ以上の単語は必要とされないので、メッセージオブジェクト210は、1つ以上の単語を含まなくてもよい。
メッセージオブジェクト210は、メッセージベクトル212と、メッセージに含まれるエンティティ(たとえば、メッセージエンティティ214)のリストとを含んでもよい。メッセージベクトル212は、上記のように1つ以上の単語および言語モデルを使用してメッセージのために生成されてもよい。メッセージベクトル212は、1つ以上の単語の分散表現であってもよい。
上記のように、意図オブジェクト(たとえば、第1の意図オブジェクト220、第2の意図オブジェクト230および第3の意図オブジェクト240)は、意図に関連付けられてもよい。意図オブジェクトは、意図ベクトル(たとえば、第1の意図ベクトル222、第2の意図ベクトル232および第3の意図ベクトル242)を含んでもよい。意図ベクトルは、意図ベクトルに関連付けられた意図に関連付けられるものとして識別される1つ以上の単語の分散表現であってもよい。意図オブジェクトは、意図に関連付けられた1つ以上のエンティティ(たとえば、意図エンティティ)のリストをさらに含んでもよい。意図エンティティの各々は、メッセージエンティティ214を追加するためにメッセージの1つ以上の単語と比較されてもよい。
いくつかの例では、メッセージベクトル212は、第1の意図オブジェクト220、第2の意図オブジェクト230および第3の意図オブジェクト240の各々と比較されてもよい。このような例では、比較は、ベクトル間の距離(たとえば、コサイン距離またはユークリッド距離)を算出することによって実行されてもよい。意図オブジェクトについての算出された距離が閾値を下回る場合、意図オブジェクトに関連付けられた意図は、メッセージに関連付けられるように判断されてもよい。
いくつかの例では、2つ以上の算出された距離が閾値を下回る場合、意図オブジェクトについての算出された最低距離に関連付けられた意図は、メッセージに関連付けられるように判断されてもよい。他の例では、2つ以上の算出された距離が閾値を下回る場合、メッセージエンティティ214が使用されてもよい。たとえば、メッセージエンティティ214における大部分のエンティティを有する意図オブジェクトは、最もありそうな意図であると判断されてもよい。このような例では、大部分のエンティティを有する意図オブジェクトに関連付けられた意図は、メッセージに関連付けられるように判断されてもよい。いくつかの例では、メッセージオブジェクト210は、メッセージエンティティ214を含まなくてもよい。このような例では、メッセージにおけるエンティティは、2つ以上の算出された距離が閾値を下回る場合に識別されてもよい。
図3は、自然言語通信に応答するためのプロセス300の一例を示すフローチャートである。いくつかの局面では、プロセス300は、自然言語プロセッサを含むボットサーバによって実行されてもよい。ボットサーバの具体例が示されているが、他のデバイスがプロセス300に含まれてもよいということが認識されるべきである。
プロセス300は、論理フロー図として示されており、その動作は、ハードウェア、コンピュータ命令またはそれらの組み合わせで実現可能な一連の動作を表す。コンピュータ命令の文脈においては、動作は、1つ以上のプロセッサによって実行されると記載の動作を実行する、1つ以上のコンピュータ読取可能な記憶媒体に格納されたコンピュータによって実行可能な命令を表す。一般に、コンピュータによって実行可能な命令は、特定の機能を実行するかまたは特定のデータタイプを実現するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。動作が記載されている順序は、限定的なものとして解釈されるよう意図されるものではなく、いくつもの記載の動作が任意の順序でおよび/または並列に組み合わせられて、プロセスを実現してもよい。
また、プロセス300は、実行可能な命令で構成された1つ以上のコンピュータシステムの制御下で実行されてもよく、1つ以上のプロセッサ上で一括して実行されるコード(たとえば、実行可能な命令、1つ以上のコンピュータプログラム、または1つ以上のアプリケーション)として、ハードウェアによって、またはそれらの組み合わせによって実現されてもよい。上記のように、コードは、たとえば1つ以上のプロセッサによって実行可能な複数の命令を備えるコンピュータプログラムの形態で機械読取可能な記憶媒体に格納されてもよい。機械読取可能な記憶媒体は、非一時的であってもよい。
ステップ310において、プロセス300は、ユニフォーム・リソース・アイデンティファイア(URI)を有するボットサーバが、ハイパーテキスト・トランスファ・プロトコル(HTTP)ポストコールメッセージを受信するステップを含む。ボットサーバは、企業に関連付けられてもよい。いくつかの例では、HTTPポストコールメッセージは、メッセージングアプリケーションサーバからURIに向けられてもよい。このような例では、HTTPポストコールメッセージは、ユーザからの内容を含んでもよい。他の例では、内容は、ボットサーバによって、HTTPポストコールメッセージ以外のメッセージ(たとえば、リモートサーバから送信されるパケット)の状態で受信されてもよい。いくつかの例では、内容は、1つ以上の単語を含んでもよい。
ステップ320において、プロセス300は、内容のための第1のベクトルを決定するステップをさらに含む。いくつかの例では、第1のベクトルは、内容の分散表現であってもよい。このような例では、第1のベクトルは、複数の第1の要素を含んでもよく、複数の第1の要素のうちの各第1の要素は、言語モデルに従って内容を特徴付ける。いくつかの例では、第1の要素の各要素は、互いに排他的でなくてもよい。
ステップ330において、プロセス300は、ボットサーバに関連付けられた企業のための第2のベクトルを識別するステップをさらに含む。いくつかの例では、第2のベクトルのうちの1つの第2のベクトルは、意図に関連付けられてもよい。このような例では、当該意図は、1つ以上の例によって定義されてもよく、各例は、当該意図に関連しているとして示される1つ以上の単語である。いくつかの例では、第2のベクトルは、1つ以上の例の分散表現であってもよい。このような例では、第2のベクトルは、複数の第2の要素を含んでもよく、複数の第2の要素のうちの各第2の要素は、言語モデルに従って1つ以上の例を特徴付ける。いくつかの例では、第2の要素の各要素は、互いに排他的でなくてもよい。
ステップ340において、プロセス300は、第1のベクトルを第2のベクトルの各々と比較するステップをさらに含む。いくつかの例では、比較するステップは、第1のベクトルと第2のベクトルの各々との間の距離(たとえば、コサイン距離またはユークリッド距離)を算出することを含んでもよい。いくつかの例では、プロセス300は、内容の中のエンティティを識別するステップをさらに含んでもよい。このような例では、エンティティは、意図に関連付けられるように予め定義されてもよい。ステップ350において、プロセス300は、比較に基づいて内容の意図を判断するステップをさらに含む。いくつかの例では、判断するステップは、エンティティにさらに基づいてもよい。
ステップ360において、プロセス300は、判断された内容の意図に基づいてHTTPポストコールメッセージに対する応答を送信するステップをさらに含む。たとえば、ボットサーバは、意図オブジェクトに含まれるユーザコードに基づいて応答を生成してもよい。ユーザコードは、意図オブジェクトに関連付けられた意図に関連付けられたメッセージに対する応答の仕方を定義してもよい。
いくつかの例では、プロセス300は、パッケージを受信するステップをさらに含んでもよい。このような例では、パッケージは、1つ以上の意図を定義してもよい。いくつかの例では、1つ以上の意図のうちの1つの意図は、1つ以上のエンティティを含んでもよい。いくつかの例では、パッケージは、ドメインに関連付けられてもよく、ドメインは、1つ以上の意図を含む。
C.ダイアログエンジン
上記のように、メッセージプロセッサパイプラインは、ダイアログエンジンを含んでもよい。ダイアログエンジンは、ボットサーバとの会話をオーケストレートしてもよい。いくつかの例では、ダイアログエンジンは、メッセージに応答するためのシステムを構築する宣言的方法であってもよい。
ダイアログエンジンは、自然言語プロセッサから意図の識別を受信してもよい。意図の識別を使用して、ダイアログエンジンは、意図に関連付けられた意図オブジェクトにアクセスすることができる。意図オブジェクトは、意図に関連付けられた1つ以上のエンティティを含んでもよい。いくつかの例では、1つ以上のエンティティの各エンティティは、優先順位を割り当てられてもよい。このような例では、1つ以上のエンティティの少なくとも一部は、必須エンティティであってもよい。必須エンティティは、ダイアログエンジンがユーザとの会話を終了させ得る前にダイアログエンジンが必要とするエンティティであってもよい。
たとえば、ピザアプリケーションは、ピザのサイズおよびタイプを必要としてもよい。このような例では、ダイアログエンジンは、現在の会話の中でユーザが受信した現在のメッセージがピザのサイズおよびタイプを含むか否かを識別してもよい。ユーザが受信した現在のメッセージがピザのサイズおよびタイプを含まない場合、ダイアログエンジンは、以前のメッセージがピザのサイズおよびタイプのうちの少なくとも1つ以上を含むか否かを判断してもよい。ダイアログエンジンがピザのサイズおよび/またはタイプを受信していないと判断する場合、ダイアログエンジンは、欠落している必須エンティティを要求する現在のメッセージに対する応答を生成してもよい。いくつかの例では、欠落している必須エンティティが複数ある場合、ダイアログエンジンは、欠落している必須エンティティのうちの第1の必須エンティティに対する応答を生成し、次いで、後に、欠落している必須エンティティのうちの第2の必須エンティティのためのメッセージを生成してもよい。プロセスは、ダイアログエンジンが全ての必須エンティティを受信するまで継続してもよい。
いくつかの例では、ダイアログエンジンは、会話の終了をもたらす1人以上のユーザとの会話の部分を識別してもよい。次いで、ダイアログエンジンは、会話のターニングポイントを示す会話の識別された部分に基づいて、将来のユーザのために会話を向上させてもよい。いくつかの例では、ダイアログエンジンは、まさに終了しようとしているように思われる会話を識別してもよい(たとえば、会話の中で良くない感情が判断される)。このような例では、ダイアログシステムは、会話の流れを変更してもよく、場合によっては会話を異なるシステムまたはさらには人間にリダイレクトしてもよい。
図4は、メッセージングアプリケーションを使用したモバイルデバイス410上のユーザとボットサーバとの間の会話の一例を示す。左側のメッセージ(たとえば、メッセージ420,440,460)は、ユーザからのものであってもよく、右側のメッセージ(たとえば、メッセージ430,450)は、ボットサーバからのものであってもよい。たとえば、ユーザは、モバイルデバイス410にインストールされたメッセージングアプリケーションを使用して第1のメッセージ420をメッセージングアプリケーションシステムに送信してもよい。第1のメッセージ420は、「ピザをください」という言葉を含んでもよい。第1のメッセージは、メッセージングアプリケーションサーバに送信され、次いで応答のためにボットサーバに送信されてもよい。
上記のように、第1のメッセージ420は、ボットサーバの仕組みによってはコネクタまたはロードバランサに到達してもよい。第1のメッセージ420は、メッセージ受信キューに入れられ、最終的にはメッセンジャプロセッサパイプラインに送信されてもよい。メッセンジャプロセッサパイプラインでは、第1のメッセージ420は、自然言語プロセッサによって解釈されてもよい。自然言語プロセッサは、第1のメッセージ420の意図を識別してもよい。たとえば、自然言語プロセッサは、第1のメッセージ420がピザを注文しようとしていることを識別してもよい。当該意図は、ダイアログエンジンに送信されてもよい。ダイアログエンジンは、当該意図のための1つ以上の必須エンティティを識別してもよい。たとえば、必須エンティティは、ピザのタイプであってもよい。ダイアログエンジンは、メッセージ(または、以前のメッセージ)がユーザのためのピザのタイプを示したか否かを判断してもよい。ピザのタイプが特定されていないと判断すると、ダイアログエンジンは、ピザのタイプが欠落しているという表示をボットコードに送信してもよい。いくつかの例では、第1のメッセージ420は、応答を決定するためにボットコードにも送信されてもよい。
ダイアログエンジンがピザのタイプを欠いているので、ボットコードは、ピザのタイプを要求するための応答を生成してもよい。当該応答は、「どのようなピザがいいですか?」という言葉を第2のメッセージ430に含んでもよい。第2のメッセージ430は、ボットコードからメッセージ送信キューに送信され、最終的にはコネクタに送信されて、メッセージングアプリケーションサーバを使用してモバイルデバイス410にインストールされたメッセージングアプリケーションに戻されてもよい。モバイルデバイス410にインストールされたメッセージングアプリケーションは、第2のメッセージ430を受信して、図4に示されるように第2のメッセージ430を表示してもよい。
第2のメッセージ430を受信した後、ユーザは、モバイルデバイス410上のメッセージングアプリケーションを使用して第3のメッセージ440をボットサーバに送信してもよい。第3のメッセージ440は、「ピザをください」という言葉を含んでもよい。ボットサーバは、第3のメッセージの内容および第3のメッセージの文脈に基づいて、第3のメッセージ440が新たなセッションであることを判断してもよい。たとえば、ユーザが第2のメッセージ430を受信してからユーザが第3のメッセージ440を送信するまで時間が経過していてもよい。
自然言語プロセッサは、第3のメッセージ440の意図を識別してもよい。たとえば、自然言語プロセッサは、第3のメッセージ440がピザを注文しようとしていることを識別してもよい。当該意図は、ダイアログエンジンに送信されてもよい。ダイアログエンジンは、当該意図のための1つ以上の必須エンティティを識別してもよい。たとえば、必須エンティティは、ピザのタイプであってもよい。ダイアログエンジンは、メッセージ(または、以前のメッセージ)が現在のセッションでユーザのためのピザのタイプを示したか否かを判断してもよい。ピザのタイプが特定されていないと判断すると、ダイアログエンジンは、ピザのタイプが欠落しているという表示をボットコードに送信してもよい。いくつかの例では、第3のメッセージ440は、応答を決定するためにボットコードにも送信されてもよい。ボットサーバは、(たとえば、どのようなピザがいいか尋ねる第4のメッセージ450を送信することによって)第1のメッセージ420と同様に第3のメッセージ440に応答してもよい。
ユーザは、ユーザが望むピザのタイプを含む第5のメッセージ460によって第4のメッセージ450に応答してもよい。ボットサーバは、上記のように第5のメッセージ460を受信してもよい。しかし、第5のメッセージ460のための新たなセッションを作成するのではなく、ボットサーバは、第5のメッセージ460が第3のメッセージ440および第4のメッセージ450を含む会話の一部であることを判断してもよい。ボットサーバがこれら3つのメッセージをグループ化することによって、ボットサーバのボットコードは、第3、第4および第5のメッセージを一緒に分析することによって第5のメッセージ460に対する応答の仕方を決定してもよい。いくつかの例では、意図は、1つの必須エンティティ(たとえば、ピザのタイプ)を含んでもよい。このような例では、ピザのタイプが示された後に、ボットサーバは、ユーザとの会話を終了させてもよい。
図5は、ユーザから追加情報を要求するための応答を送信するためのプロセスの一例を示すフローチャートである。いくつかの局面では、プロセス500は、ボットサーバによって実行されてもよい。ボットサーバの具体例が示されているが、他のデバイスがプロセス500に含まれてもよいということが認識されるべきである。
プロセス500は、論理フロー図として示されており、その動作は、ハードウェア、コンピュータ命令またはそれらの組み合わせで実現可能な一連の動作を表す。コンピュータ命令の文脈においては、動作は、1つ以上のプロセッサによって実行されると記載の動作を実行する、1つ以上のコンピュータ読取可能な記憶媒体に格納されたコンピュータによって実行可能な命令を表す。一般に、コンピュータによって実行可能な命令は、特定の機能を実行するかまたは特定のデータタイプを実現するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。動作が記載されている順序は、限定的なものとして解釈されるよう意図されるものではなく、いくつもの記載の動作が任意の順序でおよび/または並列に組み合わせられて、プロセスを実現してもよい。
また、プロセス500は、実行可能な命令で構成された1つ以上のコンピュータシステムの制御下で実行されてもよく、1つ以上のプロセッサ上で一括して実行されるコード(たとえば、実行可能な命令、1つ以上のコンピュータプログラム、または1つ以上のアプリケーション)として、ハードウェアによって、またはそれらの組み合わせによって実現されてもよい。上記のように、コードは、たとえば1つ以上のプロセッサによって実行可能な複数の命令を備えるコンピュータプログラムの形態で機械読取可能な記憶媒体に格納されてもよい。機械読取可能な記憶媒体は、非一時的であってもよい。
ステップ510において、プロセス500は、ユニフォーム・リソース・アイデンティファイア(URI)に関連付けられたボットサーバが、ハイパーテキスト・トランスファ・プロトコル(HTTP)ポストコールメッセージを受信するステップを含む。いくつかの例では、HTTPポストコールメッセージは、メッセージングアプリケーションサーバからURIに向けられてもよい。このような例では、HTTPポストコールメッセージは、ユーザからの内容(たとえば、テキスト、絵文字、音声、画像、ビデオ、またはメッセージを伝える他の方法)を含んでもよい。他の例では、内容は、ボットサーバによって、HTTPポストコールメッセージ以外のメッセージ(たとえば、リモートサーバから送信されるパケット)の状態で受信されてもよい。いくつかの例では、内容は、複数の単語を含んでもよい。
ステップ520において、プロセス500は、内容の意図を識別するステップをさらに含む。内容の意図は、上記のように識別されてもよい。ステップ530において、プロセス500は、識別された意図に関連付けられた1つ以上の必須エンティティを識別するステップをさらに含む。いくつかの例では、識別された意図は、意図オブジェクトに関連付けられてもよい。意図オブジェクトは、1つ以上のエンティティを含んでもよい。1つ以上のエンティティの各々は、優先順位を含んでもよい。優先順位は、1つ以上のエンティティの1つ以上の必須エンティティを示してもよい。ステップ540において、プロセス500は、内容から欠落している1つ以上の必須エンティティのうちの1つの必須エンティティを識別するステップをさらに含む。
ステップ550において、プロセス500は、HTTPポストコールメッセージに対する応答を生成するステップをさらに含む。いくつかの例では、当該応答は、欠落している必須エンティティを要求してもよい。ステップ560において、プロセス500は、HTTPポストコールメッセージに対する応答をメッセージングアプリケーションサーバに送信するステップをさらに含む。
D.イベントデータ
1.イベントデータを管理するためのシステム
ウェブページまたはモバイルアプリケーションに関連付けられたイベントデータは、ストレージサーバに送信されて格納されてもよい。イベントデータは、ウェブページおよび/またはモバイルアプリケーションに関連して実行される1つ以上のアクションを表してもよい。たとえば、イベントデータは、上記のようにボットサーバが受信するメッセージを含んでもよい。イベントデータは、メッセージに対する応答も含んでもよい。いくつかの例では、イベントデータは、使用のために処理されていない生データであってもよい。ストレージサーバのキューがイベントデータを受信してもよい。当該キューは、メッセージ受信キューに関して上記したものと同様であってもよい。いくつかの例では、イベントデータは、イベントデータに関連付けられたイベントが発生するとストリーミングの態様でキューによって受信されてもよい。
第1の実行プロセス(たとえば、スパークエグゼキュータ)は、キューからイベントデータを引き出して、それをローカルデータベースに格納してもよい。ローカルデータベースは、ストレージサーバに含まれてもよい。ローカルデータベースは、期間別に分割されるスキーマを有してもよい。たとえば、ローカルデータベースは、日別に分割されてもよい。日別の分割は、入来するイベントデータをパーティション(または、ローカルデータベース内の場所(たとえば、ファイル))に入れることができることを意味し得る。当該パーティションは、ローカルデータベースが一定量のデータのみを維持するように毎日削除されてもよい。
第1の実行プロセスは、ローカルデータベースに格納する前にイベントデータに対して1つ以上の強化動作を実行してもよい。イベントデータを強化することは、イベントデータを向上、改良、または他の態様で改善することを含んでもよい。たとえば、強化することは、スペルミスまたは誤字を修正してもよい。
第1の実行プロセスは、強化されたデータをキューに戻してもよい。他の例では、第1の実行プロセスは、強化されたデータを、第1のキューと同様であってもよい第2のキューに送信してもよい。第2の実行プロセスは、キュー(または、第2のキュー)から強化されたデータを引き出して、それをリモートファイルシステムに格納してもよい。リモートファイルシステムは、ストレージサーバとは別であってもよい。
リモートファイルシステムは、強化されたデータをデータベース(たとえば、1つ以上のハイブテーブル)に書き込んでもよい。1つ以上のハイブテーブルは、リモートファイルシステムにおいて1つ以上の外部テーブルとして具体化されてもよい。1つ以上の外部テーブルは、ローカルデータベースと結合されて、ストレージサーバが受信した全てのイベントデータを含むように仮想データベースを作成してもよい。
仮想データベースが照会されると、1つ以上の外部テーブルおよび/またはローカルデータベースは、イベントデータを受信するようにアクセスされてもよい。いくつかの例では、仮想データベースは、どこに照会すべきかを判断してもよい。このような例では、仮想データベースは、要求されるデータが別々のデータベースに含まれる場合、クエリを2つ以上のクエリに分けてもよい。いくつかの例では、仮想データベースは、仮想データベースに照会するユーザに対して、1つ以上の外部テーブルおよびローカルデータベースが1つのデータベースであるように見せてもよい。いくつかの例では、仮想データベースは、ローカルデータベース内に定義されてもよい。
図6は、イベントデータを管理するためのシステムの一例を示す。当該システムは、ストレージサーバ630とリモートファイルシステム680とを含んでもよい。ストレージサーバ630は、キュー640を含んでもよい。キュー640は、モバイルアプリケーション610および/またはウェブページ620のうちの1つ以上からイベントデータを受信してもよい。イベントデータは、他のソースからのものであってもよいということが認識されるべきである。
ストレージサーバ630は、第1の実行プロセス650をさらに含んでもよい。第1の実行プロセス650は、キュー640からイベントデータを引き出して、ローカルデータベース660に格納してもよい。いくつかの例では、第1の実行プロセス650は、イベントデータがローカルデータベース660に格納される前に、キュー640から引き出されたイベントデータを強化してもよい。このような例では、強化されたデータは、ローカルデータベース660に格納されてもよい。いくつかの例では、イベントデータを強化した後に、第1の実行プロセス650は、強化されたデータをキュー640に送信してもよい。他の例では、イベントデータを強化した後に、第1の実行プロセス650は、強化されたデータを第2のキュー(図示せず)に送信してもよい。
ローカルデータベース660は、1つ以上のパーティションを含んでもよい。各パーティションは、特徴に従ってデータを格納するために使用されてもよい。たとえば、第1のパーティションは、第1のユーザからのイベントデータを格納してもよい。このような例では、第2のパーティションは、第2のユーザからのイベントデータを格納してもよい。また、ローカルデータベース660は、期間別に分割されてもよい。このような例では、ローカルデータベース660は、スケジュールに基づいて、ローカルデータベース660に含まれるイベントデータを削除してもよい。たとえば、ローカルデータベース660は、毎日イベントデータを削除してもよい。
いくつかの例では、ストレージサーバ630は、第2の実行プロセス670をさらに含んでもよい。第2の実行プロセス670は、キュー640(または、第2のキュー)から強化されたイベントデータ(または、単なるイベントデータ)を引き出して、リモートファイルシステム680に格納してもよい。
リモートファイルシステム680は、ストレージサーバ630とは別であってもよい。リモートファイルシステム680は、イベントデータを格納するためのリモートデータベース690を含んでもよい。
図7は、仮想データベース762の一例を示す。仮想データベース762は、(ローカルデータベース660と同様の)ローカルデータベース760および(リモートデータベース690と同様の)リモートデータベースのためのインターフェイスとしての役割を果たしてもよい。仮想データベース762は、アプリケーションプログラムインターフェイスを公開して、仮想データベース762にアクセスするためのクエリ(たとえば、クエリ764)をユーザから受信してもよい。クエリ764は、まるでデータが仮想データベース762上にあるかのように呼び出されてもよい。いくつかの例では、仮想データベース762は、クエリ764によって要求されたデータの場所を識別して、ローカルデータベース760および/またはリモートデータベース790からのデータに対する1つ以上のクエリを作成してもよい。このような例では、仮想データベース762は、ローカルデータベース760および/またはリモートデータベース790からデータを受信して、当該データによってクエリ764に応答してもよい。
2.マテリアライズドビュー
いくつかの例では、上記のストレージサーバは、カスタマー・インサイツ・アンド・エンゲージメント・クラウド・サービス(Customer Insights & Engagement Cloud Service:CIECS)に含まれてもよい。CIECSは、ストレージサーバに格納された情報を分析してもよい。いくつかの例では、CIECSは、ソース(たとえば、ウェブページおよび/またはモバイルアプリケーション)のための挙動分析を実行してもよい。このような例では、挙動分析は、関与(たとえば、ユーザの活動レベル)、コホート分析(たとえば、ユーザの記憶力)、および顧客離れ予測(たとえば、戻ってこない危険性があるユーザの識別)を含むソースとのインタラクションを分析してもよい。いくつかの例では、CIECSは、a/bテスト(たとえば、さまざまなユーザでのさまざまなレイアウトのテスト)、ユーザ/セッション分析(たとえば、ユーザのためのセッションに関連付けられた情報の識別)、および予測分析(たとえば、サンプルに基づく、全てのデータに関連付けられ得る推測の識別)を行ってもよい。
いくつかの例では、イベントデータに対して実行される分析は、一定時間でクエリを使用して計算されてもよい。このような例では、クエリが現在時刻の一定時間前からのデータを要求しているので、クエリ自体は変化しなくてもよい。しかし、クエリから返されるデータは変化する可能性がある。たとえば、1時間前からのデータに対するクエリは、クエリがいつ実行されるかによって異なるデータを返してもよい。
一定時間にわたってクエリを最適化するために、データベースの前に(たとえば、図6に示されるローカルデータベース660の前に)マテリアライズドビューが作成されてもよい。マテリアライズドビューは、ストレージサーバが受信するイベントデータを表す1つ以上の概要計算値を含んでもよい。このような例では、新たなイベントデータが受信されて当該新たなイベントデータがデータベースに追加されると、以前のイベントデータにアクセスしなくてもいいように概要計算値はインクリメンタルに更新されてもよい。その代わりに、概要計算値に使用される1つ以上の概要値、または概要計算値自体が、保存されて、新たなイベントデータが受信されるとインクリメンタルに更新されてもよい。このような例では、イベントデータは、概要計算値のために保存されない。
たとえば、概要計算値は、新たなデイリーユーザの数であってもよい。現在日からイベントデータに照会しなければならないのではなく、新たなデイリーユーザの数を示す概要値がマテリアライズドビューによって保存されてもよい。当該概要値は、新たなイベントデータが新たなユーザを示すとインクリメントされてもよい。
いくつかの例では、マテリアライズドビューの1つ以上の概要計算値は、スケジュールに従って更新されてもよい。たとえば、新たなイベントデータが受信されると概要計算値を更新するのではなく、概要計算値は毎時に更新されてもよい。スケジュールに従った更新の恩恵を受けることができる概要計算値の一例は、ファンネル認識である。ファンネルは、複数の必要なアクションが順番に起こる場合に生じてもよく、各アクションは、以前のアクションから一定時間以内に起こる。たとえば、ファンネルは、ユーザがアイテムを選択して当該アイテムを購入することを必要としてもよい。このような例では、ファンネルは、両方のアクションが一緒に起こったときにのみ、特定の時間以内に識別されるであろう。このような例では、ファンネルが生じたか否かを判断するためのクエリは、シングルユーザによる複数のイベントの検索を含んでもよい。そして、当該イベントは、個々のイベントではなくイベントのコレクションとしてアクセスされる必要があるだろう。
図8は、仮想データベースにアクセスするための呼び出し可能な方法を公開するためのプロセスの一例を示すフローチャートである。いくつかの局面では、プロセス800は、ストレージサーバによって実行されてもよい。ストレージサーバの具体例が示されているが、他のデバイスがプロセス800に含まれてもよいということが認識されるべきである。
プロセス800は、論理フロー図として示されており、その動作は、ハードウェア、コンピュータ命令またはそれらの組み合わせで実現可能な一連の動作を表す。コンピュータ命令の文脈においては、動作は、1つ以上のプロセッサによって実行されると記載の動作を実行する、1つ以上のコンピュータ読取可能な記憶媒体に格納されたコンピュータによって実行可能な命令を表す。一般に、コンピュータによって実行可能な命令は、特定の機能を実行するかまたは特定のデータタイプを実現するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。動作が記載されている順序は、限定的なものとして解釈されるよう意図されるものではなく、いくつもの記載の動作が任意の順序でおよび/または並列に組み合わせられて、プロセスを実現してもよい。
また、プロセス800は、実行可能な命令で構成された1つ以上のコンピュータシステムの制御下で実行されてもよく、1つ以上のプロセッサ上で一括して実行されるコード(たとえば、実行可能な命令、1つ以上のコンピュータプログラム、または1つ以上のアプリケーション)として、ハードウェアによって、またはそれらの組み合わせによって実現されてもよい。上記のように、コードは、たとえば1つ以上のプロセッサによって実行可能な複数の命令を備えるコンピュータプログラムの形態で機械読取可能な記憶媒体に格納されてもよい。機械読取可能な記憶媒体は、非一時的であってもよい。
ステップ810において、プロセス800は、ストレージサーバが、ソースに関連付けられたイベントデータを受信するステップを含む。いくつかの例では、ソースは、モバイルアプリケーションまたはウェブページであってもよい。このような例では、イベントデータは、ソースに関連する1つ以上のアクションを表してもよい。
ステップ820において、プロセス800は、イベントデータがストレージサーバによって受信されるとイベントデータをローカルデータベース内のある場所に格納するステップをさらに含む。いくつかの例では、ストレージサーバは、ローカルデータベースを含んでもよい。このような例では、当該場所におけるデータは、第1のスケジュールに従って削除される。第1のスケジュールの一例は、毎日であってもよい。
ステップ830において、プロセス800は、第2のスケジュールに従ってイベントデータをリモートデータベースに格納するステップをさらに含む。いくつかの例では、リモートデータベースは、ストレージサーバとは別であってもよい。このような例では、第1のスケジュールは、第2のスケジュールよりも頻度が低くてもよい。第2のスケジュールの一例は、1時間ごとであってもよい。いくつかの例では、リモートファイルシステムは、リモートデータベースを含んでもよい。
ステップ840において、プロセス800は、仮想データベースに照会するための第1の呼び出し可能な方法をクライアントアプリケーションに公開するステップをさらに含む。いくつかの例では、第1の呼び出し可能な方法を使用したイベントデータに対するクエリは、イベントデータがローカルデータベース内にあるときにはイベントデータをローカルデータベースから取り出してもよい。このような例では、当該クエリは、イベントデータがローカルデータベースから削除された後はイベントデータをリモートデータベースから取り出してもよい。
ステップ850において、プロセス800は、イベントデータに基づいて概要計算値を計算するステップをさらに含む。いくつかの例では、概要計算値は、イベントデータがストレージサーバによって受信されるとインクリメンタルに更新されてもよい。このような例では、概要計算値は、イベントデータについてデータベースに照会する必要なしにインクリメンタルに更新されてもよい。他の例では、概要計算値は、第3のスケジュールに従ってインクリメンタルに更新されてもよい。一例では、第3のスケジュールは、1時間ごとであってもよい。概要計算値は、ローカルデータベースに現在格納されているデータおよびリモートデータベースに現在格納されているデータに基づいてもよい。概要計算値は、現在時刻の一定時間前からのデータに基づいてもよい。
図9は、サーバ912の一例を示す。サーバ912は、コンポーネント918,920,922を含む。サーバ912は、参照番号902,904,906,908と通信している。サーバ912は、データリポジトリ914およびデータリポジトリ916とも通信している。
図10は、クラウドインフラストラクチャシステム1002の一例を示す。クラウドインフラストラクチャシステムは、ユーザインターフェイスサブシステム1012と、オーダー管理サブシステム1020と、オーダープロビジョニングサブシステム1024と、アイデンティティ管理1028と、インフラストラクチャリソース1030と、内部共有サービス1032とを含む。ユーザインターフェイスサブシステム1012は、ウェブUI1014と、オンラインストアUI1016と、他のUIS1018とを含む。クライアントデバイス1004は、ネットワーク1010を介してサービス要求(SR)1034をクラウドインフラストラクチャシステム1002に送信する。クラウドインフラストラクチャシステム1002は、応答1044をクライアントデバイス1004に送信する。クライアントデバイス1006は、ネットワーク1010を介してSR1034をクラウドインフラストラクチャシステム1002に送信する。クラウドインフラストラクチャシステム1002は、応答1044をクライアントデバイス1006に送信する。クライアントデバイス1008は、ネットワーク1010を介してSR1034をクラウドインフラストラクチャシステム1002に送信する。クラウドインフラストラクチャシステム1002は、応答1044をクライアントデバイス1008に送信する。
図11は、コンピュータシステム1100の一例を示す。コンピュータシステム1100は、処理サブシステム1104と、処理加速ユニット1106と、I/Oサブシステム1108と、ストレージサブシステム1118と、通信サブシステム1124と、データフィード1126と、イベントストリーム1128と、イベント更新情報1130とを含む。処理サブシステム1104は、処理ユニット1132と、処理ユニット1134とを含む。ストレージサブシステム1118は、システムメモリ1110と、コンピュータ読取可能記憶媒体リーダ1120と、コンピュータ読取可能な記憶媒体1122とを含む。システムメモリ1110は、アプリケーションプログラム1112と、プログラムデータ1114と、オペレーティングシステム1116とを含む。通信サブシステム1124は、コンピュータシステム1100の外部と通信する。通信サブシステム1124は、データフィード1126、イベントストリーム1128およびイベント更新情報1130とも通信する。通信サブシステム1124は、処理サブシステム1104、処理加速ユニット1106、I/Oサブシステム1108およびストレージサブシステム1118とも通信する。処理サブシステム1104、処理加速ユニット1106、I/Oサブシステム1108およびストレージサブシステム1118および通信サブシステム1124は、各々が互いに通信する。
上記の明細書では、本開示の局面をその具体例を参照して説明しているが、本開示はそれに限定されるものではないということを当業者は認識するであろう。上記の例のさまざまな特徴および局面は、個々にまたは一緒に使用されてもよい。さらに、明細書のより広い精神および範囲から逸脱することなく、本明細書に記載されているものを越えるいくつもの環境および用途で例が利用されてもよい。したがって、明細書および図面は、限定的ではなく例示的であると見なされるべきである。
説明の目的で、方法は、ある特定の順序で記載された。代替例では当該方法は記載されている順序とは異なる順序で実行されてもよい、ということが理解されるべきである。また、上記の方法はハードウェアコンポーネントによって実行されてもよく、または機械によって実行可能な一連の命令で実施されてもよく、当該機械によって実行可能な命令を使用して、命令でプログラミングされた汎用もしくは特殊目的プロセッサまたは論理回路などの機械に方法を実行させてもよい、ということが理解されるべきである。これらの機械によって実行可能な命令は、CD-ROMもしくは他のタイプの光ディスク、フロッピー(登録商標)ディスク、ROM、RAM、EPROM、EEPROM、磁気もしくは光カード、フラッシュメモリ、または電子命令を格納するのに適した他のタイプの機械読取可能な媒体などの1つ以上の機械読取可能な媒体に格納されてもよい。代替的に、当該方法は、ハードウェアとソフトウェアとの組み合わせによって実行されてもよい。
構成要素は、特定の動作を実行するように構成されるものとして記載されているが、このような構成は、たとえば動作を実行するように電子回路もしくは他のハードウェアを設計することによって、動作を実行するようにプログラム可能な電子回路(たとえば、マイクロプロセッサまたは他の好適な電子回路)をプログラミングすることによって、またはそれらの任意の組み合わせによって、実現されてもよい。
本願の例示的な例について本明細書で詳細に説明したが、本発明の概念は、その他の態様でさまざまに実施され利用されてもよく、添付の特許請求の範囲は、先行技術によって限定されるものを除いてこのような変形例を含むものとして解釈されるよう意図される、ということが理解される。

Claims (14)

  1. 自然言語通信に応答するための方法であって、
    ユニフォーム・リソース・アイデンティファイア(URI)によって識別されるサーバが、ハイパーテキスト・トランスファ・プロトコル(HTTP)ポストコールメッセージを受信するステップを備え、前記HTTPポストコールメッセージは、メッセージングアプリケーションサーバから前記URIに向けられ、前記HTTPポストコールメッセージは、ユーザからの内容を含み、前記サーバには、特定の企業が関連付けられ、前記方法はさらに、
    前記内容のための第1のベクトルと、前記特定の企業のために識別された複数の第2のベクトルの各々との比較に基づいて前記内容の意図を識別するステップと、
    前記識別された意図に関連付けられた1つ以上の必須エンティティを識別するステップと、
    前記内容から欠落している前記1つ以上の必須エンティティのうちの1つの必須エンティティを識別するステップと、
    前記HTTPポストコールメッセージに対する応答を生成するステップとを備え、前記応答は、前記欠落している必須エンティティを要求し、前記方法はさらに、
    前記HTTPポストコールメッセージに対する前記応答を前記メッセージングアプリケーションサーバに送信するステップを備え、
    前記複数の第2のベクトルの少なくとも1つは、前記識別された意図に関連付けられている、方法。
  2. 前記内容は、1つ以上の単語を含む、請求項1に記載の方法。
  3. 前記意図は、前記ユーザが前記内容を前記サーバに送信した目的であり、前記意図は、前記ユーザと前記サーバとの間の会話を定義する、請求項1または2に記載の方法。
  4. 前記意図に関連付けられたセッションは、前記サーバが前記1つ以上の必須エンティティの各々の入力を前記ユーザから受信すると完了する、請求項1~3のいずれかに記載の方法。
  5. 前記意図に関連付けられたセッションを格納するステップをさらに備え、前記セッションは、前記ユーザから受信される情報を含む、請求項1~4のいずれかに記載の方法。
  6. 前記内容の前記意図を識別するステップに応答して、前記サーバが前記情報にアクセスできるように、前記意図に関連付けられた前記セッションを取得するステップをさらに備える、請求項5に記載の方法。
  7. 前記意図は、複数のエンティティを含み、前記複数のエンティティのうちの各エンティティは、優先順位を割り当てられ、前記優先順位は、前記エンティティが必須エンティティであるか否かを示す、請求項1~6のいずれかに記載の方法。
  8. システムであって、
    1つ以上のプロセッサと、
    命令を含む非一時的なコンピュータ読取可能な媒体とを備え、前記命令は、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに動作を実行させ、前記動作は、
    ハイパーテキスト・トランスファ・プロトコル(HTTP)ポストコールメッセージを受信するステップを含み、前記システムは、ユニフォーム・リソース・アイデンティファイア(URI)によって識別され、前記HTTPポストコールメッセージは、メッセージングアプリケーションサーバから前記URIに向けられ、前記HTTPポストコールメッセージは、ユーザからの内容を含み、前記システムには、特定の企業が関連付けられ、前記動作はさらに、
    前記内容のための第1のベクトルと、前記特定の企業のために識別された複数の第2のベクトルの各々との比較に基づいて前記内容の意図を識別するステップと、
    前記識別された意図に関連付けられた1つ以上の必須エンティティを識別するステップと、
    前記内容から欠落している前記1つ以上の必須エンティティのうちの1つの必須エンティティを識別するステップと、
    前記HTTPポストコールメッセージに対する応答を生成するステップとを含み、前記応答は、前記欠落している必須エンティティを要求し、前記動作はさらに、
    前記HTTPポストコールメッセージに対する前記応答を前記メッセージングアプリケーションサーバに送信するステップを含み、
    前記複数の第2のベクトルの少なくとも1つは、前記識別された意図に関連付けられている、システム。
  9. 前記内容は、1つ以上の単語を含む、請求項8に記載のシステム。
  10. 前記意図は、前記ユーザが前記内容を前記システムに送信した目的であり、前記意図は、前記ユーザと前記システムとの間の会話を定義する、請求項8または9に記載のシステム。
  11. 前記意図に関連付けられたセッションは、前記システムが前記1つ以上の必須エンティティの各々の入力を前記ユーザから受信すると完了する、請求項8~10のいずれかに記載のシステム。
  12. 前記非一時的なコンピュータ読取可能な媒体は、命令をさらに含み、前記命令は、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに動作を実行させ、前記動作は、
    前記意図に関連付けられたセッションを格納するステップを含み、前記セッションは、前記ユーザから受信される情報を含み、前記動作はさらに、
    前記内容の前記意図を識別するステップに応答して、前記システムが前記情報にアクセスできるように、前記意図に関連付けられた前記セッションを取得するステップを含む、請求項8~11のいずれかに記載のシステム。
  13. 前記意図は、複数のエンティティを含み、前記複数のエンティティのうちの各エンティティは、優先順位を割り当てられ、前記優先順位は、前記エンティティが必須エンティティであるか否かを示す、請求項8~12のいずれかに記載のシステム。
  14. 請求項1~7のいずれかに記載の方法をコンピュータに実行させるためのコンピュータプログラム。
JP2019514756A 2016-09-16 2017-07-27 エンティティベースの通信を有する、インターネットクラウドによってホストされた自然言語インタラクティブメッセージングシステム Active JP7441650B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022073432A JP2022105106A (ja) 2016-09-16 2022-04-27 エンティティベースの通信を有する、インターネットクラウドによってホストされた自然言語インタラクティブメッセージングシステム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IN201641031569 2016-09-16
IN201641031569 2016-09-16
PCT/US2017/044114 WO2018052543A1 (en) 2016-09-16 2017-07-27 Internet cloud-hosted natural language interactive messaging system with entity-based communication

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022073432A Division JP2022105106A (ja) 2016-09-16 2022-04-27 エンティティベースの通信を有する、インターネットクラウドによってホストされた自然言語インタラクティブメッセージングシステム

Publications (3)

Publication Number Publication Date
JP2019537768A JP2019537768A (ja) 2019-12-26
JP2019537768A5 JP2019537768A5 (ja) 2020-09-24
JP7441650B2 true JP7441650B2 (ja) 2024-03-01

Family

ID=59558501

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2019514756A Active JP7441650B2 (ja) 2016-09-16 2017-07-27 エンティティベースの通信を有する、インターネットクラウドによってホストされた自然言語インタラクティブメッセージングシステム
JP2019514747A Active JP6883650B2 (ja) 2016-09-16 2017-07-27 仮想データベースを有する、インターネットクラウドによってホストされた自然言語インタラクティブメッセージングシステム
JP2019514745A Active JP6917446B2 (ja) 2016-09-16 2017-07-27 意図判断を有する、インターネットクラウドによってホストされた自然言語インタラクティブメッセージングシステム
JP2022073432A Pending JP2022105106A (ja) 2016-09-16 2022-04-27 エンティティベースの通信を有する、インターネットクラウドによってホストされた自然言語インタラクティブメッセージングシステム

Family Applications After (3)

Application Number Title Priority Date Filing Date
JP2019514747A Active JP6883650B2 (ja) 2016-09-16 2017-07-27 仮想データベースを有する、インターネットクラウドによってホストされた自然言語インタラクティブメッセージングシステム
JP2019514745A Active JP6917446B2 (ja) 2016-09-16 2017-07-27 意図判断を有する、インターネットクラウドによってホストされた自然言語インタラクティブメッセージングシステム
JP2022073432A Pending JP2022105106A (ja) 2016-09-16 2022-04-27 エンティティベースの通信を有する、インターネットクラウドによってホストされた自然言語インタラクティブメッセージングシステム

Country Status (5)

Country Link
US (3) US10666582B2 (ja)
EP (3) EP3513308A1 (ja)
JP (4) JP7441650B2 (ja)
CN (3) CN109690535B (ja)
WO (3) WO2018052544A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7068195B2 (ja) 2016-06-21 2022-05-16 オラクル・インターナショナル・コーポレイション インターネットクラウドでホストされる自然言語による対話型メッセージングシステムセッション化部
US10270864B2 (en) 2016-06-21 2019-04-23 Oracle International Corporation Internet cloud-hosted natural language interactive messaging system server collaboration
JP6952060B2 (ja) 2016-06-21 2021-10-20 オラクル・インターナショナル・コーポレイション インターネットクラウドでホストされる自然言語による対話型メッセージングシステムユーザリゾルバ
EP3513308A1 (en) 2016-09-16 2019-07-24 Oracle International Corporation Internet cloud-hosted natural language interactive messaging system with entity-based communication
US10361975B2 (en) * 2016-10-10 2019-07-23 Microsoft Technology Licensing, Llc Messaging bot selection in multi-bot chat sessions
US10650095B2 (en) 2017-07-31 2020-05-12 Ebay Inc. Emoji understanding in online experiences
US11301134B2 (en) * 2017-10-26 2022-04-12 International Business Machines Corporation Using attack trees to reduce memory consumption by rule engines
US10360633B2 (en) 2017-10-27 2019-07-23 Brightplan Llc Secure messaging systems, methods, and automation
US11509634B2 (en) 2017-10-27 2022-11-22 Brightplan Llc Secure messaging systems and methods
US10630650B2 (en) * 2017-10-27 2020-04-21 Brightplan Llc Secure messaging systems and methods
WO2019183144A1 (en) 2018-03-19 2019-09-26 Coffing Daniel L Processing natural language arguments and propositions
US10740566B2 (en) * 2018-03-23 2020-08-11 Servicenow, Inc. Method and system for automated intent mining, classification and disposition
US10713441B2 (en) * 2018-03-23 2020-07-14 Servicenow, Inc. Hybrid learning system for natural language intent extraction from a dialog utterance
CN109190005A (zh) * 2018-07-17 2019-01-11 太仓远见科技咨询服务有限公司 一种移动互连网云服务器
WO2020051500A1 (en) * 2018-09-06 2020-03-12 Coffing Daniel L System for providing dialogue guidance
EP3850781A4 (en) 2018-09-14 2022-05-04 Coffing, Daniel L. FACT MANAGEMENT SYSTEM
EP3624136A1 (en) * 2018-09-14 2020-03-18 Koninklijke Philips N.V. Invoking chatbot in a communication session
US11182557B2 (en) * 2018-11-05 2021-11-23 International Business Machines Corporation Driving intent expansion via anomaly detection in a modular conversational system
US11487945B2 (en) 2019-07-02 2022-11-01 Servicenow, Inc. Predictive similarity scoring subsystem in a natural language understanding (NLU) framework
CN110442697B (zh) * 2019-08-06 2023-09-12 中电金信软件(上海)有限公司 一种人机交互方法、系统、计算机设备和存储介质
US10891440B1 (en) 2019-10-30 2021-01-12 Globant España, S.A. Natural language driven transaction system
US11468238B2 (en) 2019-11-06 2022-10-11 ServiceNow Inc. Data processing systems and methods
US11481417B2 (en) 2019-11-06 2022-10-25 Servicenow, Inc. Generation and utilization of vector indexes for data processing systems and methods
US11455357B2 (en) 2019-11-06 2022-09-27 Servicenow, Inc. Data processing systems and methods
US11782964B2 (en) 2021-10-08 2023-10-10 Adp, Inc. Method to recommend intents based on a weighted ranked hierarchical graph

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8238891B1 (en) 2008-05-01 2012-08-07 Wendy W. Tam Method and system for interactive delivery of data content to mobile devices
CN102880723A (zh) 2012-10-22 2013-01-16 深圳市宜搜科技发展有限公司 一种识别用户检索意图的搜索方法和系统
US20140136212A1 (en) 2012-11-14 2014-05-15 Electronics And Telecommunications Research Institute Spoken dialog system based on dual dialog management using hierarchical dialog task library
JP2016156845A (ja) 2015-02-23 2016-09-01 Kddi株式会社 ユーザ対話システムと共にユーザ操作を支援する対話支援プログラム、サーバ及び方法

Family Cites Families (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1123012A (en) 1914-01-07 1914-12-29 John A Roby Rain-signal.
JPH07234694A (ja) * 1994-02-21 1995-09-05 N T T Data Tsushin Kk 自動受付装置
CA2176165A1 (en) 1995-05-19 1996-11-20 Hosagrahar Visvesvaraya Jagadish Method for querying incrementally maintained transactional databases
US8903950B2 (en) 2000-05-05 2014-12-02 Citrix Systems, Inc. Personalized content delivery using peer-to-peer precaching
JP3949356B2 (ja) 2000-07-12 2007-07-25 三菱電機株式会社 音声対話システム
US7181492B2 (en) 2000-10-17 2007-02-20 Concerto Software, Inc. Transfer of an internet chat session between servers
US20020152463A1 (en) 2000-11-16 2002-10-17 Dudkiewicz Gil Gavriel System and method for personalized presentation of video programming events
US20020129010A1 (en) * 2000-12-14 2002-09-12 Pascale Fung System and method for processing user input from a variety of sources
US7096262B2 (en) 2001-03-22 2006-08-22 Intel Corporation Apparatus and method for asymmetric electronic commerce transactions
EP1393224A4 (en) * 2001-04-30 2005-10-05 Goldman Sachs & Co UNIVERSAL INTERFACE FOR A SYSTEM OF FINANCIAL EXCHANGES
US7516208B1 (en) 2001-07-20 2009-04-07 International Business Machines Corporation Event database management method and system for network event reporting system
US7287057B2 (en) 2001-11-15 2007-10-23 International Business Machines Corporation Accessing information using an instant messaging system
US7225232B2 (en) * 2002-03-28 2007-05-29 Nortel Networks Limited, Using existing web-based information to generate responses to user queries
US8856236B2 (en) 2002-04-02 2014-10-07 Verizon Patent And Licensing Inc. Messaging response system
CA2493302C (en) 2002-07-19 2016-09-06 M-Qube, Inc. Integrated interactive messaging system and method
US7565425B2 (en) 2003-07-02 2009-07-21 Amazon Technologies, Inc. Server architecture and methods for persistently storing and serving event data
US7277895B2 (en) 2003-08-22 2007-10-02 Ora International, Inc. System and method of parsing a template for generating presentation data
US7454469B2 (en) 2003-12-22 2008-11-18 International Business Machines Corporation Method and system for instant messaging Bots specification using state transition methodology and XML
US7496500B2 (en) 2004-03-01 2009-02-24 Microsoft Corporation Systems and methods that determine intent of data and respond to the data based on the intent
US7747601B2 (en) 2006-08-14 2010-06-29 Inquira, Inc. Method and apparatus for identifying and classifying query intent
EP1741227A1 (en) 2004-04-21 2007-01-10 Koninklijke Philips Electronics N.V. System and method for managing threads in a network chat environment
US7464141B2 (en) 2004-06-30 2008-12-09 Scencera Technologies, Llc Method and system for associating related messages of different types
US20060021004A1 (en) 2004-07-21 2006-01-26 International Business Machines Corporation Method and system for externalized HTTP authentication
US8103723B1 (en) 2004-10-07 2012-01-24 Google Inc. Message server that retains messages deleted by one client application for access by another client application
CN100426879C (zh) 2004-11-26 2008-10-15 腾讯科技(深圳)有限公司 无线通信终端与互联网消息处理器交互的实现方法
US20060136298A1 (en) 2004-12-16 2006-06-22 Conversagent, Inc. Methods and apparatus for contextual advertisements in an online conversation thread
US7356567B2 (en) 2004-12-30 2008-04-08 Aol Llc, A Delaware Limited Liability Company Managing instant messaging sessions on multiple devices
US9497600B2 (en) 2005-10-28 2016-11-15 Hewlett Packard Enterprise Development Lp Service chaining
US20070174246A1 (en) 2006-01-25 2007-07-26 Sigurdsson Johann T Multiple client search method and system
JP4961146B2 (ja) 2006-02-20 2012-06-27 株式会社日立製作所 負荷分散方法およびシステム
US7503007B2 (en) 2006-05-16 2009-03-10 International Business Machines Corporation Context enhanced messaging and collaboration system
US7814048B2 (en) 2006-08-14 2010-10-12 Microsoft Corporation Knowledge extraction from online discussion forums
WO2008022829A1 (fr) 2006-08-22 2008-02-28 France Telecom Procédé de gestion d'une session de transfert sécurisée au travers d'un dispositif de translation d'adresse, serveur et programme d'ordinateur correspondants
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US7996855B2 (en) 2006-09-15 2011-08-09 Oracle International Corporation Personal messaging application programming interface for integrating an application with groupware systems
US7921214B2 (en) 2006-12-19 2011-04-05 International Business Machines Corporation Switching between modalities in a speech application environment extended for interactive text exchanges
US8331351B2 (en) 2007-01-05 2012-12-11 International Business Machines Corporation Communicating with session initiation protocol (SIP) application sessions using a message-oriented middleware system
US7716281B2 (en) 2007-02-12 2010-05-11 Oomble, Inc. Method and system for transferring content from the web to mobile devices
JP2008234427A (ja) * 2007-03-22 2008-10-02 Toshiba Corp ユーザ間の対話を支援する装置、方法およびプログラム
WO2008130709A2 (en) * 2007-04-20 2008-10-30 Tekelec Systems, methods, and computer program products for providing service interaction and mediation in a communications network
US7286661B1 (en) 2007-05-01 2007-10-23 Unison Technologies Llc Systems and methods for scalable hunt-group management
US8040921B2 (en) 2007-06-15 2011-10-18 Sony Ericsson Mobile Communications Ab Method and apparatus for controlling the transfer of private information in a communication system
JP4885070B2 (ja) 2007-06-19 2012-02-29 ヤフー株式会社 チャットボットシステム
US8543565B2 (en) 2007-09-07 2013-09-24 At&T Intellectual Property Ii, L.P. System and method using a discriminative learning approach for question answering
US20100004004A1 (en) * 2008-07-02 2010-01-07 William Browne-Swinburne System and Method for Matching User Preferences to Places of Interest
US8583810B2 (en) 2008-01-04 2013-11-12 Red Hat, Inc. Session affinity cache and manager
CN101262494A (zh) 2008-01-23 2008-09-10 华为技术有限公司 对发布信息进行处理的方法、客户端、服务器和系统
US20090234924A1 (en) 2008-03-14 2009-09-17 Microsoft Corporation Automatic Association of Messages with Conversations
US9152722B2 (en) 2008-07-22 2015-10-06 Yahoo! Inc. Augmenting online content with additional content relevant to user interest
JP2010039878A (ja) 2008-08-07 2010-02-18 Hitachi Ltd ログ管理システムおよびログ表示システム
US9519885B2 (en) 2008-10-03 2016-12-13 The Curators Of The University Of Missouri System and method for linking a web-based resource with an electronic medical record
US8260637B2 (en) 2008-10-03 2012-09-04 The Curators Of The University Of Missouri System and method for linking a web-based resource with an electronic medical record
CN102710543A (zh) 2008-12-31 2012-10-03 北京华旗资讯数码科技有限公司 一种包括三维装置的互动即时通讯装置和系统
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US8554567B2 (en) 2009-08-21 2013-10-08 Voxeo Corporation Multi-channel interactive self-help application platform and method
US8948057B2 (en) 2009-12-15 2015-02-03 At&T Intellectual Property I, L.P. Securing uniform resource identifier information for multimedia calls
US8676565B2 (en) 2010-03-26 2014-03-18 Virtuoz Sa Semantic clustering and conversational agents
US8832025B2 (en) * 2010-05-27 2014-09-09 Hitachi, Ltd. Local file server transferring file to remote file server via communication network and storage system comprising those file servers
US9959325B2 (en) * 2010-06-18 2018-05-01 Nokia Technologies Oy Method and apparatus for supporting distributed deductive closures using multidimensional result cursors
US20120042016A1 (en) 2010-08-10 2012-02-16 Google Inc. Exposing resource capabilities to web applications
US9361604B2 (en) 2010-09-23 2016-06-07 Avaya Inc. System and method for a context-based rich communication log
CN102469042B (zh) 2010-11-19 2016-01-20 中兴通讯股份有限公司 聊天会话发送输出消息和获取输出消息的方法及系统
US8943147B2 (en) 2010-12-15 2015-01-27 International Business Machines Corporation Sending a chat context to a recipient
US20120173566A1 (en) 2010-12-31 2012-07-05 Quora, Inc. Multi-functional navigation bar
US9495398B2 (en) * 2011-02-18 2016-11-15 International Business Machines Corporation Index for hybrid database
US8914446B2 (en) 2011-04-05 2014-12-16 Avaya Inc. IM continuation across SIP sessions and across clients for point-to-point and multi-user chat
MX2012011426A (es) * 2011-09-30 2013-04-01 Apple Inc Utilizar informacion de contexto para facilitar el procesamiento de comandos en un asistente virtual.
US20130103686A1 (en) * 2011-10-21 2013-04-25 Startup Productions, Llc Method and apparatus for interest matching, discovery, communication and collaboration
US8732810B2 (en) 2011-10-27 2014-05-20 Cellco Partnership IP push platform and connection protocol in a push notification framework
KR101402506B1 (ko) 2011-12-01 2014-06-03 라인 가부시키가이샤 인스턴트 메시징 어플리케이션을 이용한 대화형 정보제공 시스템 및 방법
WO2013089740A1 (en) 2011-12-15 2013-06-20 Intel Corporation Evolving metadata
US20150172228A1 (en) 2012-04-17 2015-06-18 George Zalepa Method and system for communicating information over a network
EP2839391A4 (en) 2012-04-20 2016-01-27 Maluuba Inc CONVERSATION AGENT
US20120296638A1 (en) * 2012-05-18 2012-11-22 Ashish Patwa Method and system for quickly recognizing and responding to user intents and questions from natural language input using intelligent hierarchical processing and personalized adaptive semantic interface
US9608831B2 (en) 2012-06-22 2017-03-28 Facebook, Inc. Migrating a chat message service provided by a chat server to a new chat server
CN102752388B (zh) 2012-06-29 2016-12-28 百度在线网络技术(北京)有限公司 基于浏览器的交互系统、方法、浏览器和云端服务器
US20150019537A1 (en) * 2012-09-07 2015-01-15 Splunk Inc. Generating Reports from Unstructured Data
US20140122619A1 (en) 2012-10-26 2014-05-01 Xiaojiang Duan Chatbot system and method with interactive chat log
US20140122618A1 (en) 2012-10-26 2014-05-01 Xiaojiang Duan User-aided learning chatbot system and method
US20140122083A1 (en) 2012-10-26 2014-05-01 Duan Xiaojiang Chatbot system and method with contextual input and output messages
KR20140054481A (ko) 2012-10-26 2014-05-09 삼성전자주식회사 전자장치에서 메시지 대화를 위한 방법 및 장치
US9356574B2 (en) * 2012-11-20 2016-05-31 Karl L. Denninghoff Search and navigation to specific document content
EP2929502A4 (en) 2012-12-07 2016-06-01 Greeneden Us Holdings Ii Llc CHANNEL INTERACTIONS WITH CONTEXTUAL CONVERSION BETWEEN CHANNELS
JP6590481B2 (ja) * 2012-12-07 2019-10-16 キヤノン電子株式会社 ウイルス侵入経路特定装置、ウイルス侵入経路特定方法およびプログラム
US9940605B2 (en) 2013-02-05 2018-04-10 Facebook, Inc. Inferring web preferences from mobile
US9875494B2 (en) * 2013-04-16 2018-01-23 Sri International Using intents to analyze and personalize a user's dialog experience with a virtual personal assistant
JP5945242B2 (ja) * 2013-04-30 2016-07-05 日本電信電話株式会社 品質監視装置、品質監視方法及びプログラム
US9946757B2 (en) * 2013-05-10 2018-04-17 Veveo, Inc. Method and system for capturing and exploiting user intent in a conversational interaction based information retrieval system
US20150039675A1 (en) 2013-07-31 2015-02-05 Microsoft Corporation Messaging over http protocol for data exchange
US9961125B2 (en) 2013-07-31 2018-05-01 Microsoft Technology Licensing, Llc Messaging API over HTTP protocol to establish context for data exchange
WO2015030796A1 (en) * 2013-08-30 2015-03-05 Intel Corporation Extensible context-aware natural language interactions for virtual personal assistants
EP3049961A4 (en) * 2013-09-25 2017-03-22 Intel Corporation Improving natural language interactions using emotional modulation
US9015730B1 (en) 2013-12-17 2015-04-21 International Business Machines Corporation Natural language access to application programming interfaces
AU2015250982A1 (en) 2014-04-24 2016-11-03 Barclays Bank Plc Instant messaging systems and methods
CN103944923A (zh) 2014-05-14 2014-07-23 沈文策 网络信息处理系统及方法
US11651242B2 (en) 2014-08-27 2023-05-16 International Business Machines Corporation Generating answers to text input in an electronic communication tool with a question answering system
US9705832B2 (en) 2014-08-27 2017-07-11 Lenovo (Singapore) Pte. Ltd. Context-aware aggregation of text-based messages
US20160086499A1 (en) * 2014-09-23 2016-03-24 Kaybus, Inc. Knowledge brokering and knowledge campaigns
US10116596B2 (en) 2014-09-29 2018-10-30 International Business Machines Corporation Personalizing data system components and data sources as chatbots in a group chat session
US20180302437A1 (en) 2014-11-13 2018-10-18 Cleafy S.r.l. Methods of identifying and counteracting internet attacks
US10437835B2 (en) * 2014-12-18 2019-10-08 International Business Machines Corporation Scoring attributes in a deep question answering system based on syntactic or semantic guidelines
CN104735066B (zh) 2015-03-18 2018-10-16 百度在线网络技术(北京)有限公司 一种面向网页应用的单点登录方法、装置和系统
US9608975B2 (en) 2015-03-30 2017-03-28 Shape Security, Inc. Challenge-dynamic credential pairs for client/server request validation
CN104811488B (zh) 2015-04-13 2018-09-25 深信服网络科技(深圳)有限公司 基于负载均衡设备的会话保持方法及系统和负载均衡设备
US9798818B2 (en) 2015-09-22 2017-10-24 International Business Machines Corporation Analyzing concepts over time
US20170289070A1 (en) * 2016-03-30 2017-10-05 Microsoft Technology Licensing, Llc Making a Dialogue Available To an Autonomous Software Agent
US10606848B2 (en) 2016-04-11 2020-03-31 Facebook, Inc. Techniques for device configuration using messaging history information
US10574465B2 (en) 2016-05-18 2020-02-25 Apple Inc. Electronic subscriber identity module (eSIM) eligibility checking
US10270864B2 (en) 2016-06-21 2019-04-23 Oracle International Corporation Internet cloud-hosted natural language interactive messaging system server collaboration
JP6952060B2 (ja) 2016-06-21 2021-10-20 オラクル・インターナショナル・コーポレイション インターネットクラウドでホストされる自然言語による対話型メッセージングシステムユーザリゾルバ
JP7068195B2 (ja) 2016-06-21 2022-05-16 オラクル・インターナショナル・コーポレイション インターネットクラウドでホストされる自然言語による対話型メッセージングシステムセッション化部
EP3513308A1 (en) 2016-09-16 2019-07-24 Oracle International Corporation Internet cloud-hosted natural language interactive messaging system with entity-based communication
US10693856B2 (en) 2017-08-08 2020-06-23 Fmr Llc Automatic authentication switching in online live chat applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8238891B1 (en) 2008-05-01 2012-08-07 Wendy W. Tam Method and system for interactive delivery of data content to mobile devices
CN102880723A (zh) 2012-10-22 2013-01-16 深圳市宜搜科技发展有限公司 一种识别用户检索意图的搜索方法和系统
US20140136212A1 (en) 2012-11-14 2014-05-15 Electronics And Telecommunications Research Institute Spoken dialog system based on dual dialog management using hierarchical dialog task library
JP2016156845A (ja) 2015-02-23 2016-09-01 Kddi株式会社 ユーザ対話システムと共にユーザ操作を支援する対話支援プログラム、サーバ及び方法

Also Published As

Publication number Publication date
JP2019533235A (ja) 2019-11-14
CN109690527A (zh) 2019-04-26
US20180083893A1 (en) 2018-03-22
JP2019537768A (ja) 2019-12-26
JP2022105106A (ja) 2022-07-12
US10616147B2 (en) 2020-04-07
WO2018052542A1 (en) 2018-03-22
EP3513308A1 (en) 2019-07-24
JP2019537767A (ja) 2019-12-26
CN109690535A (zh) 2019-04-26
JP6883650B2 (ja) 2021-06-09
EP3513309A1 (en) 2019-07-24
JP6917446B2 (ja) 2021-08-11
US20180083892A1 (en) 2018-03-22
CN109690535B (zh) 2023-07-28
WO2018052543A1 (en) 2018-03-22
CN109691036A (zh) 2019-04-26
CN109691036B (zh) 2021-03-19
CN109690527B (zh) 2023-05-02
EP3513307A1 (en) 2019-07-24
US10666582B2 (en) 2020-05-26
US11240179B2 (en) 2022-02-01
US20180081950A1 (en) 2018-03-22
WO2018052544A1 (en) 2018-03-22

Similar Documents

Publication Publication Date Title
JP7441650B2 (ja) エンティティベースの通信を有する、インターネットクラウドによってホストされた自然言語インタラクティブメッセージングシステム
US10497004B2 (en) Automating communications using an intent classifier
US10805386B2 (en) Reducing transmissions by suggesting digital content for display in a group-based communication interface
US20180075335A1 (en) System and method for managing artificial conversational entities enhanced by social knowledge
US20110125697A1 (en) Social media contact center dialog system
JP2019530908A (ja) インターネットクラウドでホストされる自然言語による対話型メッセージングシステムサーバ連携
US20190306209A1 (en) Contemporaneous feedback during web-conferences
US20230395076A1 (en) Methods and systems for application integration and macrosystem aware integration
US11677699B2 (en) Cognitive pre-loading of referenced content in electronic messages
US20210110110A1 (en) Interleaved conversation concept flow enhancement
CN111506908A (zh) 针对保险业的大数据推荐方法、系统以及设备
US20230196015A1 (en) Self-Disclosing Artificial Intelligence-Based Conversational Agents
US11960459B1 (en) Merging duplicate customer data
GB2477839A (en) A text mining and analysis system for contact centres to receive and return messages from different social networking sites for data collection, analysis and

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200716

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200716

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200807

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210716

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220427

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20220427

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220520

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220524

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20220701

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20220705

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20220906

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20221011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230912

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240219

R150 Certificate of patent or registration of utility model

Ref document number: 7441650

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150