JP2024518170A - メッセージベースのナビゲーション支援 - Google Patents

メッセージベースのナビゲーション支援 Download PDF

Info

Publication number
JP2024518170A
JP2024518170A JP2023568559A JP2023568559A JP2024518170A JP 2024518170 A JP2024518170 A JP 2024518170A JP 2023568559 A JP2023568559 A JP 2023568559A JP 2023568559 A JP2023568559 A JP 2023568559A JP 2024518170 A JP2024518170 A JP 2024518170A
Authority
JP
Japan
Prior art keywords
user
computing system
computing device
suggestions
message
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.)
Pending
Application number
JP2023568559A
Other languages
English (en)
Inventor
マシュー・シャリフィ
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2024518170A publication Critical patent/JP2024518170A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3605Destination input or retrieval
    • G01C21/362Destination input or retrieval received from an external device or application, e.g. PDA, mobile phone or calendar application
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0108Measuring and analyzing of parameters relative to traffic conditions based on the source of data
    • G08G1/0112Measuring and analyzing of parameters relative to traffic conditions based on the source of data from the vehicle, e.g. floating car data [FCD]
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0125Traffic data processing
    • G08G1/0129Traffic data processing for creating historical data or processing based on historical data
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/096805Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route
    • G08G1/096827Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route where the route is computed onboard
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/20Monitoring the location of vehicles belonging to a group, e.g. fleet of vehicles, countable or determined number of vehicles
    • G08G1/202Dispatching vehicles on the basis of a location, e.g. taxi dispatching

Abstract

ナビゲーション用の提案を生成するために着信通信を使用するための方法、システム、デバイス、および有形の非一時的コンピュータ可読媒体。開示される技術は、開始ロケーションから目的地までのナビゲーションに関連付けられた情報を含むルートデータにアクセスすることを含むことができる。ルートデータに基づいて、開始ロケーションから目的地までの1つまたは複数のルートが決定され得る。ユーザへの1つまたは複数のメッセージを含むメッセージデータにアクセスされ得る。メッセージデータおよび1つまたは複数の機械学習済みモデルに基づいて、1つまたは複数のメッセージに関連付けられた少なくとも1つのエンティティおよび目的が決定され得る。1つまたは複数のルート、少なくとも1つのエンティティ、および目的に基づいて、1つまたは複数のメッセージに関連付けられた提案が決定され得る。さらに、ユーザに宛てられた提案に関連付けられた指示を含む出力が、ユーザインターフェースを介して生成され得る。

Description

