IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 菱洋エレクトロ株式会社の特許一覧

特開2024-25126音声認識のためのシステム、端末、及びサーバ等
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024025126
(43)【公開日】2024-02-26
(54)【発明の名称】音声認識のためのシステム、端末、及びサーバ等
(51)【国際特許分類】
   G06F 3/16 20060101AFI20240216BHJP
   G10L 15/22 20060101ALI20240216BHJP
   G06F 3/01 20060101ALI20240216BHJP
【FI】
G06F3/16 650
G10L15/22 453
G06F3/01 510
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022128325
(22)【出願日】2022-08-10
(71)【出願人】
【識別番号】391021684
【氏名又は名称】菱洋エレクトロ株式会社
(74)【代理人】
【識別番号】110000523
【氏名又は名称】アクシス国際弁理士法人
(72)【発明者】
【氏名】越田 高広
(72)【発明者】
【氏名】菊田 敦
(72)【発明者】
【氏名】池田 彬
(72)【発明者】
【氏名】佐々木 潔
(72)【発明者】
【氏名】川上 憲一
(72)【発明者】
【氏名】星野 久徳
(72)【発明者】
【氏名】根本 美由樹
(72)【発明者】
【氏名】鈴木 健
【テーマコード(参考)】
5E555
【Fターム(参考)】
5E555AA46
5E555BA04
5E555BB04
5E555BC09
5E555BC12
5E555BD01
5E555CA47
5E555CB64
5E555CB74
5E555EA13
5E555EA19
5E555EA23
5E555FA00
(57)【要約】
【課題】多種多様な環境下においても、十分な速度で動作する音声認識システムを提供することを目的とする。
【解決手段】
音声認識のためのシステムであって、前記システムは、第1端末と、第2端末と、クラウドを備え、
ここで、前記第1端末と前記第2端末は、同一の端末として実装されてもよく、
前記第1端末は、音センサを少なくとも備え、前記音センサに基づく信号を前記第2端末に送信するように構成され、
前記第2端末は、
音声認識エンジン及び外部音声認識エンジンとのインターフェースのうち少なくとも1つと、
複数の第1テーブルと、
少なくとも1つの第2テーブルと、
を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
音声認識のためのシステムであって、前記システムは、第1端末と、第2端末と、クラウドを備え、
ここで、前記第1端末と前記第2端末は、同一の端末として実装されてもよく、
前記第1端末は、音センサを少なくとも備え、前記音センサに基づく信号を前記第2端末に送信するように構成され、
前記第2端末は、
音声認識エンジン及び外部音声認識エンジンとのインターフェースのうち少なくとも1つと、
複数の第1テーブルと、
少なくとも1つの第2テーブルと、
を備え、
前記第1テーブルは、前記音声認識エンジン及び前記外部音声認識エンジンのうちいずれか1つの出力に基づく動作を少なくとも定義したテーブルであり、
前記第2テーブルは、前記複数の第1テーブルのうちどのテーブルを採用するかをスイッチするためのテーブルであり、
前記クラウドは、前記第2端末に提供するための、第1テーブル、第2テーブルを備える、
システム。
【請求項2】
請求項1のシステムであって、前記第2端末は、前記音センサ又はそれ以外のセンサからの信号に基づいて、前記第2テーブルを参照し、参照結果に基づいて、前記複数の第1テーブルのうちどのテーブルを採用するかをスイッチする、システム。
【請求項3】
請求項1のシステムであって、前記第2端末は、方言、話題分野、時計、予定管理データ、性別、年齢のうち少なくとも1つに基づいて、前記第2テーブルを参照し、参照結果に基づいて、複数の第1テーブルのうちどのテーブルを採用するかをスイッチする、システム。
【請求項4】
請求項2のシステムであって、前記第2端末は、前記音センサ又はそれ以外のセンサからの信号に基づいて検出された環境音に基づいて、前記第2テーブルを参照し、参照結果に基づいて、複数の第1テーブルのうちどのテーブルを採用するかをスイッチする、システム。
【請求項5】
請求項1のシステムであって、前記第2端末は、差分管理モジュールを更に備え、前記差分管理モジュールは、前記第1テーブル、前記第2テーブルのうち少なくとも1つについて、前記クラウド内の該当するテーブルとの差分を管理し、当該差分をダウンロード可能なように構成される、システム。
【請求項6】
音声認識のための端末であって、
前記端末は、
音声認識エンジン及び外部音声認識エンジンとのインターフェースのうち少なくとも1つと、
複数の第1テーブルと、
少なくとも1つの第2テーブルと、
を備え、
前記第1テーブルは、前記音声認識エンジン及び前記外部音声認識エンジンのうちいずれか1つの出力に基づく動作を少なくとも定義したテーブルであり、
前記第2テーブルは、前記複数の第1テーブルのうちどのテーブルを採用するかをスイッチするためのテーブルであり、
前記端末は、クラウドと通信可能であり、
前記端末は、音センサを備える、又は、音センサを備える別の端末と通信可能である、
端末。
【請求項7】
音声認識のためのクラウドであって、
前記クラウドは、端末と通信可能に接続され、
前記端末は、
音声認識エンジン及び外部音声認識エンジンとのインターフェースのうち少なくとも1つと、
複数の第1テーブルと、
少なくとも1つの第2テーブルと、
を備え、
前記第1テーブルは、前記音声認識エンジン及び前記外部音声認識エンジンのうちいずれか1つの出力に基づく動作を少なくとも定義したテーブルであり、
前記第2テーブルは、前記複数の第1テーブルのうちどのテーブルを採用するかをスイッチするためのテーブルであり、
前記クラウドは、前記端末に提供するための、第1テーブル、第2テーブルを備える、
クラウド。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、音声認識のためのシステム、端末、及びサーバ等に関する。
【背景技術】
【0002】
近年、音声認識に関する技術が向上している。機器の制御においても、ボタン、レバー、キーボードなどの代わりに、音声による命令を機器が認識して、所望の動作を実行することができる。
【0003】
特許文献1では、作業者の音声を認識する音声認識部を備えたシステムが開示されている。当該システムでは、データテーブルを更に備える。当該データテーブルは、認識された音声等に紐付けられる要求を含む。そして、システムは、認識された音声等に対応する要求を、データテーブルに基づいて判別する要求判別手段を備える。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第6884911号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
音声認識を利用したシステムにおいて、テーブルを活用する仕組みは存在する。同一のユーザにおいてさえも、音声認識システムを使用する環境は多種多様となる可能性があり、それに応じてテーブルの内容を充実させる必要がある。しかし、テーブルが肥大化することは、動作のスピード、メンテナンスのスピードなどに影響が出る。
【0006】
そこで、本開示は、多種多様な環境下においても、十分な速度で動作する音声認識システムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するための発明は、一側面において、以下の発明を包含する。
【0008】
(発明1)
音声認識のためのシステムであって、前記システムは、第1端末と、第2端末と、クラウドを備え、
ここで、前記第1端末と前記第2端末は、同一の端末として実装されてもよく、
前記第1端末は、音センサを少なくとも備え、前記音センサに基づく信号を前記第2端末に送信するように構成され、
前記第2端末は、
音声認識エンジン及び外部音声認識エンジンとのインターフェースのうち少なくとも1つと、
複数の第1テーブルと、
少なくとも1つの第2テーブルと、
を備え、
前記第1テーブルは、前記音声認識エンジン及び前記外部音声認識エンジンのうちいずれか1つの出力に基づく動作を少なくとも定義したテーブルであり、
前記第2テーブルは、前記複数の第1テーブルのうちどのテーブルを採用するかをスイッチするためのテーブルであり、
前記クラウドは、前記第2端末に提供するための、第1テーブル、第2テーブルを備える、
システム。
【0009】
(発明2)
発明1のシステムであって、前記第2端末は、前記音センサ又はそれ以外のセンサからの信号に基づいて、前記第2テーブルを参照し、参照結果に基づいて、複数の第1テーブルのうちどのテーブルを採用するかをスイッチする、システム。
【0010】
(発明3)
発明1のシステムであって、前記第2端末は、方言、話題分野、時計、予定管理データ、性別、年齢のうち少なくとも1つに基づいて、前記第2テーブルを参照し、参照結果に基づいて、複数の第1テーブルのうちどのテーブルを採用するかをスイッチする、システム。
【0011】
(発明4)
発明2のシステムであって、前記第2端末は、前記音センサ又はそれ以外のセンサからの信号に基づいて検出された環境音に基づいて、前記第2テーブルを参照し、参照結果に基づいて、複数の第1テーブルのうちどのテーブルを採用するかをスイッチする、システム。
【0012】
(発明5)
発明1のシステムであって、前記第2端末は、差分管理モジュールを更に備え、前記差分管理モジュールは、前記第1テーブル、前記第2テーブルのうち少なくとも1つについて、前記クラウド内の該当するテーブルとの差分を管理し、当該差分をダウンロード可能なように構成される、システム。
【0013】
(発明6)
音声認識のための端末であって、
前記端末は、
音声認識エンジン及び外部音声認識エンジンとのインターフェースのうち少なくとも1つと、
複数の第1テーブルと、
少なくとも1つの第2テーブルと、
を備え、
前記第1テーブルは、前記音声認識エンジン及び前記外部音声認識エンジンのうちいずれか1つの出力に基づく動作を少なくとも定義したテーブルであり、
前記第2テーブルは、前記複数の第1テーブルのうちどのテーブルを採用するかをスイッチするためのテーブルであり、
前記端末は、クラウドと通信可能であり、
前記端末は、音センサを備える、又は、音センサを備える別の端末と通信可能である、
端末。
【0014】
(発明7)
音声認識のためのクラウドであって、
前記クラウドは、端末と通信可能に接続され、
前記端末は、
音声認識エンジン及び外部音声認識エンジンとのインターフェースのうち少なくとも1つと、
複数の第1テーブルと、
少なくとも1つの第2テーブルと、
を備え、
前記第1テーブルは、前記音声認識エンジン及び前記外部音声認識エンジンのうちいずれか1つの出力に基づく動作を少なくとも定義したテーブルであり、
前記第2テーブルは、前記複数の第1テーブルのうちどのテーブルを採用するかをスイッチするためのテーブルであり、
前記クラウドは、前記端末に提供するための、第1テーブル、第2テーブルを備える、
クラウド。
【発明の効果】
【0015】
一側面において、本開示のシステムでは、第1テーブルが複数存在し、当該テーブルは、音声認識エンジン及び外部音声認識エンジンのうちいずれか1つの出力に基づく動作を少なくとも定義したテーブルである。これにより、多種多様な環境に応じてテーブルの使い分けが可能となる。
【図面の簡単な説明】
【0016】
図1】一実施形態におけるシステムの構成を示す。
図2】一実施形態におけるシステムの構成を示す。
図3】一実施形態におけるシステムの構成を示す。
図4】一実施形態におけるシステムの構成を示す。
図5】一実施形態におけるシステムの構成を示す。
図6】一実施形態におけるクラウドサーバの構成を示す。
図7】一実施形態における第1端末の構成を示す。
図8】一実施形態における第2端末の構成を示す。
図9】一実施形態における音声認識のフローを示す。
図10】一実施形態における第2テーブルの構成を示す。
図11】一実施形態における第1テーブルの構成を示す。
図12】一実施形態における第1端末~第3端末の構成を示す。
図13】一実施形態における音声認識のフローを示す。
図14】一実施形態における実行コードを示す。
図15】一実施形態における音声認識のフローを示す。
図16】一実施形態における第1端末~第3端末の構成を示す。
図17】一実施形態における音声認識のフローを示す。
図18】一実施形態における第1端末~第2端末の構成及びサーバの構成を示す。
図19】一実施形態における音声認識のフローを示す。
図20】一実施形態における第2テーブルの構成、及び、スケジュールデータを示す。
図21】一実施形態における第2テーブルの構成を示す。
図22】一実施形態における音声認識の第2端末におけるバージョンアップ対象を示す。
図23】一実施形態における音声認識のデータ等の更新のフローを示す。
【発明を実施するための形態】
【0017】
以下、本発明を実施するための具体的な実施形態について説明する。以下の説明は、本発明の理解を促進するためのものである。即ち、本発明の範囲を限定することを意図するものではない。
【0018】
1.応用分野
一実施形態において、本開示のシステム等は、様々な産業分野で使用することができる。即ち、音声認識を活用する産業分野において利用することができる。例えば、本開示のシステムは、以下の産業分野で利用可能である:生産ライン、建物内の管理(例えば、デパート、空港など)、工事現場などでの音声通信、データ分析、異音検査、自然災害予知・検知、自然環境での調査活動、飲食店の注文受付等。
【0019】
2.定義
【0020】
2-1.「音声」「音声認識」
また、本明細書で述べる音声とは、肉声、物質音、及び両者の混合物を含む。したがって、「音声認識」は、狭義では、人間の肉声の認識を意味するが、広義では、ヒト以外の肉声の認識(例えば、動物の鳴き声)、及び、物質音(乗り物のエンジン音等)の認識も含む。また、音声データのファイル形式は特に限定されず、当分野で公知の形式であればよい(例えば、WAV、MP3等)。
【0021】
2-2.「クラウド」
特記しない限りは、本明細書における用語「クラウド」は、「クラウドサーバ」と相互置換可能に使用される。したがって、実態としては、物理的な情報処理装置又はそのクラスタ構成された集合体を指す。典型的には、「クラウド」は、PaaS又はそれ以上(SaaS)のサービスを提供することができる。
【0022】
2-3.「学習用データ」
学習用データは、学習済みモデルを生成するために必要となるデータである。例えば、学習用データは、ラベル付けがされてもよい(例えば、音声データに所定の情報がラベル付けされており、所定の情報には、認識すべきテキスト形式の言葉、フレーズの情報が含まれる)。
【0023】
2-4.「モジュール」
モジュールは、特記しない限りは、ハードウェアとして実装されてもよく、ソフトウェアとして実装されてもよく、或いはその組み合わせとして実装されてもよい。例えば、通信モジュールは、Ethnernet(登録商標)ボードによって実装されてもよい。また、本開示のいくつかの本実施形態において実行されるステップはプログラムによって実装されてもよい。
【0024】
3.システム構成
一実施形態において、本開示は、当該システムを構成する各要素に関する。当該システムを構成する要素は、クラウド(又はクラウドサーバ)、サーバ、端末、プログラム、及び、当該プログラムが記憶された非一時的記憶媒体を含む。また、別の一実施形態において、本開示は、これらのシステム、及び/又は、当該システムの構成要素を用いる方法に関する。
【0025】
3-1.システム構成(第1例)
一実施形態における、本開示のシステムの構成を、図1に示す。ネットワーク(例えば、インターネット)を通して、複数の第2端末が、クラウドサーバと接続されている。また、第2端末は、第1端末と接続されている。両者は、有線の接続規格(例えば、USB等)で接続されてもよい。あるいは、両者は、無線の接続規格(例えば、Wifi(登録商標)、Bluetooth(登録商標)等)で接続されてもよい。図1においては、クラウドサーバは一台のハードウェアとして表現されているが、複数台の物理的なハードウェアに分散されてもよい。第2端末については、複数台の端末として表現されているが、理論上は一台の端末であってもよい。ただし、クラウドサーバを利用する場合は、複数のユーザが共同利用するケースが多いため、典型的には、システムは、複数のエッジ端末を有する。
【0026】
3-2.システム構成(第2例)
別の一実施形態における、本開示のシステムの構成を、図2に示す。図1との違いは、第1端末に加えて、第3端末が、第2端末に、接続されている点である。例えば、第1端末が音声を感知するセンサ(例えば、マイク)を備え、第3端末は、別のセンサを備える。当該別のセンサは、第1端末の備えるセンサと同じ、音声を感知するセンサであってもよい。この場合には、第1端末のセンサとは別の音声を感知する目的で、第3端末のセンサが使用されてもよい。
【0027】
一方で、第3端末の備える別のセンサは、第1端末の備えるセンサとは異なる種類のセンサであってもよい。センサの具体例については、後述する。
【0028】
3-3.システム構成(第3例)
更に別の一実施形態における、本開示のシステムの構成を、図3に示す。図1に示すシステム構成では、第1端末と第2端末が1対1で対応している。一方で、図3に示すシステム構成では、第1端末と第2端末が1対Nで対応している。第1端末で取得した音声に応答して、複数の異なる処理を、複数の第2端末で実行する場合などにこうしたシステム構成を活用することができる。
【0029】
3-4.システム構成(第4例)
更に別の一実施形態における、本開示のシステムの構成を、図4に示す。図1に示すシステム構成では、第1端末と第2端末が1対1で対応している。一方で、図4に示すシステム構成では、第1端末と第2端末がN対1で対応している。第1端末をウェアラブル端末として複数の人々が各々の第1端末を利用する場合、尚且つ、第2端末を共同利用する場合に、こうしたシステム構成を活用することができる。
【0030】
3-5.システム構成(第5例)
更に別の一実施形態における、本開示のシステムの構成を、図5に示す。図1に示すシステム構成では、第1端末と第2端末が、物理的に別々の装置として存在している。一方で、図5に示すシステム構成では、第1端末と第2端末が同一の装置内に存在している。第2端末の物理的な大きさを小さくすることで、第1端末と第2端末とを一体化することができる。そして、ウェアラブル端末として第1端末と第2端末とを実装することができる。
【0031】
本開示の目的の達成を阻害しない限りは、システム構成は、上記第1例~第5例以外のシステム構成であってもよい。例えば、上記の例には明示していない、別の構成要素(例えば、サーバ)を、システムが更に備えてもよい。サーバは、各第1端末のユーザが専属的に使用するためのオンプレミスサーバであってもよく、或いは、クラウドサーバであってもよい。例えば、サーバは、認識した音声に含まれる命令に基づいて所望の動作を実施してもよい。
【0032】
4.クラウドの構成
クラウドは、第2端末と通信可能に接続され、図6に示すように、第2端末の所望の動作に必要なデータ、アプリケーション等を提供する機能を有する。データは、テーブル形式のデータを含む。アプリケーションは、音声認識エンジン(例えば、音声認識エンジンの学習済みモデル)を含む。
【0033】
好ましい実施形態においては、クラウドは、音声認識APIを備えてもよい。当該音声認識APIは、第2端末から送信された音声信号を受信し、テキスト変換した音声情報を送信することができる。
【0034】
クラウドは、配信モジュールを備えてもよい。配信モジュールは、第2端末の所望の動作に必要なデータ、アプリケーション等を提供する機能を有する。配信対象は、以下のものが含まれるがこれらに限定されない:音声認識エンジン(学習済みモデル)、第1テーブル、第2テーブル、第3テーブル、アプリケーション、差分管理モジュール、切替実行モジュール、その他のデータ、その他のアプリケーション。
【0035】
5.第1端末の構成
第1端末は、音声認識システムにおいて、音声を感知するための役割を担う。この目的を達成するため、図7に示すように、第1端末は、第1センサを少なくとも備え、当該第1センサは、音センサである。音センサは、特に限定されないが、典型的にはマイクである。また、第1端末は、音声信号処理(特に肉声信号に対する処理)のためのモジュールを備えてもよい(例えば、ディスクリート部品又はICによるフィルタ(ハイパス、ローパス、バンドパス)、DSPなど)。
【0036】
第1端末は、第1センサのほかに第2センサを備えてもよい。第2センサは、第1センサと同様音センサであってもよい。あるいは、第2センサは、音センサ以外のセンサであってもよい。
【0037】
音センサ以外のセンサの例として、例えば、以下が含まれる:人感センサ(例えば、ヒトの立ち入りを検出)、超音波センサ(例えば、対象物までの距離間異常を検出)、圧力センサ(例えば、容器等密閉空間内の圧力の異常な上昇などを検知)、電流及び/又は電圧センサ(例えば、装置の稼働状況を監視)、エンコーダ(例えば、ロータリエンコーダ、リニアエンコーダ、例えば、ロボットアームの関節部の角度異常の検出)、水分量センサ、ガスセンサ(例えば、O2/CO2センサ、臭気等)、光センサ(カメラ、赤外線センサ、照度センサ等も含む。例えば、熱、温度に関する異常を検出、暗室など光厳禁のエリアでの光漏れを検出、或いは、カメラなどでの異常物体の存在の認識)、湿度センサ、温度センサ、気圧センサ、ジャイロセンサ(例えば、建物や地面の傾きなどを検知)、磁気センサ、加速度センサ(例えば、地震や振動などの検知)等。
【0038】
一実施形態において、第1端末は、特定の固定された場所に設置された端末であってもよく、或いは、モバイル端末であってもよい。モバイル端末とは、携行可能な端末である。モバイル端末の例として、ウェアラブル端末、スマートフォン、タブレット端末、ラップトップパソコン、ノートパソコン等が挙げられる。
【0039】
更なる一実施形態において、第1端末は、ウェアラブル端末であってもよい。例えば、ウェアラブル端末は、人体の頭部、手首等に装着可能な端末(例えば、ヘッドセット、リストバンド(例えば、スマートウォッチ等))であってもよい。
【0040】
6.第2端末の構成
第2端末は、第1端末の音センサが感知した信号又はこれに基づく信号を受信し、テキスト変換する役割を担う。そのため、第2端末は、図8に示すように、音声認識エンジン(例えば、音声認識用の学習済みモデル)を備える。あるいは、又は、これに加えて、第2端末は、外部音声認識エンジンとのインターフェースを備えてもよい。この場合の外部音声認識エンジンは、クラウドに存在してもよい。そして、第2端末で受信した音声信号を、クラウドに送信し、クラウド側でテキスト変換した情報を、第2端末が受信してもよい。そして、第2端末とクラウドとの間での情報の送受信を、第2端末のインターフェースが担ってもよい。同様の目的で、クラウドも音声認識のAPIを備えてもよい。
【0041】
また、第2端末は、音声認識システムにおいて、音声認識によってテキスト変換された情報に基づいて所望の動作を行う役割を担う。こうした目的から、第2端末は、複数の第1テーブル、少なくとも1つの第2テーブルを少なくとも備える。第1テーブルは、音声認識エンジンの出力に基づく動作を少なくとも定義したテーブルである。一例として、第1テーブルは、認識したテキスト(又はこれに対応するコード情報)と、実行する動作との対応関係を定義する。これにより、音声認識に基づく所望の動作を実行することができる。また、第1テーブルを複数備える理由は、同じ認識内容であっても、状況に応じて異なる動作を実行することを可能にするためである。この場合、複数存在する第1テーブルのうち、どれを採用するかを判断する必要がある。こうした目的から、第2テーブルは、当該判断を行うための条件を定義する。一例として、第2テーブルは、切り替え条件と、採用する第1テーブルとの対応関係を定義する。
【0042】
好ましくは、第2端末は、第1テーブルに記載された実行内容に基づく所望の動作を実行するための種々のアプリケーションを備えてもよい。また、第2端末は、切り替え実行モジュールを備えてもよい。当該モジュールは、第2テーブルを参照し、複数の第1テーブルのうちどのテーブルを採用するかの判断を行うことができ、そして、必要に応じて、実行コード等を動的に変更することができる。
【0043】
また、第2端末は、第2センサを備えてもよい。センサの具体例は上述の通りである。第2センサからの情報は、複数の第1テーブルのうちどのテーブルを採用するかの判断に利用することができる。
【0044】
また、第2端末は、第3テーブルを備えてもよい。第3テーブルは、種々のパラメータを定義するために使用することができる。種々のパラメータは、例えば、以下に関連してもよい:音声認識処理、音声認識処理前に実行される信号の前処理、音声認識処理後に実行される実行内容。
【0045】
また、第2端末は、差分管理モジュールを備えてもよい。差分管理モジュールは、クラウドから、上述したテーブル、アプリケーション、モジュールなどを取得することに寄与する。取得する際に、差分管理モジュールは、ローカルに保存されている内容と、クラウド上に保存されている内容との差分を管理することができる。そして、差分管理モジュールは、当該差分のみをダウンロードするようにアップデートを実行することができる。
【0046】
以降では、上述した端末を用いた音声認識処理のフローについて説明する。
【0047】
7.処理の流れ(その1 音声入力から動作の実行まで)
音声入力から動作の実行までのフローを以下説明する。上述した第1端末、及び、第2端末において以下のステップが実行される(図9)。
・話者による発話を、第1端末の音センサが感知する。
・第1端末が感知した信号を第2端末に送信する。
・第2端末の音声認識エンジンが、感知した信号又はこれに基づく信号を、入力として受信する。
・第2端末の音声認識エンジンが、処理結果を出力する。
・第2テーブルに応じて、複数の第1テーブルのうちどのテーブルを採用するかを決定する。
・音声認識の出力結果に基づいて、実行すべき動作を第1テーブルから抽出する。
・アプリケーションが動作を実行する。
【0048】
飲食店で飲み物を注文する状況を例に挙げて、上記の各ステップを説明する。
【0049】
話者は、自身が飲みたい飲み物を音声で注文する(例えば、「ウーロンハイください」と発声する)。第1端末は、テーブルに搭載されており、そして、音センサを通して話者の注文を感知する。そして、第1端末は、感知した音声信号を第2端末に送信する。第2端末は、第1端末と同様テーブルに搭載されてもよい。あるいは、店内の厨房、事務所などのバックヤードに搭載されてもよい。そして、第1端末と第2端末は無線通信などで接続されてもよい。
【0050】
第2端末は、受信した音声信号を音声認識エンジンに入力する。このときに、必要に応じて音声信号を適宜処理してもよい。或いは、第1端末から第2端末へ送信する前に、第1端末側で、必要に応じて音声信号を適宜処理してもよい。例えば、特定の周波数をカットしてもよい。あるいは、ノイズキャンセリングの処理を行ってもよい。
【0051】
音声認識エンジンは、受信した音声信号を処理して、所望の情報を出力してもよい。所望の情報は、少なくとも音声信号をテキスト変換した情報を含む(上記の例でいえば、「う/ー/ろ/ん/は/い/く/だ/さ/い」)。また、これに加えて、音声認識エンジンは、認識した音声の信頼度の情報を出力してもよい。信頼度の情報は、例えば、0~1の範囲で出力してもよい。当該表現形式の場合、例えば、1に近いほど信頼度が高いことを意味する。
【0052】
また、これに加えて、音声認識エンジンは、認識した単語に該当するコード情報を出力してもよい。
【0053】
音声認識エンジンは、特に限定されず、当分野で公知の音声認識エンジンを採用することができる。例えば、第2端末内で実装可能な音声認識エンジンとしては、Julius等が挙げられる。また、クラウドと接続することで、利用可能な音声認識エンジンとしては、Google Cloud PlatformのSpeech-to-Text API、MicrosoftのSpeech Services、IBMのWatson Speech to Text、アドバンスト・メディアのAmiVoiceなどが挙げられる。
【0054】
Juliusの場合には、Julius単独では動作しないので、いくつかの補助データを併用する。例えば、音響モデル(例えば、GMM-HMM 音響モデル、DNN-HMM 音響モデルなど)、単語辞書、及び、言語モデル(例えば、単語N-gram)が必要となる。
【0055】
上記のような音声認識エンジンを通して、種々の出力が得られる。
【0056】
音声認識エンジンからの出力を得た後は、第2テーブルに応じて、複数の第1テーブルのうちどのテーブルを採用するかを決定する。例えば、飲食店が、ランチ営業か、夕方以降の居酒屋営業かに応じて、注文を変える場合、第2テーブルでは図10のようにデータを定義することができる。時間帯に応じて、ランチ営業と居酒屋営業の2種類のモードに切り替える。そして、これに応じて、実行する内容を定義した第1テーブルを切り替えることができる。例えば、ランチ営業の場合には、No.1の第1テーブルを採用し、居酒屋営業の場合には、No.2の第1テーブルを採用することができる(図11参照)。
【0057】
No.1の第1テーブルを採用した場合、「ウーロンハイください」に対する動作としては、「ランチ営業ではアルコールは提供できません」という返答を実行することができる。一方で、ランチ営業でも販売対象の飲み物が注文された場合(例えば、「ウーロン茶ください」という発声の場合)には、「かしこまりました」という返答を実行することができる。さらには、注文を受け付ける別のサーバ、端末等へ、品物(必要に応じて数量や、オプション情報等)の情報を送信することができる。
【0058】
一方で、No.2の第1テーブルを採用した場合、「ウーロンハイください」に対する動作としては、販売対象の飲み物が注文された場合と同様の動作が実行される。
【0059】
従って、音声認識エンジンによる出力結果が同じであっても、状況に応じて動作を切り替えることが可能となる。
【0060】
上記の例では、時刻を元に第1テーブルを切り替える例について説明した。次の項では、別のトリガーに基づいて第1テーブルを切り替える例について説明する。また、切り替える方法の具体例についても説明する。
【0061】
8.処理の流れ(その2 第1テーブルの切り替え)
図12に示すように、第2端末には、第1端末と第3端末が通信可能に接続されている。第1端末には音センサが搭載されており、第3端末には第2センサが搭載されている。なお、第1端末と第3端末が一体化されて1つの装置を形成してもよい。
【0062】
第2端末は、第1端末のセンサからの情報と、第3端末のセンサからの情報とを受信する。そして、それぞれの情報を、音声認識エンジンと環境認識エンジンとに入力することができる。
【0063】
音声入力から動作の実行までのフローとして、以下のステップが実行される(図13)。
・話者による発話を、第1端末の音センサが感知する。
・第1端末が感知した信号を第2端末に送信する。
・第2端末の音声認識エンジンが、感知した信号又はこれに基づく信号を、入力として受信する。
・第2端末の音声認識エンジンが、処理結果を出力する(第1出力)。
・環境情報を、第3端末の第2センサが感知する。
・第3端末が感知した信号を第2端末に送信する。
・第2端末の環境認識エンジンが、感知した信号又はこれに基づく信号を、入力として受信する。
・第2端末の環境認識エンジンが、処理結果を出力する(第2出力)。
・第2端末の切り替え実行モジュールが、出力に基づいて、どの第1テーブルを採用すべきかを判断し、コード内のインデックス値、パラメータ等を書き換える。
・コードを参照して実行し、実行すべき動作を第1テーブルから抽出する。
・アプリケーションが動作を実行する。
【0064】
発話を感知してから、音声認識エンジンが出力するまでの流れは、前項と同様である。これとは独立して且つ並行して、第3端末の第2センサは環境を感知することができる。その後、第3端末から第2端末へ、環境のセンサの情報が送信され、環境認識エンジンへ入力される。そして、環境認識エンジンは環境に関する情報を出力する。切り替え実行モジュールは、実行コード内のインデックス値、パラメータ等を動的に書き換える。そして、書き換え後のコードが実行され、これにより、実行すべき動作を第1テーブルから抽出する。そして、抽出された情報に基づきアプリケーションが実行される。
【0065】
ここで、例えば、スマートハウスなどで、ヒトが「窓を開けて」と発声した場合、第1端末のマイクは、ヒトの肉声を取得し、同時に第3端末のセンサは、環境音を取得する。その後、肉声と環境音を含む音声信号はデジタル化され、その後、環境音データと肉声データとして、それぞれ、音声認識エンジン、環境認識エンジンに入力される。音声認識エンジンでは、「ま/ど/を/あ/け/て」というフレーズである旨の出力判定を行う。一方の環境認識エンジンでは、例えば、戸外の雨の音、強風の音などを検出し、「外では雨が降っている」「強風が吹いている」などの判定を行う。
【0066】
第2テーブルでは、「外では雨が降っている」場合、「強風が吹いている」場合、それ以外の場合に、それぞれどの番号の第1テーブルを使用するかが定義されている。切り替え実行モジュールが、「外では雨が降っている」場合には、No.3の第1テーブルを採用すべきとした場合、図14に示すコードにおいて、「E=1」と記載されているところを、「E=3」に変更する。
【0067】
以降では、「外では雨が降っている」場合に対応した第1テーブルが採用される。
【0068】
そして、「ま/ど/を/あ/け/て」というフレーズに対応して、No.3の第1テーブルでは、「外では雨が降っているかもしれませんが窓を開けても大丈夫でしょうか?」という返答を行う動作が定義されている。
【0069】
一方で、「外は晴れていて風も穏やかである」場合に対応した第1テーブルでは、「ま/ど/を/あ/け/て」というフレーズに対応して、「かしこまりました。窓を開けます」という音声を出力すること、及び、話者のいる部屋の窓を開けるという動作が定義されている。
【0070】
このように、同じ「ま/ど/を/あ/け/て」というフレーズであっても、実行されるコード内のインデックス値、パラメータ等を動的に書き換えることで、環境に応じて異なる動作に切り替えることができる。また、こうした動作を可能にするためには、切り替え実行モジュールは、どのように書き換えればよいかを判断できる必要がある。この目的で、第2テーブルでは、認識される環境と、参照すべき第1テーブルの番号との対応関係が定義される。そして、切り替え実行モジュールは、環境認識エンジンの出力に基づいて、第2テーブルを参照し、これにより、採用すべき第1テーブルの番号を取得することができる。
【0071】
コード内のインデックス値、パラメータ等を書き換えるためのフローの実行タイミングは、任意のタイミングでよい。即ち、話者の発話を感知するタイミングとは全く独立して且つ並行して行うことができる。したがって、コードを書き換えるためのフローは、定期的な間隔をあけて自動実行されてもよい(例えば、24時間ごと、12時間ごと、1時間ごと、30分ごと、1分ごと、30秒ごと、10秒ごとなど)。或いは、コードを書き換えるためのフローは、バックグラウンドレベル以上の環境刺激を感知した場合に自動実行されてもよい。例えば、静かな環境音(〇〇dB以下)から、一定以上の大きさの音(例えば、雨の降る音、風の吹く音、〇〇dB以上)を感知したときに、コードを書き換えるためのフローは実行されてもよい。
【0072】
このように、第1テーブルの切り替えのトリガーは、環境情報に依存してもよい。また、切り替え方法は、上記のようにコード内のインデックス値、パラメータ等を動的に書き換える方法によってもよい。変形例としては、コード内のインデックス値、パラメータ等を動的に書き換える代わりに、設定ファイル、又は、パラメータを定義したテーブル内の値を動的に書き換えることによって、第1テーブルの切り替えをおこなってもよい。
【0073】
次の項では、上記のようにコードを動的に書き換え以外の方法について説明する。
【0074】
9.処理の流れ(その3 第1テーブルの切り替え、その都度参照)
音声入力から動作の実行までのフローとして、以下のステップが実行される(図15)。
・話者による発話を、第1端末の音センサが感知する。
・第1端末が感知した信号を第2端末に送信する。
・第2端末の音声認識エンジンが、感知した信号又はこれに基づく信号を、入力として受信する。
・第2端末の音声認識エンジンが、処理結果を出力する(第1出力)。
・環境情報を、第3端末の第2センサが感知する。
・第3端末が感知した信号を第2端末に送信する。
・第2端末の環境認識エンジンが、感知した信号又はこれに基づく信号を、入力として受信する。
・第2端末の環境認識エンジンが、処理結果を出力する(第2出力)。
・第2端末の切り替え実行モジュールが、第2出力に基づいて第2テーブルに対するクエリを実行し、どの第1テーブルを採用すべきかの情報を取得する。
・取得した情報に基づき第1テーブルを選択し、第1出力に基づいて当該第1テーブルに対するクエリを実行し、実行すべき動作に関する内容の定義を抽出する。
・アプリケーションが動作を実行する。
【0075】
前項との違いは、話者の発話を認識するたびに、環境認識に関するフローも実行される点にある。これにより、瞬間的に環境が変わる場合にも対応することができる。
【0076】
好ましい実施形態において、第2テーブルは、採用すべき第1テーブルの定義だけでなく、例えば、音声認識に使用するエンジンを特定するための情報を定義してもよい。上述したように、第2テーブルに対して、環境認識エンジンの出力に基づくクエリを発行することができる。したがって、当該テーブルに対して、環境に応じて採用すべき音声認識エンジンを切り替えることができる。例えば、汎用性の高い音声認識エンジンだけでなく、工事などの騒音に強い音声認識エンジン、人々の話し声を含むバックグラウンドノイズに強い音声認識エンジンなどに適宜切り替えることができる。この場合には、環境認識に対するフローが先に実行され、採用すべき音声認識エンジンを切り替えた後で、音声認識のフローが実行される。
【0077】
また、切り替え対象は、音声認識に付随するデータも含まれてもよい。例えば、音声認識エンジンで使用する辞書ファイルを複数使い分けることで、状況からあり得ない単語などを排除することができ、単語認識に対する信頼度が分散しにくくなる。逆にいえば、あらゆる状況に対応するために1つの辞書ファイルに多くの単語を入れ込むと、その分認識候補の単語の数も増えて信頼度が下がりやすくなる。
【0078】
このように、テーブル、データ等を分散させることで、音声認識の性能の向上に寄与することができる。
【0079】
次項では、センサ以外の情報をトリガーとして第1テーブルを切り替える例について説明する。
【0080】
10.処理の流れ(その4 第1テーブルの切り替え、センサ以外による切り替え1)
図16は、第1端末~第3端末の構成を示す。図12に示す構成と類似するが、第3端末のセンサが音センサであり、第2端末が備えるエンジンが、音声認識エンジンと、特徴認識エンジンである。特徴認識エンジンは、話者の特徴、及び/又は、話者が発話している話題について認識することができる。話者の特徴の例としては、性別、年齢、方言等が挙げられる。
【0081】
音声入力から動作の実行までのフローとして、以下のステップが実行される(図17)。
・話者による発話を、第1端末の音センサが感知する。
・第1端末が感知した信号を第2端末に送信する。
・第2端末の音声認識エンジンが、感知した信号又はこれに基づく信号を、入力として受信する。
・第2端末の音声認識エンジンが、処理結果を出力する(第1出力)。
・話者による発話を、第3端末の第2センサが感知する。
・第3端末が感知した信号を第2端末に送信する。
・第2端末の特徴認識エンジンが、感知した信号又はこれに基づく信号を、入力として受信する。
・第2端末の特徴認識エンジンが、処理結果を出力する(第2出力)。
・第2端末の切り替え実行モジュールが、第2出力に基づいて第2テーブルに対するクエリを実行し、どの第1テーブルを採用すべきかの情報を取得する。
・取得した情報に基づき第1テーブルを選択し、第1出力に基づいて当該第1テーブルに対するクエリを実行し、実行すべき動作に関する内容の定義を抽出する。
・アプリケーションが動作を実行する。
【0082】
図15に示すフローと類似するが、大きく異なる点としては、方言、話題分野、性別、年齢、言語のうち少なくとも1つに応じて、採用すべき第1テーブルを切り替える点が挙げられる。
【0083】
例えば、同じように捨てるという動作を実行させるとしても、「捨てて」という発話もあり得るし、地域によっては「ほかしといて」という発話もあり得る。
【0084】
別の例では、食事の注文に関する音声認識では、性別、年齢に応じて食べる量が異なる可能性があり、同じ動作でも、食べ物の量を調節することが可能となる。また、幼児は、犬を「ワンワン」と言ったり、車を「ブーブー」と言ったり、その年齢特有の用語を使用することがある。
【0085】
別の例では、同じ命令ワードでも、話題分野によって行う動作が異なる可能性があり、例えば、「ウイルスを除去して」という命令は、コンピュータ分野と生物・医学分野では、全く異なる動作を意味する。両方をとりあつかう可能性のある病院、医学研究所では、その時々の話題に応じて、動作の切り替えが必要となる。
【0086】
従って、特徴認識エンジンの出力に基づいて、第1テーブルを切り替えることは、より適切な動作を実行するうえで有用となる。
【0087】
次項では、センサ以外の情報をトリガーとして第1テーブルを切り替える例について説明する。
【0088】
11.処理の流れ(その5 第1テーブルの切り替え、センサ以外による切り替え2)
図18は、第1端末~第2端末及びサーバの構成を示す。サーバは、種々のスケジュールデータが記憶されたデータベースを備える。第1端末と第2端末の構成は上記と同様であるが、第2端末が、スケジュール取得モジュールを備える点で異なる。スケジュール取得モジュールは、サーバのスケジュールデータにアクセス可能であり、データを取得することができる。
【0089】
音声入力から動作の実行までのフローとして、以下のステップが実行される(図19)。
・話者による発話を、第1端末の音センサが感知する。
・第1端末が感知した信号を第2端末に送信する。
・第2端末の音声認識エンジンが、感知した信号又はこれに基づく信号を、入力として受信する。
・第2端末の音声認識エンジンが、処理結果を出力する(第1出力)。
・第2端末のスケジュール取得モジュールがスケジュールデータにアクセスする。
・第2端末のスケジュール取得モジュールが現在時刻を取得する。
・第2端末のスケジュール取得モジュールが現在採用されている第1テーブルの識別情報を取得する。
・第2端末の切り替え実行モジュールが、第1テーブルの切り替えの必要性を判断する。
・必要な場合には、第2端末の切り替え実行モジュールが、第2テーブルに対するクエリを実行し、どの第1テーブルを採用すべきかの情報を取得する。
・取得した情報に基づき第1テーブルを選択し、第1出力に基づいて当該第1テーブルに対するクエリを実行し、実行すべき動作に関する内容の定義を抽出する。
・アプリケーションが動作を実行する。
【0090】
図10に示す例では、ランチ営業と居酒屋営業の時間が固定されている前提になっていた。しかし、場合によっては、採用する可能性のある第1テーブルが複数あり、それが、日々のスケジュールの中で変わる可能性がある。そこで、スケジュールデータなどにアクセスし、当該データに基づいて、尚且つ、今現在の時刻において、ランチ営業と居酒屋営業のいずれのモードにすべきかを、スケジュール取得モジュールが判断することができる。
【0091】
そして、現在の営業モードが適切なモードになっているかどうか、すなわち、第1テーブルの切り替えが必要かどうかを、スケジュール取得モジュールが判断することができる。切り替えが必要と判断した場合には、スケジュールデータから取得した営業モードの情報に基づき、スケジュール取得モジュールが、採用すべき第1テーブルを選択することができる。
【0092】
この場合、第2テーブルは、図10に示す場合とは異なり、時刻の情報は不要となる。即ち、図20の上のテーブルにあるように、モードと実行テーブル番号との対応のみでよく、具体的な開始時刻終了時刻は、スケジュールデータから取得することができる(図20の下のテーブル)。
【0093】
12.処理の流れ(その6 第1テーブルの切り替え、発話されるキーワードの出現頻度に基づく切り替え)
別の実施形態では、音声認識エンジンによって検出されたワードをトリガーとして第1テーブルの切り替えも可能である。例えば、図21に示すように、所定のキーワードと当該キーワードの出現回数の下限値に基づいて、第1テーブルを切り替えるように構成されてもよい。例えば、図21のテーブルに示す例では、第1テーブルの切り替えは、「かんぱい」というキーワードが5回以上出現した場合に、居酒屋モードに切り替えるため、No.2のテーブルを採用するように構成される。
【0094】
例えば、第2テーブルは、図21に示すように、音声認識エンジンが検出したキーワードと、出現回数の下限値とを定義してもよい。そして、切り替え実行モジュールは、第2テーブルに定義されたキーワードが、所定の出現回数以上検出された場合には、指定の第1テーブルに切り替えることができる。例えば、図21の例では、「かんぱい」というキーワードが5回以上検出された場合には、切り替え実行モジュールは、第1テーブルを、No.2のテーブルに切り替えることができる。
【0095】
所定のキーワードが出現した場合という単純な条件だと、居酒屋以外の会話のなかで「かんぱい」という言葉が出てきたときに、切り替えが起こってしまう可能性がある。しかし、出現回数の条件を組み合わせることで、このような意図しない切り替えが起こることを回避できる可能性が高くなる。
【0096】
更に好ましい実施形態においては、キーワード、キーワードの出現回数、及び、環境条件という少なくとも3つの条件の組み合わせを用いて、第1テーブルの切り替えを行ってもよい。環境条件とは、例えば、第3センサなどによって検出された話者の周囲環境である。
【0097】
13.処理の流れ(その7 差分アップデート)
上述したように第2端末は様々なデータ及びモジュールを備えることができる。そして、クラウドは、データ及びモジュールをバージョンアップさせることができる。例えば、クラウドと、第2端末は、それぞれ差分管理モジュールを更に備えてもよい。
【0098】
差分管理モジュールは、第1テーブル、第2テーブルのうち少なくとも1つについて、クラウド内の該当するテーブルとの差分を管理する。そして、差分管理モジュールは、差分をダウンロード可能なように構成される。
【0099】
また、差分管理モジュールは、第1テーブル、第2テーブル以外に他のデータ及びモジュールについても管理してもよい。例えば、図22に示すように、更に、第3テーブル、音声認識エンジン(辞書データなども含んでもよい)、アプリケーションなども差分管理対象としてもよい。
【0100】
差分のアップデートのフローとして、以下のステップが実行される(図23)。
・クラウドに保存されているテーブル、データ、アプリケーション、音声認識エンジン等のうち少なくとも1つがバージョンアップされる。
・クラウドの差分管理モジュールが、バージョンアップ前後の差分を記憶する。
・クラウドの差分管理モジュールが、第2端末にバージョンアップを通知する。
・第2端末の差分管理モジュールが、クラウドに、バージョンアップしたテーブル、データ、アプリケーション、音声認識エンジン等のうち少なくとも1つをリクエストする。
・クラウドの差分管理モジュールが、差分としてのデータ、アプリケーション、音声認識エンジン等のうち少なくとも1つを、第2端末に送信する。
・第2端末の差分管理モジュールが、差分としてのデータ、アプリケーション、音声認識エンジン等のうち少なくとも1つを受信し、更新作業を実行する。
【0101】
差分によるアップデートのタイミングは、特に限定されない。例えば、第2端末が全く使用されない時間帯(例えば、深夜など)に自動的に実行されてもよい。あるいは、音声認識の正解率が一定以下になった時(例えば、うまく音声認識されず、言い直す頻度が一定数を超えた場合)に実行されてもよい。
【0102】
テーブル、プログラム等を全体的にバージョンアップする場合、通信のパケット量が多くなり、バージョンアップに時間がかかることになる。しかし、差分によるアップデートにすることで時間の節約が可能となる。
【0103】
以上、発明の具体的な実施形態について説明してきた。上記実施形態は、具体例に過ぎず、本発明は上記実施形態に限定されない。例えば、上述の実施形態の1つに開示された技術的特徴は、他の実施形態に適用することができる。また、特記しない限り、特定の方法については、一部の工程を他の工程の順序と入れ替えることも可能であり、特定の2つの工程の間に更なる工程を追加してもよい。本発明の範囲は、特許請求の範囲によって規定される。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23