JP7029434B2 - コンピュータによって実行される方法、サーバ装置、情報処理システム、プログラム、およびクライアント端末 - Google Patents

コンピュータによって実行される方法、サーバ装置、情報処理システム、プログラム、およびクライアント端末 Download PDF

Info

Publication number
JP7029434B2
JP7029434B2 JP2019192798A JP2019192798A JP7029434B2 JP 7029434 B2 JP7029434 B2 JP 7029434B2 JP 2019192798 A JP2019192798 A JP 2019192798A JP 2019192798 A JP2019192798 A JP 2019192798A JP 7029434 B2 JP7029434 B2 JP 7029434B2
Authority
JP
Japan
Prior art keywords
query
grammar
client terminal
user terminal
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019192798A
Other languages
English (en)
Other versions
JP2021068167A (ja
Inventor
カール・スタール
Original Assignee
サウンドハウンド,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by サウンドハウンド,インコーポレイテッド filed Critical サウンドハウンド,インコーポレイテッド
Priority to JP2019192798A priority Critical patent/JP7029434B2/ja
Priority to CN202011125459.6A priority patent/CN112699670A/zh
Priority to EP20203044.1A priority patent/EP3812924A1/en
Priority to KR1020200137377A priority patent/KR102593857B1/ko
Publication of JP2021068167A publication Critical patent/JP2021068167A/ja
Priority to JP2021171822A priority patent/JP2022020681A/ja
Application granted granted Critical
Publication of JP7029434B2 publication Critical patent/JP7029434B2/ja
Priority to KR1020230141009A priority patent/KR20230149795A/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3343Query execution using phonetics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/065Adaptation
    • G10L15/07Adaptation to the speaker
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Acoustics & Sound (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Description

本開示は、自然言語の解釈に関し、特に、自然言語の解釈のための文法の管理に関する。
従来、ユーザから入力されたクエリに応じて行動するデジタルアシスタントが利用されている。ユーザは、デジタルアシスタントを利用する場合、スマートフォン等のクライアント端末にクエリを入力する。一般的なデジタルアシスタントの利用では、クライアント端末は、サーバ装置にクエリを送信する。サーバ装置は、クエリについて発話解釈および自然言語解釈を実行することにより、当該クエリの意味を決定する。そして、サーバ装置は、決定された意味に応じたデータベースにおいてクエリに対する応答を検索または生成し、および/もしくは、決定された意味に応じたAPI(Application Programming Interface)にクエリを送ることによってクエリに対する応答を取得する。サーバ装置は、得られた応答をクライアント端末に送信する。クライアント端末は、応答を出力する。すなわち、クライアント端末は、サーバ装置と通信することによって、デジタルアシスタントの一部として振る舞う。
米国特許出願公開第2007/0276651号明細書(特許文献1)の段落[0037]等には、モバイル端末が自然言語解釈を実行するシステムを開示している。当該システムでは、モバイル端末は、ユーザからの発話を受信すると当該発話について自然言語解釈を試みる。モバイル端末は、当該自然言語解釈に失敗すると、サーバ装置に、当該発話についての自然言語解釈の実行を要求する。
ユーザは、モバイル端末がサーバ装置と通信できない場所(たとえば、トンネルの中)でのデジタルアシスタントの利用を希望する場合がある。モバイル端末がサーバ装置と通信できない状態にある場合であっても、モバイル端末をデジタルアシスタントとして機能させることができるようにすることが必要とされている。
米国特許出願公開第2007/0276651号明細書
本開示は、モバイルデバイスがサーバ装置にアクセスできないときにもデジタルアシスタントとして機能できるようにすることにより、従来のシステムの上記課題に対する技術的な解決手段を提供する。
本開示のある局面に従うと、コンピュータによって実行される方法であって、クライアント端末からクエリの入力を受け付けるステップと、文法を利用して、クエリの自然言語解釈を実行するステップと、自然言語解釈の実行の後、クエリへの応答を出力するステップと、クライアント端末へ文法を送信するステップと、を備える、方法が提供される。
方法は、文法をクライアント端末へ送信する前に、クライアント端末が文法を格納していないことを判断するステップをさらに備えていてもよい。クライアント端末へ文法を送信するステップは、クライアント端末が文法を格納していないことを条件として実行されてもよい。
方法は、文法をクライアント端末へ送信する前に、クライアント端末がコンピュータと通信しないオフライン状態で文法を用いた機能を実行するように構成されているかを判断するステップをさらに備えていてもよい。文法をクライアント端末へ送信するステップは、クライアント端末がオフライン状態で文法を用いた機能を実行するように構成されていると判断した場合に実行されてもよい。
文法をクライアント端末へ送信するステップは、文法とともに文法が属するドメインに属する他の文法をクライアント端末へ送信することを含んでもよい。
方法は、クライアント端末からのクエリの自然言語解釈に文法が利用された回数を計数するステップをさらに備えていてもよい。文法をクライアント端末へ送信するステップは、計数された回数が閾値を超えたことを条件として実行されてもよい。
計数することは、文法が属するドメインに属するすべての文法がクエリの自然言語解釈に利用された回数を計数することを含んでもよい。
方法は、入力されたクエリに基づいて、将来のクエリへの応答に必要なデータのタイプを予測するステップと、クライアント端末へタイプのデータを送信するステップと、をさらに備えてもよい。
タイプのデータを送信するステップは、タイプのデータの有効期限を送信することを含んでもよい。
クライアント端末からクエリの入力を受け付けるステップは、クライアント端末から音声の入力を受け付けることを含んでもよい。方法は、クライアント端末のユーザに適合するようにユーザの発話を利用して発話認識モデルを訓練するステップと、訓練された発話認識モデルをクライアント端末へ送信するステップと、をさらに備えてもよい。
本開示の他の局面に従うと、1つ以上のプロセッサを備えるサーバ装置であって、1つ以上のプロセッサによって実行されることにより、上記方法をサーバ装置に実施させるプログラムを格納する記憶装置をさらに備える、サーバ装置が提供される。
本開示のさらに他の局面に従うと、クライアント端末と、クライアント端末から入力されたクエリに対する応答をクライアント端末に送信するサーバ装置と、を備え、サーバ装置は、文法を利用して、クエリの自然言語解釈を実行する1つ以上のプロセッサを含み、1つ以上のプロセッサは、文法をクライアント端末へ送信する、情報処理システムが提供される。
本開示のさらに他の局面に従うと、コンピュータによって実行される方法であって、サーバ装置へ第1のクエリを送信するステップと、サーバ装置から第1のクエリの自然言語解釈に利用された文法を受信するステップと、受信された文法をメモリに格納するステップと、第2のクエリの入力を受け付けるステップと、コンピュータがサーバ装置と接続されていないときに、文法を利用して、第2のクエリの自然言語解釈を実行するステップと、を備える、方法が提供される。
方法は、第3のクエリの入力を受け付けるステップと、コンピュータがサーバ装置と接続されていないときに、第3のクエリの自然言語解釈を実行するステップと、第3のクエリの自然言語解釈が失敗したと判断するステップと、第3のクエリをメモリに格納するステップと、失敗に応じて、コンピュータがサーバ装置と接続されているときに、第3のクエリをサーバ装置へ送信するステップと、をさらに備えてもよい。
方法は、サーバ装置から、第1のクエリに関連するデータを受信するステップと、第1のクエリに関連するデータをメモリに格納するステップと、第1のクエリに関連するデータを利用して、第2のクエリへの応答を取得するステップとをさらに備えてもよい。
第1のクエリに関連するデータは有効期限を表すメタデータを含んでもよい。方法は、有効期限が過ぎた後に第1のクエリに関連するデータをメモリから削除するステップをさらに備えてもよい。
方法は、コンピュータの位置情報を取得するステップをさらに備えてもよい。第2のクエリの自然言語解釈を実行するステップは、位置情報に基づいて、使用される文法をメモリ内の1つ以上の文法から選択することを含んでもよい。
方法は、第2のクエリが入力された時刻を表す時刻情報を取得するステップをさらに備えてもよい。第2のクエリの自然言語解釈を実行するステップは、時刻情報に基づいて、使用される文法をメモリ内の1つ以上の文法から選択することを含んでもよい。
第2のクエリの入力を受け付けるステップは、音声の入力を受け付けることを含んでもよい。方法は、サーバ装置から、コンピュータのユーザに適合するように学習された発話認識モデルを受信するステップと、コンピュータがサーバ装置と接続されていないときに、発話認識モデルを利用して入力された音声の発話認識を実行するステップと、をさらに備えてもよい。
本開示のさらに他の局面に従うと、コンピュータによって実行される方法であって、コンピュータがサーバ装置と接続されているときに、第1のクエリの入力を受け付けるステップと、第1のクエリをサーバ装置へ送信するステップと、サーバ装置から、第1のクエリへの応答を受信するテップと、コンピュータがサーバ装置と接続されていないときに、第2のクエリの入力を受け付けるステップと、第2のクエリを、第2のクエリが入力された時刻を表す時刻情報とともにメモリに格納するステップと、コンピュータがサーバ装置と接続されているときに、メモリ内の第2のクエリを時刻情報とともにサーバ装置へ送信するステップとを備える、方法が提供される。
第2のクエリをメモリに格納することは、第2のクエリとともに第2のクエリの入力を受け付けたときのコンピュータの位置情報をメモリに格納することを含んでもよい。第2のクエリをサーバ装置へ送信することは、位置情報を第2のクエリとともにサーバ装置へ送信することを含んでもよい。
本開示のさらに他の局面に従うと、クライアント端末の1つ以上のプロセッサによって実行されることにより、クライアント端末に上記方法を実施させる、コンピュータプログラムが提供される。
本開示のさらに他の局面に従うと、1つ以上のプロセッサを備えるクライアント端末であって、1つ以上のプロセッサに実行されることによって上記方法をクライアント端末に実施させるプログラムを格納するメモリを備える、クライアント端末が提供される。
クエリ処理システムの概略的な構成を表す図である。 クエリ処理システムにおけるクエリの処理の一実現例を表す図である。 ユーザ端末を用いたクエリの処理のための局面の具体例を示す図である。 ユーザ端末を用いたクエリの処理のための局面の具体例を示す図である。 ユーザ端末を用いたクエリの処理のための局面の具体例を示す図である。 ユーザ端末を用いたクエリの処理のための局面の具体例を示す図である。 ユーザ端末を用いたクエリの処理のための局面の具体例を示す図である。 ユーザ端末を用いたクエリの処理のための局面の具体例を示す図である。 ユーザ端末を用いたクエリの処理のための局面の具体例を示す図である。 サーバのハードウェア構成を表す図である。 文法ライブラリのデータ構造を示す図である。 ユーザ情報のデータ構造を示す図である。 ユーザ端末のハードウェア構成を示す図である。 場所情報のデータ構造の一例を示す図である。 サーバにおいてクエリへの応答の出力のために実行される処理のフローチャートである。 サーバにおいてクエリへの応答の出力のために実行される処理のフローチャートである。 ユーザ端末において実行される処理のフローチャートである。 ユーザ端末において実行される処理のフローチャートである。
以下に、図面を参照しつつ、情報処理システムの一実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
1.クエリ処理システムの概要
図1は、クエリ処理システムの構成を表す図である。クエリ処理システムは、サーバとユーザ端末とを含む。図1では、サーバは「サーバ100」として示され、ユーザ端末は利用される場面に従って「ユーザ端末200A~200G」として示される。
図2は、クエリ処理システムにおけるクエリの処理の一実現例を表す図である。図2では、ユーザ端末は、あらゆる種類のユーザ端末が「ユーザ端末200」として示される。ユーザ端末は、クライアント端末の一例である。
図2においてステップ(1)として示されるように、ユーザ端末200は、ユーザからのクエリAの入力に応じて、サーバ100へクエリAを送信する。ユーザ端末200は、クエリAの入力を、音声としてマイクを介して受けてもよいし、テキストデータとしてキーボードまたはタッチパネルを介して受けてもよいし、物体またはジェスチャーを表す画像または映像としてカメラを介して受けてもよい。
ステップ(2)として示されるように、サーバ100は、文法Aを用いて、クエリAの意味を解釈する。
ステップ(3)として示されるように、サーバ100は、クエリAの意味に基づいてクエリAへの応答を生成し、当該応答をユーザ端末200へ送信する。
図2のクエリ処理システムでは、ステップ(4)として示されるように、サーバ100は、さらに、文法Aをユーザ端末200へ送信する。すなわち、サーバ100は、ユーザ端末200から受信したクエリの解釈に利用された文法を、ユーザ端末200へ送信する。
ユーザ端末200は、サーバ100から受信した文法Aを当該ユーザ端末200のメモリに格納する。ユーザ端末200は、オフラインの間にクエリを入力されると、当該クエリの意味を文法Aを利用して解釈し(ステップ(1X))、当該意味に基づいてクエリへの応答を生成し(ステップ(2X))、当該応答を表示(および/または音声で出力)する(ステップ(3X))。
2.クエリへの応答の具体例
図3~図9のそれぞれは、ユーザ端末200を用いたクエリの処理のための局面の具体例を示す図である。
2-1.図3
図3には、ユーザ端末200の一例として、自動車内で利用されるユーザ端末200Aが示される。ユーザ端末200Aは、たとえば、自動車に取り付けられた情報処理端末である。
ユーザは、ユーザ端末200Aに、クエリとして発話「ラジオを点けて!」を入力する。ユーザ端末200Aは、サーバ100に、クエリとして発話「ラジオを点けて!」を送信する。一実現例では、ユーザは、ユーザ端末200Aの所与のボタンを押した後、上記クエリを入力してもよい。ユーザ端末200Aは、上記ボタンが操作されてから所与の時間内にクエリの入力を受け付け、入力されたクエリをサーバ100へ送信してもよい。
サーバ100は、自動車の要素を操作する機能のための文法を利用して、ユーザ端末200Aから入力されたクエリの意味を解釈し、当該意味に基づいて当該クエリへの応答を取得する。そして、サーバ100は、ユーザ端末200Aから入力されたクエリへの応答として、ユーザ端末200Aに、ラジオをONするための制御信号を送信する。これに応じて、ユーザ端末200Aは、当該ユーザ端末200Aを搭載する自動車のラジオをONにする。
サーバ100は、さらに、ユーザ端末200Aから入力されたクエリへの応答として、ユーザ端末200Aに、音声「ラジオをONにします。」の出力の指示を送信してもよい。ユーザ端末200Aは、当該指示の受信に応じて、音声「ラジオをONにします。」を出力してもよい。
2-2.図4
図4には、ユーザ端末200の一例として、手術室内で利用されるユーザ端末200Bが示される。ユーザ端末200Bは、たとえば、ユーザである医師の頭部に取り付け可能な情報処理端末である。
ユーザは、ユーザ端末200Bに、クエリとして発話「カルテを見せて!」を入力する。ユーザ端末200Bは、サーバ100に、クエリとして発話「カルテを見せて!」を送信する。一実現例では、ユーザは、クエリの入力のために予め定められたメッセージ(たとえば、「OK!」など)を言った後、上記クエリを入力してもよい。ユーザ端末200Bは、上記メッセージの入力を起因としてクエリの入力を受け付け、入力されたクエリをサーバ100へ送信してもよい。
サーバ100は、手術室においてユーザに情報を提供する機能のための文法を利用して、ユーザ端末200Bから入力されたクエリの意味を解釈し、当該意味に基づいて当該クエリへの応答を生成する。サーバ100は、サーバ100内で実行される処理のみに基づいて応答を生成してもよい。代替的にもしくは追加的に、サーバ100は、外部のサービスプロバイダまたはウェブサイトからデータを取得することにより応答を生成してもよい。そして、サーバ100は、ユーザ端末200Bから入力されたクエリへの応答として、ユーザ端末200Bに、手術室内の患者のカルテを送信する。これに応じて、ユーザ端末200Bは、当該ユーザ端末200Bが接続されるディスプレイに当該カルテを表示する。サーバ100は、ディスプレイ(またはディスプレイが接続されるコンピュータ)に直接カルテを送信してもよい。
サーバ100は、さらに、ユーザ端末200Bから入力されたクエリへの応答として、ユーザ端末200Bに、音声「これが、山田さん(患者名の一例)のカルテです。」の出力の指示を送信してもよい。ユーザ端末200Bは、当該指示の受信に応じて、音声「これが、山田さん(患者名の一例)のカルテです。」を出力してもよい。
2-3.図5
図5には、ユーザ端末200の一例として、オフィス内で利用されるユーザ端末200Cが示される。ユーザ端末200Cは、たとえばスマートフォンである。
ユーザは、ユーザ端末200Cに、クエリとして発話「A社をチェックして!」を入力する。ユーザ端末200Cは、サーバ100に、クエリとして発話「A社をチェックして!」を送信する。
サーバ100は、株価に関する情報を提供する機能のための文法を利用して、ユーザ端末200Cから入力されたクエリの意味を解釈し、当該意味に基づいて当該クエリへの応答を生成する。そして、サーバ100は、ユーザ端末200Cから入力されたクエリへの応答として、ユーザ端末200Cに、A社の株価を送信する。これに応じて、ユーザ端末200Cは、当該ユーザ端末200CのディスプレイにA社の株価を表示し、および/または、当該ユーザ端末200CのスピーカからA社の株価を音声で出力する。
2-4.図6
図6には、ユーザ端末200の一例として、家庭内で利用されるユーザ端末200Dが示される。ユーザ端末200Dは、たとえば、スマートスピーカである。
ユーザは、ユーザ端末200Dに、クエリとして発話「おばあちゃんに電話して!」を入力する。ユーザ端末200Dは、サーバ100に、クエリとして発話「おばあちゃんに電話して!」を送信する。
サーバ100は、通話機能のための文法を利用して、ユーザ端末200Dから入力されたクエリの意味を解釈し、当該意味に基づいて当該クエリへの応答を生成する。そして、サーバ100は、ユーザ端末200Dから入力されたクエリへの応答として、ユーザ端末200Dに、ユーザ端末200Dにおいて「おばあちゃん」として登録されている電話番号に電話をかける指示を送信する。これに応じて、ユーザ端末200Dは、ユーザ端末200D内の「おばあちゃん」として登録されている電話番号に電話をかける。
2-5.図7
図7には、ユーザ端末200の一例として、キッチンで利用されるユーザ端末200Eが示される。ユーザ端末200Eは、たとえばスマートフォンである。
ユーザは、ユーザ端末200Eに、クエリとして発話「ポトフのレシピを教えて!」を入力する。ユーザ端末200Eは、サーバ100に、クエリとして発話「ポトフのレシピを教えて!」を送信する。
サーバ100は、調理に関する情報提供機能のための文法を利用して、ユーザ端末200Eから入力されたクエリの意味を解釈し、当該意味に基づいて当該クエリへの応答を生成する。そして、サーバ100は、ユーザ端末200Eから入力されたクエリへの応答として、ユーザ端末200Eに、ポトフのレシピを送信する。これに応じて、ユーザ端末200Eは、当該ユーザ端末200Eが接続されるディスプレイにポトフのレシピを表示する。または、サーバ100は、上記クエリへの応答として、ユーザ端末200Eに、ポトフのレシピを提供するウェブサイトのリンクのリストを送信してもよい。この場合、ユーザ端末200Eは、当該リストを表示する。ユーザがリストから1つのリンクを選択したことに応じて、ユーザ端末200Eは、選択されたリンクに接続する。
2-6.図8
図8には、ユーザ端末200の一例として、テレビの前に座るユーザによって利用されるユーザ端末200Fが示される。ユーザ端末200Fは、たとえば、スマートフォンである。
ユーザは、ユーザ端末200Fに、クエリとして発話「今夜はテレビで何があるかな?」を入力する。ユーザ端末200Fは、サーバ100に、クエリとして発話「今夜はテレビで何があるかな?」を送信する。
サーバ100は、テレビ番組に関する情報を提供する機能のための文法を利用して、ユーザ端末200Fから入力されたクエリの意味を解釈し、当該意味に基づいて当該クエリへの応答を生成する。そして、サーバ100は、ユーザ端末200Fから入力されたクエリへの応答として、ユーザ端末200Fに、クエリが入力された日の夜間のテレビ番組表を送信する。これに応じて、ユーザ端末200Fは、サーバ100から送信されたテレビ番組表を表示する。
2-7.図9
図9には、ユーザ端末200の一例として、ユーザ端末200Gが示される。ユーザ端末200Gは、たとえばスマートフォンである。
ユーザは、ユーザ端末200Gに、クエリとして発話「今日の天気は?」を入力する。ユーザ端末200Gは、サーバ100に、クエリとして、発話「今日の天気は?」とスマートフォン(ユーザ端末200G)の位置情報とを送信する。
サーバ100は、天気に関する情報を提供する機能のための文法を利用して、ユーザ端末200Gから入力されたクエリの意味を解釈し、当該意味に基づいて当該クエリへの応答を生成する。そして、サーバ100は、ユーザ端末200Gから入力されたクエリへの応答として、ユーザ端末200Gに、ユーザ端末200Gにクエリが入力された場所の、当該クエリが入力された日の天気予報を送信する。これに応じて、ユーザ端末200Gは、サーバ100から送信された天気予報を表示および/または音声で出力する。
3.ハードウェア構成(サーバ100)
図10は、サーバ100のハードウェア構成を表す図である。
図10を参照して、サーバ100は、主要なハードウェア要素として、プロセッシングユニット11と、メモリ12と、入出力(I/O)インターフェース14と、ネットワークコントローラ15と、ストレージ16とを含む。
プロセッシングユニット11は、後述するような各種プログラムを実行することで、サーバ100の実現に必要な処理を実行する演算主体である。プロセッシングユニット11は、例えば、1または複数のCPU(Central Processing Unit)および/またはGPU(Graphics Processing Unit)である。プロセッシングユニット11は、複数のコアを有するCPUまたはGPUであってもよい。プロセッシングユニット11は、学習済モデルを生成するための学習処理に適したNPU(Neural network Processing Unit)であってもよい。
メモリ12は、プロセッシングユニット11がプログラムを実行するにあたって、プログラムコードやワークメモリなどを一時的に格納する記憶領域を提供する。メモリ12は、例えば、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性メモリデバイスであってもよい。
プロセッシングユニット11は、I/Oインターフェース14を介して接続された機器(キーボード、マウス、等)からのデータの入力を受け付けることができ、また、I/Oインターフェース14を介して、機器(ディスプレイ、スピーカ、等)にデータを出力し得る。
ネットワークコントローラ15は、公衆回線および/またはLAN(Local Area Network)を介して、ユーザ端末200を含む任意の情報処理装置との間でデータを送受信する。ネットワークコントローラ15は、たとえばネットワークインターフェースカードであってもよい。サーバ100は、クエリに対する応答を取得するために、ネットワークコントローラ15を利用して、外部のWebAPI(Application Programming Interface)にリクエストを送信してもよい。ネットワークコントローラ15は、例えば、イーサネット(登録商標)、無線LAN、Bluetooth(登録商標)などの任意の通信方式に対応してもよい。
ストレージ16は、たとえば、ハードディスクドライブ、または、SSD(Solid State Drive)などの不揮発性メモリデバイスであってもよい。ストレージ16は、プロセッシングユニット11にて実行される、学習用プログラム16A、前処理プログラム16B、アプリケーションプログラム16C、および、OS(Operating System)16Dを格納する。
プロセッシングユニット11は、学習用プログラム16A、前処理プログラム16B、アプリケーションプログラム16C、および、OS(オペレーティングシステム)16Dを実行する。実現例では、サーバ100は異なるユーザから音声データを受信してもよく、それぞれのユーザの音声データを利用して、各ユーザについて学習済モデル16Gを構築してもよい。当該学習済モデル16Gは当該ユーザのユーザ端末200にダウンロードされて、当該ユーザ端末200がローカルで当該ユーザの発話の発話認識をできるようにされてもよい。
それに向けて、サーバ100は、クエリの発話認識に利用される学習済モデル16Gの学習のための学習用プログラム16Aを有していても良い。実現例では、学習用プログラム16Aは、ニューラルネットワークの構造を有していてもよい。前処理プログラム16Bは、学習済モデル16Gの学習のために各ユーザから入力された音声データを収集及び前処理することにより、各ユーザのための学習用データセット16Hを生成するためのプログラムである。学習済モデル16Gの学習に特定のユーザから収集された音声データのみが利用された場合、学習済モデル16Gは特定のユーザについて個別に学習され得る。アプリケーションプログラム16Cは、クライアント端末200からのクエリの入力に応じて、クライアント端末200へ、当該クエリへの応答を送信するためのプログラムである。OS16Dは、サーバ100における処理の基本となるソフトウェアプログラムである。
ストレージ16は、さらに、文法ライブラリ16E、ユーザ情報16F、学習済モデル16G、学習用データセット16H、および、音声データ16Xを格納する。
文法ライブラリ16Eは、クエリの意味の解釈に利用される文法に関する情報を格納する。文法ライブラリ16Eのデータ構造は、図11を参照して後述される。
ユーザ情報16Fは、クエリ処理システムにおいて登録される各ユーザに関する情報を格納する。ユーザ情報16Fのデータ構造は、図12を参照して後述される。
学習済モデル16Gは、上記のように、クエリの発話認識に利用される。学習用データセット16Hは、学習済モデル16Gの学習に利用されるデータセットである。学習用データセット16Hにおいて、各データセットは、対応する音声を発したユーザ、ユーザが発することを意図した単語またはフレーズを表す音声表記、ユーザの特性(年齢、性別、職業、など)、および/または、ユーザが対応する音声を発した状況(場所、時刻、など)にタグ付けされていてもよい。
4.文法ライブラリ16Eのデータ構成
図11は、文法ライブラリ16Eのデータ構造を示す図である。
文法ライブラリ16Eは、クエリの意味の解釈に利用される文法と、および、各文法に関連する情報とを格納する。
各文法に関連する情報は、文法を分類するための項目(ドメイン)を含む。図11には、ドメインA~Gが示される。図11のすべてのドメインは複数の文法を含むが、1つの文法のみを含むドメインがあってもよい。
ドメインAは、文法A1、A2、A3等を含む。文法A1は、「ラジオを点けて」という単語の組み合わせ(「ラジオ」「を」「点けて」)を規定する。文法A2,A3のそれぞれは、「窓を閉めて」「窓を開けて」という単語の組み合わせを規定する。ドメインAに属する文法は、自動車の要素を操作する機能を実現するために、車内で入力されたクエリの解釈に主に利用される。
ドメインBは、文法B1等を含む。文法B1は、「カルテを見せて」という単語の組み合わせを規定する。ドメインBに属する文法は、手術室においてユーザに情報を提供する機能を実現するために、手術室で入力されたクエリの解釈に主に利用される。
ドメインCは、文法C1等を含む。文法C1は、会社名を表すスロット(図11中の<name of company>)、および、「をチェックして」という単語の組み合わせを規定する。ドメインCに属する文法は、株価に関する情報を提供する機能を実現するために、オフィスで入力されたクエリの解釈に主に利用される。
ドメインDは、文法D1,D2等を含む。文法D1は、アドレス帳の登録された名前を表すスロット(図11中の<name>)、および、「に電話をかけて」という単語の組み合わせを規定する。文法D2は、ミュージシャンの名前を表すスロット(図11中の<musician>)、「の」という単語、曲のタイトルを表すスロット(図11中の<title>)、および、「をかかけて」という単語の組み合わせを規定する。ドメインDに属する文法は、汎用の情報提供機能および通話機能を実現するために、家またはオフィスで入力されるクエリの解釈に主に利用される。
ドメインEは、文法E1等を含む。文法E1は、料理名を表すスロット(図11中の<dish>)、および、「のレシピを教えて」という単語の組み合わせを規定する。ドメインEに属する文法は、調理に関する情報提供機能を実現するために、キッチンで入力されたクエリの解釈に主に利用される。
ドメインFは、文法F1等を含む。文法F1は、時間または日付を表すスロット(図11中の<time>)、および、「はテレビで何があるかな」という単語の組み合わせを規定する。ドメインFに属する文法は、テレビ番組に関する情報を提供する機能を実現するために、家のテレビの前で入力されたクエリの解釈に主に利用される。
ドメインGは、文法G1,G2等を含む。文法G1は、「今日の天気を教えて」という単語の組み合わせを規定する。文法G2は、街の名前を表すスロット(図11中の<city>)、および、「の今日の天気を教えて」という単語の組み合わせを規定する。ドメインGに属する文法は、天気に関する情報を提供する機能を実現するために、天気予報を尋ねるユーザが入力したクエリの解釈に主に利用される。
文法ライブラリ16Eの項目「オフライン設定」は、各ドメインに属する文法を利用する機能が、ユーザ端末200がオフラインである間に利用され得るか否かを規定する。ユーザ端末200がオフラインである状態の一例は、ユーザ端末200がWi-Fiネットワークにつながっていないことによってサーバ100と通信ができない状態である。値「ON」は、ユーザ端末200がオフラインである間でも当該機能が利用され得ることを表す。値「OFF」は、ユーザ端末200がオフラインである間は当該機能が利用され得ないことを表す。
文法ライブラリ16Eの項目「予測されるデータタイプ」は、サーバ100があるユーザ端末からクエリを受信したときに、当該ユーザ端末が将来必要とすることが予測されるデータのタイプを規定する。
たとえば、サーバ100は、クエリ「ビートルズのイエスタディをかけて!」を入力されると、文法D2("<musician>の<title>")を利用して当該クエリの意味を解釈する。文法D2の項目「予測されるデータタイプ」の値は、「<musician>の曲のタイトルのリスト」である。
クエリ「ビートルズのイエスタディをかけて!」のうち、「ビートルズ」がスロット<musician>に対応し、「イエスタディ」がスロット<title>に対応する。一実現例では、サーバ100は、上記のクエリ「ビートルズのイエスタディをかけて!」を入力されると、さらに、「予測されるデータタイプ」として「ビートルズの曲のタイトルのリスト」を特定してもよい。そして、サーバ100は、関連データとして、特定されたタイプのデータ、すなわち、ビートルズの曲のタイトルのリストを取得してもよい。サーバ100は、クエリ「ビートルズのイエスタディをかけて!」を送信してきたユーザ端末に、クエリ「ビートルズのイエスタディをかけて!」への応答に加えて、クエリ「ビートルズのイエスタディをかけて!」の関連データとして、ビートルズの曲のタイトルのリストを送信してもよい。
文法ライブラリ16Eの項目「有効期限」は、関連データに付与される有効期限を規定する。有効期限は、主にユーザ端末200で利用され、クエリがユーザ端末200のメモリにおいて維持される期間(日数など)に関連する期間を規定する。
たとえば、図11では、文法G1の予測されるデータ「現在地の7日間の天気予報」に対して、有効期限「7日」が規定されている。この場合、サーバ100は、大阪に位置するユーザ端末200から10月1日にクエリ「今日の天気を教えて」を入力されると、当該クエリへの応答として大阪の10月1日の天気予報を送信し、さらに、関連データとして、10月2日から10月8日までの7日間の大阪の天気予報を送信する。当該関連データには、「7日間」の有効期限が付与される。ユーザ端末200は、10月1日より後の7日後、すなわち、10月8日まで、サーバ100から送信された関連データを保持する。ユーザ端末200は、ユーザ端末200がオフラインである間、関連データを利用して、ユーザから入力されたクエリへの応答を出力し得る。有効期限を過ぎると、すなわち、10月8日を過ぎると、ユーザ端末200は、関連データを当該ユーザ端末200から削除する。
文法ライブラリ16Eの項目「カウント(1)」は、各文法がクエリの意味の解釈に利用された回数を表す。項目「カウント(2)」は、各ドメインに属する文法がクエリの意味の解釈に利用された回数の合計を表す。たとえば、文法A1がクエリの意味の解釈に利用されると、文法A1のカウント(1)の値が1カウントアップされ、さらに、ドメインAのカウント(2)の値が1カウントアップされる。
5.ユーザ情報16Fのデータ構成
図12は、ユーザ情報16Fのデータ構造を示す図である。ユーザ情報16Fは、「ユーザID」と、「端末ID」と、「送信された文法」とを関連付ける。「送信された文法」は、各端末に送信された文法が属するドメインの名称を規定する。
ユーザIDは、各ユーザに割り振られた値を規定する。端末IDは、各ユーザ端末200に割り振られた値を表す。送信済文法は、各ユーザ端末200に送信された文法が属するドメインを表す。
図12の例において、端末ID「SP01」は、ユーザID「0001」、ならびに、ドメインA,Cに関連付けられている。このことは、ユーザID「0001」を割り当てられたユーザが端末ID「SP01」を割り当てられた端末を用いてサーバ100に1つ以上のクエリを送信したこと、および、サーバ100が端末ID「SP01」を割り当てられた端末にドメインAおよびドメインCに属する文法を送信したことを意味する。
一実現例では、サーバ100は、各ユーザ端末200に、ドメインの一部の文法のみを送信してもよい。この場合、ユーザ情報16Fは、「送信済文法」の値として、各ユーザ端末200に送信された文法(文法A1、など)を規定してもよい。
6.ハードウェア構成(ユーザ端末200)
図13は、ユーザ端末200のハードウェア構成を示す図である。
図13を参照して、ユーザ端末200は、主要なハードウェア要素として、CPU201と、ディスプレイ202と、マイクロフォン203と、スピーカ204と、GPS(Global Positioning System)受信器205と、通信インターフェース(I/F)206と、ストレージ207と、メモリ210とを含む。
CPU201は、各種プログラムを実行することで、ユーザ端末200の実現に必要な処理を実行する演算主体である。
ディスプレイ202は、たとえば液晶ディスプレイデバイスであってもよい。CPU201は、処理の実行結果をディスプレイ202に表示してもよい。
マイクロフォン203は、音声の入力を受け付け、受け付けられた音声に対応する信号をCPU201によるアクセスのためにストレージ207へ出力する。スピーカ204は、音声を出力する。CPU201は、処理の実行結果を音声としてスピーカ204から出力してもよい。
GPS受信器205は、GPS衛星からの信号を受信して、CPU201によるアクセスのためにストレージ207へ当該信号を出力する。CPU201は、GPS受信器205からの信号に基づいて、ユーザ端末200の現在位置を特定してもよい。
通信I/F206は、公衆回線および/またはLANを介して、サーバ100を含む任意の情報処理装置との間でデータを送受信する。通信I/F206は、たとえばモバイルネットワークインターフェースであってもよい。
ストレージ207は、たとえば、ハードディスクドライブまたはSSD(Solid State Drive)などの不揮発性メモリデバイスであってもよい。ストレージ207は、アプリケーションプログラム2071を格納する。ストレージ207は、文法領域2072、関連データ領域2073、失敗データ領域2074、場所情報2075、および、学習済モデル2076を含む。
アプリケーションプログラム2071は、ユーザからのクエリの入力を受け付け、当該クエリへの応答を出力するためのプログラムである。アプリケーションプログラム2071は、たとえば、カーナビゲーションプログラムまたはアシスタントプログラムであってもよい。
文法領域2072は、サーバ100から送信された文法を格納するための領域である。関連データ領域2073は、サーバ100から送信された関連データを格納するための領域である。失敗データ領域2074は、ユーザ端末200においてクエリの意味の解釈が実行された場合であって、解釈が失敗した場合に、対象となったクエリを格納するための領域である。
場所情報2075は、ユーザ端末200の場所を表し、クエリの意味の解釈に利用される文法の種類を選択するために利用され得る情報とを格納するための領域である。場所情報2075のデータ構造は、図14を参照して後述される。学習済モデル16Gは、サーバ100から送信されて、ストレージ207に学習済モデル2076として格納される。
7.場所情報2075のデータ構造
図14は、場所情報2075のデータ構造の一例を示す図である。場所情報2075は、場所「自宅」と文法「ドメインD,E,F,G」とを関連付け、場所「オフィス」と文法「ドメインC」とを関連付けている。
ユーザ端末200は、図14に示された情報に基づいて、オフライン時のクエリの意味の解釈において利用する文法を決定してもよい。たとえば、ユーザ端末200は当該ユーザ端末200の場所に応じて異なる文法を利用してもよい。
ユーザ端末200は、クエリの入力に応じて、当該ユーザ端末200自身の位置を特定してもよい。一例では、ユーザ端末200の位置は、GPS受信器205によって受信されたGPSデータに基づいて特定され得る。他の例では、ユーザ端末200の位置は、ユーザ端末200が受信したビーコン信号の種類に基づいて特定され得る。他の例では、ユーザ端末200の位置は、IPアドレスまたは携帯電話基地局ID等のネットワーク情報に基づいて特定され得る。
一実現例では、特定された位置が「自宅」として予め登録された場所にあれば、ユーザ端末200は、ドメインD,E,F,Gに属する文法を利用してクエリの解釈を試み、他のドメインに属する文法を利用してクエリの解釈を試みなくてもよい。特定された位置が「オフィス」として予め登録された場所にあれば、ユーザ端末200は、ドメインCに属する文法を利用してクエリの解釈を試み、他のドメインに属する文法を利用してクエリの解釈を試みなくてもよい。
8.サーバ100における処理
図15および図16は、サーバ100においてクエリへの応答の出力のために実行される処理のフローチャートである。一実現例では、図15および図16の処理は、プロセッシングユニット11がアプリケーションプログラム16Cを実行することによって実現される。一実現例では、サーバ100は、ユーザ端末200からクエリの送信を宣言するデータを受信したことを起因として図15および図16の処理を開始する。
まず図15を参照して、ステップS100にて、サーバ100は、ユーザ端末200からクエリを受信する。
ステップS102にて、サーバ100は、ユーザ端末200から送信されたクエリに対して発話認識を実行することにより、クエリのトランスクリプションを生成する。ユーザ端末200からクエリが音声以外の形式で送信された場合には、ステップS102は省略され得る。ユーザはユーザ端末200にテキスト形式でクエリを入力することができる。ユーザ端末200はサーバ100にテキスト形式でクエリを送信することができる。ユーザ端末200から送信されたクエリがテキスト形式であれば、サーバ100はステップS102を省略してもよい。
ステップS104にて、サーバ100は、ステップS102にて生成されたトランスクリプション(またはユーザ端末200から送信されたテキストデータ)に対して自然言語解釈を実施する。これにより、クエリの意味の解釈が実施される。
サーバ100は、ステップS104において、複数の文法の中からクエリの意味の解釈に利用可能な文法を選択し、選択された1つの文法を用いてクエリの意味を解釈してもよい。
一実現例では、ユーザの1回のスピーチが複数のトランスクリプションを含むことが想定される場合に、当該複数のトランスクリプションのためのステップS102およびステップS104のそれぞれのステップは結合され得る。
ステップS106にて、サーバ100は、ステップS104においてクエリの意味の解釈に利用された文法について文法ライブラリ16Eのカウントを加算する。より具体的には、サーバ100は、利用された文法についてカウント(1)を1加算更新し、利用された文法が属するカウント(2)を1加算更新する。
ステップS108にて、サーバ100は、ステップS104における解釈に基づいて、クエリへの応答を生成する。
一例では、サーバ100は、クエリ「ラジオをつけて」への応答として、自動車に搭載されたラジオをONする指示を取得する。他の例では、サーバ100は、クエリ「A社をチェックして」への応答を取得するために、株価を提供するAPIに対してクエリの少なくとも一部(A社)を送信することによりA社の株価を問合せてもよい。サーバ100は、当該問合せへの回答としてAPIから取得したA社の株価を、クエリ「A社をチェックして」への回答として取得する。
さらに他の例では、サーバ100は、クエリ「ビートルズのイエスタディをかけて」への応答として、ビートルズのイエスタディの音声ファイルを検索する指示と当該音声ファイルを再生する指示とを取得する。
ステップS110にて、サーバ100は、ステップS108にて取得された応答をユーザ端末200へ送信する。
ステップS112にて、サーバ100は、ステップS104において利用された文法が、ユーザ端末200において格納されているか否かを判断する。一実現例では、サーバ100は、ユーザ情報16F(図12)において、ステップS100において送信されたクエリの送信元であるユーザ端末200の送信済文法を参照する。より具体的には、サーバ100は、送信済文法として格納されたドメインに属する文法が、ステップS104にて利用された文法を含む場合には、サーバ100は、当該文法がユーザ端末200に格納されていると判断する。
サーバ100は、ステップS104において利用された文法がユーザ端末200において格納されていると判断すると(ステップS112にてYES)、ステップS120(図16)へ制御を進め、そうでなければ(ステップS112にてNO)、ステップS114へ制御を進める。
ステップS112を含まない実現例があってもよい。このような実現例では、ステップS110からステップS114へ直接進められても良い。このような実現例では、ユーザ端末200は同一の文法を複数回受信すると、同一の文法のコピーを無視(または削除)する。このような実現例は、ネットワークトラフィックの増加により通信帯域をより多く利用することになるが、ユーザ端末においてどの文法が格納されているかという情報をサーバにおいて正確に管理する煩雑さは回避し得る。
ステップS114にて、サーバ100は、ステップS104において利用された文法の「オンライン設定」の値が、文法ライブラリ16EにおいてONと設定あれているか否かを判断する。サーバ100は、ステップS104において利用された文法の「オンライン設定」の値がONであれば(ステップS114にてYES)、ステップS116へ制御を進め、そうでなければ(ステップS114にてNO)、ステップS120(図16)へ制御を進める。
実現例では、ユーザ端末200は、あるクエリに対して所与の回数利用された文法のみを受信する要求に構成されていてもよい。この場合、あまり利用されない文法のダウンロードが回避され得る。このような実現例に応じて、ステップS116にて、サーバ100は、ステップS104において利用された文法に関連するカウント値が所与の閾値を超えているか否かを判断する。ステップS116における「カウント値」は、文法ライブラリ16Eにおけるカウント(1)の値、カウント(2)の値、または、カウント(1)とカウント(2)の双方の値であってもよい。サーバ100は、カウント値が所与の閾値を超えていると判断すると(ステップS116にてYES)、ステップS118へ制御を進め、そうでなければ(ステップS116にてNO)、ステップS120(図16)へ制御を進める。
ステップS118にて、サーバ100は、ステップS104において利用された文法をユーザ端末200へ送信する。ステップS118において、サーバ100は、さらに、ステップS104において利用された文法と同じドメインに属する他の文法をユーザ端末200へ送信してもよい。その後、ステップS120(図16)へ制御を進める。
図16を参照して、ステップS120にて、サーバ100は、ステップS114と同様に、テップS104において利用された文法の「オンライン設定」の値が、文法ライブラリ16EにおいてONと設定されているか否かを判断する。サーバ100は、「オンライン設定」の値がONであれば(ステップS120にてYES)、ステップS122へ制御を進め、そうでなければ(ステップS120にてNO)、処理を終了させる。
ステップS122にて、サーバ100は、文法ライブラリ16Eにおいて、ステップS104において利用された文法に対応する「予測されるデータタイプ」を特定する。
ステップS104において文法D2が利用されれば、サーバ100は、「予測されるデータタイプ」として、クエリに含まれたミュージシャンの曲のタイトルリストを特定する。より具体的には、クエリ「ビートルズのイエスタディをかけて」の意味が文法D2を利用して解釈された場合、サーバ100は、「予測されるデータタイプ」として、「ビートルズの曲のタイトルリスト」を特定する。
ステップS104において文法G2が利用されれば、サーバ100は、「予測されるデータタイプ」として、クエリに含まれた都市の7日間の天気予報を特定する。より具体的には、クエリ「大阪の天気を教えて」の意味が文法G2を利用して解釈された場合、サーバ100は、「予測されるデータタイプ」として、「クエリを入力された日の翌日から7日分の大阪の天気予報」を特定する。
ステップS124にて、サーバ100は、関連データとして、ステップS122にて特定されたタイプのデータを取得する。たとえば、「予測されるデータタイプ」として「ビートルズの曲のタイトルリスト」が特定された場合、サーバ100は、当該タイトルリストのデータを取得する。「予測されるデータタイプ」として「クエリを入力された日の翌日から7日分の大阪の天気予報」が特定された場合、サーバ100は、天気予報APIに大阪の当該7日分の天気予報を要求し、当該要求に応じて得られた天気予報のデータを取得する。
ステップS126にて、サーバ100は、ステップS124において取得された関連データをユーザ端末200へ送信する。
ステップS128にて、サーバ100は、ユーザ端末200のユーザに対応する学習済モデル16Gをユーザ端末200へ送信する。一実現例では、サーバ100は、ユーザ情報16F(図12)を参照することにより、通信相手であるユーザ端末200に関連付けられたユーザIDを特定し、特定されたユーザに対応してストレージ16において格納されている学習済モデル16Gをユーザ端末200へ送信する。その後、サーバ100は処理を終了させる。
以上、図15および図16を参照して説明された処理によれば、サーバ100は、ユーザ端末200から送信されたクエリの自然言語解釈に利用された文法を、ユーザ端末200へ送信する。
ステップS112に関連して説明されたように、サーバ100は、上記文法がユーザ端末200に格納されていないことを条件として、ユーザ端末200へ文法を送信してもよい。ステップS114に関連して説明されたように、サーバ100は、ユーザ端末200が上記文法を用いた機能をオフライン状態で実行するように構成されていることを条件として(オフライン設定の値がON)、ユーザ端末200へ上記文法を送信してもよい。ステップS116に関連して説明されたように、サーバ100は、ステップS104において利用された文法の利用回数(カウント(1))、または、当該文法と同じドメインに属する文法の利用回数(カウント(2))が所与の閾値を超えたことを条件として、ユーザ端末200へ上記文法を送信してもよい。
ステップS122~S126に関連して説明されたように、サーバ100は、サーバ100は、入力されたクエリに基づいて将来のクエリへの応答に必要なデータのタイプ(予測されるデータタイプ)を予測し、予測されたタイプのデータ(関連データ)をユーザ端末200へ送信してもよい。
サーバ100は、ステップS126において、さらに、関連データの有効期限を送信してもよい。有効期限は、図11において示されるように、「予測されるデータタイプ」ごとに特定され得る。有効期限は、関連データのメタデータとして送信されてもよい。
サーバ100は、学習済モデル16Gの訓練のための処理を実行してもよい。訓練は、ユーザごとに実行されてもよい。ステップS128に関連して説明されたように、サーバ100は、ユーザ端末200に、ユーザ端末200のユーザの学習済モデル16Gを送信してもよい。
一実現例では、サーバ100における学習済モデル16Gの学習には、1人以上のユーザの発話の音声データと各音声データに対応するテキストデータとが学習用データセット16Hとして利用され得る。教師データは、さらに、上記1人以上のユーザのそれぞれに関する情報(たとえば、各ユーザのユーザ端末に格納されている「連絡先」ファイルの中の名前)を含んでも良い。訓練には、たとえば、参考文献1("Robust i-vector based Adaptation of DNN Acoustic Model for Speech Recognition", <URL: http://www1.icsi.berkeley.edu/~sparta/2015_ivector_paper.pdf >)、参考文献2("PERSONALIZED SPEECH RECOGNITION ON MOBILE DEVICES", <URL: https://arxiv.org/pdf/1603.03185.pdf>)、参考文献3("Speech Recognition Based on Unified Model of Acoustic and Language Aspects of Speech", <URL: https://www.ntt-review.jp/archive/ntttechnical.php?contents=ntr201312fa4.pdf&mode=show_pdf>)、および、参考文献4(音声と言語の一体型学習に基づく音声認識技術, <URL: https://www.ntt.co.jp/journal/1309/files/jn201309022.pdf>)に記載の技術が利用され得る。
9.ユーザ端末200における処理
図17および図18は、ユーザ端末200において実行される処理のフローチャートである。一実現例では、ユーザ端末200のCPU201が所与のプログラムを実行することによって、図17および図18の処理が実現される。図17および図18の処理は、たとえば一定時間ごとに開始される。
図17を参照して、ステップS200にて、ユーザ端末200は、関連データ領域2073に格納された関連データの中で、有効期限を過ぎた関連データを削除する。
ステップS202にて、ユーザ端末200は、当該ユーザ端末200がオンラインであるか(サーバ100と通信可能であるか)否かを判断する。ユーザ端末200は、当該ユーザ端末200がオンラインであると判断すると(ステップS202にてYES)、ステップS204へ制御を進め、そうでなければ(ステップS202にてNO)、ステップS226(図18)へ制御を進める。
ステップS204にて、ユーザ端末200は、失敗データ領域2074(後述のステップS242参照)に格納されたクエリをサーバ100へ送信する。クエリが時刻情報および/または位置情報と関連付けられている場合、ステップS204では時刻情報および/または位置情報もサーバ100へ送信されてもよい。クエリの送信後、ユーザ端末200は、送信されたクエリを失敗データ領域2074から削除してもよい。
ステップS206にて、ユーザ端末200は、クエリを取得する。一例では、クエリはマイクロフォン203を介して音声で入力される。他の例では、クエリはユーザ端末200のタッチセンサ(図示略)に対する操作によってテキストデータで入力される。
ステップS208にて、ユーザ端末200は、ステップS206において取得されたクエリをサーバ100へ送信する。送信されたクエリは、ステップS100(図15)においてサーバ100によって受信され得る。
ステップS210にて、ユーザ端末200は、サーバ100から、クエリへの応答を受信する。応答は、ステップS110(図15)においてサーバ100から送信され得る。
ステップS212にて、ユーザ端末200は、サーバ100から送信された応答を出力する。応答の出力の一例は、応答に含まれる指示に従った動作である。たとえば、応答が「ラジオをONする指示」を含む場合、ユーザ端末200は、当該ユーザ端末200が搭載されている自動車に搭載されているラジオをONする。
ステップS214にて、ユーザ端末200は、サーバ100から送信された文法を受信する。文法は、ステップS118(図15)においてサーバ100から送信され得る。
ステップS216にて、ユーザ端末200は、ステップS214において受信した文法を文法領域2072に格納する。
ステップS218にて、ユーザ端末200は、関連データを受信する。関連データは、ステップS126(図16)においてサーバ100から送信され得る。
ステップS220にて、ユーザ端末200は、ステップS218において受信した関連データを関連データ領域2073に格納する。
ステップS222にて、ユーザ端末200は、学習済モデル16Gを受信する。学習済モデル16Gは、ステップS128(図16)においてサーバ100から送信され得る。
ステップS224にて、ユーザ端末200は、ステップS222において受信した学習済モデル16Gをストレージ207に学習済モデル2076として格納する。その後、ユーザ端末200は処理を終了させる。
ステップS208においてサーバ100へ送信されたクエリは、ステップS214の文法、ステップS218の関連データ、および、ステップS222の学習済モデルの中の少なくとも1つの影響を及ぼしても良いし、及ぼさなくてもよい。
本件の技術の局面に従えば、ステップS202においてユーザ端末200がオフライン(サーバ100との接続がない)であるか否かが決定されるとき、ユーザ端末200は発話を解析してクエリを生成するために発話認識を利用する。個人に最適化された学習済モデル2076(サーバ100で生成され、ユーザ端末200にダウンロードされる)は、この目的において利用され得る。クエリが認識されると、本件技術は、クエリの自然言語的な意味を解釈するために、ダウンロードされてローカルで格納された、1つ以上の文法を利用してもよい。本件技術は、ローカルに格納されている文法かサーバ100に格納されている文法のいずれを使用するかの選択において、以下に説明されるようなあらゆる所与の基準を適用してもよい。
図18を参照して、ステップS226にて、ユーザ端末200は、ステップS206と同様にクエリを取得する。
ステップS228にて、ユーザ端末200は、クエリを取得したときの時刻情報を取得する。取得された時刻情報は、ステップS226において取得されたクエリに関連付けられてストレージ207に格納されてもよい。
ステップS230にて、ユーザ端末200は、クエリを取得したときのユーザ端末200の位置情報を取得する。取得された位置情報は、ステップS226において取得されたクエリに関連付けられてストレージ207に格納されてもよい。
ステップS231にて、ユーザ端末200は、想定される1以上のユーザから、ユーザ端末200を使用していると1人のユーザを特定する。実現例では、1人のユーザの特定は、ログインアカウントのプロファイルを読み出すことによって行なわれても良い。実現例では、1人のユーザの特定は、音によるクエリの音声に関する音声のフィンガープリントアルゴリズムを利用することによって行なわれても良い。ユーザの特定に基づいて、ユーザ端末200は、個人に最適化された学習済モデル2076として、1以上のモデルから1つの学習済モデルを選択する。
ステップS232にて、ユーザ端末200は、ステップS226において取得されたクエリの発話認識を実行する。発話認識において、ユーザ端末200は、学習済モデル2076を利用してもよい。ステップS232の制御は、クエリが音声で入力されたことを条件として実施されてもよい。クエリがテキストデータとして入力された場合には、ステップS232の制御は省略されてもよい。
ステップS234にて、ユーザ端末200は、ステップS226において取得されたクエリについて自然言語解釈を実施する。これにより、当該クエリの意味が解釈される。自然言語解釈において、ユーザ端末200は、文法領域2072に格納された文法を利用してもよい。文法領域2072において格納された文法は、ステップS206において取得されたクエリの意味の解釈に利用された文法を含む。すなわち、ユーザ端末200は、ステップS206において取得されたクエリ(第1のクエリ)の意味の解釈に利用された文法を、ステップS226において取得されたクエリ(第2のクエリ)の意味の解釈に利用することができる。
自然言語解釈に利用される文法は、ユーザ端末200がクエリを取得した状況に従って選択されてもよい。状況の違いによって使用される文法がどのように異なるかが以下に説明される。状況に応じて利用可能な文法を制限することによって、クエリの自然言語解釈に誤った文法が利用されることがより確実に回避され得る。すなわち、クエリの意味の解釈の精度が向上され得る。
一例では、ユーザ端末200は、場所情報2075(図14)を参照して、クエリが取得されたときに取得された位置情報に従って、自然言語解釈に利用され得る文法の範囲を選択してもよい。図14の例では、クエリを取得されたときの位置情報が「自宅」として登録されている場所に含まれる場合、自然言語解釈に利用される文法は、ドメインD,E,F,およびGの中から選択される。クエリを取得されたときの位置情報が「オフィス」として登録されている場所に含まれる場合、自然言語解釈に利用される文法は、ドメインCから選択される。
他の例では、ユーザ端末200は、クエリが取得されたときに取得された時刻情報に従って、自然言語解釈に利用され得る文法の範囲を選択してもよい。より具体的には、時刻情報がユーザの就業時間として登録されている時間帯に含まれる場合、自然言語解釈に利用される文法は、ドメインCから選択される。時刻情報がユーザの就業時間として登録されている時間帯に含まれない場合、自然言語解釈に利用される文法は、ドメインD,E,F,およびGの中から選択される。
さらに他の例では、ユーザ端末200は、クエリが取得されたときに取得された位置情報と時刻情報との組合せに従って、自然言語解釈に利用され得る文法の範囲を選択してもよい。より具体的には、クエリを取得されたときの位置情報が「自宅」として登録されている場所に含まれる場合、時刻情報がユーザの調理時間として登録されている時間帯に含まれるときには、自然言語解釈に利用される文法はドメインEから選択され、当該時間帯に含まれないときには、自然言語解釈に利用される文法はドメインD,F,およびGから選択される。
ある実現例では、位置情報および/または時間情報は文法の範囲の選択のための厳密な条件である代わりに、あるテキストデータまたは発話のトランスクリプションの解釈のために正しい文法であると仮定された1つ以上の文法に重みを付しても良い。一例では、アプリケーションプログラム16Cは、各文法について、上記テキストデータまたは発話のトランスクリプションへの適用のための確率を出力する。アプリケーションプログラム16Cは、出力された確率と上述の重みの和が最も大きい文法を、上記テキストデータまたは発話のトランスクリプションの解釈に利用する文法として選択する。
ステップS236にて、ユーザ端末200は、ステップS234における自然言語解釈が成功したか否かを判断する。クエリが文法領域2072に格納されている1以上の文法のいずれかによって解釈された場合、ユーザ端末200は自然言語解釈が成功したと判断する。クエリが文法領域2072に格納されている1以上の文法のいずれかによっても解釈されなかった場合、ユーザ端末200は自然言語解釈が失敗したと判断する。
ステップS234における自然言語解釈が成功したと判断すると(ステップS236にてYES)、ユーザ端末200はステップS238へ制御を進める。ステップS234における自然言語解釈が失敗したと判断すると(ステップS236にてNO)、ユーザ端末200はステップS242へ制御を進める。
ステップS238にて、ユーザ端末200は、ステップS234における解釈に基づいて、ステップS226において取得されたクエリへの応答を取得する。ユーザ端末200は、関連データ領域2073内の関連データからクエリへの応答を取得してもよい。
一例では、ステップSステップS206においてクエリ「ビートルズのイエスタディをかけて」が取得されると、ユーザ端末200は、ステップS220において、関連データとしてビートルズの曲のタイトルのリストを関連データ領域2073に格納する。その後、ステップS226にて、クエリ「ビートルズの曲のリストを教えて」を取得すると、ユーザ端末200は、当該クエリへの応答として、関連データ領域2073に格納されたビートルズの曲のリストを取得する。
ステップS240にて、ユーザ端末200は、ステップS238において取得された応答を出力する。その後、ユーザ端末200は処理を終了させる。
ステップS242にて、ユーザ端末200は、ステップS226において取得されたクエリを失敗データ領域2074に格納する。失敗データ領域2074に格納されたクエリは、ステップS204においてサーバ100へ送信される。その後、ユーザ端末200は処理を終了させる。
図17および図18を参照して説明された処理では、ユーザ端末200がオフライン状態にあるときに自然言語解釈に失敗したクエリがサーバ100へ送信される。ユーザ端末200がオフライン状態にあるときに自然言語解釈に成功したクエリもサーバ100へ送信されてもよい。これにより、サーバ100は、オフライン状態にあるときにユーザ端末200に入力されたクエリを取得し得る。サーバ100は、これらのクエリの意味の解釈に利用される文法を特定してもよい。サーバ100は、特定された文法に関するカウント(1)およびカウント(2)を加算更新してもよい。これにより、カウント(1)およびカウント(2)の値に、オフライン時にユーザ端末200に入力されたクエリに関する情報も反映され得る。
開示された特徴はコンピュータによって実行される方法、システム、コンピュータソフトウェア(プログラム)、および/または、当該方法を実施するための命令を格納した非一時的にデータを記録するコンピュータ可読記録媒体として要約され得る。たとえば、本開示の1つの局面に従うと、非一時的にデータを記録するコンピュータ可読記録媒体は、クライアント端末からクエリの入力を受信すること、文法を利用して当該クエリの自然言語解釈を実行すること、当該自然言語解釈の実行の後にクエリへの応答を出力すること、および、当該クライアント端末に当該文法を送信することを含む方法を実行するための命令を格納する。
今回開示された各実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組合わせても、実施することが意図される。
100 サーバ、200,200A~200G ユーザ端末、1500 推定モデル。

Claims (17)

  1. コンピュータによって実行される方法であって、
    クライアント端末からクエリの入力を受け付けるステップと、
    文法を利用して、前記クエリの自然言語解釈を実行するステップと、
    自然言語解釈の前記実行の後、前記クエリへの応答を出力するステップと、
    前記クライアント端末へ前記文法を送信するステップと、
    入力された前記クエリに基づいて、将来のクエリへの応答に必要なデータのタイプを予測するステップと、
    前記クライアント端末へ前記タイプのデータを送信するステップと、を備え、
    前記タイプの前記データを送信するステップは、前記タイプの前記データの有効期限を送信することを含み、
    前記有効期限は、前記タイプの前記データが含む期間を規定する、方法。
  2. 前記文法を前記クライアント端末へ送信する前に、前記クライアント端末が前記文法を格納していないことを判断するステップをさらに備え、
    前記クライアント端末へ前記文法を送信するステップは、前記クライアント端末が前記文法を格納していないことを条件として実行される、請求項に記載の方法。
  3. 前記文法を前記クライアント端末へ送信する前に、前記クライアント端末が前記コンピュータと通信しないオフライン状態で前記文法を用いた機能を実行するように構成されているかを判断するステップをさらに備え、
    前記文法を前記クライアント端末へ送信するステップは、前記クライアント端末が前記オフライン状態で前記文法を用いた前記機能を実行するように構成されていると判断した場合に実行される、請求項1または請求項に記載の方法。
  4. 前記クライアント端末からのクエリの自然言語解釈に前記文法が利用された回数を計数するステップをさらに備え、
    前記文法を前記クライアント端末へ送信するステップは、計数された前記回数が閾値を超えたことを条件として実行される、請求項1~請求項のいずれか1項に記載の方法。
  5. 前記計数することは、前記文法が属するドメインに属するすべての文法がクエリの自然言語解釈に利用された回数を計数することを含む、請求項に記載の方法。
  6. クライアント端末からクエリの入力を受け付けるステップは、前記クライアント端末から音声の入力を受け付けることを含み、
    前記クライアント端末のユーザに適合するように前記ユーザの発話を利用して発話認識モデルを訓練するステップと、
    訓練された前記発話認識モデルを前記クライアント端末へ送信するステップと、をさらに備える、請求項1~請求項のいずれか1項に記載の方法。
  7. 1つ以上のプロセッサを備えるサーバ装置であって、
    前記1つ以上のプロセッサによって実行されることにより、請求項1~請求項のいずれか1項に記載の方法を前記サーバ装置に実施させるプログラムを格納する記憶装置をさらに備える、サーバ装置。
  8. クライアント端末と、
    前記クライアント端末から入力されたクエリに対する応答を前記クライアント端末に送信するサーバ装置と、を備え、
    前記サーバ装置は、文法を利用して、前記クエリの自然言語解釈を実行する1つ以上のプロセッサを含み、
    前記1つ以上のプロセッサは、
    前記文法を前記クライアント端末へ送信し、
    コンピュータによって実行される方法であって、
    前記クエリに基づいて、将来のクエリへの応答に必要なデータのタイプを予測し、
    前記タイプのデータと、前記タイプのデータの有効期限とを前記クライアント端末へ送信し、
    前記有効期限は、前記タイプの前記データが含む期間を規定する、情報処理システム。
  9. コンピュータによって実行される方法であって、
    サーバ装置へ第1のクエリを送信するステップと、
    前記サーバ装置から前記第1のクエリの自然言語解釈に利用された文法を受信するステップと、
    受信された前記文法をメモリに格納するステップと、
    第2のクエリの入力を受け付けるステップと、
    前記コンピュータが前記サーバ装置と接続されていないときに、前記文法を利用して、前記第2のクエリの自然言語解釈を実行するステップと、
    前記サーバ装置から、前記第1のクエリに関連するデータを受信するステップと、
    前記第1のクエリに関連する前記データを前記メモリに格納するステップと、
    前記第1のクエリに関連する前記データを利用して、前記第2のクエリへの応答を取得するステップと、
    前記第1のクエリに関連する前記データは有効期限を表すメタデータを含み、
    前記有効期限は、前記第1のクエリに関連する前記データが含む期間を規定し、
    前記方法は、前記有効期限が過ぎた後に前記第1のクエリに関連する前記データを前記メモリから削除するステップをさらに備える、方法。
  10. 第3のクエリの入力を受け付けるステップと、
    前記コンピュータが前記サーバ装置と接続されていないときに、前記第3のクエリの自然言語解釈を実行するステップと、
    前記第3のクエリの自然言語解釈が失敗したと判断するステップと、
    前記第3のクエリを前記メモリに格納するステップと、
    前記失敗に応じて、前記コンピュータが前記サーバ装置と接続されているときに、前記第3のクエリを前記サーバ装置へ送信するステップと、をさらに備える請求項に記載の方法。
  11. 前記コンピュータの位置情報を取得するステップをさらに備え、
    前記第2のクエリの自然言語解釈を実行するステップは、前記位置情報に基づいて、使用される文法を前記メモリ内の1つ以上の文法から選択することを含む、請求項9または請求項10に記載の方法。
  12. 前記第2のクエリが入力された時刻を表す時刻情報を取得するステップをさらに備え、
    前記第2のクエリの自然言語解釈を実行するステップは、前記時刻情報に基づいて、使用される文法を前記メモリ内の1つ以上の文法から選択することを含む、請求項~請求項11のいずれか1項に記載の方法。
  13. 前記第2のクエリの入力を受け付けるステップは、音声の入力を受け付けることを含み、
    前記サーバ装置から、前記コンピュータのユーザに適合するように学習された発話認識モデルを受信するステップと、
    前記コンピュータが前記サーバ装置と接続されていないときに、前記発話認識モデルを利用して入力された前記音声の発話認識を実行するステップと、をさらに備える、請求項~請求項12のいずれか1項に記載の方法。
  14. 前記第3のクエリを前記メモリに格納するステップは、前記第3のクエリを当該第3のクエリが入力された時刻を表す時刻情報ととも前記メモリに格納することを含み、
    前記コンピュータが前記サーバ装置と接続されているときに、前記メモリ内の第3のクエリを前記時刻情報とともに前記サーバ装置へ送信するステップをさらに備える、請求項10に記載の方法。
  15. 前記第3のクエリを前記メモリに格納することは、前記第3のクエリとともに前記第3のクエリの入力を受け付けたときの前記コンピュータの位置情報を前記メモリに格納することを含み、
    前記第3のクエリを前記サーバ装置へ送信することは、前記位置情報を前記第3のクエリとともに前記サーバ装置へ送信することを含む、請求項14に記載の方法。
  16. クライアント端末の1つ以上のプロセッサによって実行されることにより、前記クライアント端末に、請求項~請求項15のいずれか1項に記載の方法を実施させる、コンピュータプログラム。
  17. 1つ以上のプロセッサを備えるクライアント端末であって、
    前記1つ以上のプロセッサに実行されることによって、請求項~請求項15のいずれか1項に記載の方法を前記クライアント端末に実施させるプログラムを格納するメモリを備える、クライアント端末。
JP2019192798A 2019-10-23 2019-10-23 コンピュータによって実行される方法、サーバ装置、情報処理システム、プログラム、およびクライアント端末 Active JP7029434B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2019192798A JP7029434B2 (ja) 2019-10-23 2019-10-23 コンピュータによって実行される方法、サーバ装置、情報処理システム、プログラム、およびクライアント端末
CN202011125459.6A CN112699670A (zh) 2019-10-23 2020-10-20 离线虚拟助理的自动同步
EP20203044.1A EP3812924A1 (en) 2019-10-23 2020-10-21 Automatic synchronization for an offline virtual assistant
KR1020200137377A KR102593857B1 (ko) 2019-10-23 2020-10-22 컴퓨터, 서버 장치, 정보 처리 시스템, 프로그램 및 클라이언트 단말기에 의해 구현되는 방법
JP2021171822A JP2022020681A (ja) 2019-10-23 2021-10-20 コンピュータによって実行される方法、サーバ装置、情報処理システム、プログラム、およびクライアント端末
KR1020230141009A KR20230149795A (ko) 2019-10-23 2023-10-20 컴퓨터, 서버 장치, 정보 처리 시스템, 프로그램 및 클라이언트 단말기에 의해 구현되는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019192798A JP7029434B2 (ja) 2019-10-23 2019-10-23 コンピュータによって実行される方法、サーバ装置、情報処理システム、プログラム、およびクライアント端末

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021171822A Division JP2022020681A (ja) 2019-10-23 2021-10-20 コンピュータによって実行される方法、サーバ装置、情報処理システム、プログラム、およびクライアント端末

Publications (2)

Publication Number Publication Date
JP2021068167A JP2021068167A (ja) 2021-04-30
JP7029434B2 true JP7029434B2 (ja) 2022-03-03

Family

ID=73005401

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019192798A Active JP7029434B2 (ja) 2019-10-23 2019-10-23 コンピュータによって実行される方法、サーバ装置、情報処理システム、プログラム、およびクライアント端末
JP2021171822A Pending JP2022020681A (ja) 2019-10-23 2021-10-20 コンピュータによって実行される方法、サーバ装置、情報処理システム、プログラム、およびクライアント端末

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2021171822A Pending JP2022020681A (ja) 2019-10-23 2021-10-20 コンピュータによって実行される方法、サーバ装置、情報処理システム、プログラム、およびクライアント端末

Country Status (4)

Country Link
EP (1) EP3812924A1 (ja)
JP (2) JP7029434B2 (ja)
KR (2) KR102593857B1 (ja)
CN (1) CN112699670A (ja)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002527919A (ja) 1998-10-02 2002-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワーク調整された会話型サービスを提供するためのシステムおよび方法
JP2009193440A (ja) 2008-02-15 2009-08-27 Nec Corp キャッシュシステム、サーバおよび端末
JP2011513795A (ja) 2008-03-07 2011-04-28 グーグル・インコーポレーテッド 文脈に基づく音声認識文法選択
JP2012094156A (ja) 2004-04-19 2012-05-17 Google Inc レンダリングされた文書からの視覚的取得データに対する処理技術
US20180025722A1 (en) 2008-12-19 2018-01-25 Nuance Communications, Inc. System and method for enhancing speech recognition accuracy using weighted grammars based on user profile including demographic, account, time and date information
CN108242235A (zh) 2016-12-23 2018-07-03 三星电子株式会社 电子设备及其语音识别方法
US20180262351A1 (en) 2016-07-20 2018-09-13 Tencent Technology (Shenzhen) Company Limited Content delivery network processing method, content delivery network, device, and storage medium
JP2019516150A (ja) 2016-02-24 2019-06-13 グーグル エルエルシー リソース制約のあるデバイスにおけるオフライン意味論処理の促進
US20190206388A1 (en) 2018-01-04 2019-07-04 Google Llc Learning offline voice commands based on usage of online voice commands
CN110277089A (zh) 2019-07-09 2019-09-24 广东美的制冷设备有限公司 离线语音识别模型的更新方法、家用电器和服务器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980038185A (ko) * 1996-11-25 1998-08-05 구자홍 자연언어 인터페이스 에이전트 및 그의 의미 분석방법
US20070276651A1 (en) 2006-05-23 2007-11-29 Motorola, Inc. Grammar adaptation through cooperative client and server based speech recognition
KR20160065671A (ko) * 2014-12-01 2016-06-09 삼성전자주식회사 응답을 출력하는 디바이스 및 방법
US10229683B2 (en) * 2017-03-10 2019-03-12 Soundhound, Inc. Speech-enabled system with domain disambiguation

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002527919A (ja) 1998-10-02 2002-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワーク調整された会話型サービスを提供するためのシステムおよび方法
JP2012094156A (ja) 2004-04-19 2012-05-17 Google Inc レンダリングされた文書からの視覚的取得データに対する処理技術
JP2009193440A (ja) 2008-02-15 2009-08-27 Nec Corp キャッシュシステム、サーバおよび端末
JP2011513795A (ja) 2008-03-07 2011-04-28 グーグル・インコーポレーテッド 文脈に基づく音声認識文法選択
US20180025722A1 (en) 2008-12-19 2018-01-25 Nuance Communications, Inc. System and method for enhancing speech recognition accuracy using weighted grammars based on user profile including demographic, account, time and date information
JP2019516150A (ja) 2016-02-24 2019-06-13 グーグル エルエルシー リソース制約のあるデバイスにおけるオフライン意味論処理の促進
US20180262351A1 (en) 2016-07-20 2018-09-13 Tencent Technology (Shenzhen) Company Limited Content delivery network processing method, content delivery network, device, and storage medium
CN108242235A (zh) 2016-12-23 2018-07-03 三星电子株式会社 电子设备及其语音识别方法
US20190206388A1 (en) 2018-01-04 2019-07-04 Google Llc Learning offline voice commands based on usage of online voice commands
CN110277089A (zh) 2019-07-09 2019-09-24 广东美的制冷设备有限公司 离线语音识别模型的更新方法、家用电器和服务器

Also Published As

Publication number Publication date
KR102593857B1 (ko) 2023-10-26
KR20210048429A (ko) 2021-05-03
CN112699670A (zh) 2021-04-23
JP2022020681A (ja) 2022-02-01
EP3812924A1 (en) 2021-04-28
JP2021068167A (ja) 2021-04-30
KR20230149795A (ko) 2023-10-27

Similar Documents

Publication Publication Date Title
WO2019101083A1 (zh) 一种语音数据处理方法、语音交互设备及存储介质
JP7044415B2 (ja) ホームアシスタント装置を制御するための方法及びシステム
JP6947852B2 (ja) 複数のコンピューティングデバイスを使用したインターホン式の通信
JP4171585B2 (ja) ネットワーク調整された会話型サービスを提供するためのシステムおよび方法
US9761241B2 (en) System and method for providing network coordinated conversational services
JP2019079034A (ja) 自己学習自然言語理解を伴うダイアログ・システム
US20090298529A1 (en) Audio HTML (aHTML): Audio Access to Web/Data
EP3491533A1 (en) Providing command bundle suggestions for an automated assistant
US12020696B2 (en) Automatic synchronization for an offline virtual assistant
JP2013529794A (ja) 車載音声認識システム及び車両外音声認識システム間の通信システム及び方法
CN111566728B (zh) 能够实现用户意图和机器服务之间的语义理解映射的对话***
US20060095259A1 (en) Method and system of enabling intelligent and lightweight speech to text transcription through distributed environment
US11043215B2 (en) Method and system for generating textual representation of user spoken utterance
CN110574104A (zh) 自动助理数据流
US11580962B2 (en) Alias-based access of entity information over voice-enabled digital assistants
US11568860B2 (en) System and method for federated, context-sensitive, acoustic model refinement
JP7029434B2 (ja) コンピュータによって実行される方法、サーバ装置、情報処理システム、プログラム、およびクライアント端末
US10529323B2 (en) Semantic processing method of robot and semantic processing device
JP6898064B2 (ja) 対話決定システム、対話決定方法、対話決定プログラム、及び端末装置
US20210264910A1 (en) User-driven content generation for virtual assistant
Huynh et al. Jarvis: A voice-based context-as-a-service mobile tool for a smart home environment
JP2021077268A (ja) 情報提示装置、情報提示方法
JP2024020889A (ja) 対話方法、サーバ装置、およびプログラム
TW202418855A (zh) 程式、方法、資訊處理裝置、系統

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191023

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210317

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211020

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

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20211020

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20211028

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

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20211102

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211221

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220218

R150 Certificate of patent or registration of utility model

Ref document number: 7029434

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150