本開示は、一般に、ユーザナビゲーションを支援するために着信通信を使用することに関する。より詳細には、本開示は、メッセージをパースし、ナビゲーション中に関連する提案を生成するように構成された機械学習モデルを含むコンピューティングシステムの使用に関する。
ナビゲーション中のユーザ通信を容易にするために、様々なタイプのデバイスおよびアプリケーションが使用され得る。さらに、これらのデバイスおよびアプリケーションは異なるソースから情報を捕捉することがあり、次いで、その情報がユーザに提供される。着信通信は系統的とはいえないやり方で提供される比較的単純な命令を含み得るので、この情報を提供することはユーザにとっての追加の厄介な問題および注意散漫を生み出すことがある。
さらに、ユーザが何らかの他のタスクを実施するときに、情報が提供されることがある。たとえば、ユーザが運転している間に、交通状態または道路閉鎖に関する更新などの情報がユーザに提供されることがある。しかしながら、そのような更新は、しばしば、ユーザに直接関連しない、単純で一般的な性質のものである。さらに、ユーザは、運転している間に、より個人的に宛てられたメッセージを受信することがあるが、そのようなメッセージは、急いで書かれており、関連する情報を無関係な情報と区別するために慎重な読取りを必要とすることがある。加えて、そのようなメッセージは、ユーザの注意をそらし、ユーザの注意が他のことに引きつけられているときに複雑な対話を必要とすることがある。したがって、ナビゲーション中にユーザ向けの着信通信を処理するためにコンピューティングシステムを活用するより効果的な方法に対する需要が存在する。
本開示の実施形態の態様および利点は、以下の説明において部分的に記載されるか、または説明から学ぶことができるか、または実施形態の実践を通じて学ぶことができる。
本開示の1つの例示的な態様は、ナビゲーションのコンピュータ実装方法を対象とする。コンピュータ実装方法は、1つまたは複数のプロセッサを備えるコンピューティングシステムによって、開始ロケーションから目的地までのナビゲーションに関連付けられた情報を含むルートデータにアクセスすることを含むことができる。コンピュータ実装方法は、コンピューティングシステムによって、ルートデータに少なくとも部分的に基づいて、開始ロケーションから目的地までの1つまたは複数のルートを決定することを含むことができる。コンピュータ実装方法は、コンピューティングシステムによって、ユーザに関連付けられた1つまたは複数のメッセージを含むメッセージデータにアクセスすることを含むことができる。コンピュータ実装方法は、コンピューティングシステムによって、メッセージデータおよび1つまたは複数の機械学習済みモデルに少なくとも部分的に基づいて、1つまたは複数のメッセージに関連付けられた少なくとも1つのエンティティおよび1つまたは複数の目的を決定することを含むことができる。コンピュータ実装方法は、コンピューティングシステムによって、1つまたは複数のルート、少なくとも1つのエンティティ、および1つまたは複数の目的に少なくとも部分的に基づいて、1つまたは複数のメッセージに関連付けられた1つまたは複数の提案を生成することを含むことができる。さらに、動作は、コンピューティングシステムによって、ユーザインターフェースを介して、ユーザに宛てられた1つまたは複数の指示を含む出力を生成することを含むことができる。1つまたは複数の指示は、1つまたは複数の提案に関連付けられ得る。
本開示の別の例示的な態様は、コンピュータ可読命令を記憶する1つまたは複数の有形の非一時的コンピュータ可読媒体を対象とし、コンピュータ可読命令は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに動作を実施させる。動作は、開始ロケーションから目的地までのナビゲーションに関連付けられた情報を含むルートデータにアクセスすることを含むことができる。動作は、ルートデータに少なくとも部分的に基づいて、開始ロケーションから目的地までの1つまたは複数のルートを決定することを含むことができる。動作は、ユーザに関連付けられた1つまたは複数のメッセージを含むメッセージデータにアクセスすることを含むことができる。動作は、メッセージデータおよび1つまたは複数の機械学習済みモデルに少なくとも部分的に基づいて、1つまたは複数のメッセージに関連付けられた少なくとも1つのエンティティおよび1つまたは複数の目的を決定することを含むことができる。動作は、1つまたは複数のルート、少なくとも1つのエンティティ、および1つまたは複数の目的に少なくとも部分的に基づいて、1つまたは複数のメッセージに関連付けられた1つまたは複数の提案を生成することを含むことができる。さらに、動作は、ユーザインターフェースを介して、ユーザに宛てられた1つまたは複数の指示を含む出力を生成することを含むことができる。1つまたは複数の指示は、1つまたは複数の提案に関連付けられ得る。
本開示の別の例示的な態様は、1つまたは複数のプロセッサと、命令を記憶する1つまたは複数の非一時的コンピュータ可読媒体とを備えるコンピューティングシステムを対象とし、命令は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに動作を実施させる。動作は、開始ロケーションから目的地までのナビゲーションに関連付けられた情報を含むルートデータにアクセスすることを含むことができる。動作は、ルートデータに少なくとも部分的に基づいて、開始ロケーションから目的地までの1つまたは複数のルートを決定することを含むことができる。動作は、ユーザに関連付けられた1つまたは複数のメッセージを含むメッセージデータにアクセスすることを含むことができる。動作は、メッセージデータおよび1つまたは複数の機械学習済みモデルに少なくとも部分的に基づいて、1つまたは複数のメッセージに関連付けられた少なくとも1つのエンティティおよび1つまたは複数の目的を決定することを含むことができる。動作は、1つまたは複数のルート、少なくとも1つのエンティティ、および1つまたは複数の目的に少なくとも部分的に基づいて、1つまたは複数のメッセージに関連付けられた1つまたは複数の提案を生成することを含むことができる。さらに、動作は、ユーザインターフェースを介して、ユーザに宛てられた1つまたは複数の指示を含む出力を生成することを含むことができる。1つまたは複数の指示は、1つまたは複数の提案に関連付けられ得る。
本開示の他の態様は、様々なシステム、装置、非一時的コンピュータ可読媒体、ユーザインターフェース、および電子デバイスを対象とする。
本開示の様々な実施形態のこれらおよび他の特徴、態様、および利点は、以下の説明および添付の特許請求の範囲を参照すると、より良く理解されよう。本明細書に組み込まれ、本明細書の一部を構成する添付の図面は、本開示の例示的な実施形態を示し、この説明とともに、関連する原理を説明するのに役立つ。
当業者を対象とする実施形態の詳細な説明が本明細書に記載され、本明細書は添付の図を参照する。
本開示の例示的な実施形態による、ナビゲーション用の提案のメッセージベースの生成に関連付けられた動作を実施する例示的なコンピューティングシステムのブロック図である。 本開示の例示的な実施形態による、ナビゲーション用の提案のメッセージベースの生成に関連付けられた動作を実施するコンピューティングデバイスの一例のブロック図である。 本開示の例示的な実施形態による、ナビゲーション用の提案のメッセージベースの生成に関連付けられた動作を実施する例示的なコンピューティングデバイスのブロック図である。 本開示の例示的な実施形態による1つまたは複数の機械学習済みモデルの一例のブロック図である。 本開示の例示的な実施形態によるユーザコンピューティングデバイスの一例を示す図である。 本開示の例示的な実施形態による提案生成システムの一例を示す図である。 本開示の例示的な実施形態による提案生成システムの一例を示す図である。 本開示の例示的な実施形態による提案生成システムの一例を示す図である。 本開示の例示的な実施形態による提案生成システムの一例を示す図である。 本開示の例示的な実施形態による提案生成システムの一例を示す図である。 本開示の例示的な実施形態による、ナビゲーション用の提案のメッセージベースの生成の流れ図である。 本開示の例示的な実施形態による、ナビゲーション用の提案のメッセージベースの生成の流れ図である。 本開示の例示的な実施形態による、ナビゲーション用の提案のメッセージベースの生成の流れ図である。 本開示の例示的な実施形態による、ナビゲーション用の提案のメッセージベースの生成の流れ図である。 本開示の例示的な実施形態による、ナビゲーション用の提案のメッセージベースの生成の流れ図である。 本開示の例示的な実施形態による、ナビゲーション用の提案のメッセージベースの生成の流れ図である。 本開示の例示的な実施形態による、ナビゲーション用の提案のメッセージベースの生成の流れ図である。
複数の図にわたって繰り返される参照番号は、様々な実装形態において同じ特徴を識別することが意図されている。
本開示の例示的な態様は、ユーザに送られた通信に基づいてナビゲーション提案を生成することができるコンピューティングシステムを対象とする。特に、開示される技術は、メッセージの内容から決定されるエンティティおよび目的に基づいて、ナビゲーション用の提案を生成することができる。さらに、開示される技術は、ナビゲーションにおいて使用するためのより良い提案を提供するために、自然言語処理技法を採用してメッセージから有用なセマンティックおよびコンテキスト情報を抽出する機械学習済みモデルの使用を活用することができる。
たとえば、ユーザは友人からのメッセージを受信することができ、そのメッセージは、友人が以前に同意したピックアップロケーションとは異なるロケーションに迎えに来てもらいたいと思っていることを示している。開示される技術のコンピューティングシステムは、メッセージをパースし、メッセージがユーザの友人からのものであり、メッセージの目的がピックアップロケーションの更新を要求することであると決定することができる。さらに、エンティティおよび目的に基づいて、開示される技術は、新しいピックアップロケーションをユーザに提案し、ユーザが新しいピックアップロケーションに友人を迎えに行くことを確認する選択肢をユーザに与える、提案を生成することができる。さらに、開示される技術は、ユーザインターフェースを介して、新しいピックアップロケーションを含む更新されたルートを生成し、更新されたルートをユーザに与えることができる。したがって、開示される技術は、ユーザがユーザとの通信に基づく関連する提案を与えられる、改善されたナビゲーションを可能にする。さらに、開示される技術は、ユーザが、着信通信を読むことおよび解釈することなどの他のタスクに注意をそらすことなしに、ナビゲーションタスクに集中することを可能にする。したがって、開示される技術は、ユーザの注意散漫の低減によって向上した安全運転を提供する方法で、着信通信を処理する。さらに、ユーザとの通信に基づいて提案を与えることによって達成される改善されたナビゲーションは、道程がより短くかつより効率的になり(たとえば、更新された目的地により直接的に移動する)、それによって、道程時間、燃料使用、および車両排気を低減することができることを意味する。
例として、開示される技術は、ユーザ(たとえば、スマートフォン、車載コンピューティングシステム、および/または車載ナビゲーションシステムなどのナビゲーションデバイスを操作するユーザ)によってナビゲートされている1つまたは複数のルートとユーザに送られるメッセージ(たとえば、テキストメッセージ)の組合せを使用して、メッセージおよび/またはユーザによってナビゲートされている1つもしくは複数のルートに関係する提案を生成することができる。機械学習済みモデルとヒューリスティックの何らかの組合せを使用して、メッセージのエンティティおよび目的が決定され、ユーザに対する提案を生成するために使用され得る。たとえば、コンピューティングシステムは、ユーザが使用している車両のオーディオシステムを介して、メッセージへの提案された応答を提供することができる。提案に応答して、ユーザは、提案に基づいて動作を実施するようにコンピューティングシステムに命令することができる。たとえば、提案に基づいて、ユーザは、ルート更新を確認するか、またはメッセージへの応答が送られるべきであることを確認することができる。したがって、開示される技術は、着信通信とのユーザの対話を容易にし、手作業でルートを変更するかまたはメッセージへの応答を作成する負担のいくらかを低減する。
いくつかの実施形態では、開示される技術は、目的地とナビゲーションが始まるべきであることを示すための入力とを提供することによって、ナビゲーションセッションを開始することができる。次いで、コンピューティングシステムは、ユーザのために生成されるルートの開始ロケーションとして、ユーザの現在のロケーションを使用することができる。さらに、ユーザの入力は、ユーザの意図された目的地を決定する際に有用であり得る、以前に受信されたメッセージのコンテキストにおいて分析され得る。たとえば、コンピューティングシステムは、ユーザによるルートの作成を容易にするために、以前の提案されたルートをユーザに提供し得る。
1つまたは複数のルートは、オンデバイスでまたはリモートで(たとえば、リモートサーバコンピューティングデバイス上で)決定されてもよく、ユーザが移動するときにユーザをガイドするターンバイターン命令を含むことができる。ユーザが移動するとき、コンピューティングシステムは、様々なメッセージングチャネル(たとえば、SMS、インスタントメッセージングアプリケーション)を介してメッセージを受信し得る。たとえば、コンピューティングシステムは、着信メッセージを検出する通知リスナーを含むナビゲーションアプリケーションを動作させることができる。通知リスナーの動作は、リスナーが操作することを許可されたアプリケーションおよび通知リスナーが動作可能である回数を決定することができるユーザコンテンツに基づいて規制され得る。たとえば、ユーザはまた、ユーザが車両内に独りでいるとき、または他の信頼できる個人がいる場合にのみ、リスナーを有効化するかまたは制限することを選んでもよい。このようにして、ユーザは改善されたプライバシーおよびセキュリティを提供される。
メッセージが受信されたとき、メッセージは、メッセージに関連付けられたエンティティおよび/または目的を決定するために使用され得る1つまたは複数のオンデバイス機械学習済みモデル(たとえば、自然言語理解(NLU:natural language understanding)モデル)によって処理され得る。NLUモデル(たとえば、ディープニューラルネットワーク)は、エンティティおよび/または目的を含む様々な属性を検出するかつ/または認識するように構成されかつ/またはトレーニングされ得る。エンティティは、地理的ロケーション、住所、場所の名前、および/または人名を含むことができる。さらに、人名を含むいくつかのエンティティは、メッセージの送信者に基づいて暗黙的であってもよい。エンティティはまた、ロケーションおよび/または他のタイプのエンティティにマッピングされ得る。たとえば、「終わったら職場に私を迎えに来てくれる?(CAN YOU PICK ME UP FROM WORK WHEN YOU'RE DONE?)」と示すメッセージは、メッセージの送信者の職場住所に関連付けられ得る。オンデバイス機械学習済みモデルの使用は、メッセージテキストを外部サーバに送ることが回避され、それによって、プライバシーを改善し、通信ネットワーク使用を低減することができることを意味する。
目的は、メッセージに関連付けられた目的を含むことができる。たとえば、目的は、中間地点(たとえば、新しいピックアップロケーション)を追加するかまたは目的地を変更するという要求を含むことができる。さらに、目的は、1つまたは複数のルートを修正するという要求に付随していない情報(たとえば、ユーザの現在のロケーション、推定到着時間、またはステータス)を求める要求に関連付けられてもよく、かつ/またはそのような要求を含んでもよい。情報に関連する目的の場合、副目的は、要求されている情報のタイプをより正確に捕捉してもよい。たとえば、メッセージの重要度は、メッセージが純粋に情報に関連するものとして(たとえば、フィードバックを求める要求またはユーザの側でのさらなるアクションなしに)提供されるかまたはさらなるレベルのユーザ関与を必要とするユーザからのフィードバックを要求するものとして提供されるかを決定し得る。
いくつかの実施形態では、目的は、メッセージの送信者の1つまたは複数の意図の客観的に決定された推論および/または予測に関連付けられ得る。さらに、目的の決定は、ユーザの意図がメッセージ内の一定のキーワードおよび/またはキーフレーズの形態で客観的に表されることをユーザが明確に示す、ユーザからの目的フィードバックに少なくとも部分的に基づき得る。
いくつかの実施形態では、メッセージの重要度の測度は、メッセージがユーザが通過している1つまたは複数のルートに関連付けられるかどうかに少なくとも部分的に基づき得る。たとえば、ユーザが通過しているルートへの言及(たとえば、ユーザがメッセージ送信者のところに到着するまでにどのくらいの間ルートを移動するかを指す「いつここに着く?(WHEN WILL YOU GET HERE?)」)を含むメッセージは、ユーザが通過しているルートに関連付けられていないメッセージ(たとえば、「試験でAを取った!(I GOT AN A ON MY EXAM!)」)よりも重要であると決定され得る。
トリガリングモデル(または1つもしくは複数のヒューリスティック)は、機械学習済みモデルの出力を処理するために使用されてもよく、ユーザに対する提案を生成することができる。目的の場合、トリガリングモデルは、ルーティング動作(たとえば、目的地を更新するかまたは中間地点を追加するための動作)用のパラメータとして使用され得る、抽出されたロケーションエンティティを使用することができる。さらに、目的は、副目的タイプ(たとえば、メッセージ重要度)および現在のナビゲーションステータス(たとえば、ユーザの現在のロケーション)に少なくとも部分的に基づき得る。
加えて、目的は純粋に情報に関連するものであると決定されてもよく、その場合、追加のパラメータは必要とされない。さらに、しきい値は、メッセージに関連付けられた重要度のレベルに適用されてもよく、また、特定の送信者からの他のメッセージが伝播されるべきかどうかの決定があったかどうかに少なくとも部分的に基づいてもよい。トリガリングモデルは、他のコンテキスト情報を使用してもよく、たとえば、ユーザが取り入れやすいメッセージのより簡潔なサマリーの一部として送られた、メッセージの部分を使用することができる。トリガリングモデルの出力に基づいて、開示される技術は、ユーザに対する提案を生成することができる。目的のタイプに応じて、提案は、フィードバックを求める要求なしに(たとえば、純粋に情報に関連する提案)またはユーザからのフィードバックを求める要求に付随して(たとえば、提案される行動の確認を求める要求)ユーザに提供されてもよい。
ナビゲーションパラメータに対する変更が提案されるとき、ユーザは確認を求められることがある。応答して、ユーザは、提案を確認するかまたは拒否する、触覚フィードバック、ジェスチャーフィードバック、および/または口頭フィードバックを提供することができる。たとえば、ユーザは、ナビゲーションアプリケーションのユーザインターフェース上で提供されるインターフェース要素をタップすることによって、提案を確認することができる。ユーザによる確認を受信すると、ルートパラメータ(たとえば、目的地)が更新され得る。ユーザが提案を拒否した場合、ルートは変化しないままである。いずれの場合も、ユーザのフィードバックは、機械学習モデルおよび/またはトリガリングモデルをトレーニングするために使用され得る入力として使用され得る。このようにして、開示される技術は、各個人ユーザの選好に合わせてより細かく調整され得る。
したがって、開示される技術は、ユーザへの着信通信に基づくナビゲーション用の提案をユーザに提供することによって、ユーザ体験を改善することができる。さらに、開示される技術は、メッセージが受信され、開示される技術が受信されたメッセージに基づいてユーザのナビゲーションを支援するための提案を生成する、継続的なおよび/またはガイド付きの人間機械対話プロセスによって、あるロケーションから別のロケーションまでのナビゲーションの技術タスクをより効果的にかつ/または安全に実施する際にユーザを支援することができる。
開示される技術は、データにアクセスすることと、データに対して動作を実施する(たとえば、メッセージに関連付けられたエンティティおよび目的を決定する)ことと、コンピューティングシステムのユーザに宛てられ得るナビゲーション用の提案を含む出力を生成することとを行うように構成されたコンピューティングシステム(たとえば、ナビゲーションコンピューティングシステム)において実装され得る。さらに、コンピューティングシステムは、受信されたメッセージに関連付けられたエンティティおよび目的に基づいて提案を含む様々な出力を生成するように構成されている1つまたは複数の機械学習済みモデルを活用することができる。コンピューティングシステムは、車両(たとえば、車載ナビゲーションシステム)に、かつ/または、ユーザのクライアントコンピューティングデバイス(たとえば、スマートフォン)から開始ロケーション(たとえば、ユーザの現在のロケーション)および目的地を含むロケーションのセットに関連付けられたデータを受信し、データに基づいて動作を実施し、ナビゲーション用の提案を含む出力をクライアントコンピューティングデバイスに送り返すサーバコンピューティングデバイスを含むシステムの一部として含まれ得る。クライアントコンピューティングデバイスは、たとえば、提案をユーザに告知し、提案に応答してユーザフィードバックを受信するように構成され得る。
コンピューティングシステムは、ルートデータを含むことができるデータにアクセスし、そのデータを受信し、取得し、かつ/または取り出すことができる。ルートデータは、1つまたは複数のロケーションに関連付けられた情報を含むことができる。さらに、ルートデータは、開始ロケーションから目的地までのナビゲーションに関連付けられ得る。たとえば、ルートデータは、1つまたは複数のルートに沿った1つまたは複数のロケーションにそれぞれ関連付けられた、緯度、経度、および/または高度のセットを含むことができる。さらに、ルートデータは、1つもしくは複数のルートに沿ったおよび/または1つもしくは複数のルートを含む所定のエリア内の1つまたは複数のロケーションのいずれかに関連付けられた情報を含むことができる。いくつかの実施形態では、ルートデータは、あるロケーション(たとえば、開始ロケーション)から別のロケーション(たとえば、目的地)に移動するユーザ(たとえば、1つまたは複数の要求を行ったユーザ)に関連付けられたナビゲーションセッションを求める1つまたは複数の要求を含むことができる。
たとえば、ルートデータは、開始ロケーションおよび/または目的地を含む地理的エリアの1つまたは複数の地図に関連付けられた情報を含むことができる。たとえば、ルートデータは、1つまたは複数の道路(たとえば、街路、ハイウェイ、バスレーン、自転車道、および/または歩道)、水域(たとえば、海、湖、川、および/または池)、水路(たとえば、運河)、ビル(たとえば、オフィスビル、ショッピングセンター、居住用ビル、および/または住宅)、橋、トンネル、オーバーパス、および/またはアンダーパスの1つまたは複数のロケーションを示す地理的エリア(たとえば、都市または町)の1つまたは複数の地図を含むことができる。
さらに、ルートデータは、地理的エリア内にある1つもしくは複数の住所および/または1つもしくは複数のタグ付けされたロケーション(たとえば、ユーザまたは他の個人によってタグ付けされているロケーション)に関連付けられた情報を含むことができる。たとえば、1つもしくは複数の住所および/または1つもしくは複数のタグ付けされたロケーションは、ユーザのオフィスロケーション、ユーザの自宅住所、ユーザまたはユーザの仲間(たとえば、家族および/または友人)がよく行っている1つまたは複数のレストラン、ユーザまたはユーザの仲間がよく行っている1つまたは複数の店(たとえば、食品雑貨店、薬局、および/またはショッピングセンター)、ならびに/あるいはユーザまたはユーザの仲間が通う1つまたは複数の学校(たとえば、小学校、中等学校、および/または大学を含む中等教育後の学校)を含むことができる。
コンピューティングシステムは、開始ロケーション(たとえば、ユーザの現在のロケーション)から目的地(たとえば、ユーザが移動する先の、ユーザが選択したロケーション)までの1つまたは複数のルートを決定することができる。開始ロケーションから目的地までの1つまたは複数のルートは、ルートデータに少なくとも部分的に基づいて決定され得る。たとえば、コンピューティングシステムは、ルートデータにアクセスし、ユーザが開始ロケーションから目的地へ移動することを可能にする1つまたは複数の道路を決定することによって、開始ロケーションと目的地との間の1つまたは複数のルートを決定することができる。1つまたは複数のルートは、開始ロケーションから目的地までの単一のルート(たとえば、ルート)と、連続するかつ/または連続しない、重複するルート(たとえば、同じロケーションから始まり、一方のルートが終わり、他方のルートが他方のルートの終わりを越えて続くまで同じ経路を共有する2つのルート)、および/または、最後のルートが目的地で終わるまで、あるルートの終わりが次のルートの始まりを示す順序で配置されたルートの何らかの組合せとを含むことができる。
いくつかの実施形態では、1つまたは複数のルートは、1つもしくは複数のルートの距離を制約する1つもしくは複数の距離制約(たとえば、最大ルート距離)および/または1つもしくは複数のルートに沿った移動時間を制約する1つもしくは複数の時間制約(たとえば、最大移動時間)を含む、1つまたは複数のルート基準に少なくとも部分的に基づいて決定され得る。
コンピューティングシステムは、メッセージデータにアクセスし、そのデータを受信し、取得し、かつ/または取り出すことができる。メッセージデータは、ユーザ(たとえば、ナビゲーション用に使用されるコンピューティングデバイスのユーザ)に関連付けられた1つまたは複数のメッセージに関連付けられた情報を含むことができる。たとえば、メッセージデータは、ユーザによって受信された1つもしくは複数のメッセージ、ナビゲーションセッション(たとえば、ユーザによって開始されたナビゲーションセッションまたは車両を発進させることもしくはナビゲーションアプリケーションを開くことを含む何らかのトリガイベントに応答してコンピューティングシステムによって開始されたナビゲーションセッション)中に受信された1つもしくは複数のメッセージ、および/またはユーザから受信されたユーザ入力に少なくとも部分的に基づく1つもしくは複数のメッセージを含むことができる。さらなる例として、コンピューティングシステムは、コンピューティングシステム上で動作可能なメッセージングアプリケーション(たとえば、インスタントメッセージングアプリケーション)に送信されたメッセージデータにアクセスすることができる。さらに、コンピューティングシステムは、メッセージデータに含まれるメッセージ(たとえば、テキストメッセージ)、ならびに/またはメッセージの送信者の名前、メッセージの送信者のロケーション、および/もしくはメッセージが送られた時間に関連付けられたタイムスタンプを含むことができるメッセージデータのメタデータを含む情報にアクセスすることができる。
いくつかの実施形態では、メッセージデータは、1つもしくは複数のメッセージの送信者、1つもしくは複数のメッセージの送信者に関連付けられた個人、および/または1つもしくは複数のメッセージの受信者に関連付けられた個人を含む、少なくとも1つのエンティティに関連付けられた情報を含むことができる。たとえば、メッセージデータは、1つまたは複数のメッセージの送信者を識別するために使用され得る電話番号および/またはメタデータを含むことができる。さらに、メッセージデータは、ユーザと1つまたは複数のメッセージの送信者との1つまたは複数の共通の連絡先および/または共有される関係に関連付けられた情報を含むメタデータを含むことができる。
いくつかの実施形態では、1つまたは複数のメッセージは、1つまたは複数のテキストメッセージを含むことができる。1つまたは複数のメッセージは、たとえば、ユニコード(たとえば、UTF-8)および/またはASCIIを含む1つまたは複数の規格を使用して符号化され得る。さらに、1つまたは複数のメッセージは、インスタントメッセージングおよび/またはテキストメッセージングアプリケーションを使用してコンピューティングシステムに通信される1つまたは複数のショートメッセージサービス(SMS)メッセージを含むことができる。
コンピューティングシステムは、メッセージデータ(たとえば、1つもしくは複数のメッセージを含むメッセージデータ)および/またはルートデータ(たとえば、ユーザが通過する予定である1つもしくは複数のロケーションを含むルートデータ)に少なくとも部分的に基づいて、1つまたは複数のメッセージに関連付けられた少なくとも1つのエンティティおよび/または1つもしくは複数の目的を決定することができる。いくつかの実施形態では、少なくとも1つのエンティティおよび/または1つもしくは複数の目的の決定は、1つまたは複数の機械学習済みモデルに少なくとも部分的に基づき得る。たとえば、コンピューティングシステムは、入力にアクセスすることと、入力に対して1つまたは複数の動作を実施することと、少なくとも1つのエンティティおよび/または1つもしくは複数の目的を含む出力を生成することとを行うように構成されるかつ/またはトレーニングされる1つまたは複数の機械学習済みモデルへの入力の一部としてルートデータおよび/またはメッセージデータ(たとえば、メッセージデータに含まれる1つまたは複数のメッセージ)を使用することを含む、1つまたは複数の動作を実施することができる。
1つまたは複数の目的は、メッセージデータの1つまたは複数のメッセージの送信者が達成しようと試みている1つまたは複数の目的に関する推論を含むことができる。1つまたは複数の目的は、1つもしくは複数のメッセージを送ったと決定された少なくとも1つのエンティティのアイデンティティ、1つもしくは複数のメッセージが送られたロケーション、1つもしくは複数のメッセージの中にある1つもしくは複数のキーワード、および/または1つもしくは複数のメッセージの中にある1つもしくは複数のキーフレーズに少なくとも部分的に基づき得る。さらに、1つまたは複数の目的は、メッセージに関連付けられた重要度のレベルを含む要因に関連付けられた1つまたは複数の副目的を含むことができる。
いくつかの実施形態では、1つまたは複数の機械学習済みモデルは、メッセージデータに関連付けられた少なくとも1つのエンティティ(たとえば、メッセージの送信者および/またはメッセージ内で言及された任意の個人)を決定するために、メッセージデータおよび/またはルートデータを解析するかつ/またはパースするように構成されかつ/またはトレーニングされ得る。たとえば、少なくとも1つのエンティティは、人名、所在地住所、および/またはロケーションの名前を含むことができる。
さらに、1つまたは複数の機械学習済みモデルは、1つまたは複数のメッセージ中に存在し得る1つまたは複数の目的を決定するために、メッセージデータを分析するかつ/またはパースするように構成されかつ/またはトレーニングされ得る。いくつかの実施形態では、1つまたは複数の目的は、1つもしくは複数のルートを修正するという目的、情報をユーザに提供するという目的、および/またはユーザからの情報を要求するという目的を含むことができる。
いくつかの実施形態では、1つまたは複数の機械学習済みモデルは、1つまたは複数の自然言語処理技法に少なくとも部分的に基づいて少なくとも1つのエンティティおよび/または1つもしくは複数の目的を決定するように構成され得る。さらに、1つまたは複数の機械学習済みモデルは、ナビゲーション(たとえば、中間地点をルートに追加するかつ/またはピックアップロケーションもしくはドロップオフロケーションを変更する)に関係し得る少なくとも1つのエンティティおよび/または1つもしくは複数の目的を含む1つまたは複数のメッセージから意味論的内容を決定するかつ/または抽出するために、1つまたは複数の自然言語理解動作を実施することができる。加えて、1つまたは複数の機械学習済みモデルは、自然言語処理技法を使用して、1つまたは複数のメッセージのコンテキストを決定し、1つまたは複数のメッセージにおいて明確に述べられていないニュアンスおよび意味を捕捉することができる。たとえば、1つまたは複数の機械学習済みモデルは、メッセージ「7時に私を迎えに来て(PICK ME UP AT SEVEN)」を受信し、1つまたは複数の自然言語処理技法を使用して、「私を(ME)」がメッセージの送信者を指しており、「7時(SEVEN)」が時刻を指しており、メッセージが午後の3時に送られたので夜の7時を意味していると決定することができる。
いくつかの実施形態では、同じ機械学習済みモデルまたは機械学習済みモデルのセットが、少なくとも1つのエンティティおよび/または1つもしくは複数の目的を決定することができる。他の実施形態では、1つの機械学習済みモデルおよび/または機械学習済みモデルのセットが、少なくとも1つのエンティティを決定することができ、別の機械学習済みモデルまたは機械学習済みモデルのセットが、1つまたは複数の目的を決定することができる。さらに、1つまたは複数の機械学習済みモデルは、メッセージデータおよび/またはルートデータの1つまたは複数の部分を含む、メッセージデータおよび/またはルートデータの任意の組合せを使用することができる。たとえば、1つまたは複数の機械学習済みモデルは、ルートデータから抽出されたロケーションのセットを、そのロケーションのセット内のロケーションに関係し得るメッセージデータから抽出された1つまたは複数の目的を決定するための基礎として使用することができる。
コンピューティングシステムは、1つまたは複数のルート、ルートデータ、メッセージデータ、少なくとも1つのエンティティ、および/または1つもしくは複数の目的に少なくとも部分的に基づいて、1つまたは複数のメッセージに関連付けられた1つまたは複数の提案を生成することができる。たとえば、コンピューティングシステムは、入力を受信することと、入力に対して1つまたは複数の動作を実施することと、1つまたは複数の提案を含む出力を生成することとを行うように構成されるかつ/またはトレーニングされる1つまたは複数の機械学習済みモデルへの入力の一部として少なくとも1つのエンティティおよび/または1つもしくは複数の目的を使用することを含む、1つまたは複数の動作を実施することができる。さらに、1つまたは複数の機械学習済みモデルは、1つまたは複数の提案(たとえば、少なくとも1つのエンティティおよび1つまたは複数の目的に関連する1つまたは複数の提案)を生成するために、少なくとも1つのエンティティおよび/または1つもしくは複数の目的を分析するように構成されかつ/またはトレーニングされ得る。さらに、1つまたは複数の機械学習済みモデルは、少なくとも1つのエンティティおよび/または1つもしくは複数の目的の組合せからの意味論的内容の決定および/または抽出に少なくとも部分的に基づいて、1つまたは複数の提案を生成することができる。たとえば、ユーザの家族である少なくとも1つのエンティティとドロップオフロケーションを変更することを含む1つまたは複数の目的の組合せは、新しいドロップオフロケーションを含む更新されたルートを受け入れることを含む1つまたは複数の提案をもたらす場合がある。
いくつかの実施形態では、1つまたは複数の提案は、1つまたは複数のヒューリスティックを使用して(コンピューティングシステムによって)生成され得る。たとえば、コンピューティングシステムは、以前に決定された提案に関連付けられた1つまたは複数のメッセージの認識された部分をパースしたことに少なくとも部分的に基づいて、1つまたは複数の提案を生成することができる。たとえば、ユーザの配偶者からのメッセージが「あとどれくらい?(HOW MUCH LONGER?)」と示している場合、ヒューリスティックはルートデータにアクセスして、息子のロケーションへの推定到着時間を決定し、配偶者に送るべき提案された応答として提案「あと10分(IN TEN MINUTES)」を生成することができる。
1つまたは複数の提案は、本質的に情報に関連しており、ユーザからのフィードバックを要求しない、1つまたは複数の提案を含むことができる。フィードバックを要求しない1つまたは複数の提案は、1つまたは複数のメッセージを要約するメッセージサマリーを生成するために少なくとも1つのエンティティおよび1つまたは複数の目的を使用するメッセージサマリーを含むことができる。メッセージサマリーは、メッセージの送信者のアイデンティティ(たとえば、人名および/または肩書き)およびユーザによる1つまたは複数のメッセージの理解を容易にすることができる他の情報も含み得る、メッセージのより簡潔なバージョンであってもよい。
いくつかの実施形態では、1つまたは複数の提案を生成することは、少なくとも1つのエンティティが1つまたは複数の関係基準を満たすかどうかを決定することを含むことができる。1つまたは複数の関係基準は、少なくとも1つのエンティティ(たとえば、1つもしくは複数のメッセージの送信者および/または1つもしくは複数のメッセージ内で言及されたエンティティ)とユーザとの間の関係を定義することができる。たとえば、コンピューティングシステムは、少なくとも1つのエンティティのアイデンティティを決定し、そのアイデンティティをユーザの親しい仲間(たとえば、家族、友人、および/または親しい同僚)であると以前に決定された複数のアイデンティティと比較することができる。1つまたは複数の関係基準は、少なくとも1つのエンティティがユーザの親しい仲間である複数のアイデンティティのうちの少なくとも1つと一致することを含むことができる。さらに、1つまたは複数の関係基準は、少なくとも1つのエンティティがナビゲーションセッションおよび/またはルートに関連付けられた少なくとも1人の個人と一致することを含むことができる。ナビゲーションセッションおよび/またはルートに関連付けられた少なくとも1人の個人は、目的地、ピックアップロケーション、および/またはドロップオフロケーションに関連付けられた少なくとも1人の個人を含むことができる。たとえば、ユーザがドロップオフロケーションである目的地を有するルート上を移動する配送人である場合、1つまたは複数の提案は、ドロップオフロケーションにいる1人または複数の個人に関連付けられてもよい。
1つまたは複数の関係基準を満たすことは、少なくとも1つのエンティティが高優先度関係グループ(たとえば、ユーザの家族または友人である個人)に関連付けられること、少なくとも1つのエンティティが通信頻度しきい値(たとえば、週1回)を超える頻度でユーザと以前に通信していた個人であること、少なくとも1つのエンティティが通信量しきい値(たとえば、合計20回)を超える合計回数だけユーザと以前に通信していた個人であること、および/または、少なくとも1つのエンティティが1つもしくは複数のルートに関連付けられた個人(たとえば、ユーザからの荷物を受け取る個人もしくはユーザが迎えに来るのを待っている個人)であることを含むことができる。
さらに、コンピューティングシステムは、1つまたは複数の目的が1つまたは複数のルートを修正することに関連付けられるかどうかを決定することができる。コンピューティングシステムは、1つまたは複数の目的を分析し、1つまたは複数の目的のいずれかが、1つまたは複数のルートを修正することに関連付けられた1つもしくは複数のキーフレーズおよび/または1つもしくは複数のキーワードを含むかどうか、かつ/またはそれらに関連付けられるかどうかを決定することができる。たとえば、省略記号(「...」)が何らかのロケーションを表す「代わりに...に私を迎えに来て(PICK ME UP AT ... INSTEAD)」を含むフレーズは、1つまたは複数のルートを修正することに関連付けられると決定され得る。1つまたは複数の目的が1つまたは複数のルートを修正することに関連付けられた1つもしくは複数のキーフレーズおよび/または1つもしくは複数のキーワードの何らかの組合せに関連付けられるかつ/またはそれらを含む場合、コンピューティングシステムは、1つまたは複数の目的が1つまたは複数のルートを修正することに関連付けられると決定することができる。
いくつかの実施形態では、1つまたは複数のルートを修正するという1つまたは複数の要求は、少なくとも1つの中間地点を1つまたは複数のルートに追加するという要求、ピックアップロケーションを修正するという要求、ピックアップ時間を修正するという要求、ドロップオフロケーションを修正するという要求、ドロップオフ時間を修正するという要求、および/または1つもしくは複数のルートの目的地を修正するという要求を含むことができる。さらに、コンピューティングシステムは、1つまたは複数の自然言語処理技法を使用して、1つまたは複数の目的が1つまたは複数のルートを修正するという1つまたは複数の要求を含むかどうかを決定することができる。たとえば、「荷物を前に置かないで、裏口に届けてください(DON'T LEAVE THE PACKAGE IN FRONT DROP IT OFF AT THE BACK)」というフレーズは、メッセージを受信した配送運転手に対するドロップオフロケーションを修正するという要求に関連付けられると決定され得る。
少なくとも1つのエンティティが1つまたは複数の関係基準を満たすことおよび1つまたは複数の目的が1つまたは複数のルートを修正するという1つまたは複数の要求に関連付けられることに応答して、コンピューティングシステムは、1つまたは複数の提案が1つまたは複数のルートを修正することに関連付けられると決定することができる。たとえば、コンピューティングシステムは、1つまたは複数の提案が1つまたは複数のルートを修正するという1つまたは複数の要求に関連付けられると決定し、1つまたは複数のルートを修正することに関連付けられた1つまたは複数の提案(たとえば、1つまたは複数の目的に従ってピックアップロケーションを変更するという提案)を生成することができる。
いくつかの実施形態では、1つまたは複数の提案を生成することは、少なくとも1つのエンティティおよび/または1つもしくは複数の目的に関連付けられた重要度のレベル(たとえば、重要度の何らかの量(quantity)または量(amount))を決定することを含むことができる。たとえば、コンピューティングシステムは、少なくとも1つのエンティティのアイデンティティを決定し、そのアイデンティティをそれぞれ複数の重要度スコアに関連付けられた複数のアイデンティティと比較することができる。少なくとも1つのエンティティが複数のアイデンティティのうちの少なくとも1つと一致する場合、少なくとも1つのエンティティの重要度のレベルは重要度スコアと一致する。少なくとも1つのエンティティが複数のアイデンティティのうちのいずれとも一致しない場合、少なくとも1つのエンティティはデフォルトの重要度のレベル(たとえば、低い重要度のレベル)を割り当てられ得る。
重要度のレベルが重要度しきい値を超えることに応答して、コンピューティングシステムは、1つまたは複数の提案がユーザからのフィードバックを求める1つまたは複数の要求を含むものとすると決定することができる。コンピューティングシステムは、重要度のレベルを重要度しきい値と比較することができ、重要度のレベルが重要度しきい値を超える場合、コンピューティングシステムは、生成される1つまたは複数の提案がユーザからのフィードバックを求める1つまたは複数の要求を含むと決定することができる。たとえば、コンピューティングシステムは、ユーザからのフィードバックを要求する(たとえば、ルートに対する提案された更新を確認することをユーザに要求する)1つまたは複数の提案を生成することができる。さらに、重要度のレベルが重要度しきい値を超える場合、コンピューティングシステムは、1つまたは複数の提案に関連付けられた1つまたは複数の動作を実施するために、ユーザからのフィードバックを求める要求(たとえば、メッセージの送信者への提案された応答の送信を確認することをユーザに依頼する要求)を含む1つまたは複数の提案を生成することができる。
いくつかの実施形態では、ユーザからのフィードバックは、ユーザの音声を検出し、ユーザが何を言っているかを認識するように構成されたコンピューティングシステムのオーディオ入力構成要素(たとえば、マイクロフォン)への1つまたは複数のユーザ入力(たとえば、ユーザ発話)を介して受信され得る。次いで、コンピューティングシステムは、1つまたは複数の動作(たとえば、音声認識動作)を実施して、ユーザが話した言葉をパースし、コンピューティングシステムによって生成された出力に含まれるフィードバックを求める要求に応答して(たとえば、コンピューティングシステムが、1つまたは複数のメッセージに応答することに関連付けられ、ユーザが提案された応答で1つまたは複数のメッセージに応答したいかどうかをユーザに尋ねるフィードバックを求める要求を含む1つまたは複数の提案を生成する)ユーザによって提供されたフィードバックをユーザの言葉が含むかどうかを決定することができる。
重要度のレベルが重要度しきい値を超えないことに応答して、コンピューティングシステムは、1つまたは複数の提案がユーザからのフィードバックを求める1つまたは複数の要求を含まないものとすると決定することができる。コンピューティングシステムは、重要度のレベルを重要度しきい値と比較することができ、重要度のレベルが重要度しきい値を超えない場合、コンピューティングシステムは、生成される1つまたは複数の提案がユーザからのフィードバックを求める1つまたは複数の要求を含まないと決定することができる。たとえば、コンピューティングシステムは、本質的に純粋に情報に関連しており、ユーザフィードバックを要求しない、1つまたは複数の提案(たとえば、ある人物が相互に同意した時間にピックアップロケーションにいることを確認する情報を提供する提案)を生成することができる。
ユーザからのフィードバックを求める1つまたは複数の要求は、口頭フィードバックを求める要求(たとえば、1つまたは複数の提案に口頭で同意するようにユーザに依頼する合成音声を生成する)、触覚フィードバックを求める要求(たとえば、確認するために提案インターフェース要素をタップするようにユーザに依頼する、コンピューティングシステムのディスプレイデバイス上で生成されたユーザインターフェース要素)、および/またはジェスチャーフィードバックを求める要求(たとえば、1つもしくは複数の提案に同意することを示すために頷くかまたは1つもしくは複数の提案に同意しないことを示すために首を横に振るようにユーザに依頼する合成音声を生成する)を含むことができる。
いくつかの実施形態では、1つまたは複数の提案を生成することは、コンピューティングシステムが、1つまたは複数の目的が1つまたは複数のルートに関連付けられた移動ステータスを求める要求に関連付けられるかどうかを決定することを含むことができる。1つまたは複数のルートに関連付けられた移動ステータスは、ユーザのロケーションを求める要求(たとえば、「どこにいる?(WHERE ARE YOU?)」とユーザに尋ねるメッセージに関連付けられた要求)、ユーザが支援を必要とするかどうかを求める要求(たとえば、「助けが必要?(DO YOU NEED HELP?)」または「道に迷った?(ARE YOU LOST?)」とユーザに尋ねるメッセージに関連付けられた要求)、および/または1つもしくは複数のロケーション(たとえば、ピックアップロケーション、ドロップオフロケーション、および/または目的地を含む1つまたは複数のルートに沿ったロケーション)への推定到着時間(ETA)を求める要求を含むことができる。
たとえば、コンピューティングシステムは、1つまたは複数の目的を分析し、1つまたは複数の目的のいずれかが、推定到着時間を求める要求に関連付けられた1つもしくは複数のキーフレーズおよび/または1つもしくは複数のキーワードを含むかどうか、かつ/またはそれらに関連付けられるかどうかを決定することができる。たとえば、「いつ着く?(WHEN WILL YOU ARRIVE?)」または「あとどれくらい?(HOW MUCH LONGER?)」を含むフレーズは、推定到着時間を求める要求に関連付けられると決定され得る。1つまたは複数の目的が推定到着時間を要求することに関連付けられた1つもしくは複数のキーフレーズおよび/または1つもしくは複数のキーワードの何らかの組合せに関連付けられるかつ/またはそれらを含む場合、コンピューティングシステムは、1つまたは複数の目的が推定到着時間を要求することに関連付けられると決定することができる。
1つまたは複数の目的が1つまたは複数のルートに関連付けられた移動ステータスを求める要求に関連付けられることに応答して、コンピューティングシステムは、1つまたは複数の提案が1つまたは複数のルートに関連付けられた移動ステータスを求める要求に関連付けられると決定することができる。たとえば、コンピューティングシステムは、1つまたは複数の提案が、推定到着時間を要求することを含む、移動ステータスを求める要求に関連付けられると決定することができる。次いで、コンピューティングシステムは、推定到着時間を要求することに関連付けられた1つまたは複数の提案(たとえば、メッセージに応答して推定到着時間を送るという提案および/またはユーザが時間どおりに推定到着時間に従ってピックアップロケーションに到着することを確認するという提案)を生成することができる。
いくつかの実施形態では、1つまたは複数の提案を生成することは、コンピューティングシステムが、1つまたは複数の目的がピックアップを求める要求またはドロップオフを求める要求に関連付けられるかどうかを決定することを含むことができる。コンピューティングシステムは、1つまたは複数の目的を分析し、1つまたは複数の目的のいずれかが、ピックアップを求める要求またはドロップオフを求める要求に関連付けられた1つもしくは複数のキーフレーズおよび/または1つもしくは複数のキーワードを含むかどうか、かつ/またはそれらに関連付けられるかどうかを決定することができる。たとえば、「今すぐ私を迎えに来てください!(PLEASE PICK ME UP RIGHT NOW!)」または「少し後で荷物を届けてもらえますか?(CAN YOU DROP THE PACKAGE OFF A BIT LATER?)」を含むフレーズは、ピックアップを求める要求またはドロップオフを求める要求に関連付けられると決定され得る。1つまたは複数の目的がピックアップを求める要求またはドロップオフを求める要求に関連付けられた1つもしくは複数のキーフレーズおよび/または1つもしくは複数のキーワードの何らかの組合せに関連付けられるかつ/またはそれらを含む場合、コンピューティングシステムは、1つまたは複数の目的がピックアップを求める要求またはドロップオフを求める要求に関連付けられると決定することができる。
1つまたは複数の目的がピックアップを求める要求またはドロップオフを求める要求に関連付けられることに応答して、コンピューティングシステムは、1つまたは複数の提案がピックアップを求める要求またはドロップオフを求める要求に関連付けられるものとすると決定することができる。たとえば、コンピューティングシステムは、1つまたは複数の提案がピックアップを要求することに関連付けられると決定し、ピックアップを要求することに関連付けられた1つまたは複数の提案(たとえば、ユーザがピックアップを要求することに関連付けられた人物を迎えに行くことを確認する応答を送るという提案)を生成することができる。
コンピューティングシステムは、ユーザからのナビゲーション要求を含む1つまたは複数のユーザ入力を受信することができる。たとえば、コンピューティングシステムは、ユーザによって提供される1つまたは複数の入力を検出するかつ/または監視することができる。たとえば、コンピューティングシステムは、いつユーザが話し、触覚ユーザインターフェースと対話し、かつ/またはナビゲーション要求に関連付けられたジェスチャーを行うかを検出することができる。ナビゲーション要求は、ナビゲーション、ルート(たとえば、ユーザが誰かもしくは何かをピックアップするか、または誰かもしくは何かをドロップオフすることができる、ユーザが選択したロケーションまでのルート)を生成すること、および/またはルートを修正すること(たとえば、現在予定されているルートを更新するかまたは変更する)に関連付けられた任意の要求を含むことができる。さらに、ナビゲーション要求は、コンピューティングシステムによって生成された出力に含まれる1つまたは複数の提案に応答するものであり得る。たとえば、コンピューティングシステムは、ユーザに宛てられ、ユーザが新しいピックアップロケーション中間地点を含むように現在のルートを更新したいかどうかをユーザに尋ねる提案を含む、1つまたは複数の指示を含む出力を生成することができる。次いで、ユーザは、口頭の応答「はい、現在のルートを更新します(YES, UPDATE THE CURRENT ROUTE)」の形態で1つまたは複数の入力を提供することができる。さらに、コンピューティングシステムは、ユーザ入力に少なくとも部分的に基づいて(たとえば、着信メッセージに基づいて情報をユーザに提供したことに応答して受信されたユーザ入力に少なくとも部分的に基づいて)現在のルートの更新を実施し、それによって、より良い人間機械対話プロセスおよびより安全な運転体験を提供することができる。
コンピューティングシステムは、ナビゲーション要求および/または1つもしくは複数のユーザ入力に少なくとも部分的に基づいてルートデータを生成することができる。さらに、コンピューティングシステムは、ナビゲーション要求から情報を抽出し、その情報をルートデータに追加することができる。たとえば、ナビゲーション要求は、ユーザの息子を息子の小学校に迎えに行くという要求を含むことができる。次いで、コンピューティングシステムは、息子の小学校のロケーションおよびユーザの現在のロケーションの決定に基づいて、更新されたルートを生成することができる。いくつかの実施形態では、ナビゲーション要求は、ユーザからの口頭のナビゲーション要求の形態であってもよく、口頭のナビゲーション要求は次いで、コンピューティングシステムによってパースされ、メッセージデータに含まれるテキストメッセージとして符号化される。
少なくとも1つのエンティティは、人物(たとえば、ユーザが知っているかもしくはユーザが関連付けられる人物)、場所(たとえば、ユーザが以前に訪問したかもしくはユーザが知っている人物に関連付けられたロケーション)、および/または物体(たとえば、ユーザが以前に使用していた製品もしくは私物を含む物体)に関連付けられ得る。いくつかの実施形態では、少なくとも1つのエンティティは、1つもしくは複数の人名、1つもしくは複数の地理的ロケーション(たとえば、1つもしくは複数の住所および/もしくは近傍)、1つもしくは複数の職業名(たとえば、医師、教授、および/もしくは配管工)、ならびに/または1つもしくは複数の組織名(たとえば、学校、企業、オフィス、および/もしくは店の名前)に関連付けられ得る。
いくつかの実施形態では、1つまたは複数の提案は、ユーザが1つまたは複数のルートをナビゲートするための1つまたは複数のターンバイターン方向を含むことができる。たとえば、コンピューティングシステムは、1つまたは複数のメッセージに関連付けられたロケーション(たとえば、ドロップオフロケーション)までの提案されたルートを生成するという1つまたは複数の提案を提供することができる。ユーザが提案されたルートを移動するつもりであることをユーザが確認する、ユーザからのフィードバックを受信すると、コンピューティングシステムは次いで、ロケーションまでのステップバイステップまたはターンバイターン方向を提供することができる。
コンピューティングシステムは、出力を生成することができる。さらに、出力は、ユーザインターフェースを介して生成され得る。たとえば、ユーザインターフェースは、コンピューティングシステムのディスプレイ構成要素上に表示され、ユーザからの1つまたは複数の入力(たとえば、1つまたは複数のタッチ入力)を受信するように構成された、グラフィカルユーザインターフェースを含むことができる。さらなる例として、ユーザインターフェースは、ユーザからのバーバルコマンドを受信するために1つまたは複数のマイクロフォンを使用する聴覚ユーザインターフェースを含むことができる。
出力は、1つまたは複数の指示を含むことができる。1つまたは複数の指示は、ユーザに宛てられ得る。さらに、1つまたは複数の指示は、1つもしくは複数の提案および/または1つもしくは複数のメッセージに関連付けられ得る。たとえば、1つまたは複数の指示は、ユーザに宛てられてもよく、コンピューティングシステムのユーザによって知覚可能かつ/または検出可能であることが意図された形態で、ユーザに対する1つまたは複数の提案を含むことができる。コンピューティングシステムは、ユーザの目に見え、1つもしくは複数の指示、1つもしくは複数のメッセージ、および/または1つもしくは複数の提案の1つまたは複数の部分を表示するために使用され得る、ディスプレイ構成要素(たとえば、ユーザによって運転される車両のディスプレイデバイス)を含むことができる。たとえば、コンピューティングシステムは、ユーザが1つもしくは複数の指示を含む出力を閲覧することができるディスプレイ構成要素および/または合成音声を生成して1つもしくは複数の提案を提供するユーザインターフェースを介して告知される1つもしくは複数の提案をユーザが聞くことができるオーディオ出力構成要素(たとえば、ラウドスピーカー)を含むスマートフォンを含むことができる。さらに、コンピューティングシステムは、ユーザがディスプレイデバイスを見る必要なしにリッスンすることができる聴覚形態で1つまたは複数の提案を生成するために使用され得るオーディオ出力構成要素を含むことができる。たとえば、ユーザは、車両を運転しながら、コンピューティングシステムによって生成された1つまたは複数の提案を聞くことができる。
1つまたは複数の指示は、1つもしくは複数の視覚指示および/または1つもしくは複数の聴覚指示を含むことができる。1つまたは複数の視覚指示は、1つまたは複数の提案を示すためにコンピューティングシステムのディスプレイデバイス上に表示されるテキストおよび/またはピクチャの何らかの組合せを含むことができる。たとえば、1つまたは複数の提案は、1つまたは複数のメッセージへの提案された応答を含むことができ、1つまたは複数の視覚指示は、コンピューティングシステムのディスプレイ構成要素上に表示される提案された応答のテキストバージョンを含むことができる。
1つまたは複数の聴覚指示は、1つまたは複数の提案をユーザに提供するためにコンピューティングシステムによって生成された合成音声を含むことができる。たとえば、1つまたは複数の聴覚指示は、コンピューティングシステムのオーディオ出力構成要素(たとえば、ラウドスピーカー)を介してコンピューティングデバイスのユーザに対して1つまたは複数の提案を読み上げる合成音声を含むことができる。
いくつかの実施形態では、出力は、1つまたは複数の提案に関するユーザからのフィードバックを求める要求を含むことができる。たとえば、コンピューティングシステムは、メッセージの中で提案された新しいルートに少なくとも部分的に基づいて提案の一部としてユーザに与えられた「更新されたルートを確認してください(CONFIRM AN UPDATED ROUTE)」をユーザに要求する1つまたは複数の聴覚指示を生成することができる。
コンピューティングシステムは、ユーザからのフィードバックにアクセスし、そのフィードバックを受信し、取得し、かつ/または取り出すことができる。ユーザからのフィードバックは、コンピューティングシステムのユーザインターフェースを介してアクセスされ、受信され、取得され、かつ/または取り出され得る。たとえば、ユーザからのフィードバックを要求する1つもしくは複数の聴覚指示(たとえば、コンピューティングシステムの1つもしくは複数のスピーカーを介して生成された合成音声)および/または1つもしくは複数の視覚指示(たとえば、コンピューティングシステムのディスプレイデバイス上に表示されたテキスト)を含む出力を生成した後、コンピューティングシステムは、ユーザのフィードバック(たとえば、ユーザによる口頭の応答またはコンピューティングシステムのユーザインターフェースとの触覚ユーザ対話)を受信することができる。
コンピューティングシステムは、ユーザからのフィードバックに少なくとも部分的に基づいて1つまたは複数の動作を実施することができる。たとえば、コンピューティングシステムは、ユーザからの口頭フィードバックをパースし、ユーザがメッセージへの提案された応答を確認したいかまたはメッセージへの提案された応答を送りたくないことを口頭フィードバックが示すかどうかを決定することができる。
いくつかの実施形態では、1つまたは複数の動作は、応答を1つもしくは複数のメッセージの送信者に送ること、1つもしくは複数のナビゲーションシステムを制御すること、1つもしくは複数のルートを修正すること、および/またはユーザからのフィードバックに少なくとも部分的に基づいて1つもしくは複数の機械学習済みモデルをトレーニングすることを含むことができる。
1つまたは複数のナビゲーションシステムを制御することは、1つまたは複数の提案に関連付けられた1つもしくは複数の地図および/または1つもしくは複数の通知を生成することができる1つまたは複数の通知システムを制御することを含むことができる。たとえば、ユーザからのフィードバックを受信したことに応答して、コンピューティングシステムは、提案されたルートを含むエリアの地図を生成することができる。エリアの地図は、ユーザの現在のロケーション、目的地のロケーション、および/または1つもしくは複数の提案に関連付けられた1つもしくは複数の命令(たとえば、方向)の1つまたは複数の指示を含むことができる。さらに、1つまたは複数のナビゲーションシステムは、1つまたは複数の提案(たとえば、ピックアップロケーションへの推定到着時間および/またはピックアップロケーションまでの残りの距離)に関連付けられた1つもしくは複数の聴覚指示および/または1つもしくは複数の視覚指示を生成するために使用され得る。
1つまたは複数の機械学習済みモデルをトレーニングすることは、ユーザからのフィードバックを1つまたは複数の機械学習済みモデルに対するトレーニング入力の一部として使用することを含むことができる。1つまたは複数の機械学習済みモデルに対するトレーニング入力はまた、ルートデータ、メッセージデータ、少なくとも1つのエンティティ、1つもしくは複数の目的、および/または1つもしくは複数の提案に関連付けられた情報を含むことができる。トレーニング入力に少なくとも部分的に基づいて、1つまたは複数の機械学習済みモデルは、1つまたは複数の動作を実施し、1つまたは複数の提案を含む出力を生成することができる。複数の反復にわたって、ユーザのフィードバックに少なくとも部分的に基づいて1つまたは複数の機械学習済みモデルの1つまたは複数のパラメータの重み付けが調整され得る。たとえば、提案を確認する肯定のユーザフィードバックは、肯定のユーザフィードバックを引き出した1つまたは複数の提案に関連付けられた1つまたは複数のパラメータのより大きい重み付けをもたらすことができる。さらなる例として、提案を拒否する否定のユーザフィードバックは、否定のユーザフィードバックを引き出した1つまたは複数の提案に関連付けられた1つまたは複数のパラメータのより小さい重み付けをもたらすことができる。結果として、1つまたは複数の機械学習済みモデルがユーザのフィードバックを使用して構成されかつ/またはトレーニングされるので、1つまたは複数の機械学習済みモデルは、より正確なかつ/または関連する提案を経時的に生成し得る。
開示される技術は、ナビゲーション中に使用され得る提案の生成に関連付けられた様々な動作を実施するように構成されたコンピューティングシステム(たとえば、ナビゲーションコンピューティングシステム)を含むことができる。いくつかの実施形態では、コンピューティングシステムは、ナビゲーションに関連付けられた提案を使用し、送り、受信し、かつ/または生成する、様々なコンピューティングシステムおよび/またはコンピューティングデバイスに関連付けられ得る。さらに、コンピューティングシステムは、ユーザが移動しているかまたは移動する予定である1つまたは複数の地理的領域の地図を含むナビゲーション用の提案に関連付けられたデータおよび/または情報を含む、データおよび/または情報にアクセスし、それらを生成し、処理し、修正し、かつ/または通信する(たとえば、送るかつ/または受信する)ことができる。
コンピューティングシステムは、開示される技術に固有の1つまたは複数の動作の実施を可能にする専用ハードウェアおよび/またはソフトウェアを含むことができる。コンピューティングシステムは、ルートデータおよび/またはメッセージデータを含むデータにアクセスすることと、ユーザのための1つまたは複数のルートを決定することと、1つまたは複数のメッセージに関連付けられた少なくとも1つのエンティティおよび/または1つもしくは複数の目的を決定することと、1つまたは複数の提案を生成することと、1つまたは複数の提案に関連付けられた1つまたは複数の指示を含む出力を生成することとに関連付けられた動作を実施するように構成された1つまたは複数の特定用途向け集積回路を含むことができる。例として、コンピューティングシステムは、コンピューティングシステムによって生成された提案に対するユーザのフィードバックに少なくとも部分的に基づいて、車両の1つまたは複数のナビゲーションシステムおよび/または通信システムを制御するように構成され得る。
開示される技術におけるシステム、方法、デバイス、装置、およびコンピュータ可読媒体(たとえば、有形の非一時的コンピュータ可読媒体)は、ユーザがナビゲートするのを支援するために使用され得る提案の生成における改善を含む、様々な技術的効果および利益を提供することができる。特に、開示される技術は、ユーザの現在のナビゲーションルートおよびユーザに送られる通信(たとえば、メッセージ)に基づいて提案がユーザに提供される継続的なおよび/またはガイド付きの人間機械対話プロセスによって、技術的タスクを実施する際にユーザ(たとえば、ナビゲーションデバイスのユーザ)を支援し得る。さらに、開示される技術は、開示される技術を実装するシステム、デバイス、および/またはサービスの実施および効果を改善する、追加の利益を提供し得る。
特に、開示される技術は、ルートを通過する効率を改善することができるメッセージおよびナビゲーション提案をユーザに提供することによって、リソースが消費される効率を改善することができる。さらに、提案されたルートがユーザに提供され、それによって、ルートを手作業で更新する負担からユーザを解放し、ユーザが最小限の割込みを進めることを可能にすることができる。加えて、ユーザが目的地まで運転するときに中間地点がリアルタイムでルートに追加され、それによって、ユーザがメッセージを読むための安全な場所を見つけ、メッセージを読むのに時間を費やし、異なるルートに沿ってやり直さなければならないことによって追加のエネルギーを消費する必要を低減することによってエネルギー消費を低減することができる。このストップアンドゴーの移動の低減は、環境への悪影響を低減する追加の利益を有する。たとえば、ストップアンドゴーの移動の低減は、準最適なナビゲーションから生じる車両排気および他の汚染物質の減少をもたらし得る。
さらに、開示される技術は、ユーザとメッセージの送信者との間を行き来するメッセージの長いストリームから生じる、ネットワークにわたる帯域幅利用の量を低減することができる。たとえば、ユーザとメッセージの送信者との間で3つまたは4つのメッセージが交換される代わりに、開示される技術は、行動のための関連する提案を迅速に提供するために機械学習済みモデルを活用し、それによって、送信される必要があるメッセージの数を大幅に低減することができる。
さらに、開示される技術は、ユーザがルートをたどることまたは移動中にルートを更新することを必要とするタスクの効率を改善するという技術的効果を提供することができる。特に、配送運転手および他のサービス志向の運転手は、顧客によって送られたメッセージに関係する提案に基づいて、配送ルートをより効率的に更新することができる。たとえば、顧客は、顧客が配送予定時間帯の間に顧客の署名を必要とする荷物を受け取るために在宅していないことを示すテキストメッセージを送ることができる。開示される技術は、配送運転手がルートを更新して顧客の自宅を迂回し、代替の配送時間を要求するメッセージを顧客に送ることをプロアクティブに提案することができる。このようにして、運転手は、顧客の住所への不必要な移動を回避し、また、迅速にかつ効率的にドロップオフ時間を更新することができる。
さらに、開示される技術は、ユーザフィードバックおよびユーザの作用を受けた提案のタイプの監視に応答してコンピューティングシステムを継続的に更新することによって、それらのコンピューティングシステムの全体的な性能の改善を提供することができる。たとえば、1つまたは複数の機械学習済みモデルによって提供される提案の品質は、1つまたは複数の機械学習済みモデル用のトレーニング入力として使用されるユーザフィードバックに基づいて改善され得る。このフィードバックベースのトレーニング入力は、1つまたは複数の機械学習済みモデルが継続的に更新され、各個人ユーザの選好に合わせてより細かく調整されることを可能にする。たとえば、以前にユーザに送られたメッセージに基づいて一定の言語学的特異性をより良くパースするために、経時的に1つまたは複数の機械学習済みモデルがトレーニングされかつ/または更新され得る。ユーザフィードバックベースのトレーニングはまた、1つまたは複数の機械学習済みモデルが、よりコンテキストセンシティブである、より関連性のある提案を生成することをもたらすことができる。
開示される技術はまた、メッセージおよび/またはナビゲーション提案をユーザに提供することによって、車両をナビゲートする安全性を改善し、それによって、ユーザがメッセージを見るためにまたはメッセージに応答するためにナビゲーションのタスク(たとえば、車両を運転すること)から注意をそらす必要性を低減することができる。たとえば、開示される技術は、ユーザの家族が自分を迎えに来てもらう時間を変更したいと思っていることを示すメッセージを提供することができる。さらに、開示される技術は、ユーザがピックアップ時間を変更するという要求に同意することを示す、提案された応答を生成することができる。その場合、ユーザは単に、メッセージを読むことおよび応答を作成することによって注意をそらすことなしに、提案された行動を確認するだけでよい。このようにして、ユーザは、ナビゲーションタスク(たとえば、運転)に注意を集中させ、通信を監視することおよびそれらの通信への応答を作成することにあまり注意を払わないことによって、より安全に車両を操作することができる。結果として、開示される技術は、より効率的なマルチタスキングおよびミッションクリティカルなタスクに注意を集中させることに関係する目的パラメータに基づく効果を生み出す。
したがって、開示される技術は、低減されたリソース消費、低減された環境影響、より効率的なネットワーク利用率、改善されたルーティング効率、および機械学習済みモデルの効果的な使用から得られるコンピューティング性能の全体的な改善という特定の利益によって、様々なタスクをより効果的に実施する際にナビゲーションデバイスまたはナビゲーションシステムのユーザを支援し得る。さらに、ユーザに提供される特定の利益のいずれも、ユーザとの通信(たとえば、メッセージ)に基づいて関連するナビゲーション情報および/または提案をプロアクティブに提供し得るナビゲーションデバイスおよび/またはナビゲーションサービスを含む、多種多様なデバイスおよびサービスの有効性を改善するために使用され得る。したがって、開示される技術によって与えられる改善は、ナビゲーションに関連付けられた機械システム、電子システム、およびコンピューティングシステムを含むかつ/またはナビゲーションに関連付けられた提案を提供する、様々なデバイスおよび/またはシステムに対して有形の利益をもたらすことができる。
次に図を参照しながら、本開示の例示的な実施形態について、さらに詳細に説明する。
図1Aは、本開示の例示的な実施形態による、ナビゲーション用の提案のメッセージベースの生成に関連付けられた動作を実施するコンピューティングシステムの一例のブロック図を示す。システム100は、ネットワーク180を介して通信可能に結合された、コンピューティングデバイス102、コンピューティングシステム130、およびトレーニング用コンピューティングシステム150を含む。
コンピューティングデバイス102は、たとえば、パーソナルコンピューティングデバイス(たとえば、ラップトップコンピューティングデバイスもしくはデスクトップコンピューティングデバイス)、モバイルコンピューティングデバイス(たとえば、スマートフォンもしくはタブレット)、ゲームコンソールもしくはコントローラ、ウェアラブルコンピューティングデバイス(たとえば、1つもしくは複数の拡張現実機能および/もしくは仮想現実機能を含むことができるスマートウォッチ、スマートリング、スマートグラス)、および/または組込み型コンピューティングデバイスを含む、任意のタイプのコンピューティングデバイスを含むことができるか、または任意のタイプのコンピューティングデバイスであり得る。
コンピューティングデバイス102は、1つまたは複数のプロセッサ112と、メモリ114とを含む。1つまたは複数のプロセッサ112は、任意の好適な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であってもよく、1つのプロセッサまたは動作可能に接続された複数のプロセッサであってもよい。メモリ114は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなど、およびそれらの組合せなどの、1つまたは複数のコンピュータ可読媒体(たとえば、有形の非一時的コンピュータ可読媒体)を含むことができる。メモリ114は、データ116と、コンピューティングデバイス102に動作を実施させるようにプロセッサ112によって実行される命令118とを記憶することができる。
いくつかの実装形態では、コンピューティングデバイス102は、1つまたは複数の機械学習済みモデル120を記憶するか、または含むことができる。たとえば、1つまたは複数の機械学習済みモデル120は、ニューラルネットワーク(たとえば、ディープニューラルネットワーク)または非線形モデルおよび/もしくは線形モデルを含む他のタイプの機械学習済みモデルなどの、様々な機械学習済みモデルであってもよく、またはそうでなければ、それらの機械学習済みモデルを含むことができる。ニューラルネットワークは、フィードフォワードニューラルネットワーク、リカレントニューラルネットワーク(たとえば、長短期メモリリカレントニューラルネットワーク)、畳み込みニューラルネットワーク、または他の形態のニューラルネットワークを含むことができる。1つまたは複数の機械学習済みモデル120の例について、図1A~図15を参照しながら説明する。
いくつかの実装形態では、1つまたは複数の機械学習済みモデル120は、ネットワーク180を介してコンピューティングシステム130から受信され、メモリ114に記憶され、次いで、1つまたは複数のプロセッサ112によって使用され、またはそうでなければ実装され得る。いくつかの実装形態では、コンピューティングデバイス102は、(たとえば、並列動作を実施して、受信されたメッセージに基づいてナビゲーション用の提案を決定するかつ/または生成するために)1つまたは複数の機械学習済みモデル120のうちの単一の機械学習済みモデルの複数の並列インスタンスを実装することができる。
より詳細には、1つまたは複数の機械学習済みモデル120は、ルートデータおよび/またはメッセージデータを含むデータにアクセスすることと、1つまたは複数のルートを決定することと、少なくとも1つのエンティティおよび/または1つもしくは複数の目的を決定することと、1つまたは複数の提案を生成することと、1つまたは複数の提案に関連付けられた1つまたは複数の指示を含む出力を生成することとを行うように構成されかつ/またはトレーニングされ得る。
追加または代替として、1つまたは複数の機械学習済みモデル140は、クライアント-サーバ関係に従ってコンピューティングデバイス102と通信するコンピューティングシステム130に含まれるか、またはそうでなければ、コンピューティングシステム130によって記憶され、実装され得る。たとえば、1つまたは複数の機械学習済みモデル140は、ウェブサービス(たとえば、メッセージデータに基づいてナビゲーション用の提案を生成する提案サービス)の一部分として、コンピューティングシステム130によって実装され得る。したがって、1つもしくは複数の機械学習済みモデル120が、コンピューティングデバイス102において記憶され、実装されてもよく、かつ/または1つもしくは複数の機械学習済みモデル140が、コンピューティングシステム130において記憶され、実装されてもよい。
コンピューティングデバイス102は、ユーザ入力を受信するように構成されたユーザ入力構成要素122のうちの1つまたは複数を含むこともできる。たとえば、ユーザ入力構成要素122は、ユーザ入力オブジェクト(たとえば、指またはスタイラス)のタッチに敏感な、タッチセンシティブ構成要素(たとえば、タッチセンシティブディスプレイスクリーンまたはタッチパッド)であってもよい。タッチセンシティブ構成要素は、仮想キーボードを実装するのに役立つことができる。他の例示的なユーザ入力構成要素は、マイクロフォン、従来のキーボード、またはユーザがユーザ入力を提供することができる他の手段を含む。
コンピューティングシステム130は、1つまたは複数のプロセッサ132と、メモリ134とを含む。1つまたは複数のプロセッサ132は、任意の好適な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であってもよく、1つのプロセッサまたは動作可能に接続された複数のプロセッサであってもよい。メモリ134は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなど、およびそれらの組合せなどの、1つまたは複数のコンピュータ可読媒体(たとえば、有形の非一時的コンピュータ可読媒体)を含むことができる。メモリ134は、データ136と、コンピューティングシステム130に動作を実施させるようにプロセッサ132によって実行される命令138とを記憶することができる。
いくつかの実装形態では、コンピューティングシステム130は、1つもしくは複数のサーバコンピューティングデバイスを含むか、またはそうでなければ、1つもしくは複数のサーバコンピューティングデバイスによって実装される。コンピューティングシステム130が複数のサーバコンピューティングデバイスを含む事例では、そのようなサーバコンピューティングデバイスは、順次コンピューティングアーキテクチャ、並列コンピューティングアーキテクチャ、またはそれらの何らかの組合せに従って動作することができる。
上記で説明したように、コンピューティングシステム130は、1つまたは複数の機械学習済みモデル140を記憶するか、またはそうでなければ、それらを含むことができる。たとえば、1つまたは複数の機械学習済みモデル140は、様々な機械学習済みモデルであってもよく、またはそうでなければ、それらを含むことができる。例示的な機械学習済みモデルは、ニューラルネットワークまたは他のマルチレイヤ非線形モデルを含む。例示的なニューラルネットワークは、フィードフォワードニューラルネットワーク、ディープニューラルネットワーク、リカレントニューラルネットワーク、および畳み込みニューラルネットワークを含む。1つまたは複数の機械学習済みモデル140の例について、図1A~図15を参照しながら説明する。
コンピューティングデバイス102および/またはコンピューティングシステム130は、ネットワーク180を介して通信可能に結合されたトレーニング用コンピューティングシステム150との対話によって、1つもしくは複数の機械学習済みモデル120および/または1つもしくは複数の機械学習済みモデル140をトレーニングすることができる。トレーニング用コンピューティングシステム150は、コンピューティングシステム130とは別個であってもよく、またはコンピューティングシステム130の一部分であってもよい。
トレーニング用コンピューティングシステム150は、1つまたは複数のプロセッサ152と、メモリ154とを含む。1つまたは複数のプロセッサ152は、任意の好適な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であってもよく、1つのプロセッサまたは動作可能に接続された複数のプロセッサであってもよい。メモリ154は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなど、およびそれらの組合せなどの、1つまたは複数のコンピュータ可読媒体(たとえば、有形の非一時的コンピュータ可読媒体)を含むことができる。メモリ154は、データ156と、トレーニング用コンピューティングシステム150に動作を実施させるようにプロセッサ152によって実行される命令158とを記憶することができる。いくつかの実装形態では、トレーニング用コンピューティングシステム150は、1つもしくは複数のサーバコンピューティングデバイスを含むか、またはそうでなければ、1つもしくは複数のサーバコンピューティングデバイスによって実装される。
トレーニング用コンピューティングシステム150は、コンピューティングデバイス102および/またはコンピューティングシステム130において記憶された機械学習済みモデル120および/または140を、たとえば、誤差逆伝播(backwards propagation of errors)などの様々なトレーニングまたは学習技法を使用してトレーニングするモデルトレーナー160を含むことができる。たとえば、損失関数は、(たとえば、損失関数の勾配に基づいて)モデルの1つまたは複数のパラメータを更新するために、モデルを通じて逆伝播され得る。平均2乗誤差、尤度損失、クロスエントロピー損失、ヒンジ損失、および/または様々な他の損失関数などの、様々な損失関数が使用され得る。勾配降下技法は、いくつかのトレーニング反復にわたってパラメータを反復的に更新するために使用され得る。
いくつかの実装形態では、誤差逆伝播を実施することは、打ち切り型通時的逆伝播(truncated backpropagation through time)を実施することを含むことができる。モデルトレーナー160は、トレーニングされるモデルの汎化能力を改善するために、いくつかの汎化技法(たとえば、重み減衰、ドロップアウトなど)を実施することができる。
特に、モデルトレーナー160は、トレーニングデータ162のセットに基づいて、1つもしくは複数の機械学習済みモデル120および/または1つもしくは複数の機械学習済みモデル140をトレーニングすることができる。トレーニングデータ162は、たとえば、テキストの1つまたは複数の部分(たとえば、1つもしくは複数のメッセージおよび/または1つもしくは複数のメッセージへの1つもしくは複数のそれぞれの応答)、1つまたは複数のロケーションの1つまたは複数の画像(たとえば、メッセージに含まれる画像)、メッセージデータおよび/またはルートデータに関連付けられた1つもしくは複数のエンティティおよび/または1つもしくは複数の目的、少なくとも1つのエンティティおよび/または1つもしくは複数の目的に関連付けられた1つまたは複数の提案を含むことができる。
いくつかの実装形態では、ユーザが同意を与えた場合、トレーニング例はコンピューティングデバイス102によって提供され得る。したがって、そのような実装形態では、コンピューティングデバイス102に提供される1つまたは複数の機械学習済みモデル120は、コンピューティングデバイス102から受信されたユーザ固有のデータに対してトレーニング用コンピューティングシステム150によってトレーニングされ得る。いくつかの事例では、このプロセスは、モデルの個別化と呼ばれることがある。
モデルトレーナー160は、所望の機能を提供するために利用されるコンピュータ論理を含む。モデルトレーナー160は、汎用プロセッサを制御するハードウェア、ファームウェア、および/またはソフトウェアにおいて実装され得る。たとえば、いくつかの実装形態では、モデルトレーナー160は、記憶デバイス上に記憶され、メモリにロードされ、1つまたは複数のプロセッサによって実行されるプログラムファイルを含む。他の実装形態では、モデルトレーナー160は、RAMハードディスクまたは光学媒体もしくは磁気媒体などの有形のコンピュータ可読記憶媒体に記憶されたコンピュータ実行可能命令の1つまたは複数のセットを含む。
ネットワーク180は、ローカルエリアネットワーク(たとえば、イントラネット)、ワイドエリアネットワーク(たとえば、インターネット)、またはそれらの何らかの組合せなどの、任意のタイプの通信ネットワークであってもよく、任意の数のワイヤードまたはワイヤレスリンクを含むことができる。一般に、ネットワーク180を介した通信は、多種多様な通信プロトコル(たとえば、TCP/IP、HTTP、SMTP、FTP)、符号化もしくはフォーマット(たとえば、HTML、XML)、および/または保護方式(たとえば、VPN、セキュアHTTP、SSL)を使用して、任意のタイプのワイヤードおよび/またはワイヤレス接続を介して搬送され得る。
本明細書で説明する機械学習済みモデルは、様々なタスク、アプリケーション、および/または使用事例において使用され得る。
いくつかの実装形態では、本開示の機械学習済みモデルへの入力は、画像データを含むことができる。機械学習済みモデルは、画像データを処理して、出力を生成することができる。一例として、機械学習済みモデルは、画像データを処理して、画像認識出力(たとえば、画像データの認識、画像データの潜在埋込み、画像データの符号化された表現、画像データのハッシュなど)を生成することができる。別の例として、機械学習済みモデルは、画像データを処理して、画像セグメンテーション出力を生成することができる。別の例として、機械学習済みモデルは、画像データを処理して、画像分類出力を生成することができる。別の例として、機械学習済みモデルは、画像データを処理して、画像データ修正出力(たとえば、画像データの改変など)を生成することができる。別の例として、機械学習済みモデルは、画像データを処理して、符号化された画像データ出力(たとえば、画像データの符号化されたおよび/または圧縮された表現など)を生成することができる。別の例として、機械学習済みモデルは、画像データを処理して、アップスケールされた画像データ出力を生成することができる。別の例として、機械学習済みモデルは、画像データを処理して、予測出力を生成することができる。
いくつかの実装形態では、本開示の機械学習済みモデルへの入力は、テキストまたは自然言語データであってもよい。たとえば、テキストおよび/または自然言語データは、それぞれ、1つもしくは複数のメッセージおよび/またはオーディオの1つもしくは複数の部分(たとえば、話されたメッセージ)を含むことができる。機械学習済みモデルは、テキストまたは自然言語データを処理して、出力を生成することができる。一例として、機械学習済みモデルは、自然言語データを処理して、言語符号化出力を生成することができる。別の例として、機械学習済みモデルは、テキストまたは自然言語データを処理して、潜在テキスト埋込み出力を生成することができる。別の例として、機械学習済みモデルは、テキストまたは自然言語データを処理して、変換出力を生成することができる。別の例として、機械学習済みモデルは、テキストまたは自然言語データを処理して、分類出力を生成することができる。別の例として、機械学習済みモデルは、テキストまたは自然言語データを処理して、テキストセグメンテーション出力を生成することができる。別の例として、機械学習済みモデルは、テキストまたは自然言語データを処理して、意味論的目的出力を生成することができる。別の例として、機械学習済みモデルは、テキストまたは自然言語データを処理して、アップスケールされたテキストまたは自然言語出力(たとえば、入力テキストまたは自然言語よりも高品質であるテキストまたは自然言語データなど)を生成することができる。別の例として、機械学習済みモデルは、テキストまたは自然言語データを処理して、予測出力を生成することができる。
いくつかの実装形態では、本開示の機械学習済みモデルへの入力は、音声データを含むことができる。機械学習済みモデルは、音声データを処理して、出力を生成することができる。一例として、機械学習済みモデルは、音声データを処理して、音声認識出力を生成することができる。別の例として、機械学習済みモデルは、音声データを処理して、音声変換出力を生成することができる。別の例として、機械学習済みモデルは、音声データを処理して、潜在埋込み出力を生成することができる。別の例として、機械学習済みモデルは、音声データを処理して、符号化された音声出力(たとえば、音声データの符号化されたおよび/または圧縮された表現など)を生成することができる。別の例として、機械学習済みモデルは、音声データを処理して、アップスケールされた音声出力(たとえば、入力音声データよりも高品質の音声データなど)を生成することができる。別の例として、機械学習済みモデルは、音声データを処理して、テキスト表現出力(たとえば、入力音声データのテキスト表現など)を生成することができる。別の例として、機械学習済みモデルは、音声データを処理して、予測出力を生成することができる。
いくつかの実装形態では、本開示の機械学習済みモデルへの入力は、潜在符号化データ(たとえば、入力の潜在空間表現など)であってもよい。機械学習済みモデルは、潜在符号化データを処理して、出力を生成することができる。一例として、機械学習済みモデルは、潜在符号化データを処理して、認識出力を生成することができる。別の例として、機械学習済みモデルは、潜在符号化データを処理して、再構成出力を生成することができる。別の例として、機械学習済みモデルは、潜在符号化データを処理して、探索出力を生成することができる。別の例として、機械学習済みモデルは、潜在符号化データを処理して、再クラスタ化出力を生成することができる。別の例として、機械学習済みモデルは、潜在符号化データを処理して、予測出力を生成することができる。
いくつかの実装形態では、本開示の機械学習済みモデルへの入力は、統計データであってもよい。機械学習済みモデルは、統計データを処理して、出力を生成することができる。一例として、機械学習済みモデルは、統計データを処理して、認識出力を生成することができる。別の例として、機械学習済みモデルは、統計データを処理して、予測出力を生成することができる。別の例として、機械学習済みモデルは、統計データを処理して、分類出力を生成することができる。別の例として、機械学習済みモデルは、統計データを処理して、セグメンテーション出力を生成することができる。別の例として、機械学習済みモデルは、統計データを処理して、セグメンテーション出力を生成することができる。別の例として、機械学習済みモデルは、統計データを処理して、視覚化出力を生成することができる。別の例として、機械学習済みモデルは、統計データを処理して、診断出力を生成することができる。
いくつかの実装形態では、本開示の機械学習済みモデルへの入力は、センサーデータであってもよい。機械学習済みモデルは、センサーデータを処理して、出力を生成することができる。一例として、機械学習済みモデルは、センサーデータを処理して、認識出力を生成することができる。別の例として、機械学習済みモデルは、センサーデータを処理して、予測出力を生成することができる。別の例として、機械学習済みモデルは、センサーデータを処理して、分類出力を生成することができる。別の例として、機械学習済みモデルは、センサーデータを処理して、セグメンテーション出力を生成することができる。別の例として、機械学習済みモデルは、センサーデータを処理して、セグメンテーション出力を生成することができる。別の例として、機械学習済みモデルは、センサーデータを処理して、視覚化出力を生成することができる。別の例として、機械学習済みモデルは、センサーデータを処理して、診断出力を生成することができる。別の例として、機械学習済みモデルは、センサーデータを処理して、検出出力を生成することができる。
いくつかの場合には、機械学習済みモデルは、信頼できるおよび/または効率的な送信または記憶のための入力データの符号化(および/または対応する復号)を含むタスクを実施するように構成され得る。たとえば、タスクはオーディオ圧縮タスクであってもよい。入力はオーディオデータを含んでもよく、出力は圧縮されたオーディオデータを含んでもよい。別の例では、入力は視覚データ(たとえば、1つまたは複数の画像またはビデオ)を含み、出力は圧縮された視覚データを含み、タスクは視覚データ圧縮タスクである。別の例では、タスクは、入力データ(たとえば、入力オーディオまたは視覚データ)用の埋込みを生成することを含んでもよい。
いくつかの場合には、入力は視覚データを含み、タスクはコンピュータビジョンタスクである。いくつかの場合には、入力は1つまたは複数の画像用のピクセルデータを含み、タスクは画像処理タスクである。たとえば、画像処理タスクは画像分類であってもよく、ここで、出力はスコアのセットであり、各スコアは、異なるオブジェクトクラスに対応し、1つまたは複数の画像がオブジェクトクラスに属するオブジェクトを示す尤度を表す。画像処理タスクはオブジェクト検出であってもよく、ここで、画像処理出力は、1つまたは複数の画像の中の1つまたは複数の領域と、各領域について、領域が対象のオブジェクトを示す尤度とを識別する。別の例として、画像処理タスクは画像セグメンテーションであってもよく、ここで、画像処理出力は、1つまたは複数の画像の中の各ピクセルについて、カテゴリーの所定のセットの中の各カテゴリーについてのそれぞれの尤度を定義する。たとえば、カテゴリーのセットは前景または背景であってもよい。別の例として、カテゴリーのセットはオブジェクトクラスであってもよい。別の例として、画像処理タスクは深度推定であってもよく、ここで、画像処理出力は、1つまたは複数の画像の中の各ピクセルについて、それぞれの深度値を定義する。別の例として、画像処理タスクは動き推定であってもよく、ここで、ネットワーク入力は複数の画像を含み、画像処理出力は、入力画像のうちの1つの各ピクセルについて、ネットワーク入力の中の画像の間のピクセルにおいて示されるシーンの動きを定義する。
いくつかの場合には、入力は発話を表すオーディオデータを含み、タスクは音声認識タスクである。出力は、発話にマッピングされるテキスト出力を含んでもよい。いくつかの場合には、タスクは、入力データを符号化することまたは解読することを含む。いくつかの場合には、タスクは、分岐予測またはメモリアドレス変換などのマイクロプロセッサ実施タスクを含む。
図1Aは、本開示の例示的な実施形態による、ナビゲーション用の提案のメッセージベースの生成に関連付けられた動作を実施する例示的なコンピューティングシステムのブロック図を示す。他のコンピューティングシステムも使用され得る。たとえば、いくつかの実装形態では、コンピューティングデバイス102は、モデルトレーナー160およびトレーニングデータ162を含むことができる。そのような実装形態では、1つまたは複数の機械学習済みモデル120は、コンピューティングデバイス102においてローカルにトレーニングされることと使用されることの両方が可能である。そのような実装形態のうちのいくつかでは、コンピューティングデバイス102は、モデルトレーナー160を実装して、ユーザ固有データに基づいて1つまたは複数の機械学習済みモデル120を個人化することができる。
図1Bは、本開示の例示的な実施形態による、ナビゲーション用の提案のメッセージベースの生成に関連付けられた動作を実施するコンピューティングデバイスの一例のブロック図を示す。コンピューティングデバイス10は、ユーザコンピューティングデバイスまたはサーバコンピューティングデバイスを含むことができる。
コンピューティングデバイス10は、いくつかのアプリケーション(たとえば、アプリケーション1~N)を含む。各アプリケーションは、それ自体の機械学習ライブラリおよび機械学習済みモデルを含む。たとえば、各アプリケーションは、機械学習済みモデルを含むことができる。例示的なアプリケーションは、ナビゲーションアプリケーション、メッセージングアプリケーション(たとえば、テキストメッセージングアプリケーション)、ルーティングアプリケーション、マッピングアプリケーション、電子メールアプリケーション、口述アプリケーション、仮想キーボードアプリケーション、および/またはブラウザアプリケーションを含む。
図1Bに示すように、各アプリケーションは、たとえば、1つもしくは複数のセンサー、コンテキストマネージャ、デバイス状態構成要素、および/または追加の構成要素などの、コンピューティングデバイスのいくつかの他の構成要素と通信することができる。いくつかの実装形態では、各アプリケーションは、API(たとえば、パブリックAPI)を使用して各デバイス構成要素と通信することができる。いくつかの実装形態では、各アプリケーションによって使用されるAPIは、そのアプリケーションに固有である。
図1Cは、本開示の例示的な実施形態による、ナビゲーション用の提案のメッセージベースの生成に関連付けられた動作を実施する例示的なコンピューティングデバイスのブロック図を示す。コンピューティングデバイス50は、ユーザコンピューティングデバイスまたはサーバコンピューティングデバイスであってもよい。
コンピューティングデバイス50は、いくつかのアプリケーション(たとえば、アプリケーション1~N)を含む。各アプリケーションは、中央インテリジェンスレイヤと通信している。例示的なアプリケーションは、ナビゲーションアプリケーション、メッセージングアプリケーション(たとえば、テキストメッセージングアプリケーション)、ルーティングアプリケーション、マッピングアプリケーション、電子メールアプリケーション、口述アプリケーション、仮想キーボードアプリケーション、および/またはブラウザアプリケーションを含む。いくつかの実装形態では、各アプリケーションは、API(たとえば、すべてのアプリケーションにわたる共通API)を使用して中央インテリジェンスレイヤ(およびそこに記憶されたモデル)と通信することができる。
中央インテリジェンスレイヤは、いくつかの機械学習済みモデルを含む。たとえば、図1Cに示すように、それぞれの機械学習済みモデル(たとえば、モデル)が各アプリケーションに提供され、中央インテリジェンスレイヤによって管理され得る。他の実装形態では、2つ以上のアプリケーションが単一の機械学習済みモデルを共有することができる。たとえば、いくつかの実装形態では、中央インテリジェンスレイヤは、アプリケーションのすべてに単一のモデル(たとえば、単一のモデル)を提供することができる。いくつかの実装形態では、中央インテリジェンスレイヤは、コンピューティングデバイス50のオペレーティングシステム内に含まれるか、またはそうでなければ、オペレーティングシステムによって実装される。
中央インテリジェンスレイヤは、中央デバイスデータレイヤと通信することができる。中央デバイスデータレイヤは、コンピューティングデバイス50用のデータの集中型リポジトリであってもよい。図1Cに示すように、中央デバイスデータレイヤは、たとえば、1つもしくは複数のセンサー、コンテキストマネージャ、デバイス状態構成要素、および/または追加の構成要素などの、コンピューティングデバイスのいくつかの他の構成要素と通信することができる。いくつかの実装形態では、中央デバイスデータレイヤは、API(たとえば、プライベートAPI)を使用して各デバイス構成要素と通信することができる。
図2は、本開示の例示的な実施形態による1つまたは複数の機械学習済みモデル200の一例のブロック図を示す。いくつかの実装形態では、1つまたは複数の機械学習済みモデル200は、メッセージデータ、ルートデータ、少なくとも1つのエンティティに関連付けられたデータ、および/または1つもしくは複数の目的に関連付けられたデータを含むことができる入力データ204のセットを受信することと、入力データ204に対して1つまたは複数の動作を実施した後に、1つまたは複数の提案(たとえば、ナビゲーションタスクに関与するユーザによって使用され得る1つまたは複数の提案)に関連付けられた情報を含むことができる出力データ206を生成することとを行うようにトレーニングされる。したがって、いくつかの実装形態では、1つまたは複数の機械学習済みモデル200は、ナビゲーションタスクに関与するユーザを支援するために提供され得る1つまたは複数の提案に関連付けられた出力を生成するように動作可能なメッセージ処理機械学習済みモデル202を含むことができる。
図3は、本開示の例示的な実施形態による例示的なコンピューティングデバイスの図を示す。コンピューティングデバイス300は、コンピューティングデバイス102、コンピューティングシステム130、および/またはトレーニング用コンピューティングシステム150の1つまたは複数の属性および/または能力を含むことができる。さらに、コンピューティングデバイス300は、図1Aに示すコンピューティングデバイス102、コンピューティングシステム130、および/またはトレーニング用コンピューティングシステム150によって実施される1つまたは複数のアクションおよび/または動作を含む、1つまたは複数のアクションおよび/または動作を実施することができる。
図3に示すように、コンピューティングデバイス300は、1つもしくは複数のメモリデバイス302、ルートデータ304、メッセージデータ306、1つもしくは複数の機械学習済みモデル308、1つもしくは複数の相互接続310、1つもしくは複数のプロセッサ320、ネットワークインターフェース322、1つもしくは複数の大容量記憶デバイス324、1つもしくは複数の出力デバイス326、1つもしくは複数のセンサー328、1つもしくは複数の入力デバイス330、および/またはロケーションデバイス332を含むことができる。
1つまたは複数のメモリデバイス302は、情報および/またはデータ(たとえば、ルートデータ304、メッセージデータ306、および/または1つもしくは複数の機械学習済みモデル308)を記憶することができる。さらに、1つまたは複数のメモリデバイス302は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスク、およびそれらの組合せを含む、1つまたは複数のコンピュータ可読媒体(たとえば、有形の非一時的コンピュータ可読媒体)を含むことができる。1つまたは複数のメモリデバイス302によって記憶された情報および/またはデータは、コンピューティングデバイス300に、ナビゲーションに関連付けられた1つまたは複数の提案を生成するために1つまたは複数のメッセージを使用することに関連付けられた動作を含む動作を実施させるように、1つまたは複数のプロセッサ320によって実行され得る。
ルートデータ304は、それぞれ、メモリ114、メモリ134、および/またはメモリ154に記憶されたデータ(たとえば、図1Aに示すデータ116、データ136、および/またはデータ156)および/または命令(たとえば、図1Aに示す命令118、命令138、および/または命令158)の1つまたは複数の部分を含むことができる。さらに、ルートデータ304は、コンピューティングデバイス300上で実装され得る、開始ロケーションと目的地との間の1つまたは複数のルートに関連付けられた情報を含むことができる。いくつかの実施形態では、ルートデータ304は、コンピューティングデバイス300から離れた(たとえば、別の部屋、ビル、町、都市、または国の一部にある)1つまたは複数のコンピューティングシステムを含むことができる、1つまたは複数のコンピューティングシステム(たとえば、図1に示すコンピューティングシステム130)から受信され得る。
メッセージデータ306は、それぞれ、メモリ114、メモリ134、および/またはメモリ154に記憶されたデータ(たとえば、図1Aに示すデータ116、データ136、および/またはデータ156)および/または命令(たとえば、図1Aに示す命令118、命令138、および/または命令158)の1つまたは複数の部分を含むことができる。さらに、メッセージデータ306は、コンピューティングデバイス300に送信されたテキストの1つまたは複数の部分に関連付けられた情報を含むことができる。いくつかの実施形態では、メッセージデータ306は、コンピューティングデバイス300から離れた1つまたは複数のコンピューティングシステムを含むことができる、1つまたは複数のコンピューティングシステム(たとえば、図1に示すコンピューティングシステム130)から受信され得る。
1つまたは複数の機械学習済みモデル308(たとえば、1つもしくは複数の機械学習済みモデル120および/または1つもしくは複数の機械学習済みモデル140)は、それぞれ、メモリ114、メモリ134、および/またはメモリ154に記憶された図1Aに示すデータ116、データ136、および/もしくはデータ156および/または命令(たとえば、図1Aに示す命令118、命令138、および/または命令158)の1つまたは複数の部分を含むことができる。さらに、1つまたは複数の機械学習済みモデル308は、ルートデータおよび/またはメッセージデータを含むデータにアクセスすることと、1つまたは複数のルートを決定することと、少なくとも1つのエンティティおよび/または1つもしくは複数の目的を決定することと、1つまたは複数の提案を生成することと、1つまたは複数の提案に関連付けられた1つまたは複数の指示を含む出力を生成することとに関連付けられた情報を含むことができる。いくつかの実施形態では、1つまたは複数の機械学習済みモデル308は、コンピューティングデバイス300から離れた1つまたは複数のコンピューティングシステムを含むことができる、1つまたは複数のコンピューティングシステム(たとえば、図1に示すコンピューティングシステム130)から受信され得る。
1つまたは複数の相互接続310は、1つもしくは複数のメモリデバイス302、1つもしくは複数のプロセッサ320、ネットワークインターフェース322、1つもしくは複数の大容量記憶デバイス324、1つもしくは複数の出力デバイス326、1つもしくは複数のセンサー328(たとえば、センサーアレイ)、および/または1つもしくは複数の入力デバイス330を含む、コンピューティングデバイス300の構成要素の間で1つまたは複数の信号(たとえば、電子信号)および/またはデータ(たとえば、ルートデータ304、メッセージデータ306、および/または1つもしくは複数の機械学習済みモデル308)を送るかつ/または受信するために使用され得る1つまたは複数の相互接続またはバスを含むことができる。1つまたは複数の相互接続310は、並列接続または直列接続としてを含む異なる方法で配置または構成され得る。さらに、1つまたは複数の相互接続310は、コンピューティングデバイス300の内部構成要素を接続するための1つまたは複数の内部バスと、コンピューティングデバイス300の内部構成要素を1つまたは複数の外部デバイスに接続するために使用される1つまたは複数の外部バスとを含むことができる。例として、1つまたは複数の相互接続310は、業界標準アーキテクチャ(ISA)、拡張ISA、周辺構成要素相互接続(PCI)、PCIエクスプレス、シリアルATアタッチメント(SATA)、HyperTransport(HT)、USB(ユニバーサルシリアルバス)、Thunderbolt、IEEE1394インターフェース(FireWire)、および/または構成要素を接続するために使用され得る他のインターフェースを含む、異なるインターフェースを含むことができる。
1つまたは複数のプロセッサ320は、1つまたは複数のメモリデバイス302に記憶された1つまたは複数の命令を実行するように構成された1つまたは複数のコンピュータプロセッサを含むことができる。たとえば、1つまたは複数のプロセッサ320は、たとえば、1つもしくは複数の汎用中央処理ユニット(CPU)、特定用途向け集積回路(ASIC)、および/または1つもしくは複数のグラフィックス処理ユニット(GPU)を含むことができる。さらに、1つまたは複数のプロセッサ320は、ルートデータ304、メッセージデータ306、および/または1つもしくは複数の機械学習済みモデル308に関連付けられた1つまたは複数のアクションおよび/または動作を含む、1つまたは複数のアクションおよび/または動作を実施することができる。1つまたは複数のプロセッサ320は、マイクロプロセッサ、マイクロコントローラ、集積回路、および/または論理デバイスを含む、シングルコアまたはマルチコアデバイスを含むことができる。
ネットワークインターフェース322は、ネットワーク通信をサポートすることができる。たとえば、ネットワークインターフェース322は、ローカルエリアネットワークおよび/またはワイドエリアネットワーク(たとえば、インターネット)を含むネットワークを介して通信をサポートすることができる。1つまたは複数の大容量記憶デバイス324(たとえば、ハードディスクドライブおよび/またはソリッドステートドライブ)は、ルートデータ304、メッセージデータ306、および/または1つもしくは複数の機械学習済みモデル308を含むデータを記憶するために使用され得る。1つまたは複数の出力デバイス326は、1つもしくは複数のディスプレイデバイス(たとえば、LCDディスプレイ、OLEDディスプレイ、Mini-LEDディスプレイ、microLEDディスプレイ、プラズマディスプレイ、および/またはCRTディスプレイ)、1つもしくは複数の光源(たとえば、LED)、1つもしくは複数のラウドスピーカー、および/または1つもしくは複数の触覚出力デバイス(たとえば、振動出力を生成するように構成された1つもしくは複数のデバイス)を含むことができる。
1つまたは複数の入力デバイス330は、1つもしくは複数のキーボード、1つもしくは複数のタッチセンシティブデバイス(たとえば、タッチスクリーンディスプレイ)、1つもしくは複数のボタン(たとえば、ON/OFFボタンおよび/またはYES/NOボタン)、1つもしくは複数のマイクロフォン、および/または1つもしくは複数のカメラを含むことができる。
1つまたは複数のメモリデバイス302および1つまたは複数の大容量記憶デバイス324は別々に示されているが、1つまたは複数のメモリデバイス302および1つまたは複数の大容量記憶デバイス324は同じメモリモジュール内の領域であってもよい。コンピューティングデバイス300は、別々にまたは同じチップもしくはボード上に設けられ得る、1つまたは複数の追加のプロセッサ、メモリデバイス、ネットワークインターフェースを含むことができる。1つまたは複数のメモリデバイス302および1つまたは複数の大容量記憶デバイス324は、限定はしないが、非一時的コンピュータ可読媒体、RAM、ROM、ハードドライブ、フラッシュドライブ、および/または他のメモリデバイスを含む、1つまたは複数のコンピュータ可読媒体を含むことができる。
1つまたは複数のメモリデバイス302は、様々なソフトウェアアプリケーションまたはデータに関連付けられ得る、オペレーティングシステムを含むアプリケーション用の命令のセットを記憶することができる。たとえば、1つまたは複数のメモリデバイス302は、1つまたは複数の提案されたルートを含む出力を生成することができるアプリケーション用の命令のセットを記憶することができる。1つまたは複数のメモリデバイス302は、特にモバイルデバイス用に開発されたモバイルオペレーティングシステムを含む様々なアプリケーションを動作させるために使用され得る。したがって、1つまたは複数のメモリデバイス302は、ソフトウェアアプリケーションがナビゲーション用の1つまたは複数の提案の生成に関連付けられたデータを含むデータにアクセスすることを可能にする命令を記憶することができる。他の実施形態では、1つまたは複数のメモリデバイス302は、たとえば、スマートフォン、ラップトップコンピューティングデバイス、タブレットコンピューティングデバイス、および/またはデスクトップコンピュータを含む、モバイルデバイスと静止デバイスの両方の上で動作する汎用オペレーティングシステムを動作させるかまたは実行するために使用され得る。
コンピューティングデバイス300によって操作または実行され得るソフトウェアアプリケーションは、図1Aに示すシステム100に関連付けられたアプリケーションを含むことができる。さらに、コンピューティングデバイス300によって操作かつ/または実行され得るソフトウェアアプリケーションは、ネイティブアプリケーションおよび/またはウェブベースのアプリケーションを含むことができる。
ロケーションデバイス332は、コンピューティングデバイス300の位置を決定するための1つまたは複数のデバイスまたは回路構成を含むことができる。たとえば、ロケーションデバイス332は、IPアドレスに基づいて衛星航法測位システム(たとえば、GPSシステム、Galileo測位システム、全地球航法衛星システム(GLONASS)、BeiDou衛星航法および測位システム)、慣性航法システム、デッドレコニングシステムを使用することによって、三角測量および/またはセルラータワーもしくはWi-Fiホットスポット、ビーコンなどへの近接度、ならびに/あるいは位置を決定するための他の好適な技法を使用することによって、コンピューティングデバイス300の実際の位置および/または相対位置を決定することができる。
図4は、本開示の例示的な実施形態による提案生成システムの一例を示す。コンピューティングデバイス400は、コンピューティングデバイス102、コンピューティングシステム130、トレーニング用コンピューティングシステム150、および/またはコンピューティングデバイス300の1つまたは複数の属性および/または能力を含むことができる。さらに、コンピューティングデバイス400は、コンピューティングデバイス102、コンピューティングシステム130、トレーニング用コンピューティングシステム150、および/またはコンピューティングデバイス300によって実施される1つまたは複数のアクションおよび/または動作を含む、1つまたは複数のアクションおよび/または動作を実施することができる。
図4に示すように、コンピューティングデバイス400は、ディスプレイ構成要素402、撮像構成要素404、オーディオ入力構成要素406、オーディオ出力構成要素408、インターフェース410、メッセージ412、提案414、インターフェース要素416、およびインターフェース要素418を含む。
コンピューティングデバイス400は、ルートデータおよび/またはメッセージデータを含むデータにアクセスすること、データを処理すること、送ること、受信すること、および/または生成することを含む1つまたは複数の動作を実施するように構成されてもよく、データのいずれも、1つもしくは複数のメッセージおよび/または1つもしくは複数のルートに関連付けられた1つまたは複数の提案を含む出力を生成するために使用され得る。さらに、コンピューティングデバイス400は、コンピューティングデバイス400のユーザからの1つまたは複数の対話を含む、1つまたは複数の入力を受信することができる。たとえば、ユーザは、ユーザが現在ナビゲートしているルートを更新することに関して、コンピューティングデバイス400によって生成された提案を確認するための入力を提供することができる。いくつかの実施形態では、コンピューティングデバイス400は、別のコンピューティングデバイスおよび/もしくはコンピューティングシステムを制御するかつ/または別のコンピューティングデバイスおよび/もしくはコンピューティングシステムと情報および/もしくはデータを交換するように構成されたモバイルコンピューティングデバイス(たとえば、スマートフォンおよび/またはウェアラブルコンピューティングデバイス)であってもよい。
いくつかの実施形態では、コンピューティングデバイス400は、車両(たとえば、ユーザによって操作される自動車)内で使用される車載コンピューティングシステムの一部として含まれ得る。さらに、コンピューティングデバイス400は、車載コンピューティングシステムにデータを送り、車載コンピューティングシステムからデータを受信し、かつ/または車載コンピューティングシステムの動作を制御するように構成され得る。たとえば、コンピューティングデバイスは、提案414を含むデータを車載コンピューティングシステムに送ることができ、車載コンピューティングシステムは、1つもしくは複数の視覚指示(たとえば、車載コンピューティングシステムのディスプレイデバイス上に提案414に関連付けられた視覚指示を表示する)および/または1つもしくは複数の聴覚指示(たとえば、車載コンピューティングシステムに関連付けられた1つもしくは複数のラウドスピーカーを介して提案414に関連付けられた聴覚指示を告知する合成音声を生成する)を含む出力を生成することができる。
この例では、コンピューティングデバイス400は、コンピューティングデバイス400のディスプレイ構成要素402上に表示されたインターフェース410(たとえば、ユーザインターフェース)上に表示されたメッセージ412を受信している。メッセージ412は、「店で牛乳を買ってきてくれる?(CAN YOU PICK UP SOME MILK FROM THE STORE?)」と示しており、コンピューティングデバイス400に関連付けられたユーザの配偶者からのものである。メッセージ412において視認できるメッセージとは別に、メッセージ412は、メッセージ412が送られた時間、メッセージ412を送ったデバイスのロケーションに関連付けられたメタデータおよび/またはユーザに対するメッセージの送信者の関係に関連付けられた情報を含むメタデータを含むことができるメッセージデータに関連付けられ得る。コンピューティングデバイス400は、1つもしくは複数のヒューリスティックおよび/または1つもしくは複数の機械学習済みモデルの実装または使用に少なくとも部分的に基づいて、メッセージ412を送ったエンティティ(ユーザの配偶者)のアイデンティティを決定することができる。この例ではメッセージ412はディスプレイ構成要素402上で生成されたインターフェース410上に表示されているが、他の実施形態では、メッセージ412はインターフェース410上で生成されず、ディスプレイ構成要素402上に示されることまたは表示されることがない。
たとえば、コンピューティングデバイス400は、おそらくメッセージを送ったエンティティ(たとえば、ユーザの配偶者)を決定するために、メッセージ412に関連付けられた電話番号を使用することができる。さらに、コンピューティングデバイス400は、「店(STORE)」という語がロケーションタイプエンティティであり、「牛乳(MILK)」という語がオブジェクトタイプエンティティであると決定することができる。コンピューティングデバイス400はまた、メッセージ412をパースし、「店(STORE)」と組み合わせてキーワード「買ってくる(PICK UP)」および「牛乳(MILK)」を検出して、メッセージ412の目的がユーザが店で牛乳を買ってくることを要求することであると決定することができ、このことは、コンピューティングデバイス400のユーザが通過している現在のルート、ユーザが以前に訪れた店の1つもしくは複数のロケーション、および/またはユーザが現在移動しているルートの何らかの所定の距離内にある店の1つもしくは複数のロケーションを含むことができるルートデータ(たとえば、コンピューティングデバイス400上に記憶されたルートデータおよび/またはリモートコンピューティングデバイスからアクセスされたルートデータ)に少なくとも部分的に基づいて決定され得る。
さらなる例として、コンピューティングデバイス400は、コンピューティングデバイス400上に実装されたかつ/またはデータおよび/もしくは情報をコンピューティングデバイス400と交換することができるリモートコンピューティングデバイス上に実装された1つまたは複数の機械学習済みモデルへの入力として、メッセージ412に関連付けられたメッセージデータを使用することができる。1つまたは複数の機械学習済みモデルは、メッセージ412に関連付けられたエンティティ(ユーザの配偶者)および1つまたは複数の目的(たとえば、店で牛乳を買ってくること)の決定を含む出力を生成することができる。
さらに、コンピューティングデバイス400は、提案414を含む1つまたは複数の提案を生成するために、1つまたは複数のヒューリスティックを使用することができる。たとえば、コンピューティングデバイス400は、メッセージ412のエンティティおよび1つまたは複数の目的に関連付けられた1つまたは複数の提案を予測するために、1つまたは複数の確率モデルを使用することができる。さらなる例として、コンピューティングデバイス400は、提案414を含む出力を生成するために、1つまたは複数の機械学習済みモデルを使用することができる。
提案414は、インターフェース410上に表示され、「ミミの食料雑貨店に寄って牛乳を買いたいですか?(WOULD YOU LIKE TO STOP AT MIMI'S GROCERY TO PICK UP SOME MILK?)」と示している。コンピューティングデバイス400はまた、インターフェース要素416およびインターフェース要素418を生成し、これらは提案414に関連付けられるかつ/または提案414に少なくとも部分的に基づく。インターフェース要素416は、「ルートを更新する(UPDATE ROUTE)」と示しており、ユーザが牛乳を買うことができるようにミミの食料雑貨店のそばを通る中間地点を追加することによって、現在のルートを更新する(またはユーザが現在移動していない場合は新しいルートを生成する)選択肢をユーザに与える。ユーザがインターフェース要素416をタッチ(たとえば、タップ)した場合、コンピューティングデバイス400はルートを更新することができ、ルートが更新されたというさらなる指示(たとえば、聴覚告知「ルートが更新されました(ROUTE UPDATED)」および/または視覚指示「ミミの食料雑貨店へのルートに変更する(RE-ROUTING TO MIMI'S GROCERY STORE)」)を提供してもよい。
インターフェース要素418は、「現在のルートを維持する(KEEP CURRENT ROUTE)」と示しており、現在のルートを更新せず、ユーザが移動している現在のルートにとどまるか、またはユーザがルート上を移動していない場合、ミミの食料雑貨店へのルートを生成しない選択肢をユーザに与える。ユーザがインターフェース要素418をタッチ(たとえば、タップ)した場合、コンピューティングデバイス400は現在のルートを変更せず、ルートが更新されなかったというさらなる指示(たとえば、聴覚告知「現在のルートを維持します(KEEPING THE CURRENT ROUTE)」および/または視覚指示「現在のルートにとどまる(REMAINING ON THE CURRENT ROUTE)」)を提供してもよい。ユーザが提案414を受け入れなかったとコンピューティングデバイス400が決定した場合、コンピューティングデバイス400は、提案414の代替として別の提案を生成することができる。たとえば、コンピューティングデバイス500は、コンピューティングデバイス500のユーザが牛乳を買いに行けないことをユーザの配偶者に知らせる応答メッセージをユーザの配偶者に送ることになる、「牛乳を買いに行けないことを配偶者に知らせたいですか(WOULD YOU LIKE TO INFORM YOUR SPOUSE THAT YOU CAN''T PICK UP SOME MILK)」という提案を生成することができる。
いくつかの実施形態では、コンピューティングデバイス400は、オーディオ出力構成要素408を介してメッセージ412および/または提案414を生成することができる。たとえば、コンピューティングデバイス400は、オーディオ出力構成要素408を介してメッセージ412および/または提案414を読み上げる合成音声を生成することができる。さらに、オーディオ出力構成要素408は、メッセージ412が受信されたことおよび/または提案414が生成されたことをコンピューティングデバイス400のユーザに(たとえば、チャイムまたはビープ音によって)シグナリングするために使用され得る。
いくつかの実施形態では、コンピューティングデバイス400は、ユーザを監視し、ユーザのフィードバックを受信して1つまたは複数の動作を実施するために、1つまたは複数のセンサーを使用することができる。たとえば、コンピューティングデバイス400は、コンピューティングデバイス400のユーザの1つまたは複数のジェスチャーを検出するために、撮像構成要素404(たとえば、カメラ)を使用することができる。ユーザが首を縦に振ったとコンピューティングデバイス400が決定した場合、コンピューティングデバイス400は、ユーザが提案414に同意し、提案414を実装したいと思っていると決定することができる。ユーザが首を横に振ったとコンピューティングデバイス400が決定した場合、コンピューティングデバイス400は、ユーザが提案414に同意せず、提案414を実装しないと決定することができる。さらに、コンピューティングデバイス400は、オーディオ入力構成要素406(たとえば、マイクロフォン)を介してユーザフィードバックを受信することができる。ユーザが「はい、店へのルートに変更します(YES, REROUTE TO THE STORE)」と言ったとコンピューティングデバイス400が決定した場合、コンピューティングデバイス400は、ユーザが提案414に同意し、提案414を実装したいと思っていると決定することができる。ユーザが「いいえ、忙し過ぎます(NO, I'M TOO BUSY)」と言ったとコンピューティングデバイス400が決定した場合、コンピューティングデバイス400は、ユーザが提案414に同意せず、提案414を実装しないと決定することができる。さらに、ユーザが提案414に同意しないことに応答して、コンピューティングデバイス400は、ユーザに提示され、ユーザが承諾を与えた後にメッセージ412の送信者に送られ得るメッセージ「いいえ、忙し過ぎます(NO, I'M TOO BUSY)」を生成することができる。
図5は、本開示の例示的な実施形態による提案生成システムの一例を示す。コンピューティングデバイス500は、コンピューティングデバイス102、コンピューティングシステム130、トレーニング用コンピューティングシステム150、および/またはコンピューティングデバイス300の1つまたは複数の属性および/または能力を含むことができる。さらに、コンピューティングデバイス500は、コンピューティングデバイス102、コンピューティングシステム130、トレーニング用コンピューティングシステム150、および/またはコンピューティングデバイス300によって実施される1つまたは複数のアクションおよび/または動作を含む、1つまたは複数のアクションおよび/または動作を実施することができる。
図5に示すように、コンピューティングデバイス500は、ディスプレイ構成要素502、撮像構成要素504、オーディオ入力構成要素506、オーディオ出力構成要素508、インターフェース510、メッセージ512、提案514、インターフェース要素516、およびインターフェース要素518を含む。
コンピューティングデバイス500は、ルートデータおよび/またはメッセージデータを含むデータにアクセスすること、データを処理すること、送ること、受信すること、および/または生成することを含む1つまたは複数の動作を実施するように構成されてもよく、データのいずれも、1つもしくは複数のメッセージおよび/または1つもしくは複数のルートに関連付けられた1つまたは複数の提案を含む出力を生成するために使用され得る。さらに、コンピューティングデバイス500は、コンピューティングデバイス500のユーザからの1つまたは複数の対話を含む、1つまたは複数の入力を受信することができる。たとえば、ユーザは、ユーザが現在ナビゲートしているルートを更新することに関して、コンピューティングデバイス500によって生成された提案を確認するための入力を提供することができる。いくつかの実施形態では、コンピューティングデバイス500は、別のコンピューティングデバイスおよび/もしくはコンピューティングシステムを制御するかつ/または別のコンピューティングデバイスおよび/もしくはコンピューティングシステムと情報および/もしくはデータを交換するように構成されたモバイルコンピューティングデバイス(たとえば、スマートフォンおよび/またはウェアラブルコンピューティングデバイス)であってもよい。
いくつかの実施形態では、コンピューティングデバイス500は、車両(たとえば、ユーザによって操作される自動車)内で使用される車載コンピューティングシステムの一部として含まれ得る。さらに、コンピューティングデバイス500は、車載コンピューティングシステムにデータを送り、車載コンピューティングシステムからデータを受信し、かつ/または車載コンピューティングシステムの動作を制御するように構成され得る。たとえば、コンピューティングデバイスは、提案514を含むデータを車載コンピューティングシステムに送ることができ、車載コンピューティングシステムは、1つもしくは複数の視覚指示(たとえば、車載コンピューティングシステムのディスプレイデバイス上に提案514に関連付けられた視覚指示を表示する)および/または1つもしくは複数の聴覚指示(たとえば、車載コンピューティングシステムに関連付けられた1つもしくは複数のラウドスピーカーを介して提案514に関連付けられた聴覚指示を告知する合成音声を生成する)を含む出力を生成することができる。
この例では、コンピューティングデバイス500は、コンピューティングデバイス500のディスプレイ構成要素502上に表示されたインターフェース510(たとえば、ユーザインターフェース)上に表示されたメッセージ512を受信している。メッセージ512は、「代わりにオフィスまで私を迎えに来てくれる?(CAN YOU PICK ME UP AT THE OFFICE INSTEAD?)」と示しており、コンピューティングデバイス500に関連付けられたユーザの同僚からのものである。メッセージ512において視認できるメッセージとは別に、メッセージ512は、メッセージ512が送られた時間、メッセージ512を送ったデバイスのロケーションに関連付けられたメタデータおよび/またはユーザに対するメッセージの送信者の関係(同僚)に関連付けられた情報を含むメタデータを含むことができるメッセージデータに関連付けられ得る。コンピューティングデバイス500は、1つもしくは複数のヒューリスティックおよび/または1つもしくは複数の機械学習済みモデルの実装または使用に少なくとも部分的に基づいて、メッセージ512を送ったエンティティ(ユーザの同僚「ジョーン(Joan)」)のアイデンティティを決定することができる。さらに、コンピューティングデバイス400のユーザに対するメッセージの送信者の関係は、提案が生成されるかどうかを決定することができる。たとえば、メッセージの送信者がコンピューティングデバイスのユーザに関連付けられない(たとえば、送信者がユーザに間違ってダイヤルした)と決定された場合、コンピューティングデバイス500はメッセージ512を表示しなくてもよいかつ/または提案514を生成しなくてもよい。
コンピューティングデバイス500は、おそらくメッセージを送ったエンティティ(たとえば、ユーザの同僚)を決定するために、メッセージ512に関連付けられたインスタントメッセージングアプリケーション識別子を使用することができる。さらに、コンピューティングデバイス500は、「オフィス(OFFICE)」という語がロケーションタイプエンティティであると決定することができる。コンピューティングデバイス500はまた、メッセージ512をパースし、「オフィス(OFFICE)」という語と組み合わせてキーワード「私を迎えに来て(PICK ME UP)」および「代わりに(INSTEAD)」を検出して、メッセージ512の目的がユーザがエンティティのオフィスからエンティティ(同僚)を迎えに行くためにルートを修正(更新)することであると決定することができ、このことは、ユーザが以前に訪れたロケーションおよび/またはコンピューティングデバイス500の現在のロケーションの何らかの所定の距離内にあるロケーションを含むことができるルートデータに少なくとも部分的に基づいて決定され得る。
さらなる例として、コンピューティングデバイス500は、コンピューティングデバイス500上に実装されたかつ/またはデータおよび/もしくは情報をコンピューティングデバイス500と交換することができるリモートコンピューティングデバイス上に実装された1つまたは複数の機械学習済みモデルへの入力として、コンピューティングデバイス500のルートに関連付けられたルートデータおよび/またはメッセージ512に関連付けられたメッセージデータを使用することができる。1つまたは複数の機械学習済みモデルは、メッセージ512に関連付けられたエンティティ(ユーザの同僚)および1つまたは複数の目的(たとえば、オフィスから同僚を迎えに行くためにルートを更新すること)の決定を含む出力を生成することができる。
さらに、コンピューティングデバイス500は、提案514を含む1つまたは複数の提案を生成するために、1つまたは複数のヒューリスティックを使用することができる。たとえば、コンピューティングデバイス500は、メッセージ512のエンティティおよび1つまたは複数の目的に関連付けられた1つまたは複数の提案を予測するために、1つまたは複数の確率モデルを使用することができる。さらなる例として、コンピューティングデバイス500は、提案514を含む出力を生成するために、1つまたは複数の機械学習済みモデル(たとえば、1つもしくは複数の自然言語処理モデルおよび/または1つもしくは複数のトリガリングモデル)を使用することができる。
提案514はインターフェース510上に表示され、「ジョーンがあなたにオフィスまで迎えに来てもらいたいと思っています(JOAN WOULD LIKE YOU TO PICK HER UP AT THE OFFICE)」と示している。コンピューティングデバイス500はまた、インターフェース要素516およびインターフェース要素518を生成し、これらは提案514に関連付けられるかつ/または提案514に少なくとも部分的に基づく。インターフェース要素516は、「ルートを更新する(UPDATE ROUTE)」と示しており、ユーザが同僚を迎えに行くことができるように同僚のオフィスのそばを通る中間地点を追加することによって、現在のルートを更新する(またはユーザが現在移動していない場合は新しいルートを生成する)選択肢をユーザに与える。ユーザがインターフェース要素516をタッチ(たとえば、タップ)した場合、コンピューティングデバイス500はルートを更新することができ、ルートが更新されたというさらなる指示(たとえば、聴覚告知「ジョーンを迎えに行くためにルートが更新されました(ROUTE UPDATED TO PICK UP JOAN)」および/または視覚指示「オフィスへのルートに変更する(RE-ROUTING TO THE OFFICE)」)を提供してもよい。
インターフェース要素518は、「現在のルートを維持する(KEEP CURRENT ROUTE)」と示しており、現在のルートを更新せず、ユーザが移動している現在のルートにとどまるか、またはユーザがルート上を移動していない場合、同僚のオフィスへのルートを生成しない選択肢をユーザに与える。ユーザがインターフェース要素518をタッチ(たとえば、タップ)した場合、コンピューティングデバイス500は現在のルートを変更せず、ルートが更新されなかったというさらなる指示(たとえば、聴覚告知「ルート変更はありません(NO ROUTE CHANGE)」および/または視覚指示「現在のルートにとどまる(STAYING ON THE CURRENT ROUTE)」)を提供してもよい。ユーザが提案514を受け入れなかったとコンピューティングデバイス500が決定した場合、コンピューティングデバイス500は、提案514の代替として別の提案を生成することができる。たとえば、コンピューティングデバイス500は、コンピューティングデバイス500のユーザがオフィスに迎えに行けないことをジョーンに知らせる応答メッセージをジョーンに送ることになる、「オフィスに迎えに行けないことをジョーンに伝えたいですか(WOULD YOU LIKE TO TELL JOAN THAT YOU CAN''T PICK HER UP AT THE OFFICE)」という提案を生成することができる。
いくつかの実施形態では、コンピューティングデバイス500は、オーディオ出力構成要素508を介してメッセージ512および/または提案514を生成することができる。たとえば、コンピューティングデバイス500は、オーディオ出力構成要素508を介してメッセージ512および/または提案514を読み上げる合成音声を生成することができる。さらに、オーディオ出力構成要素508は、メッセージ512が受信されたことおよび/または提案514が生成されたことをコンピューティングデバイス500のユーザに(たとえば、呼出し音によって)シグナリングするために使用され得る。
いくつかの実施形態では、コンピューティングデバイス500は、ユーザを監視し、ユーザのフィードバックを受信して1つまたは複数の動作を実施するために、1つまたは複数のセンサーを使用することができる。たとえば、コンピューティングデバイス500は、コンピューティングデバイス500のユーザの1つまたは複数のジェスチャーを検出するために、撮像構成要素504(たとえば、カメラ)を使用することができる。ユーザが親指を立てるジェスチャーをしたとコンピューティングデバイス500が決定した場合、コンピューティングデバイス500は、ユーザが提案514に同意し、提案514を実装したいと思っていると決定することができる。ユーザが首を横に振ったまたは親指を下げるジェスチャーをしたとコンピューティングデバイス500が決定した場合、コンピューティングデバイス500は、ユーザが提案514に同意せず、提案514を実装しないと決定することができる。さらに、コンピューティングデバイス500は、オーディオ入力構成要素506(たとえば、マイクロフォン)を介してユーザフィードバックを受信することができる。ユーザが「オフィスのそばを通ろう(LETS PASS BY THE OFFICE)」と言ったとコンピューティングデバイス500が決定した場合、コンピューティングデバイス500は、ユーザが提案514に同意し、提案514を実装したいと思っていると決定することができる。ユーザが「今は駄目(NOT NOW)」と言ったとコンピューティングデバイス500が決定した場合、コンピューティングデバイス500は、ユーザが提案514に同意せず、提案514を実装しないと決定することができる。
図6は、本開示の例示的な実施形態による提案生成システムの一例を示す。コンピューティングデバイス600は、コンピューティングデバイス102、コンピューティングシステム130、トレーニング用コンピューティングシステム150、および/またはコンピューティングデバイス300の1つまたは複数の属性および/または能力を含むことができる。さらに、コンピューティングデバイス600は、コンピューティングデバイス102、コンピューティングシステム130、トレーニング用コンピューティングシステム150、および/またはコンピューティングデバイス300によって実施される1つまたは複数のアクションおよび/または動作を含む、1つまたは複数のアクションおよび/または動作を実施することができる。
図6に示すように、コンピューティングデバイス600は、ディスプレイ構成要素602、撮像構成要素604、オーディオ入力構成要素606、オーディオ出力構成要素608、インターフェース610、メッセージ612、提案614、インターフェース要素616、およびインターフェース要素618を含む。
コンピューティングデバイス600は、ルートデータおよび/またはメッセージデータを含むデータにアクセスすること、データを処理すること、送ること、受信すること、および/または生成することを含む1つまたは複数の動作を実施するように構成されてもよく、データのいずれも、1つもしくは複数のメッセージおよび/または1つもしくは複数のルートに関連付けられた1つまたは複数の提案を含む出力を生成するために使用され得る。さらに、コンピューティングデバイス600は、コンピューティングデバイス600のユーザからの1つまたは複数の対話を含む、1つまたは複数の入力を受信することができる。たとえば、ユーザは、コンピューティングデバイス600のユーザに送られた着信メッセージへの応答に関して、コンピューティングデバイス600によって生成された提案を確認するための入力を提供することができる。いくつかの実施形態では、コンピューティングデバイス600は、別のコンピューティングデバイスおよび/もしくはコンピューティングシステムを制御するかつ/または別のコンピューティングデバイスおよび/もしくはコンピューティングシステムと情報および/もしくはデータを交換するように構成されたモバイルコンピューティングデバイス(たとえば、スマートフォンおよび/またはウェアラブルコンピューティングデバイス)であってもよい。
いくつかの実施形態では、コンピューティングデバイス600は、車両(たとえば、ユーザによって操作される自動車)内で使用される車載コンピューティングシステムの一部として含まれ得る。さらに、コンピューティングデバイス600は、車載コンピューティングシステムにデータを送り、車載コンピューティングシステムからデータを受信し、かつ/または車載コンピューティングシステムの動作を制御するように構成され得る。たとえば、コンピューティングデバイスは、提案614を含むデータを車載コンピューティングシステムに送ることができ、車載コンピューティングシステムは、1つもしくは複数の視覚指示(たとえば、車載コンピューティングシステムのディスプレイデバイス上に提案614に関連付けられた視覚指示を表示する)および/または1つもしくは複数の聴覚指示(たとえば、車載コンピューティングシステムに関連付けられた1つもしくは複数のラウドスピーカーを介して提案614に関連付けられた聴覚指示を告知する合成音声を生成する)を含む出力を生成することができる。
この例では、コンピューティングデバイス600は、コンピューティングデバイス600のディスプレイ構成要素602上に表示されたインターフェース610(たとえば、ユーザインターフェース)上に表示されたメッセージ612を受信している。メッセージ612は、「いつここに着く?(WHEN WILL YOU GET HERE?)」と示しており、コンピューティングデバイス600に関連付けられたユーザの息子からのものである。メッセージ612において視認できるメッセージとは別に、メッセージ612は、メッセージ612が送られた時間、メッセージ612を送ったデバイスのロケーションに関連付けられたメタデータおよび/またはユーザに対するメッセージの送信者の関係に関連付けられた情報を含むメタデータを含むことができるメッセージデータに関連付けられ得る。コンピューティングデバイス600は、1つもしくは複数のヒューリスティックおよび/または1つもしくは複数の機械学習済みモデルの実装または使用に少なくとも部分的に基づいて、メッセージ612を送ったエンティティ(ユーザの息子)のアイデンティティを決定することができる。
たとえば、コンピューティングデバイス600は、メッセージを送った可能性があるエンティティ(たとえば、人物タイプエンティティ)(たとえば、ユーザの息子)を決定するために、メッセージ612に関連付けられたインターネットプロトコル(IP)を使用することができる。さらに、コンピューティングデバイス600は、メッセージ612の送信者の現在のロケーションを指す「ここ(HERE)」という語がロケーションタイプエンティティであると決定することができる。コンピューティングデバイス600はまた、メッセージ612をパースし、「ここ(HERE)」という語と組み合わせてキーワード「いつ(WHEN)」を検出して、メッセージ612の目的がユーザがメッセージ612の送信者のロケーションに到着する時間を要求することであると決定することができ、このことは、メッセージ612の送信者のロケーションおよびコンピューティングデバイス600の現在のロケーションを含むことができるルートデータ(たとえば、コンピューティングデバイス600上に記憶されたルートデータおよび/またはリモートコンピューティングデバイスからアクセスされたルートデータ)に少なくとも部分的に基づいて決定され得る。次いで、コンピューティングデバイス600は、メッセージ612の送信者のロケーションへの推定到着時間を決定するために、コンピューティングデバイス600の現在のロケーションおよびメッセージ612の送信者のロケーションを使用することができる。
さらなる例として、コンピューティングデバイス600は、コンピューティングデバイス600上に実装されたかつ/またはデータおよび/もしくは情報をコンピューティングデバイス600と交換することができるリモートコンピューティングデバイス上に実装された1つまたは複数の機械学習済みモデルへの入力として、メッセージ612に関連付けられたメッセージデータを使用することができる。1つまたは複数の機械学習済みモデルは、メッセージ612に関連付けられたエンティティ(ユーザの息子)および1つまたは複数の目的(たとえば、推定到着時間を求める要求)の決定を含む出力を生成することができる。
さらに、コンピューティングデバイス600は、提案614を含む1つまたは複数の提案を生成するために、1つまたは複数のヒューリスティックを使用することができる。たとえば、コンピューティングデバイス600は、メッセージ612のエンティティおよび1つまたは複数の目的に関連付けられた1つまたは複数の提案を予測するために、1つまたは複数の確率モデルを使用することができる。さらなる例として、コンピューティングデバイス600は、提案614を含む出力を生成するために、1つまたは複数の機械学習済みモデルを使用することができる。
提案614はインターフェース610上に表示され、メッセージ612の送信者への提案された応答を示している。提案614は、「約20分で(午後3:00に)着きます(I'LL ARRIVE IN APPROXIMATELY TWENTY MINUTES (AT 3:00 P.M.))」と示している。コンピューティングデバイス600はまた、インターフェース要素616およびインターフェース要素618を生成し、これらは提案614に関連付けられるかつ/または提案614に少なくとも部分的に基づく。インターフェース要素616は、「応答を送る(SEND REPLY)」と示しており、メッセージ612の送信者に応答を送る選択肢をユーザに与える。
ユーザがインターフェース要素616をタッチ(たとえば、タップ)した場合、コンピューティングデバイス600は、提案614における応答を送り、応答が送られたという指示(たとえば、聴覚告知「応答が送られました(REPLY SENT)」および/またはアニメーション化されたメッセージエンベロープが送られるという視覚指示)を生成することができる。
インターフェース要素618は、「応答しない(DON'T REPLY)」と示しており、メッセージ612に応答しない選択肢をユーザに与える。ユーザがインターフェース要素618をタッチ(たとえば、タップ)した場合、コンピューティングデバイス600はメッセージ612への応答を送らない。ユーザが提案614を受け入れなかったとコンピューティングデバイス600が決定した場合、コンピューティングデバイス600は、提案614の代替として別の提案を生成することができる。たとえば、コンピューティングデバイス600は、ユーザが推定到着時間を10分後に送ることをユーザの息子に知らせる応答メッセージをユーザの息子に送ることになる、「交通渋滞につかまっている、10分後に連絡する(I'M STUCK IN TRAFFIC, I'LL LET YOU KNOW IN TEN MINUTES)」を示す提案を生成することができる。
いくつかの実施形態では、コンピューティングデバイス600は、オーディオ出力構成要素608を介してメッセージ612および/または提案614を生成することができる。たとえば、コンピューティングデバイス600は、オーディオ出力構成要素608を介してメッセージ612および/または提案614を読み上げる合成音声を生成することができる。さらに、オーディオ出力構成要素608は、メッセージ612が受信されたことおよび/または提案614が生成されたことをコンピューティングデバイス600のユーザに(たとえば、楽音によって)示すために使用され得る。
いくつかの実施形態では、コンピューティングデバイス600は、ユーザを監視し、ユーザのフィードバックを受信して1つまたは複数の動作を実施するために、1つまたは複数のセンサーを使用することができる。たとえば、コンピューティングデバイス600は、コンピューティングデバイス600のユーザの1つまたは複数のジェスチャーを検出するために、撮像構成要素604(たとえば、カメラ)を使用することができる。ユーザが首を縦に振ったとコンピューティングデバイス600が決定した場合、コンピューティングデバイス600は、ユーザが提案614に同意し、提案614を実装したいと思っていると決定することができる。ユーザが首を横に振ったとコンピューティングデバイス600が決定した場合、コンピューティングデバイス600は、ユーザが提案614に同意せず、提案614を実装しないと決定することができる。さらに、コンピューティングデバイス600は、オーディオ入力構成要素606(たとえば、マイクロフォン)を介してユーザフィードバックを受信することができる。ユーザが「はい、応答を送ります(YES, SEND THE REPLY)」と言ったとコンピューティングデバイス600が決定した場合、コンピューティングデバイス600は、ユーザが提案614に同意し、提案614を実装したいと思っていると決定することができる。ユーザが「いいえ、応答しません(NO, DON'T REPLY)」と言ったとコンピューティングデバイス600が決定した場合、コンピューティングデバイス600は、ユーザが提案614に同意せず、提案614を実装しないと決定することができる。
図7は、本開示の例示的な実施形態による提案生成システムの一例を示す。コンピューティングデバイス700は、コンピューティングデバイス102、コンピューティングシステム130、トレーニング用コンピューティングシステム150、および/またはコンピューティングデバイス300の1つまたは複数の属性および/または能力を含むことができる。さらに、コンピューティングデバイス700は、コンピューティングデバイス102、コンピューティングシステム130、トレーニング用コンピューティングシステム150、および/またはコンピューティングデバイス300によって実施される1つまたは複数のアクションおよび/または動作を含む、1つまたは複数のアクションおよび/または動作を実施することができる。
図7に示すように、コンピューティングデバイス700は、ディスプレイ構成要素702、撮像構成要素704、オーディオ入力構成要素706、オーディオ出力構成要素708、インターフェース710、メッセージ712、およびメッセージサマリー714を含む。
コンピューティングデバイス700は、ルートデータおよび/またはメッセージデータを含むデータにアクセスすること、データを処理すること、送ること、受信すること、および/または生成することを含む1つまたは複数の動作を実施するように構成されてもよく、データのいずれも、1つもしくは複数のメッセージおよび/または1つもしくは複数のルートに関連付けられた1つまたは複数の提案を含む出力を生成するために使用され得る。さらに、コンピューティングデバイス700は、コンピューティングデバイス700のユーザからの1つまたは複数の対話を含む、1つまたは複数の入力を受信することができる。たとえば、ユーザは、ユーザが現在ナビゲートしているルートを更新することに関して、コンピューティングデバイス700によって生成された提案を確認するための入力を提供することができる。いくつかの実施形態では、コンピューティングデバイス700は、別のコンピューティングデバイスおよび/もしくはコンピューティングシステムを制御するかつ/または別のコンピューティングデバイスおよび/もしくはコンピューティングシステムと情報および/もしくはデータを交換するように構成されたモバイルコンピューティングデバイス(たとえば、スマートフォンおよび/またはウェアラブルコンピューティングデバイス)であってもよい。
いくつかの実施形態では、コンピューティングデバイス700は、車両(たとえば、ユーザによって操作される自動車)内で使用される車載コンピューティングシステムの一部として含まれ得る。さらに、コンピューティングデバイス700は、車載コンピューティングシステムにデータを送り、車載コンピューティングシステムからデータを受信し、かつ/または車載コンピューティングシステムの動作を制御するように構成され得る。たとえば、コンピューティングデバイスは、提案714を含むデータを車載コンピューティングシステムに送ることができ、車載コンピューティングシステムは、1つもしくは複数の視覚指示(たとえば、車載コンピューティングシステムのディスプレイデバイス上に提案714に関連付けられた視覚指示を表示する)および/または1つもしくは複数の聴覚指示(たとえば、車載コンピューティングシステムに関連付けられた1つもしくは複数のラウドスピーカーを介して提案714に関連付けられた聴覚指示を告知する合成音声を生成する)を含む出力を生成することができる。
この例では、コンピューティングデバイス700は、コンピューティングデバイス700のディスプレイ構成要素702上に表示されたインターフェース710(たとえば、ユーザインターフェース)上に表示されたメッセージ712を受信している。メッセージ712は、「交通渋滞につかまっている。15分遅れる(STUCK IN TRAFFIC. I'LL BE 15 MINUTES LATE)」と示しており、コンピューティングデバイス700に関連付けられたユーザの同僚からのものである。メッセージ712において視認できるメッセージとは別に、メッセージ712は、メッセージ712が送られた時間、メッセージ712を送ったデバイスのロケーションに関連付けられたメタデータおよび/またはユーザに対するメッセージの送信者の関係に関連付けられた情報を含むメタデータを含むことができるメッセージデータに関連付けられ得る。コンピューティングデバイス700は、1つもしくは複数のヒューリスティックおよび/または1つもしくは複数の機械学習済みモデルの実装または使用に少なくとも部分的に基づいて、メッセージ712を送ったエンティティ(ユーザの同僚)のアイデンティティを決定することができる。
たとえば、コンピューティングデバイス700は、おそらくメッセージを送ったエンティティ(たとえば、ユーザの同僚)を決定するために、メッセージ712に関連付けられたインスタントメッセージアプリケーションユーザ名を使用することができる。コンピューティングデバイス700はまた、メッセージ712をパースし、「15分遅れる(15 MINUTES LATE)」というキーワードと組み合わせてキーワード「交通渋滞(TRAFFIC)」を検出して、メッセージ712の目的がメッセージ712の送信者が15分遅れることをユーザに知らせることであると決定することができる。
さらなる例として、コンピューティングデバイス700は、コンピューティングデバイス700上に実装されたかつ/またはデータおよび/もしくは情報をコンピューティングデバイス700と交換することができるリモートコンピューティングデバイス上に実装された1つまたは複数の機械学習済みモデルへの入力として、メッセージ712に関連付けられたメッセージデータを使用することができる。1つまたは複数の機械学習済みモデルは、メッセージ712に関連付けられたエンティティ(ユーザの同僚)および1つまたは複数の目的(たとえば、同僚が交通渋滞につかまっており、遅れるということをユーザに知らせること)の決定を含む出力を生成することができる。この例では、コンピューティングデバイス700は、メッセージ712の1つまたは複数の目的が情報をコンピューティングデバイス700のユーザに提供することであり、提案が生成される必要がないと決定することができる。
さらに、コンピューティングデバイス700は、メッセージサマリー714を生成するために、1つまたは複数のヒューリスティックを使用することができる。たとえば、コンピューティングデバイス700は、エンティティの名前(「ヴラド(VLAD)」)とメッセージ712のサマリーとを含むメッセージサマリー714を生成するために、1つまたは複数の確率モデルを使用することができる。いくつかの実施形態では、コンピューティングデバイス700は、メッセージサマリー714を含む出力を生成するために、1つまたは複数の機械学習済みモデルを使用することができる。さらに、メッセージサマリー714はインターフェース710上に表示され、メッセージ712に含まれていなかったエンティティのアイデンティティ(「ヴラド(VLAD)」)を含む、メッセージ712のサマリーを提供する。メッセージサマリー714は、「ヴラドは15分遅れます(VLAD WILL BE 15 MINUTES LATE)」と示している。このようにして、コンピューティングデバイス700は、メッセージ712の送信者の名前をユーザに提供し、ユーザに関係する情報を含むやり方でメッセージ712を言い換えることができる。
図8は、本開示の例示的な実施形態による提案生成システムの一例を示す。コンピューティングデバイス800は、コンピューティングデバイス102、コンピューティングシステム130、トレーニング用コンピューティングシステム150、および/またはコンピューティングデバイス300の1つまたは複数の属性および/または能力を含むことができる。さらに、コンピューティングデバイス800は、コンピューティングデバイス102、コンピューティングシステム130、トレーニング用コンピューティングシステム150、および/またはコンピューティングデバイス300によって実施される1つまたは複数のアクションおよび/または動作を含む、1つまたは複数のアクションおよび/または動作を実施することができる。
図8に示すように、コンピューティングデバイス800は、ディスプレイ構成要素802、撮像構成要素804、オーディオ入力構成要素806、オーディオ出力構成要素808、インターフェース810、メッセージ812、提案814、インターフェース要素816、およびインターフェース要素818を含む。
コンピューティングデバイス800は、ルートデータおよび/またはメッセージデータを含むデータにアクセスすること、データを処理すること、送ること、受信すること、および/または生成することを含む1つまたは複数の動作を実施するように構成されてもよく、データのいずれも、1つもしくは複数のメッセージおよび/または1つもしくは複数のルートに関連付けられた1つまたは複数の提案を含む出力を生成するために使用され得る。さらに、コンピューティングデバイス800は、コンピューティングデバイス800のユーザからの1つまたは複数の対話を含む、1つまたは複数の入力を受信することができる。たとえば、ユーザは、コンピューティングデバイス800によって受信された1つまたは複数のメッセージに応答することに関して、コンピューティングデバイス800によって生成された提案を確認するための入力を提供することができる。いくつかの実施形態では、コンピューティングデバイス800は、別のコンピューティングデバイスおよび/もしくはコンピューティングシステムを制御するかつ/または別のコンピューティングデバイスおよび/もしくはコンピューティングシステムと情報および/もしくはデータを交換するように構成されたモバイルコンピューティングデバイス(たとえば、スマートフォンおよび/またはウェアラブルコンピューティングデバイス)であってもよい。
いくつかの実施形態では、コンピューティングデバイス800は、車両(たとえば、ユーザによって操作される自動車)内で使用される車載コンピューティングシステムの一部として含まれ得る。さらに、コンピューティングデバイス800は、車載コンピューティングシステムにデータを送り、車載コンピューティングシステムからデータを受信し、かつ/または車載コンピューティングシステムの動作を制御するように構成され得る。たとえば、コンピューティングデバイスは、提案814を含むデータを車載コンピューティングシステムに送ることができ、車載コンピューティングシステムは、1つもしくは複数の視覚指示(たとえば、車載コンピューティングシステムのディスプレイデバイス上に提案814に関連付けられた視覚指示を表示する)および/または1つもしくは複数の聴覚指示(たとえば、車載コンピューティングシステムに関連付けられた1つもしくは複数のラウドスピーカーを介して提案814に関連付けられた聴覚指示を告知する合成音声を生成する)を含む出力を生成することができる。
この例では、コンピューティングデバイス800は、コンピューティングデバイス800のディスプレイ構成要素802上に表示されたインターフェース810(たとえば、ユーザインターフェース)上に表示されたメッセージ812を受信している。メッセージ812は、「試験に合格した!(I PASSED MY EXAM!)」と示しており、コンピューティングデバイス800に関連付けられたユーザの息子からのものである。メッセージ812において視認できるメッセージとは別に、メッセージ812は、メッセージ812が送られた時間、メッセージ812を送ったデバイスのロケーションに関連付けられたメタデータおよび/またはユーザに対するメッセージの送信者の関係に関連付けられた情報を含むメタデータを含むことができるメッセージデータに関連付けられ得る。コンピューティングデバイス800は、1つもしくは複数のヒューリスティックおよび/または1つもしくは複数の機械学習済みモデルの実装または使用に少なくとも部分的に基づいて、メッセージ812を送ったエンティティ(ユーザの息子)のアイデンティティを決定することができる。
たとえば、コンピューティングデバイス800は、メッセージを送ったエンティティ(たとえば、ユーザの息子)を決定するために、メッセージ812の送信者に関連付けられたインスタントメッセージングアプリケーション識別子を使用することができる。コンピューティングデバイス800はまた、メッセージ812をパースし、「試験(EXAM)」という語と組み合わせてキーワード「合格した(PASSED)」を検出して、メッセージ812の目的が情報をコンピューティングデバイス800のユーザに提供することであると決定することができる。
さらなる例として、コンピューティングデバイス800は、コンピューティングデバイス800上に実装されたかつ/またはデータおよび/もしくは情報をコンピューティングデバイス800と交換することができるリモートコンピューティングデバイス上に実装された1つまたは複数の機械学習済みモデルへの入力として、メッセージ812に関連付けられたメッセージデータを使用することができる。1つまたは複数の機械学習済みモデルは、メッセージ812に関連付けられたエンティティ(ユーザの息子)および1つまたは複数の目的(たとえば、試験についての情報を提供すること)の決定を含む出力を生成することができる。
さらに、コンピューティングデバイス800は、提案814を含む1つまたは複数の提案を生成するために、1つまたは複数のヒューリスティックを使用することができる。たとえば、コンピューティングデバイス800は、メッセージ812のエンティティおよび1つまたは複数の目的に関連付けられた1つまたは複数の提案を予測するために、1つまたは複数の確率モデルを使用することができる。さらなる例として、コンピューティングデバイス800は、提案814を含む出力を生成するために、1つまたは複数の機械学習済みモデルを使用することができる。
提案814はインターフェース810上に表示され、「おめでとう!よくやった!(CONGRATULATIONS! GOOD JOB!)」と示している。コンピューティングデバイス800はまた、インターフェース要素816およびインターフェース要素818を生成し、これらは提案814に関連付けられるかつ/または提案814に少なくとも部分的に基づく。インターフェース要素816は、「応答を送る(SEND REPLY)」と示しており、メッセージ812の送信者に応答を送る選択肢をユーザに与える。
ユーザがインターフェース要素816をタッチ(たとえば、タップ)した場合、コンピューティングデバイス800は、提案814における応答を送り、応答が送られたという指示(たとえば、聴覚告知「応答が送られました(REPLY SENT)」および/またはアニメーション化されたメッセージエンベロープが送られるという視覚指示)を生成することができる。
インターフェース要素818は、「応答しない(DON'T REPLY)」と示しており、メッセージ812に応答しない選択肢をユーザに与える。ユーザがインターフェース要素818をタッチ(たとえば、タップ)した場合、コンピューティングデバイス800はメッセージ812への応答を送らない。
いくつかの実施形態では、コンピューティングデバイス800は、オーディオ出力構成要素808を介してメッセージ812および/または提案814を生成することができる。たとえば、コンピューティングデバイス800は、オーディオ出力構成要素808を介してメッセージ812および/または提案814を読み上げる合成音声を生成することができる。さらに、オーディオ出力構成要素808は、メッセージ812が受信されたことおよび/または提案814が生成されたことをコンピューティングデバイス800のユーザに(たとえば、チャイムまたはビープ音によって)シグナリングするために使用され得る。
いくつかの実施形態では、コンピューティングデバイス800は、ユーザを監視し、ユーザのフィードバックを受信して1つまたは複数の動作を実施するために、1つまたは複数のセンサーを使用することができる。たとえば、コンピューティングデバイス800は、コンピューティングデバイス800のユーザの1つまたは複数のジェスチャーを検出するために、撮像構成要素804(たとえば、カメラ)を使用することができる。ユーザが首を縦に振ったとコンピューティングデバイス800が決定した場合、コンピューティングデバイス800は、ユーザが提案814に同意し、提案814を実装したいと思っていると決定することができる。ユーザが首を横に振ったとコンピューティングデバイス800が決定した場合、コンピューティングデバイス800は、ユーザが提案814に同意せず、提案814を実装しないと決定することができる。さらに、コンピューティングデバイス800は、オーディオ入力構成要素806(たとえば、マイクロフォン)を介してユーザフィードバックを受信することができる。ユーザが「応答を送ります(SEND REPLY)」と言ったとコンピューティングデバイス800が決定した場合、コンピューティングデバイス800は、ユーザが提案814に同意し、提案814を実装したいと思っていると決定することができる。ユーザが「応答しません(DON'T REPLY)」と言ったとコンピューティングデバイス800が決定した場合、コンピューティングデバイス800は、ユーザが提案814に同意せず、提案814を実装しないと決定することができる。
図9は、本開示の例示的な実施形態による、ナビゲーション用の提案のメッセージベースの生成の流れ図を示す。方法900の1つまたは複数の部分は、たとえば、コンピューティングデバイス102、コンピューティングシステム130、トレーニング用コンピューティングシステム150、および/またはコンピューティングデバイス300を含む、1つまたは複数のコンピューティングデバイスまたはコンピューティングシステム上で実行かつ/または実装され得る。さらに、方法900の1つまたは複数の部分は、本明細書で開示するハードウェアデバイスまたはシステム上でアルゴリズムとして実行または実装され得る。図9は、例示および説明の目的で特定の順序で実施されるステップを示す。本明細書で提供する開示を使用する当業者は、本明細書で開示する方法のいずれかの様々なステップが、本開示の範囲から逸脱することなく、適応され、修正され、再構成され、省略され、かつ/または拡大され得ることを理解されよう。
902において、方法900は、ルートデータにアクセスするステップを含むことができる。ルートデータは、開始ロケーションから目的地までのナビゲーションに関連付けられた情報を含むことができる。たとえば、コンピューティングデバイス102は、開始ロケーション(たとえば、コンピューティングデバイス102の現在のロケーション(緯度、経度、および/または高度))およびユーザが選択した目的地に関連付けられた情報を含む、ローカルに記憶されたルートデータにアクセスすることができる。いくつかの実施形態では、ルートデータの1つまたは複数の部分は、リモートで(たとえば、コンピューティングシステム130上に)記憶されてもよく、コンピューティングデバイス102は、開始ロケーションから目的地までのナビゲーションに関連付けられた1つまたは複数の要求(たとえば、コンピューティングデバイス102上で動作するナビゲーションアプリケーションのユーザによって開始されたナビゲーションセッションに関連付けられた要求)に少なくとも部分的に基づいて、ルートデータの1つまたは複数の部分にアクセスすることができる。
904において、方法900は、ルートデータに少なくとも部分的に基づいて、開始ロケーションから目的地までの1つまたは複数のルートを決定するステップを含むことができる。たとえば、コンピューティングデバイス102は、開始ロケーションおよび目的地を含む地理的エリアの1つまたは複数の地図を含む地図データにアクセスすることができる。次いで、コンピューティングデバイス102は、開始ロケーションから目的地までナビゲートするために使用され得る1つまたは複数の道路のセットを決定することによって開始ロケーションから目的地までの1つまたは複数のルートを決定するために、地図データおよび制約のセット(たとえば、最大移動時間または最大移動距離)を使用することができる。
906において、方法900は、メッセージデータにアクセスするステップを含むことができる。メッセージデータは、ユーザ(たとえば、ナビゲーション用に使用されるコンピューティングデバイスのユーザ)に関連付けられた1つまたは複数のメッセージに関連付けられた情報を含むことができる。たとえば、コンピューティングデバイス102は、コンピューティングデバイス102上で動作可能なメッセージングアプリケーション(たとえば、テキストメッセージングアプリケーション)に送信されるメッセージデータにアクセスすることができる。
908において、方法900は、1つまたは複数のメッセージおよび1つまたは複数の機械学習済みモデルに少なくとも部分的に基づいて、1つまたは複数のメッセージに関連付けられた少なくとも1つのエンティティおよび/または1つもしくは複数の目的を決定するステップを含むことができる。たとえば、コンピューティングデバイス102は、入力を受信することと、入力に対して1つまたは複数の動作を実施することと、少なくとも1つのエンティティおよび/または1つもしくは複数の目的を含む出力を生成することとを行うように構成された1つまたは複数の機械学習済みモデルへの入力の一部としてルートデータおよび/またはメッセージデータを使用することを含む、1つまたは複数の動作を実施することができる。
1つまたは複数の機械学習済みモデルは、メッセージデータに関連付けられた少なくとも1つのエンティティ(たとえば、メッセージの送信者および/またはメッセージ内で言及された任意の個人)を決定するために、メッセージデータおよび/または1つもしくは複数のメッセージを分析するかつ/またはパースするように構成されかつ/またはトレーニングされ得る。さらに、1つまたは複数の機械学習済みモデルは、1つまたは複数のメッセージ中に存在し得る1つまたは複数の目的を決定するために、メッセージデータを分析するかつ/またはパースするように構成されかつ/またはトレーニングされ得る。たとえば、1つまたは複数の機械学習済みモデルは、ナビゲーション(たとえば、中間地点をルートに追加するかつ/またはピックアップロケーションもしくはドロップオフロケーションを変更する)に関係し得る1つまたは複数の目的を含む1つまたは複数のメッセージから意味論的内容を決定するかつ/または抽出するために、1つまたは複数の自然言語理解動作を実施することができる。
910において、方法900は、1つまたは複数のルート、少なくとも1つのエンティティ、および1つまたは複数の目的に少なくとも部分的に基づいて、1つまたは複数のメッセージに関連付けられた1つまたは複数の提案を生成するステップを含むことができる。たとえば、コンピューティングデバイス102は、入力を受信することと、入力に対して1つまたは複数の動作を実施することと、1つまたは複数の提案を含む出力を生成することとを行うように構成された1つまたは複数の機械学習済みモデルへの入力の一部として少なくとも1つのエンティティおよび/または1つもしくは複数の目的を使用することを含む、1つまたは複数の動作を実施することができる。1つまたは複数の機械学習済みモデルは、1つまたは複数の提案(たとえば、少なくとも1つのエンティティおよび1つまたは複数の目的に関連する1つまたは複数の提案)を生成するために、少なくとも1つのエンティティおよび/または1つもしくは複数の目的を分析するように構成されかつ/またはトレーニングされ得る。さらに、1つまたは複数の機械学習済みモデルは、少なくとも1つのエンティティおよび/または1つもしくは複数の目的の組合せからの意味論的内容の決定および/または抽出に少なくとも部分的に基づいて、1つまたは複数の提案を生成することができる。たとえば、ユーザの家族である少なくとも1つのエンティティとドロップオフロケーションを変更することを含む1つまたは複数の目的の組合せは、新しいドロップオフロケーションを含む更新されたルートを受け入れることを含む1つまたは複数の提案をもたらす場合がある。
いくつかの実施形態では、1つまたは複数の提案は、1つまたは複数のヒューリスティックを使用して生成され得る。さらに、コンピューティングデバイス102は、共通の提案に関連付けられた1つまたは複数のメッセージの特定可能な部分をパースしたことに基づいて、1つまたは複数の提案を生成することができる。たとえば、ユーザの息子からのメッセージが「いつここに着く?(WHEN WILL YOU GET HERE?)」と示している場合、ヒューリスティックはルートデータにアクセスして、息子のロケーションへの推定到着時間を決定し、息子に送るべき提案された応答として提案「5時に(AT FIVE O'CLOCK)」を生成することができる。
912において、方法900は、出力を生成するステップを含むことができる。出力は、ユーザインターフェース(たとえば、ディスプレイデバイス上で出力を生成し、ユーザからの1つもしくは複数のタッチ入力を受信するように構成されたグラフィカルユーザインターフェース、ならびに/あるいは、1つもしくは複数のマイクロフォンを介して入力を受信し、1つもしくは複数のスピーカーおよび/またはディスプレイデバイスを介して出力を生成するユーザインターフェースの任意の組合せ)を介して生成され得る。出力は、ユーザに宛てられた1つまたは複数の指示を含むことができる。さらに、1つまたは複数の指示は、1つまたは複数の提案に関連付けられ得る。たとえば、コンピューティングデバイス102は、1つまたは複数の提案を表示するために使用されるディスプレイ構成要素を含むことができる。さらに、コンピューティングデバイス102は、ユーザがディスプレイデバイスを見る必要なしにリッスンすることができる聴覚形態で1つまたは複数の提案を生成するために使用され得るオーディオ出力構成要素を含むことができる。たとえば、ユーザは、車両を運転しながら、コンピューティングデバイス102によって生成された1つまたは複数の提案を聞くことができる。
図10は、本開示の例示的な実施形態による、ナビゲーション用の提案のメッセージベースの生成の流れ図を示す。方法1000の1つまたは複数の部分は、たとえば、コンピューティングデバイス102、コンピューティングシステム130、トレーニング用コンピューティングシステム150、および/またはコンピューティングデバイス300を含む、1つまたは複数のコンピューティングデバイスまたはコンピューティングシステム上で実行かつ/または実装され得る。さらに、方法1000の1つまたは複数の部分は、本明細書で開示するハードウェアデバイスまたはシステム上でアルゴリズムとして実行または実装され得る。いくつかの実施形態では、方法1000の1つまたは複数の部分は、図9に示す方法900の一部として実施され得る。図10は、例示および説明の目的で特定の順序で実施されるステップを示す。本明細書で提供する開示を使用する当業者は、本明細書で開示する方法のいずれかの様々なステップが、本開示の範囲から逸脱することなく、適応され、修正され、再構成され、省略され、かつ/または拡大され得ることを理解されよう。
1002において、方法1000は、少なくとも1つのエンティティが1つまたは複数の関係基準を満たすかどうかを決定するステップを含むことができる。たとえば、コンピューティングデバイス102は、メッセージデータが、メッセージデータに関連付けられた1つまたは複数のメッセージを送ったエンティティのパーソナルアイデンティティに関連付けられた情報を含むかどうかを決定することができる。次いで、コンピューティングデバイス102は、エンティティを、ユーザがユーザのルートを修正することを含むアクションの何らかのセットを実施し得るエンティティのリストに記憶された複数のエンティティと比較することができる。エンティティが複数のエンティティのうちの少なくとも1つと一致する場合、1つまたは複数の関係基準が満たされる。
1004において、方法1000は、1つまたは複数の目的が1つまたは複数のルートを修正することに関連付けられるかどうかを決定するステップを含むことができる。たとえば、コンピューティングデバイス102は、メッセージデータが1つまたは複数のルートを修正することに関連付けられた1つまたは複数の目的を含むかどうかを決定するために、1つまたは複数の機械学習済みモデルを使用することができる。さらに、コンピューティングデバイス102は、メッセージデータが1つまたは複数のルートを修正することに関連付けられた一定のキーワードまたはキーフレーズ(たとえば、「代わりにここに私を迎えに来て(PICK ME UP HERE INSTEAD)」)を含むかどうかを決定することができる。
1006において、方法1000は、少なくとも1つのエンティティが1つまたは複数の関係基準を満たすことおよび1つまたは複数の目的が1つまたは複数のルートを修正するという1つまたは複数の要求を含むことに応答して、1つまたは複数の提案が1つまたは複数のルートを修正することに関連付けられると決定するステップを含むことができる。たとえば、少なくとも1つのエンティティがユーザによるアクションの何らかのセットの実施をトリガし得る複数のエンティティの一部であり、メッセージデータがピックアップロケーションを変更するという要求に関連付けられる場合、コンピューティングデバイス102は、1つまたは複数の提案がルートを修正することに関連付けられると決定することができ、次いで、ルートを修正することに関連付けられた1つまたは複数の提案のカテゴリーから選択された提案を生成することができる。
図11は、本開示の例示的な実施形態による、ナビゲーション用の提案のメッセージベースの生成の流れ図を示す。方法1100の1つまたは複数の部分は、たとえば、コンピューティングデバイス102、コンピューティングシステム130、トレーニング用コンピューティングシステム150、および/またはコンピューティングデバイス300を含む、1つまたは複数のコンピューティングデバイスまたはコンピューティングシステム上で実行かつ/または実装され得る。さらに、方法1100の1つまたは複数の部分は、本明細書で開示するハードウェアデバイスまたはシステム上でアルゴリズムとして実行または実装され得る。いくつかの実施形態では、方法1100の1つまたは複数の部分は、図9に示す方法900の一部として実施され得る。図11は、例示および説明の目的で特定の順序で実施されるステップを示す。本明細書で提供する開示を使用する当業者は、本明細書で開示する方法のいずれかの様々なステップが、本開示の範囲から逸脱することなく、適応され、修正され、再構成され、省略され、かつ/または拡大され得ることを理解されよう。
1102において、方法1100は、少なくとも1つのエンティティおよび/または1つもしくは複数の目的に関連付けられた重要度のレベルを決定するステップを含むことができる。たとえば、コンピューティングデバイス102は、1つまたは複数の目的の目的タイプ(たとえば、緊急時に支援を求めるという目的)を決定し、その目的タイプを複数の目的タイプ(たとえば、それぞれ、複数の重要度スコアに関連付けられた複数の目的タイプ)と比較することができる。1つまたは複数の目的のうちのいくつかが複数の目的タイプのうちの少なくとも1つと一致する場合、コンピューティングデバイス102は、1つまたは複数の目的の重要度のレベル(たとえば、緊急関連の目的の場合には高い重要度)が重要度スコアと一致すると決定することができる。
1104において、方法1100は、重要度のレベルが重要度しきい値を超えることに応答して、1つまたは複数の提案がユーザからのフィードバックを求める1つまたは複数の要求を含むものとすると決定するステップを含むことができる。コンピューティングデバイス102は、重要度のレベルが重要度しきい値よりも大きい場合、生成される1つまたは複数の提案がユーザからのフィードバックを求める要求(たとえば、フィードバックを提供するためのユーザインターフェース選択肢の形態での要求)を含むことができると決定することができる。
1106において、方法1100は、重要度のレベルが重要度しきい値を超えないことに応答して、1つまたは複数の提案がユーザからのフィードバックを求める1つまたは複数の要求を含まないものとすると決定するステップを含むことができる。コンピューティングデバイス102は、重要度のレベルが重要度しきい値よりも小さいかまたはそれに等しい場合、生成される1つまたは複数の提案がユーザからのフィードバックを求める要求を含まないと決定することができる。代わりに、1つまたは複数の提案は、ユーザからのフィードバックを要求することなしに、ユーザに情報を提供し得る。
図12は、本開示の例示的な実施形態による、ナビゲーション用の提案のメッセージベースの生成の流れ図を示す。方法1200の1つまたは複数の部分は、たとえば、コンピューティングデバイス102、コンピューティングシステム130、トレーニング用コンピューティングシステム150、および/またはコンピューティングデバイス300を含む、1つまたは複数のコンピューティングデバイスまたはコンピューティングシステム上で実行かつ/または実装され得る。さらに、方法1200の1つまたは複数の部分は、本明細書で開示するハードウェアデバイスまたはシステム上でアルゴリズムとして実行または実装され得る。いくつかの実施形態では、方法1200の1つまたは複数の部分は、図9に示す方法900の一部として実施され得る。図12は、例示および説明の目的で特定の順序で実施されるステップを示す。本明細書で提供する開示を使用する当業者は、本明細書で開示する方法のいずれかの様々なステップが、本開示の範囲から逸脱することなく、適応され、修正され、再構成され、省略され、かつ/または拡大され得ることを理解されよう。
1202において、方法1200は、1つまたは複数の目的が1つまたは複数のルートに関連付けられた移動ステータスを求める要求に関連付けられるかどうかを決定するステップを含むことができる。たとえば、ルートの移動ステータスを求める要求は、ルートに沿ったロケーションへの推定到着時間を求める要求を含むことができる。さらに、コンピューティングデバイス102は、1つまたは複数の機械学習済みモデルへの入力として1つまたは複数の目的を提供することができ、1つまたは複数の機械学習済みモデルは、入力に対して1つまたは複数の動作を実施することと、1つまたは複数の目的がルートに沿ったロケーション(たとえば、ピックアップロケーション)への推定到着時間を求める要求に関連付けられるかどうかの決定を含む出力を生成することとを行うように構成されかつ/またはトレーニングされ得る。
1204において、方法1200は、1つまたは複数の目的が1つまたは複数のルートに関連付けられた移動ステータスを求める要求に関連付けられることに応答して、1つまたは複数の提案が1つまたは複数のルートに関連付けられた移動ステータスを求める要求に関連付けられると決定するステップを含むことができる。たとえば、1つまたは複数の目的が、推定到着時間を求める要求を含む、ルートに関連付けられた移動ステータスを求める要求に関連付けられるとコンピューティングデバイス102が決定したことに応答して、コンピューティングデバイス102は、生成される1つまたは複数の提案が推定到着時間に関連付けられる(たとえば、1つまたは複数の提案が推定到着時間を提供する)と決定することができる。
図13は、本開示の例示的な実施形態による、ナビゲーション用の提案のメッセージベースの生成の流れ図を示す。方法1300の1つまたは複数の部分は、たとえば、コンピューティングデバイス102、コンピューティングシステム130、トレーニング用コンピューティングシステム150、および/またはコンピューティングデバイス300を含む、1つまたは複数のコンピューティングデバイスまたはコンピューティングシステム上で実行かつ/または実装され得る。さらに、方法1300の1つまたは複数の部分は、本明細書で開示するハードウェアデバイスまたはシステム上でアルゴリズムとして実行または実装され得る。いくつかの実施形態では、方法1300の1つまたは複数の部分は、図9に示す方法900の一部として実施され得る。図13は、例示および説明の目的で特定の順序で実施されるステップを示す。本明細書で提供する開示を使用する当業者は、本明細書で開示する方法のいずれかの様々なステップが、本開示の範囲から逸脱することなく、適応され、修正され、再構成され、省略され、かつ/または拡大され得ることを理解されよう。
1302において、方法1300は、1つまたは複数の目的がピックアップを求める要求および/またはドロップオフを求める要求に関連付けられるかどうかを決定するステップを含むことができる。たとえば、コンピューティングデバイス102は、1つまたは複数の機械学習済みモデルへの入力として1つまたは複数の目的を提供することができ、1つまたは複数の機械学習済みモデルは、入力に対して1つまたは複数の動作を実施することと、1つまたは複数の目的がピックアップを求める要求および/またはドロップオフを求める要求(たとえば、ピックアップロケーションを変更するという要求および/またはピックアップ時間を変更するという要求)に関連付けられるかどうかの決定を含む出力を生成することとを行うように構成されかつ/またはトレーニングされ得る。
1304において、方法1300は、1つまたは複数の目的がピックアップを求める要求および/またはドロップオフを求める要求に関連付けられることに応答して、1つまたは複数の提案がピックアップまたはドロップオフを求める要求に関連付けられるものとすると決定するステップを含むことができる。たとえば、1つまたは複数の目的が1つまたは複数のメッセージの送信者が時間どおりにユーザに迎えに来てもらうかどうかを求める要求に関連付けられるとコンピューティングデバイス102が決定したことに応答して、コンピューティングデバイス102は、生成される1つまたは複数の提案がユーザが時間どおりにピックアップロケーションにいるという確認に関連付けられると決定することができる。
図14は、本開示の例示的な実施形態による、ナビゲーション用の提案のメッセージベースの生成の流れ図を示す。方法1400の1つまたは複数の部分は、たとえば、コンピューティングデバイス102、コンピューティングシステム130、トレーニング用コンピューティングシステム150、および/またはコンピューティングデバイス300を含む、1つまたは複数のコンピューティングデバイスまたはコンピューティングシステム上で実行かつ/または実装され得る。さらに、方法1400の1つまたは複数の部分は、本明細書で開示するハードウェアデバイスまたはシステム上でアルゴリズムとして実行または実装され得る。いくつかの実施形態では、方法1400の1つまたは複数の部分は、図9に示す方法900の一部として実施され得る。図14は、例示および説明の目的で特定の順序で実施されるステップを示す。本明細書で提供する開示を使用する当業者は、本明細書で開示する方法のいずれかの様々なステップが、本開示の範囲から逸脱することなく、適応され、修正され、再構成され、省略され、かつ/または拡大され得ることを理解されよう。
1402において、方法1400は、ユーザからのナビゲーション要求を含む1つまたは複数のユーザ入力を受信するステップを含むことができる。たとえば、コンピューティングデバイス102は、いつユーザが1つまたは複数のタッチ入力をコンピューティングデバイス102の触覚ユーザインターフェースに提供するかを検出することができる。次いで、コンピューティングデバイス102は、1つまたは複数のタッチ入力がナビゲーション要求(たとえば、コンピューティングデバイス102が1つまたは複数のロケーションを含むユーザのためのルートを生成することを含むナビゲーションに関連付けられた1つまたは複数の動作を実施することを求める要求)に関連付けられるかどうかを決定することができる。
1404において、方法1400は、ナビゲーション要求に少なくとも部分的に基づいてルートデータを生成するステップを含むことができる。たとえば、コンピューティングデバイス102は、ナビゲーション要求に含まれるロケーション(たとえば、コンピューティングデバイス102の現在のロケーションまたはユーザが選択したロケーション)を開始ロケーションとして使用し、ユーザが選択した目的地を1つまたは複数のルートの目的地として使用することができる。次いで、ユーザコンピューティングデバイス102は、ナビゲーション要求から開始ロケーションおよび目的地を含むルートデータを生成するかつ/またはナビゲーション要求に少なくとも部分的に基づいてルートデータを含むように既存のルートデータを修正することができる。次いで、ルートデータは、ナビゲーション要求に関連付けられた、コンピューティングデバイス102の現在のロケーションから目的地までのルートを含むことができる。
図15は、本開示の例示的な実施形態による、ナビゲーション用の提案のメッセージベースの生成の流れ図を示す。方法1500の1つまたは複数の部分は、たとえば、コンピューティングデバイス102、コンピューティングシステム130、トレーニング用コンピューティングシステム150、および/またはコンピューティングデバイス300を含む、1つまたは複数のコンピューティングデバイスまたはコンピューティングシステム上で実行かつ/または実装され得る。さらに、方法1500の1つまたは複数の部分は、本明細書で開示するハードウェアデバイスまたはシステム上でアルゴリズムとして実行または実装され得る。いくつかの実施形態では、方法1500の1つまたは複数の部分は、図9に示す方法900の一部として実施され得る。図15は、例示および説明の目的で特定の順序で実施されるステップを示す。本明細書で提供する開示を使用する当業者は、本明細書で開示する方法のいずれかの様々なステップが、本開示の範囲から逸脱することなく、適応され、修正され、再構成され、省略され、かつ/または拡大され得ることを理解されよう。
1502において、方法1500は、ユーザからのフィードバックを受信するステップを含むことができる。フィードバックは、ユーザインターフェース(たとえば、ディスプレイ構成要素上に表示され、ユーザからのタッチ入力を受信するグラフィカルユーザインターフェースおよび/またはユーザからのバーバルコマンドを受信するために1つもしくは複数のマイクロフォンを使用する聴覚ユーザインターフェース)を介して受信され得る。ユーザからのフィードバックは、1つまたは複数の提案されたルートのうちの少なくとも1つの提案されたルートに関連付けられ得る。たとえば、コンピューティングデバイス102は、受信された、また、ユーザがコンピューティングデバイス102のディスプレイ構成要素上に生成されるユーザインターフェースのインターフェース要素を介して「応答する(REPLY)」または「応答しない(DON'T REPLY)」を示すことを要求する、1つまたは複数のメッセージへの応答をユーザに提供する提案を生成することができる。
1504において、方法1500は、ユーザからのフィードバックに少なくとも部分的に基づいて1つまたは複数の動作を実施するステップを含むことができる。たとえば、ユーザが1つまたは複数の提案(たとえば、1つまたは複数のメッセージの送信者に応答を送る)に同意することを示すフィードバックをコンピューティングデバイス102が受信したことに応答して、コンピューティングデバイス102は、提案された応答を生成し、提案された応答を1つまたは複数のメッセージの送信者に送ることができる。
本明細書で説明する技術は、サーバ、データベース、ソフトウェアアプリケーション、および他のコンピュータベースのシステム、ならびに行われるアクションおよびそのようなシステムとの間で送られる情報を参照する。コンピュータベースのシステムの固有の柔軟性は、構成要素の間でのタスクおよび機能の多種多様な可能な構成、組合せ、および分割を可能にする。たとえば、本明細書で説明するプロセスは、単一のデバイスもしくは構成要素または組み合わせて働く複数のデバイスもしくは構成要素を使用して実装され得る。データベースおよびアプリケーションは、単一のシステム上で実装されるか、または複数のシステムにわたって分散され得る。分散構成要素は、順次または並行して動作することができる。
本主題について、その様々な特定の例示的な実施形態に関して詳細に説明したが、各例は、本開示の限定ではなく、説明として与えられる。当業者は、上記を理解すると、そのような実施形態の改変、変形、および等価物を容易に作り出すことができる。したがって、本開示は、当業者には容易に明らかになるように、本主題へのそのような修正、変形および/または追加を含めることを排除しない。たとえば、1つの実施形態の一部として示されるかまたは説明される特徴は、またさらなる実施形態をもたらすために、別の実施形態とともに使用され得る。したがって、本開示がそのような改変、変形、および等価物をカバーすることが意図されている。
10 コンピューティングデバイス
50 コンピューティングデバイス
100 システム
102 コンピューティングデバイス
112 プロセッサ
114 メモリ
116 データ
118 命令
120 機械学習済みモデル
122 ユーザ入力構成要素
130 コンピューティングシステム
132 プロセッサ
134 メモリ
136 データ
138 命令
140 機械学習済みモデル
150 トレーニング用コンピューティングシステム
152 プロセッサ
154 メモリ
156 データ
158 命令
160 モデルトレーナー
162 トレーニングデータ
180 ネットワーク
200 機械学習済みモデル
202 メッセージ処理機械学習済みモデル
204 入力データ
206 出力データ
300 コンピューティングデバイス
302 メモリデバイス
304 ルートデータ
306 メッセージデータ
308 機械学習済みモデル
310 相互接続
320 プロセッサ
322 ネットワークインターフェース
324 大容量記憶デバイス
326 出力デバイス
328 センサー
330 入力デバイス
332 ロケーションデバイス
400 コンピューティングデバイス
402 ディスプレイ構成要素
404 撮像構成要素
406 オーディオ入力構成要素
408 オーディオ出力構成要素
410 インターフェース
412 メッセージ
414 提案
416 インターフェース要素
418 インターフェース要素
500 コンピューティングデバイス
502 ディスプレイ構成要素
504 撮像構成要素
506 オーディオ入力構成要素
508 オーディオ出力構成要素
510 インターフェース
512 メッセージ
514 提案
516 インターフェース要素
518 インターフェース要素
600 コンピューティングデバイス
602 ディスプレイ構成要素
604 撮像構成要素
606 オーディオ入力構成要素
608 オーディオ出力構成要素
610 インターフェース
612 メッセージ
614 提案
616 インターフェース要素
618 インターフェース要素
700 コンピューティングデバイス
702 ディスプレイ構成要素
704 撮像構成要素
706 オーディオ入力構成要素
708 オーディオ出力構成要素
710 インターフェース
712 メッセージ
714 メッセージサマリー
800 コンピューティングデバイス
802 ディスプレイ構成要素
804 撮像構成要素
806 オーディオ入力構成要素
808 オーディオ出力構成要素
810 インターフェース
812 メッセージ
814 提案
816 インターフェース要素
818 インターフェース要素
900 方法
1000 方法
1100 方法
1200 方法
1300 方法
1400 方法
1500 方法

Claims (20)

  1. ナビゲーションのコンピュータ実装方法であって、
    1つまたは複数のプロセッサを備えるコンピューティングシステムによって、開始ロケーションから目的地までのナビゲーションに関連付けられた情報を含むルートデータにアクセスするステップと、
    前記コンピューティングシステムによって、前記ルートデータに少なくとも部分的に基づいて、前記開始ロケーションから前記目的地までの1つまたは複数のルートを決定するステップと、
    前記コンピューティングシステムによって、ユーザに関連付けられた1つまたは複数のメッセージを含むメッセージデータにアクセスするステップと、
    前記コンピューティングシステムによって、前記メッセージデータおよび1つまたは複数の機械学習済みモデルに少なくとも部分的に基づいて、前記1つまたは複数のメッセージに関連付けられた少なくとも1つのエンティティおよび1つまたは複数の目的を決定するステップと、
    前記コンピューティングシステムによって、前記1つまたは複数のルート、前記少なくとも1つのエンティティ、および前記1つまたは複数の目的に少なくとも部分的に基づいて、前記1つまたは複数のメッセージに関連付けられた1つまたは複数の提案を生成するステップと、
    前記コンピューティングシステムによって、ユーザインターフェースを介して、前記ユーザに宛てられた1つまたは複数の指示を含む出力を生成するステップであって、前記1つまたは複数の指示が前記1つまたは複数の提案に関連付けられる、ステップと
    を含む、コンピュータ実装方法。
  2. 前記コンピューティングシステムによって、前記1つまたは複数のルート、前記少なくとも1つのエンティティ、および前記1つまたは複数の目的に少なくとも部分的に基づいて、前記1つまたは複数のメッセージに関連付けられた1つまたは複数の提案を生成する前記ステップが、
    前記コンピューティングシステムによって、前記少なくとも1つのエンティティが1つまたは複数の関係基準を満たすかどうかを決定するステップと、
    前記コンピューティングシステムによって、前記1つまたは複数の目的が前記1つまたは複数のルートを修正するという1つまたは複数の要求に関連付けられるかどうかを決定するステップと、
    前記少なくとも1つのエンティティが前記1つまたは複数の関係基準を満たすことおよび前記1つまたは複数の目的が前記1つまたは複数のルートを修正するという前記1つまたは複数の要求を含むことに応答して、前記コンピューティングシステムによって、前記1つまたは複数の提案が前記1つまたは複数のルートを修正するという1つまたは複数の要求に関連付けられると決定するステップと
    を含む、請求項1に記載のコンピュータ実装方法。
  3. 前記1つまたは複数の関係基準を満たす前記ステップが、前記少なくとも1つのエンティティが高優先度関係グループに関連付けられること、前記少なくとも1つのエンティティが通信頻度しきい値を超える頻度で前記ユーザと以前に通信していた個人であること、前記少なくとも1つのエンティティが通信量しきい値を超える合計回数だけ前記ユーザと以前に通信していた個人であること、あるいは前記少なくとも1つのエンティティが前記1つまたは複数のルートに関連付けられた個人であることを含む、請求項2に記載のコンピュータ実装方法。
  4. 前記1つまたは複数のルートを修正するという前記1つまたは複数の要求が、少なくとも1つの中間地点を前記1つまたは複数のルートに追加するという要求、ピックアップロケーションを修正するという要求、ピックアップ時間を修正するという要求、ドロップオフロケーションを修正するという要求、ドロップオフ時間を修正するという要求、あるいは前記1つまたは複数のルートの目的地を修正するという要求を含む、請求項2または請求項3に記載のコンピュータ実装方法。
  5. 前記コンピューティングシステムによって、前記1つまたは複数のルート、前記少なくとも1つのエンティティ、および前記1つまたは複数の目的に少なくとも部分的に基づいて、前記1つまたは複数のメッセージに関連付けられた1つまたは複数の提案を生成する前記ステップが、
    前記コンピューティングシステムによって、前記少なくとも1つのエンティティあるいは前記1つまたは複数の目的に関連付けられた重要度のレベルを決定するステップと、
    前記重要度のレベルが重要度しきい値を超えることに応答して、前記コンピューティングシステムによって、前記1つまたは複数の提案が前記ユーザからのフィードバックを求める1つまたは複数の要求を含むものとすると決定するステップと、
    前記重要度のレベルが前記重要度しきい値を超えないことに応答して、前記コンピューティングシステムによって、前記1つまたは複数の提案が前記ユーザからのフィードバックを求める1つまたは複数の要求を含まないものとすると決定するステップと
    を含む、請求項1から4のいずれか一項に記載のコンピュータ実装方法。
  6. 前記ユーザからのフィードバックを求める前記1つまたは複数の要求が、口頭フィードバックを求める要求、触覚フィードバックを求める要求、またはジェスチャーフィードバックを求める要求を含む、請求項5に記載のコンピュータ実装方法。
  7. 前記コンピューティングシステムによって、前記1つまたは複数のルート、前記少なくとも1つのエンティティ、および前記1つまたは複数の目的に少なくとも部分的に基づいて、前記1つまたは複数のメッセージに関連付けられた1つまたは複数の提案を生成する前記ステップが、
    前記コンピューティングシステムによって、前記1つまたは複数の目的が前記1つまたは複数のルートに関連付けられた移動ステータスを求める要求に関連付けられるかどうかを決定するステップと、
    前記1つまたは複数の目的が前記1つまたは複数のルートに関連付けられた前記移動ステータスを求める前記要求に関連付けられることに応答して、前記コンピューティングシステムによって、前記1つまたは複数の提案が前記1つまたは複数のルートに関連付けられた前記移動ステータスを求める前記要求に関連付けられると決定するステップと
    を含む、請求項1から6のいずれか一項に記載のコンピュータ実装方法。
  8. 前記コンピューティングシステムによって、前記1つまたは複数のルート、前記少なくとも1つのエンティティ、および前記1つまたは複数の目的に少なくとも部分的に基づいて、前記1つまたは複数のメッセージに関連付けられた1つまたは複数の提案を生成する前記ステップが、
    前記コンピューティングシステムによって、前記1つまたは複数の目的がピックアップを求める要求またはドロップオフを求める要求に関連付けられるかどうかを決定するステップと、
    前記1つまたは複数の目的がピックアップを求める前記要求またはドロップオフを求める前記要求に関連付けられることに応答して、前記コンピューティングシステムによって、前記1つまたは複数の提案がピックアップまたはドロップオフを求める前記要求に関連付けられるものとすると決定するステップと
    を含む、請求項1から7のいずれか一項に記載のコンピュータ実装方法。
  9. 前記コンピューティングシステムによって、前記ユーザからのナビゲーション要求を含む1つまたは複数のユーザ入力を受信するステップと、
    前記コンピューティングシステムによって、前記ナビゲーション要求に少なくとも部分的に基づいて前記ルートデータを生成するステップと
    をさらに含む、請求項1から8のいずれか一項に記載のコンピュータ実装方法。
  10. 前記少なくとも1つのエンティティが、1つもしくは複数の人名、1つもしくは複数の地理的ロケーション、1つもしくは複数の職業名、または1つもしくは複数の組織名に関連付けられる、請求項1から9のいずれか一項に記載のコンピュータ実装方法。
  11. 前記1つまたは複数の提案が、前記1つまたは複数の機械学習済みモデルに少なくとも部分的に基づく、請求項1から10のいずれか一項に記載のコンピュータ実装方法。
  12. 前記1つまたは複数の機械学習済みモデルが、1つまたは複数の自然言語処理技法に少なくとも部分的に基づいて前記少なくとも1つのエンティティあるいは前記1つまたは複数の目的を決定するように構成される、請求項1から11のいずれか一項に記載のコンピュータ実装方法。
  13. 前記出力が、前記1つまたは複数の提案に関する前記ユーザからのフィードバックを求める要求を含み、
    前記コンピューティングシステムによって、前記ユーザからの前記フィードバックを受信するステップと、
    前記コンピューティングシステムによって、前記ユーザからの前記フィードバックに少なくとも部分的に基づいて1つまたは複数の動作を実施するステップと
    をさらに含む、請求項1から12のいずれか一項に記載のコンピュータ実装方法。
  14. 前記1つまたは複数の動作が、応答を前記1つまたは複数のメッセージの送信者に送ること、1つまたは複数のナビゲーションシステムを制御すること、前記1つまたは複数のルートを修正すること、あるいは前記ユーザからの前記フィードバックに少なくとも部分的に基づいて前記1つまたは複数の機械学習済みモデルをトレーニングすることを含む、請求項13に記載のコンピュータ実装方法。
  15. 1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに動作を実施させるコンピュータ可読命令を記憶する1つまたは複数の有形の非一時的コンピュータ可読媒体であって、前記動作が、
    開始ロケーションから目的地までのナビゲーションに関連付けられた情報を含むルートデータにアクセスすることと、
    前記ルートデータに少なくとも部分的に基づいて、前記開始ロケーションから前記目的地までの1つまたは複数のルートを決定することと、
    ユーザに関連付けられた1つまたは複数のメッセージを含むメッセージデータにアクセスすることと、
    前記メッセージデータおよび1つまたは複数の機械学習済みモデルに少なくとも部分的に基づいて、前記1つまたは複数のメッセージに関連付けられた少なくとも1つのエンティティおよび1つまたは複数の目的を決定することと、
    前記1つまたは複数のルート、前記少なくとも1つのエンティティ、および前記1つまたは複数の目的に少なくとも部分的に基づいて、前記1つまたは複数のメッセージに関連付けられた1つまたは複数の提案を生成することと、
    ユーザインターフェースを介して、前記ユーザに宛てられた1つまたは複数の指示を含む出力を生成することであって、前記1つまたは複数の指示が前記1つまたは複数の提案に関連付けられる、生成することと
    を含む、1つまたは複数の有形の非一時的コンピュータ可読媒体。
  16. 前記1つまたは複数のメッセージが1つまたは複数のテキストメッセージを含む、請求項15に記載の1つまたは複数の有形の非一時的コンピュータ可読媒体。
  17. 前記1つまたは複数の提案が、前記ユーザが前記1つまたは複数のルートをナビゲートするための1つまたは複数のターンバイターン方向を含む、請求項15または請求項16に記載の1つまたは複数の有形の非一時的コンピュータ可読媒体。
  18. コンピューティングシステムであって、
    1つまたは複数のプロセッサと、
    命令を記憶する1つまたは複数の非一時的コンピュータ可読媒体と
    を備え、前記命令が、前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
    開始ロケーションから目的地までのナビゲーションに関連付けられた情報を含むルートデータにアクセスすることと、
    前記ルートデータに少なくとも部分的に基づいて、前記開始ロケーションから前記目的地までの1つまたは複数のルートを決定することと、
    ユーザに関連付けられた1つまたは複数のメッセージを含むメッセージデータにアクセスすることと、
    前記メッセージデータおよび1つまたは複数の機械学習済みモデルに少なくとも部分的に基づいて、前記1つまたは複数のメッセージに関連付けられた少なくとも1つのエンティティおよび1つまたは複数の目的を決定することと、
    前記1つまたは複数のルート、前記少なくとも1つのエンティティ、および前記1つまたは複数の目的に少なくとも部分的に基づいて、前記1つまたは複数のメッセージに関連付けられた1つまたは複数の提案を生成することと、
    ユーザインターフェースを介して、前記ユーザに宛てられた1つまたは複数の指示を含む出力を生成することであって、前記1つまたは複数の指示が前記1つまたは複数の提案に関連付けられる、生成することと
    を含む動作を実施させる、コンピューティングシステム。
  19. 前記1つまたは複数の指示が、1つもしくは複数の視覚指示または1つもしくは複数の聴覚指示を含む、請求項18に記載のコンピューティングシステム。
  20. 前記1つまたは複数の機械学習済みモデルが、前記メッセージデータを含む入力に少なくとも部分的に基づいて前記少なくとも1つのエンティティおよび前記1つまたは複数の目的を含む出力を生成するように構成される、請求項18または請求項19に記載のコンピューティングシステム。
JP2023568559A 2021-05-07 2021-05-07 メッセージベースのナビゲーション支援 Pending JP2024518170A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2021/031382 WO2022235274A1 (en) 2021-05-07 2021-05-07 Message based navigational assistance

Publications (1)

Publication Number Publication Date
JP2024518170A true JP2024518170A (ja) 2024-04-25

Family

ID=76181290

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023568559A Pending JP2024518170A (ja) 2021-05-07 2021-05-07 メッセージベースのナビゲーション支援

Country Status (5)

Country Link
EP (1) EP4314715A1 (ja)
JP (1) JP2024518170A (ja)
KR (1) KR20240001244A (ja)
CN (1) CN117280179A (ja)
WO (1) WO2022235274A1 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8996639B1 (en) * 2013-10-15 2015-03-31 Google Inc. Predictive responses to incoming communications
US20200372796A1 (en) * 2019-05-22 2020-11-26 Here Global B.V. Method, apparatus, and system for collecting and providing route-related information based on citizen band radio

Also Published As

Publication number Publication date
EP4314715A1 (en) 2024-02-07
WO2022235274A1 (en) 2022-11-10
CN117280179A (zh) 2023-12-22
KR20240001244A (ko) 2024-01-03

Similar Documents

Publication Publication Date Title
US11423280B2 (en) Cognitive commuter assistant
KR102087920B1 (ko) 루트 제안들의 제공
US11068788B2 (en) Automatic generation of human-understandable geospatial descriptors
JP6960914B2 (ja) ダイアログ・システムにおけるパラメータ収集および自動ダイアログ生成
RU2710966C2 (ru) Способы для понимания неполного запроса на естественном языке
US20200012721A1 (en) Conversational agent
CN110248019B (zh) 用于启用语音的对话界面的方法、计算机存储介质和设备
RU2637874C2 (ru) Генерирование диалоговых рекомендаций для чатовых информационных систем
KR102000267B1 (ko) 컨텍스트에 기초한 입력 명확화
US8209183B1 (en) Systems and methods for correction of text from different input types, sources, and contexts
CN107331389B (zh) 基于场境的语音识别语法选择方法和系统
CN109145104B (zh) 用于对话交互的方法和装置
US20150336578A1 (en) Ability enhancement
CN111630540A (zh) 通过音频通道的自动快速任务通知
TW200847004A (en) Speech-centric multimodal user interface design in mobile technology
WO2012102808A2 (en) Methods and systems to summarize a source text as a function of contextual information
US20170228240A1 (en) Dynamic reactive contextual policies for personal digital assistants
US9791573B2 (en) Intelligent global positioning system service
JP2024518170A (ja) メッセージベースのナビゲーション支援
JP2015084164A (ja) 情報処理装置、情報提供システム、情報提供方法及びプログラム
US11144884B2 (en) Contextualized item reminder assitance
WO2023003540A1 (en) Flexible navigation and route generation
US20230123323A1 (en) Familiarity Based Route Generation
WO2023055356A1 (en) Navigation route sharing
Mourujärvi Voice-controlled in-vehicle infotainment system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240105

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240105