以下、図面と共に本発明に係る音声認識結果比較システムの実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
図1に本実施形態に係る音声認識結果比較システムである端末10を示す。端末10は、ユーザによって使用される装置であり、例えば、タブレット又はスマートフォン等に相当する。端末10は、ユーザに語学学習の機能、特に、以下のような発話の学習の機能を提供する。端末10は、まず、ユーザが発話すべきテキストである正解文テキストの出力を行う。例えば、端末10は、当該正解文テキストの表示又は音声出力を行う。ユーザは、当該正解文テキストを発話する。端末10は、ユーザの発話を入力して、正解文テキストとユーザの発話とを比較して、正解文テキストに対してどの程度ユーザが正しく発話していたかを評価して、評価結果を出力する。ユーザは、この機能を用いることで発話の練習を行うことができる。本実施形態では、対象とする言語は英語であるものとする。即ち、正解文テキストは英語のテキストであり、ユーザの発話に対して、英語の音声認識が行われる。但し、対象とする言語は、英語以外の言語、例えば、スペイン語であってもよい。
評価結果の例を図2に示す。ユーザに提示される評価結果としては、発話判定結果及び音声認識結果である。発話判定結果は、正解文テキストのうち、ユーザの発話に対応する単語が含まれるとされた単語列である。発話判定結果は、単語毎に、ユーザの発話に対応する単語との類似度に応じて色分けして表示してもよい。例えば、正解文テキストの単語と、ユーザの発話の単語との類似度が、0.90~1.00であったら、それらの単語が一致していることを示す緑色の文字で表示する。当該類似度が、0.40~0.89であったら、おしいことを示す橙色の文字で表示する。当該類似度が、0.00~0.39であったら、それらの単語が不一致であることを示す赤色の文字で表示する。但し、類似度の範囲、及び文字の表示色については、必ずしも上記のものに限られない。発話判定結果の下に示される除外文字率は、ユーザの発話から、正解文テキストに対応しないとして除外された単語の、ユーザの発話に含まれる全単語に対する割合である。
音声認識結果は、ユーザの発話による音声認識テキストのうち、正解文テキストの単語に対応するとされた単語列である。音声認識結果の下に示される除外文字率は、上記の除外文字率と同様である。音声認識結果の下に示される類似度は、発話判定結果と、音声認識結果との類似度である。
引き続いて、端末10の機能を説明する。図1に示すように、端末10は、比較対象取得部11と、音声認識結果取得部12と、一致判断部13と、出力部14とを備えて構成される。なお、端末10は、上記の機能以外にも、上述した語学学習の機能も有している。また、端末10は、本実施形態に係る機能以外にも、タブレット又はスマートフォン等が通常備える機能を備えていてもよい。
比較対象取得部11は、比較対象のテキストであると共に単語毎に区切られた比較対象テキストを取得する機能部である。比較対象テキストは、上述した正解文テキストである。比較対象取得部11は、語学学習の機能に用いるものとして予め端末10に記憶されている正解文テキストを読み出して取得する。取得される正解文テキストは、語学学習の機能によりユーザに提示され、ユーザの発話対象となる。
正解文テキストは、予め単語毎に区切られた(分解された)ものであってもよい。例えば、スペースによって単語が区切られたものであってもよい。正解文テキストが、単語毎に区切られたものでない場合には、比較対象取得部11は、取得した正解文テキストを、単語毎に区切ることとしてもよい。単語毎の区切りは、従来の方法によって行われる。また、正解文テキストに、比較に用いる際に適切でない文字及び記号等(例えば、¥、改行、?、!、-、‘.(ピリオド)’、‘,(コンマ)’)が含まれている場合には、比較対象取得部11は、これらの記号をスペースに置き換える、即ち、正解文テキストのパースを行うこととしてもよい。比較対象取得部11は、取得した正解文テキストを一致判断部13に出力する。
音声認識結果取得部12は、ユーザの発話の音声認識の結果のテキストであると共に単語毎に区切られた音声認識結果テキストを取得する機能部である。音声認識結果取得部12は、端末10が備えるマイク等によって、ユーザの発話、即ち、ユーザの音声を入力する。上述したように、このユーザの発話は、正解文テキストが読み上げられたものである。音声認識結果取得部12は、入力したユーザの音声を音声認識サーバ20に送信する。
端末10は、通信網(例えば、移動体通信網)を介して音声認識サーバ20と通信を行うことができる。音声認識サーバ20は、音声に対して音声認識を行う装置である。音声認識サーバ20は、端末10から送信された音声を受信する。音声認識サーバ20は、音声認識エンジンを有しており、当該音声認識エンジンを用いて音声認識を行う。音声認識自体は、従来の任意の音声認識方法を利用することができる。音声認識サーバ20は、音声認識の結果のテキストである音声認識結果テキストを端末10に送信する。
音声認識結果取得部12は、音声認識サーバ20から送信された音声認識結果テキストを受信して取得する。音声認識結果テキストは、予め単語毎に区切られた(分解された)ものであってもよい。また、音声認識結果テキストが、単語の区切り及びパースが必要なものであった場合には、上述した正解文テキストと同様に単語の区切り及びパースを行うこととしてもよい。音声認識結果取得部12は、取得した音声認識結果テキストを一致判断部13に出力する。なお、音声認識は、音声認識サーバ20ではなく、端末10において行われてもよい。
一致判断部13は、比較対象取得部11から入力した正解文テキストと、音声認識結果取得部12から入力した音声認識結果テキストとの間の一致に関する判断(判定)を行う機能部である。一致に関する判断は、それらのテキストがどの程度一致しているか、即ち、それらのテキストがどの程度類似しているかの判断を含む。即ち、一致判断部13は、正解文テキストに対してどの程度ユーザが正しく発話していたかを評価する。一致判断部13は、比較対象取得部11に含まれる単語と、音声認識結果テキストに含まれる単語との間の類似度を、正解文テキスト及び音声認識結果テキストの一方のテキストに含まれる単語一つについて、もう一方のテキストに含まれる複数の単語との組み合わせに対して算出する。一致判断部13は、正解文テキストに含まれる単語全てと、音声認識結果テキストに含まれる単語全てとの組み合わせに対して類似度を算出する。
一致判断部13は、正解文テキストに含まれる単語、及び音声認識結果テキストに含まれる単語それぞれを、当該単語の発音に応じて変換して、変換した単語間の類似度を算出する。一致判断部13は、算出した類似度、並びに正解文テキスト及び音声認識結果テキストに含まれる単語の順番に基づいて、当該正解文テキストと当該音声認識結果テキストとの間の一致に関する判断を行う。一致判断部13は、一致に関する判断に基づき、正解文テキスト又は音声認識結果テキストに含まれる連続する単語を結合し、結合した単語を用いて一致に関する判断を行う。具体的には、一致判断部13は、以下のように判断を行う。
一致判断部13は、まず、比較対象取得部11から正解文テキストを、音声認識結果取得部12から音声認識結果テキストを、それぞれ入力する。一致判断部13は、入力した正解文テキスト及び音声認識結果テキストに含まれる単語それぞれを、当該単語の発音に応じて変換してコード化する。コード化は、例えば、従来の方法によって行われる。例えば、母音を除去して発音類似度を考慮した16の子音グループに置換するMetaphoneアルゴリズムによって、各単語をコード化する。具体的には例えば、「What」は、「WT」とコード化される。あるいは、Soundexアルゴリズムによって、各単語をコード化する。
続いて、一致判断部13は、正解文テキストに含まれる単語全てと、音声認識結果テキストに含まれる単語全てとの組み合わせに対して類似度を算出する。図3に、正解文テキストの1つの単語について、音声認識結果テキストに含まれる単語のそれぞれとの組み合わせに対して類似度を算出した例を示す。一致判断部13は、各組み合わせに対して、コード化された単語同士の類似度を算出する。例えば、一致判断部13は、類似度として、レーベンシュタイン値(レーベンシュタイン距離)に基づく値を算出する。具体的には、一致判断部13は、apacheが提供する「LuceneLevenshteinDistance」を利用して類似度を算出する。この場合、類似度は、0.00~1.00の値として得られ、値が大きいほど、コード化された単語(文字列)が類似していることを示している。類似度が1.00である場合、コード化された単語(文字列)同士は一致している。なお、類似度として、レーベンシュタイン値自体を用いてもよい。また、類似度としては、レーベンシュタイン値に基づく値以外にも、文字列の類似度を示すものであれば任意のものを用いることができる。
続いて、一致判断部13は、算出した類似度、並びに正解文テキスト及び音声認識結果テキストの単語の位置(順番)に基づいて、一致に関する判断に用いる情報を生成する。正解文テキスト及び音声認識結果テキストが図3に示すものである場合に生成される情報の例を、図4~図6に示す。まず、一致判断部13は、図4(a)に示す音声認識結果一致箇所保存マトリクスを生成する。音声認識結果一致箇所保存マトリクスは、正解文テキストの単語(の位置(順番))毎に、当該単語に対応する候補となる単語の音声認識結果テキストでの出現位置を格納した情報である。単語の位置は、図3に示すように、例えば、正解文テキスト及び音声認識結果テキストそれぞれについて、前から順番に1からの整数が割り振られる。
一致判断部13は、正解文テキストの単語毎に、類似度が予め設定された閾値以上の組み合わせとなる音声認識結果テキストの単語の位置を特定する。閾値以上の組み合わせ単語は、それぞれが一致していると判断され得るものである。閾値は、例えば、0.90とされる。なお、一致判断部13は、正解文テキストの単語毎に、まず、類似度が1.00の組み合わせとなる音声認識結果テキストの単語の位置を特定し、当該単語が音声認識結果テキストにない場合に類似度が(1.00未満で)閾値以上の組み合わせとなる単語の位置を特定してもよい。
一致判断部13は、正解文テキストでの単語を位置順に縦に並べて、当該単語の順番毎に、特定した音声認識結果テキストの単語の位置を示す数値を、数値が小さい順に左から並べて音声認識結果一致箇所保存マトリクスとする。例えば、正解文テキストの1番目の単語「What」については、音声認識結果テキストの2番目と4番目とに「What」が出現するため、音声認識結果一致箇所保存マトリクスの1行目には、2,4が左から並べて入れられる。
なお、類似度が閾値以上の組み合わせとなる音声認識結果テキストの単語がない正解文テキストでの単語については、当該単語に対応する音声認識結果一致箇所保存マトリクスの行は生成されない。図4(a)の例では、正解文テキストの4番目の位置の「not」については、類似度が閾値以上の組み合わせとなる音声認識結果テキストの単語がないため、音声認識結果一致箇所保存マトリクスには、4番目の位置の「not」に対応する行(データ)がない。
上記のように生成した音声認識結果一致箇所保存マトリクスにおいて、同一の列に同一の位置(数値)が入っている場合、一致判断部13は、正解文テキストの単語の位置と、当該同一の位置との距離(差分)を算出する。一致判断部13は、算出した距離が小さい方を採用し、それ以外の位置(数値)は削除する。一致判断部13は、削除した場合、更に特定した音声認識結果テキストの単語の位置がある場合には、当該位置を示す数値を左に詰める。一致判断部13は、同一の列に同一の位置(数値)が入らなくなるまで、左側の列から、上記の処理(位置の削除)を繰り返し行う。
例えば、正解文テキストの2番目と7番目とに出現する「time」との単語については、特定した音声認識結果テキストの単語の位置を示す数値は、それぞれ3,5,9となる。それらの数値を音声認識結果一致箇所保存マトリクスに格納しようとすると、一番左の列の2番目と7番目との位置に相当する行に、3が2つ入ることとなる。音声認識結果テキストの3番目と、正解文テキストの2番目及び7番目との距離は、それぞれ1、4となる。従って、正解文テキストの2番目の方に3が入り、正解文テキストの7番目の方から3は削除される。7番目の方は、残りの5,9が左から入れられる。
続いて、一致判断部13は、図4(b)に示す正解文一致箇所保存マトリクスを生成する。正解文一致箇所保存マトリクスは、音声認識結果一致箇所保存マトリクスと同じサイズのマトリクスである。一致判断部13は、音声認識結果一致箇所保存マトリクスの各行の要素の数値を、当該各行に対応する正解文テキストの単語の位置を示す数値とした正解文一致箇所保存マトリクスを生成する。
続いて、一致判断部13は、図4(c)に示す正解文一致配列を生成する。正解文一致配列は、正解文テキストでの単語毎の数値を要素として含む。一致判断部13は、正解文テキストでの単語毎に、音声認識結果一致箇所保存マトリクスの要素の個数(各行の数値の個数)をカウントして、正解文一致配列の単語毎の数値とする。例えば、正解文テキストの1番目の単語「What」については、音声認識結果一致箇所保存マトリクスの対応する行の要素の個数が2つであるため、2とされる。なお、類似度が閾値以上の組み合わせとなる音声認識結果テキストの単語がない正解文テキストでの単語についても、正解文一致配列に含められる。正解文テキストの4番目の単語「not」については、音声認識結果一致箇所保存マトリクスの対応する行の要素がないため、0とされる。
続いて、一致判断部13は、音声認識結果一致箇所保存マトリクスの各行のうち、要素数が正解文一致配列のうちの最大値になっていない行を特定する。一致判断部13は、そのような行の最も右の要素の数値を、当該行の要素数が上記の最大値となるまで右に順に入れていく。これにより、音声認識結果一致箇所保存マトリクスの各行の要素数は、正解文一致配列のうちの最大値となる。
例えば、図4(a)に示す音声認識結果一致箇所保存マトリクスの1行目(1番目の単語「What」に対応する行)には2,4の数値が入れられている。従って、1行目の要素数は2であり、図4(c)に示す正解文一致配列のうちの最大値である3になっていない。そこで、それらの要素の数値のうち、最も右の要素の数値である4を右に入れていく。これにより、音声認識結果一致箇所保存マトリクスの1行目には、左から2,4,4が入る。図4(a)に示す音声認識結果一致箇所保存マトリクスの2行目(2番目の単語「time」に対応する行)の要素数は3であり、最大値である。そのため、2行目には新たな要素の数値は入れられない。図4(a)に示す音声認識結果一致箇所保存マトリクスの3行目(3番目の単語「is」に対応する行)の要素数は1である。上記の処理によって、音声認識結果一致箇所保存マトリクスの3行目には、左から6,6,6が入る。
続いて、一致判断部13は、音声認識結果一致箇所保存マトリクスの列毎に、1つ上の単語との距離を算出する。一致判断部13は、当該距離として、音声認識結果一致箇所保存マトリクスの各数値(単語の位置)について、1つ上の数値から当該数値(単語の位置)を引いた数値を算出する。なお、1行目の各数値については、距離は0とする。図5(a)に、音声認識結果一致箇所保存マトリクスの各数値について、距離を算出した例を示す。図5(a)のマトリクスにおいて、括弧の中の数値が距離を示している。図5(a)に示す音声認識結果一致箇所保存マトリクスの各列は、音声認識結果テキストの単語のうち、正解文テキストの単語に対応する一連の候補を示している。
一致判断部13は、図5(a)に示す音声認識結果一致箇所保存マトリクスから、0以上となっている距離の数値のみを残した新たなマトリクスを生成する。なお、0未満(マイナス)となっている距離の数値の部分は、上に詰められる。このマトリクスは、音声認識の一致単語間距離リストである。図5(a)に示す音声認識結果一致箇所保存マトリクスに対応する、音声認識の一致単語間距離リストを図5(b)に示す。図5(a)に示す音声認識結果一致箇所保存マトリクスの1列目は、1~3,5行目(それぞれ、1~3,6番目の単語に相当)の距離が0以上となっているため、それらの距離の数値0,1,3,7が、音声認識の一致単語間距離リストの1列目の数値となる。
一致判断部13は、音声認識の一致単語間距離リストの距離に対応する音声認識結果一致箇所保存マトリクスの各数値(単語の位置)のマトリクスを生成する。このマトリクスは、音声認識結果の位置リストである。図5(a)に示す音声認識結果一致箇所保存マトリクスに対応する、音声認識結果の位置リストを図5(c)に示す。図5(a)に示す音声認識結果一致箇所保存マトリクスの1列目は、1~3,5行目(それぞれ、1~3,6番目の単語に相当)の距離が0以上となっているため、それらの数値(単語の位置)2,3,6,8が、音声認識結果の位置リストの1列目の数値となる。
続いて、一致判断部13は、図4(b)に示す正解文一致箇所保存マトリクスに対しても、図4(a)に示す音声認識結果一致箇所保存マトリクスに対する、上記の処理と同様の処理を行い、図5(d)に示す正解文一致箇所保存マトリクスを生成する。また、図5(d)に示す正解文一致箇所保存マトリクスから、図5(b)に示す音声認識の一致単語間距離リストで残された要素に対応する要素の距離の数値及び単語の位置の数値のみそれぞれを残した図5(e)(f)に示す正解文の一致単語間距離リスト及び正解文の位置リストを生成する。例えば、図5(b)の音声認識の一致単語間距離リストの1列目は、図5(a)に示す音声認識結果一致箇所保存マトリクスの1列目の1~3,5行目の要素(数値)が残されたものである。そのため、図5(e)(f)に示す正解文の一致単語間距離リスト及び正解文の位置リストの1列目は、図5(d)に示す正解文一致箇所保存マトリクスの1列目の1~3,5行目の要素の距離の数値及び単語の位置の数値のみそれぞれを残したものである。以上が、一致に関する判断に用いる情報である。
引き続いて、一致判断部13は、生成した上記の情報を用いて一致に関する判断を行う。まず、一致判断部13は、正解文テキストの各単語が、音声認識テキストのどの単語に対応するものであるか判断する。一致判断部13は、図5(b)に示す音声認識の一致単語間距離リストの各列について、一致数及び距離合計を算出する。一致数は、各列の要素数である。距離合計は、各列の要素の数値の合計である。図5(b)に示す音声認識の一致単語間距離リストの各列について、一致数及び距離合計を算出した例を図6(a)に示す。
一致判断部13は、算出した一致数及び距離合計に基づいて、1つの列を採用する。一致判断部13は、一致数が最も大きい列を採用する。一致数が最も大きい列が複数ある場合には、一致判断部13は、その列の中で距離合計が最も小さい列を採用する。採用された列は、音声認識結果テキストの単語のうち、正解文テキストの単語に対応する単語を示す。
例えば、図6(a)に示す一致単語間距離リストでは、一致数が最も大きい、左から2番目の列が採用される。図6(b)~(d)に示す音声認識結果の位置リスト、正解文の一致単語間距離リスト及び正解文の位置リストについても、同様の列が採用される。
図6(b)の音声認識結果の位置リストの採用された列の数値は、音声認識結果テキストの単語のうち、正解文テキストの単語に対応する単語の位置(順番)を示す。図6(d)の正解文の位置リストの採用された列の数値は、正解文テキストの単語のうち、音声認識結果テキストの単語に対応する単語の位置(順番)を示す。また、図6(b)の音声認識結果の位置リスト、及び図6(d)の正解文の位置リストの同じ行の数値が、それぞれ対応する音声認識結果テキストの単語、及び正解文テキストの単語の位置である。図6に示す例では、音声認識結果テキストの4,5,6,7,8,9番目の単語が、それぞれ正解文テキストの1,2,3,5,6,7番目の単語に対応する。図6(c)の正解文の一致単語間距離リストの採用された列の数値は、1文字目に正解文テキストと音声認識結果テキストとが一致(対応)しており、2文字目以降をチェックする場合に一致(対応)しているものが連続しているか否かのチェックに用いることができる。このチェックは、以降の単語の結合を行うか否かの判断で利用され得る。
続いて、一致判断部13は、上記の処理で、正解文テキストの単語のうち、音声認識結果テキストの単語に対応するとされなかった単語について、以下のように対応する音声認識結果テキストの単語があるか否かを判断する。
この場合、一致判断部13は、まず、単語の結合を用いた判断を行う。例えば、正解文テキストが「I cannot speak english」であり、音声認識結果テキストが「I can not speak english」であった場合である。この例では、正解文テキストの「I」「speak」「english」については、単語間の類似度を用いた判断に基づいて、音声認識結果テキストの単語に対応するとされる。しかしながら、「cannot」については、「can」「not」及びそれ以外の単語との間での類似度が閾値以上とはならず、音声認識結果テキストの単語に対応するとされない。なお、正解文テキストと音声認識結果テキストとが逆の場合も、同様である。そこで、単語の結合を用いた判断が行われる。
一致判断部13は、正解文テキストの単語のうち、音声認識結果テキストの単語に対応しない(対応なし)とされた単語について、音声認識結果テキストの単語に対応するとされた正解文テキストの単語のうち、当該対応なしとされた単語の前後にあたる単語を特定する。例えば、上記の例の場合、「cannot」について、音声認識結果テキストの単語に対応するとされた正解文テキストの単語のうち、「cannot」の前後にあたる単語「I」「speak」が特定される。一致判断部13は、特定した当該前後にあたる単語に対応するとされた音声認識結果テキストの単語を特定する。例えば、上記の例の場合、音声認識結果テキストの「I」「speak」が特定される。一致判断部13は、特定した音声認識結果テキストの単語に挟まれる単語から、正解文テキストの対応なしとされた単語に対応する単語があるかを判断する。即ち、特定した音声認識結果テキストの単語に挟まれる単語を、正解文テキストの対応なしとされた単語について対応する単語の候補とする。
上記の前後にあたる単語のうち、前の単語がない場合、音声認識テキストの先頭の単語から、特定した音声認識結果テキストの単語の前までの単語が候補となる。上記の前後にあたる単語のうち、後の単語がない場合、特定した音声認識結果テキストの単語の次の単語から、音声認識テキストの最後の単語までの単語が候補となる。
また、特定した音声認識結果テキストの単語に挟まれる単語がない場合、即ち、当該候補がない場合、一致判断部13は、正解文テキストの当該単語については、音声認識結果テキストに対応する単語がないと判断する。例えば、図2~図6に示す正解文テキストの例では、「not」の前後の単語「is」「the」には、音声認識結果テキストに対応する単語がある。しかしながら、それらが連続しているため、「not」に対応する単語の候補がなく、「not」については、音声認識結果テキストに対応する単語がないと判断される。
一致判断部13は、正解文テキストの対応なしとされた単語のコード化された文字列と、音声認識結果テキストの候補のそれぞれの単語のコード化された文字列との一文字目が一致するかを判断する。例えば、「cannot」のコード化された文字列は「KNT」であり、「can」のコード化された文字列は「KN」であるため、一文字目が一致すると判断される。一致判断部13は、一文字目が一致すると判断した場合、それらの(コード化されていない)単語の文字数を比較する。
一致判断部13は、正解文テキストの単語の文字数が、音声認識結果テキストの単語の文字数よりも大きいと判断した場合、音声認識結果テキストの当該単語と音声認識結果テキストの当該単語の次の単語を結合する。なお、当該単語の次の単語が、既に正解文テキストと対応付くものであるとされていた場合には、結合は行われない。例えば、「cannot」の文字数は6であり、「can」の文字数は3であるため、音声認識結果テキストの単語の文字数よりも大きいとされ、「can」とその次の「not」が結合されて、「cannot」とされる。
一致判断部13は、結合した単語を上記と同様の方法でコード化する。一致判断部13は、正解文テキストの当該単語のコード化された文字列と、音声認識結果テキストの結合された単語のコード化された文字列との類似度を算出する。一致判断部13は、算出した類似度が予め設定された閾値以上であるか否かを判断する。一致判断部13は、類似度が閾値以上であると判断した場合、正解文テキストの当該単語と音声認識結果テキストの結合された単語とが、一致しているものとして互いに対応付けられたものとする。閾値は、例えば、上述した閾値と同様に0.90とされる。例えば、上記の「cannot」と、「can」と「not」との結合とでは、両者は一致しているものとして互いに対応付けられたものとされる。
また、一致判断部13は、類似度が閾値以上ではないが、第2の閾値以上であるか否かを判断する。一致判断部13は、類似度が第2の閾値以上であると判断した場合、正解文テキストの当該単語と音声認識結果テキストの結合された単語とが、おしいものとして互いに対応付けられたものとする。第2の閾値は、上記の閾値(0.90)よりも小さな値であり、例えば、0.40とされる。例えば、上記の「cannot」と、「can」と「nop」との結合とでは、類似度は0.75となり、両者はおしいものとして互いに対応付けられたものとされる。一致判断部13は、類似度が第2の閾値以上でないと判断した場合、両者を互いに対応付けられたものとはしない。但し、一致判断部13は、上記の類似度が閾値(0.90)以上でなかった時点で、誤った音声が入力されたものとして、両者を互いに対応付けられたものとはしないこととしてもよい。
文字数の判断で、一致判断部13は、正解文テキストの単語の文字数が、音声認識結果テキストの単語の文字数よりも小さいと判断した場合、正解文テキストの当該単語と正解文テキストの当該単語の次の単語を結合する。なお、当該単語の次の単語が、既に音声認識結果テキストと対応付くものであるとされていた場合には、結合は行われない。一致判断部13は、当該結合を行った後、音声認識結果テキストの単語の結合を行った場合と同様に、正解文テキストの結合された単語と音声認識結果テキストの単語との対応付けを判断する。一致判断部13は、上記の判断によって、正解文テキストの結合された単語と音声認識結果テキストの単語とが、互いに対応付けられたものであるとした場合、音声認識結果テキストの当該単語を分割する。類似度が閾値(0.90)以上であった場合、一致判断部13は、音声認識結果テキストの当該単語を、正解文テキストの結合された単語それぞれとして分割する。類似度が閾値未満(0.90)で第2の閾値(0.40)以上であった場合、即ち、おしいものとして互いに対応付けられたものとされた場合、一致判断部13は、音声認識結果テキストの当該単語を、任意の方法で分割する。例えば、分割したときの音声認識結果テキストの当該単語と、正解文テキストの結合された単語それぞれとの類似度の和が最大となるように、音声認識結果テキストの当該単語を分割する。
なお、単語の結合は、連続する2つの単語だけでなく、連続する3つ以上の単語に対して行われてもよい。
一致判断部13は、結合を用いた判断によっても、正解文テキストの単語のうち、音声認識結果テキストの単語に対応するとされなかった単語がある場合には、当該単語について、以下のように対応する音声認識結果テキストの単語があるか否かを判断する。
一致判断部13は、音声認識結果テキストの候補の単語から、正解文テキストの単語について、対応する単語を特定する。一致判断部13は、候補の単語が1つしかない場合、当該候補の単語を対応する単語とする。例えば、正解文テキストが「What time is the bus」であり、音声認識結果テキストが「AA time BB the bus」であったとする。この例では、正解文テキストの「time」「the」「bus」については、単語間の類似度を用いた判断に基づいて、音声認識結果テキストの単語に対応するとされ、「What」「is」については、音声認識結果テキストの単語に対応しないとされる。正解文テキストの「What」については、音声認識結果テキストの単語の候補は「AA」のみであるため、「AA」に対応するとされる。正解文テキストの「is」については、音声認識結果テキストの単語の候補は「BB」のみであるため、「BB」に対応するとされる。
一致判断部13は、候補の単語が2つ以上ある場合、正解文テキストの単語(のコード化された文字列)と当該候補の単語(のコード化された文字列)との間の類似度が最も高いものを対応する単語とする。例えば、正解文テキストが「What time is the bus」であり、音声認識結果テキストが「AA BB time is the bus」であったとする。この例では、正解文テキストの「What」については、単語間の類似度を用いた判断に基づいて、音声認識結果テキストの単語に対応しないとされる。「What」については、音声認識結果テキストの単語の候補は「AA」「BB」となる。「What」に対して、「AA」は類似度が0.25であり、「BB」は類似度が0.00であり、「AA」の方が、類似度が高い。従って、「What」については、「AA」に対応するとされる。但し、正解文テキストの単語のうち、音声認識結果テキストの単語に対応するとされなかった単語が連続している場合には、それらの前後関係が逆転しないように対応する単語が特定される。但し、一致判断部13は、候補の単語が2つ以上ある場合、類似度が高い単語を採用するのではなく、誤ったものとして、全ての候補の単語を対応する単語として採用することとしてもよい。例えば、上記の例では、「What」に対して、「AA」及び「BB」の両方を誤ったものとして対応する単語とする。
一致判断部13は、上記の判断をまとめた情報を生成する。当該情報の例を、図7のテーブルに示す。この情報は、音声認識結果テキストの各単語を1つの行としたデータであり、単語の位置(順番)順に並べたものである。なお、音声認識結果テキストの単語が結合されて、正解文テキストの単語に対応するとされた場合には、結合された単語を1つの単語として扱う。また、正解文テキストの単語が結合されて、音声認識結果テキストの単語に対応するとされた場合には、結合された単語を1つの単語として扱う。
この情報は、音声認識結果(テキスト)での出現位置、単語、正解文(テキスト)での出現位置、正解文(テキスト)の単語との類似度及び淀み判定の情報が対応付けられた情報である。単語は、音声認識結果テキストでの単語である。
正解文(テキスト)での出現位置は、対応する正解文テキストの単語の位置(順番)を示すものである。対応する正解文テキストの単語がないと判断された音声認識結果テキストの単語については、この欄は空欄とされる。正解文(テキスト)の単語との類似度は、対応する正解文テキストの単語との類似度である。この類似度は、対応する正解文テキストの単語との類似度が閾値(例えば、上述したように0.90)以上であった場合、1.00(最大値)とされる。
淀み判定は、対応する正解文テキストの単語がないと判断された音声認識結果テキストの単語であることを示す情報である。当該単語は、ユーザの発話の淀み又は言い直し等によって生じたものであると考えられ、除外されるものである。対応する正解文テキストの単語があると判断された音声認識結果テキストの単語については、この欄は空欄とされる。
一致判断部13は、上記の情報から、音声認識結果修正後テキストを生成する。音声認識結果修正後テキストは、正解文(テキスト)での出現位置に情報が格納されている(除外されない)音声認識結果テキストの単語を順番に並べたものである。音声認識結果修正後テキストは、図2の例に示す音声認識結果表示に用いられるテキストである。一致判断部13は、音声認識結果テキストの単語について、対応する正解文テキストの単語と相違している場合、類似度が閾値(例えば、上述したように0.90)以上であった場合、対応する正解文テキストの単語に置き換えて音声認識結果修正後テキストの単語とする。なお、上述したように、類似度が閾値以上であった場合、図7に示すテーブルでは、類似度は1.00となる。例えば、図7に示す「isa」は、類似度が1.00であるため、対応する正解文テキストの単語である「is」に置き換えられて、音声認識結果修正後テキストが生成される。類似度が閾値以上であれば、ユーザは、正解文テキストの単語を正しく発話していると考えられるためである。
一致判断部13は、音声認識結果テキストの単語について、対応する正解文テキストの単語が結合されたものである場合、当該結合に応じた単語の分割を行って音声認識結果修正後テキストの単語とする。一致判断部13は、例えば、一致判断部13は、類似度が閾値(例えば、上述したように0.90)以上であった場合、対応する正解文テキストの結合前の単語に置き換えて音声認識結果修正後テキストの単語とする。例えば、音声認識結果テキストの結合された「cannot」について、類似度が1.00である場合には、対応する正解文テキストの結合前の単語である「can」「not」に置き換えられて、音声認識結果修正後テキストが生成される。
また、一致判断部13は、正解文(テキスト)での出現位置に示される数値で示される正解文テキストの単語を、当該数値の順番に並べたテキストを生成する。このテキストは、図2に示す発話判定結果表示に用いられるテキストである。
一致判断部13は、音声認識結果修正後テキストと、正解文テキストの単語を並べたテキスト(発話判定結果表示に用いられるテキスト)との類似度を算出する。一致判断部13は、類似度として、それぞれの(スペースを除いた)テキストの間の類似度を算出する。当該類似度は、単語同士の類似度と同様にレーベンシュタイン値に基づく値としてもよい。例えば、音声認識結果修正後テキストが「What time is the bus time」であり、正解文テキストの単語を並べたテキストが「What time is the bus time」であれば、それぞれのテキストからスペースを除いた「Whattimeisthebustime」とのテキストと、「Whattimeisthebustime」とのテキストとの類似度を算出する。この場合、類似度は、1.00となる。一致判断部13は、算出した類似度に100を掛けて、0~100の値としてもよい。
一致判断部13は、音声認識結果テキストから、除外される単語の数をカウントする。一致判断部13は、カウントした除外される単語の数を、音声認識結果テキストに含まれる全ての単語数で割ることで除外文字率を算出する。
一致判断部13は、図7のテーブルの情報、音声認識結果修正後テキスト、正解文テキストの単語を並べたテキスト(発話判定結果表示に用いられるテキスト)、それらのテキストの単語の組み合わせの類似度を示す情報、及び除外文字率を示す情報を、一致に関する判断結果を示す情報として、出力部14に出力する。
一致判断部13は、正解文テキストの単語全てに、類似度が閾値以上の組み合わせとなる音声認識結果テキストの単語が1つもない場合、即ち、図4(a)に示す音声認識結果一致箇所保存マトリクスを生成できない場合、正解文テキストの単語全てに、音声認識結果テキストに対応する単語はないとする。また、この場合、一致判断部13は、音声認識結果テキストを音声認識結果修正後テキストとする。また、この場合、一致判断部13は、正解文テキストを、発話判定結果表示に用いられるテキストとする。また、一致判断部13は、正解文テキストの全ての単語について、類似度を0.00とする。また、一致判断部13は、除外される単語の数を0とする。
出力部14は、一致判断部13による判断に応じた情報の出力を行う機能部である。出力部14は、一致判断部13から情報を入力して、入力した情報を例えば、図2に示すように表示して出力する。発話判定結果表示については、各単語についての類似度に応じた色で単語を表示する。例えば、上述したように類似度が、0.90~1.00であったら緑色の文字で表示し、類似度が0.40~0.89であったら橙色の文字で表示し、類似度が0.00~0.39であったら赤色の文字で表示する。図2に示す例では、表示用のテキストに含まれる単語については、全て類似度が1.00であるため、全て緑色の文字で表示される。以上が、端末10の機能である。
引き続いて、図8のフローチャートを用いて、本実施形態に係る端末10で実行される処理(端末10が行う動作方法)を説明する。本処理は、ユーザの端末10に対する操作等によって、上述した語学学習の機能が実行される場合の処理である。
本処理では、比較対象取得部11によって、正解文テキストが取得される(S01)。続いて、音声認識結果取得部12によって、音声認識結果テキストが取得される(S02)。この音声認識結果テキストは、正解文テキストがユーザによって読み上げられる等された正解文テキストに対応するユーザの発話に係るものである。
続いて、一致判断部13によって、正解文テキスト及び音声認識結果テキストに含まれる単語それぞれが、例えば、Metaphoneアルゴリズムによってコード化される(S03)。続いて、一致判断部13によって、正解文テキストのコード化された単語と、音声認識結果テキストのコード化された単語との組み合わせに対して、類似度が算出される(S04)。類似度は、上述したようにレーベンシュタイン値に基づく値である。
続いて、一致判断部13によって、類似度、並びに正解文テキスト及び音声認識結果テキストの単語の位置(順番)に基づいて、一致に関する判断に用いる情報が生成される(S05)。当該情報は、例えば、図4、図5に示す情報である。続いて、一致判断部13によって、当該情報に基づき、一致に関する判断が行われる(S06)。当該判断は、上述したように、正解文テキスト及び音声認識結果テキストの単語の対応の判断等である。続いて、一致判断部13による判断結果を示す情報が、出力部14によって出力される(S07)。ユーザは、出力部14による出力を参照することで、自身の発話が適切に行われたかを確認することができる。以上が、本実施形態に係る端末10で実行される処理である。
引き続いて、正解文テキスト及び発話に対して、本実施形態に係る端末10での出力の例について説明する。正解文テキストが「What time is the bus」であり、ユーザの発話が「あー What time What time isa the bus」というものであった場合について説明する。即ち、発話の先頭にいい淀み及び言い直しを含んでいる場合である。この場合、音声認識結果テキストは、図9に示すようになる。
音声認識結果テキストの冒頭の「AA What time」の部分は、いい淀み及び言い直し等として除外される。また、「isa」は、「is」と閾値以上の類似度となるため、音声認識結果表示では、「is」に置き換えられる。その結果、図9に示す情報が表示されて出力される。
続いて、正解文テキストが「What time is the bus」であり、ユーザの発話が「What time あー isa the bus」というものであった場合について説明する。即ち、発話の途中にいい淀み及び言い直しを含んでいる場合である。この場合、音声認識結果テキストは、図10に示すようになる。音声認識結果テキストの途中の「AA」の部分は、いい淀み及び言い直し等として除外される。その結果、図10に示す情報が表示されて出力される。発話判定結果表示における各単語は、類似度が1.00であるため緑色で表示される。
続いて、正解文テキストが「What time is the bus」であり、ユーザの発話が「What time isa the bus あー」というものであった場合について説明する。即ち、発話の最後にいい淀み及び言い直しを含んでいる場合である。この場合、音声認識結果テキストは、図11に示すようになる。音声認識結果テキストの最後の「AA」の部分は、いい淀み及び言い直し等として除外される。その結果、図11に示す情報が表示されて出力される。
続いて、正解文テキストが「What time is the bus」であり、ユーザの発話が「あー time isa the bus」というものであった場合について説明する。即ち、いい淀みにより正解の単語が判別できない場合である。この場合、音声認識結果テキストは、図12に示すようになる。音声認識結果テキストの最初の「AA」は、「What」に対応する単語と判断される。単語間の類似度が閾値以上ではないものの、単語の位置が対応する位置であるため、除外すべきものとは判断されない。なお、「What」をコード化した「WT」と、AAをコード化した「A」との類似度は、0.25である。その結果、図12に示す情報が表示されて出力される。発話判定結果表示における「What」は、類似度が0.25であるため赤色で表示される。
続いて、図13に示すように、正解文テキストが「What time is the bus」であり、音声認識結果テキストが「AA BB time isa the bus」というものであった場合について説明する。即ち、いい淀みにより正解の単語が判別できず、更に、候補が複数ある場合である。音声認識結果テキストの最初の「AA」「BB」はそれぞれ、「What」に対応する単語の候補とされる。なお、「What」をコード化した「WT」と、BBをコード化した「B」との類似度は、0.00である。従って、「What」に対応する単語としては、「AA」が採用される。その結果、図13に示す情報が表示されて出力される。図12に示す例と同様に発話判定結果表示における「What」は、類似度が0.25であるため赤色で表示される。
続いて、図14に示すように、正解文テキストが「What time is the bus」であり、音声認識結果テキストが「AA time BB the bus」というものであった場合について説明する。即ち、複数の部分において、いい淀みにより正解の単語が判別できない場合である。音声認識結果テキストの「AA」「BB」はそれぞれ、単語の位置に基づき、正解文テキストの「What」「is」に対応する単語と判断される。なお、「is」をコード化した「IS」と、BBをコード化した「B」との類似度は、0.00である。その結果、図14に示す情報が表示されて出力される。発話判定結果表示における「What」「is」は、赤色で表示される。
続いて、図15に示すように、正解文テキストが「I cannot speak english」であり、音声認識結果テキストが「I can not speak english」というものであった場合について説明する。即ち、正解文テキストにおける1つの単語である「cannot」が、音声認識結果テキストにおいて「can」「not」との2つの単語で認識される場合である。この場合、正解文テキストの「cannot」がコード化された「KNT」と、音声認識結果テキストの「can」がコード化された「KN」との一文字目が一致する。また、「cannot」の文字数が6であり、「can」の文字数が3であり、「cannot」の文字数が大きい。従って、音声認識結果テキストの「can」は、次の単語「not」と結合されて、正解文テキストの「cannot」との類似度が算出されて、対応が判断される。この場合、結合した「cannot」がコード化された「KNT」と、正解文テキストの「cannot」がコード化された「KNT」との類似度は、1.00となる。この類似度は、閾値以上である。従って、正解文テキストにおける「cannot」は、音声認識結果テキストにおいて「can」「not」が結合された「cannot」に対応すると判断される。その結果、図15に示す情報が表示されて出力される。
続いて、図16に示すように、正解文テキストが「I cannot speak english」であり、音声認識結果テキストが「I can nop speak english」というものであった場合について説明する。即ち、正解文テキストにおける1つの単語である「cannot」が、音声認識結果テキストにおいて「can」「nop」との2つの単語で認識される場合である。この場合、図16の例と同様に、正解文テキストの「cannot」と、音声認識結果テキストの「can」「nop」が結合された「cannop」との類似度が算出される。この類似度は、0.75となる。この類似度は、閾値以上ではないが、第2の閾値以上である。従って、正解文テキストにおける「cannot」は、音声認識結果テキストにおいて「can」「nop」が結合された「cannop」に対応すると判断される。その結果、図16に示す情報が表示されて出力される。発話判定結果表示における「cannop」は、橙色で表示される。
続いて、図17に示すように、正解文テキストが「I can not speak english」であり、音声認識結果テキストが「I cannot speak english」というものであった場合について説明する。即ち、正解文テキストにおける2つの単語である「can」「not」が、音声認識結果テキストにおいて「cannot」との2つの単語で認識される場合である。この場合、正解文テキストの「can」がコード化された「KN」と、音声認識結果テキストの「cannot」がコード化された「KNT」との一文字目が一致する。また、「can」の文字数が3であり、「cannot」の文字数が6であり、「cannot」の文字数が大きい。従って、正解文テキストの「can」は、次の単語「not」と結合されて、音声認識結果テキストの「cannot」との類似度が算出されて、対応が判断される。この場合、結合した「cannot」がコード化された「KNT」と、正解文テキストの「cannot」がコード化された「KNT」との類似度は、1.00となる。この類似度は、閾値以上である。従って、正解文テキストにおいて「can」「not」が結合された「cannot」は、音声認識結果テキストにおける「cannot」に対応すると判断される。その結果、図17に示す情報が表示されて出力される。以上が、本実施形態に係る端末10での出力の例である。
本実施形態では、正解文テキスト及び音声認識結果テキストに含まれる単語一つについて、もう一方のテキストに含まれる複数の単語との組み合わせに対して算出される単語間の類似度、及び単語の順番に基づいて、正解文テキストと音声認識結果テキストとの間の一致に関する判断が行われる。従って、いい淀み及び言い直し等があった場合に生じる音声認識結果テキストに含まれる単語の重複、単語の抜け、余計な単語の追加があった場合であっても、正解文テキストに含まれる単語と音声認識結果テキストに含まれる単語との対応関係を適切に判断することができる。これによって、適切にテキストの比較の判断を行うことができる。即ち、本実施形態によれば、語学学習のための発音がうまくできているといった判断等を、いい淀み及び言い直し等があった場合でも、適切に行うことができる。
また、本実施形態のように正解文テキストに含まれる単語全てと、音声認識結果テキストに含まれる単語全てとの組み合わせに対して類似度を算出することとしてもよい。この構成によれば、正解文テキストに含まれる単語と音声認識結果テキストに含まれる単語との対応関係を確実に判断することができ、テキストの比較の判断を確実に行うことができる。
また、本実施形態のようにMetaphoneアルゴリズム等によって、単語の発音に応じて単語をコード化することとしてもよい。この構成によれば、単語の表記ではなく、単語の発音に基づく類似度を算出することができる。これによって、ユーザの発話が適切であったかを、更に適切に判断することができる。
また、音声認識の精度が必ずしも十分でない場合であっても、適切な判断を行うことができる。現状の音声認識は、ネイティブの音声をベースに音響モデルを構築している。そのため、語学学習のために日本人が発話した英語の認識が非常に弱い。一方で、正しく音声認識がなされていない場合であっても、ネイティブが日本人の発音を聞いた場合には理解できていることがある。このように音声認識の精度が必ずしも十分でない場合であっても、単語をコード化することで音声認識の精度の悪さを吸収して、適切な判断を行うことができる。
また、本実施形態のように単語を結合して判断を行うこととしてもよい。この構成によれば、音声認識によって、単語が結合されたり、結合された単語が分割されたりする場合であっても、適切な判断を行うことができる。
なお、本実施形態では、音声認識結果テキストの単語のうち、正解文テキストの単語に対応する一連の候補の組み合わせの数は、正解文一致配列のうちの最大値であった(例えば、図6に示す例であれば、3つ)であったが、当該候補の組み合わせはこれらのものに限られない。例えば、コード化された単語同士の類似度が閾値以上となった単語の、位置(順番)が逆転してしまう組み合わせを除く全ての組み合わせを候補としてもよい。
正解文テキストに数字(アラビア数字)が含まれている場合には、比較対象取得部11は、当該数字の部分を、当該数字の読みに相当する単語に変換して、変換後のテキストを、一致判断部13による比較に用いられる正解文テキストとしてもよい。例えば、取得された正解文テキストが「This year is 2018」である場合には、「This year is two thousand eighteen」と置き換えられる。数字から単語への変換は、例えば、予め比較対象取得部11に記憶されたルールに基づいて行われる。あるいは、数字と変換する単語との対応付けを予め記憶しておき、当該対応付けに基づいて変換が行われてもよい。なお、変換を行う数字は、予め範囲を設けておいてもよい。例えば、0~9999の数値のみを変換することとしてもよい。また、「and」は入れないこととしてもよい。例えば、「9001」を変換する場合には、「nine thousand and one」とはせずに「nine thousand one」とする。また、3桁以上の数値で最上位の桁が1である場合には、先頭に「one」を入れることとしてもよい。例えば、「100」を変換する場合には、「a hundred」とはせずに「one hundred」とする。
また、数値の単語への変換を行う場合には、複数の読みに変換することとしてもよい。例えば、数値を西暦の読みに変換することとしてもよい。例えば、取得された正解文テキストが「This year is 2018」である場合には、「This year is twenty eighteen」と置き換えられる。この場合の変換も、例えば、予め比較対象取得部11に記憶されたルールに基づいて行われる。あるいは、数字と変換する単語との対応付けを予め記憶しておき、当該対応付けに基づいて変換が行われてもよい。この場合も、変換を行う数字は、予め範囲を設けておいてもよい。例えば、1001~9999の数値のみを変換することとしてもよい。基本的には、4桁の数字が2桁ずつに区切られて変換される。例えば、「1986」を変換する場合には、「19 86」と区切って、「nineteen eighty six」とする。また、10の位(下から2桁目)が「0(ゼロ)」の場合には、10の位の0を「oh(オー)」とする。例えば、「1907」を変換する場合には、「nineteen oh-seven」とする。また、10の位及び1の位(下2桁)が「0(ゼロ)」の場合には、100(hundred)をベースとする。例えば、「1900」を変換する場合には、「19×100」で「nineteen hundred」とする。また、100の位及び10の位(下から3桁目及び2桁目)が「0(ゼロ)」の場合には、2桁ずつに区切らずに1000(thousand)をベースとし、「and」を入れる。例えば、「2000」を変換する場合には、「2×1000」で「two thousand」とする。例えば、「2001」を変換する場合には、「two thousand and one」とする。
複数の変換を行った場合には、それぞれを正解文テキストとして、一致判断部13が、一致に関する判断を行うこととしてもよい。一致判断部13は、複数の正解文テキストのうち、音声認識結果修正後テキストとのテキストの間の類似度が高いものを、出力する正解文テキストとして採用する。
また、音声認識結果テキストも、音声認識の方法(例えば、音声認識のソフトウェア)等によっては、数字(アラビア数字)を含み得る。そこで、音声認識結果テキストに数字(アラビア数字)が含まれている場合には、音声認識結果取得部12は、当該数字の部分を、当該数字の読みに相当する単語に変換して、変換後のテキストを、一致判断部13による比較に用いられる音声認識結果テキストとしてもよい。この場合の数字の部分の読みへの変換及び変換後の処理は、上記の比較対象取得部11による正解文テキストの変換の場合と同様に行われる。なお、正解文テキストの変換及び音声認識結果テキストの変換の両方が行われてもよいし、何れか一方のみが行われてもよい。上記のように正解文テキスト又は音声認識結果テキストの数字を、当該数字の読みに相当する単語に変換することで、適切に比較を行うことができる。
なお、上記実施の形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及び/又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び/又は論理的に結合した1つの装置により実現されてもよいし、物理的及び/又は論理的に分離した2つ以上の装置を直接的及び/又は間接的に(例えば、有線及び/又は無線)で接続し、これら複数の装置により実現されてもよい。
例えば、本発明の一実施の形態における端末10及び音声認識サーバ20は、本実施形態の端末10及び音声認識サーバ20の処理を行うコンピュータとして機能してもよい。図18は、本実施形態に係る端末10及び音声認識サーバ20のハードウェア構成の一例を示す図である。上述の端末10及び音声認識サーバ20は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。端末10及び音声認識サーバ20のハードウェア構成は、図に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
端末10及び音声認識サーバ20における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることで、プロセッサ1001が演算を行い、通信装置1004による通信や、メモリ1002及びストレージ1003におけるデータの読み出し及び/又は書き込みを制御することで実現される。
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)で構成されてもよい。例えば、端末10の機能部11~14は、プロセッサ1001を含んで実現されてもよい。
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュールやデータを、ストレージ1003及び/又は通信装置1004からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、端末10の機能部11~14は、メモリ1002に格納され、プロセッサ1001で動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、1つのプロセッサ1001で実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つで構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本発明の一実施の形態に係る方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つで構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及び/又はストレージ1003を含むデータベース、サーバその他の適切な媒体であってもよい。
通信装置1004は、有線及び/又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。例えば、上述の端末10の機能部11~14は、通信装置1004を含んで実現されてもよい。
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
また、プロセッサ1001やメモリ1002などの各装置は、情報を通信するためのバス1007で接続される。バス1007は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
また、端末10及び音声認識サーバ20は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つで実装されてもよい。
以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。
情報の通知は、本明細書で説明した態様/実施形態に限られず、他の方法で行われてもよい。例えば、情報の通知は、物理レイヤシグナリング(例えば、DCI(Downlink Control Information)、UCI(Uplink Control Information))、上位レイヤシグナリング(例えば、RRC(Radio Resource Control)シグナリング、MAC(Medium Access Control)シグナリング、報知情報(MIB(Master Information Block)、SIB(System Information Block)))、その他の信号又はこれらの組み合わせによって実施されてもよい。また、RRCシグナリングは、RRCメッセージと呼ばれてもよく、例えば、RRC接続セットアップ(RRC Connection Setup)メッセージ、RRC接続再構成(RRC ConnectionReconfiguration)メッセージなどであってもよい。
本明細書で説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
情報等は、上位レイヤ(または下位レイヤ)から下位レイヤ(または上位レイヤ)へ出力され得る。複数のネットワークノードを介して入出力されてもよい。
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、または追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:trueまたはfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
本明細書で説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)などの有線技術及び/又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。
本明細書で説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
なお、本明細書で説明した用語及び/又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。例えば、チャネル及び/又はシンボルは信号(シグナル)であってもよい。また、信号はメッセージであってもよい。また、コンポーネントキャリア(CC)は、キャリア周波数、セルなどと呼ばれてもよい。
本明細書で使用する「システム」および「ネットワーク」という用語は、互換的に使用される。
また、本明細書で説明した情報、パラメータなどは、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。例えば、無線リソースはインデックスで指示されるものであってもよい。
上述したパラメータに使用する名称はいかなる点においても限定的なものではない。さらに、これらのパラメータを使用する数式等は、本明細書で明示的に開示したものと異なる場合もある。様々なチャネル(例えば、PUCCH、PDCCHなど)及び情報要素(例えば、TPCなど)は、あらゆる好適な名称によって識別できるので、これらの様々なチャネル及び情報要素に割り当てている様々な名称は、いかなる点においても限定的なものではない。
移動通信端末は、当業者によって、加入者局、モバイルユニット、加入者ユニット、ワイヤレスユニット、リモートユニット、モバイルデバイス、ワイヤレスデバイス、ワイヤレス通信デバイス、リモートデバイス、モバイル加入者局、アクセス端末、モバイル端末、ワイヤレス端末、リモート端末、ハンドセット、ユーザエージェント、モバイルクライアント、クライアント、またはいくつかの他の適切な用語で呼ばれる場合もある。
本明細書で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up)(例えば、テーブル、データベースまたは別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。
「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。本明細書で使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及び/又はプリント電気接続を使用することにより、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどの電磁エネルギーを使用することにより、互いに「接続」又は「結合」されると考えることができる。
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
本明細書で「第1の」、「第2の」などの呼称を使用した場合においては、その要素へのいかなる参照も、それらの要素の量または順序を全般的に限定するものではない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本明細書で使用され得る。したがって、第1および第2の要素への参照は、2つの要素のみがそこで採用され得ること、または何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
「含む(include)」、「含んでいる(including)」、およびそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「または(or)」は、排他的論理和ではないことが意図される。
本明細書において、文脈または技術的に明らかに1つのみしか存在しない装置である場合以外は、複数の装置をも含むものとする。本開示の全体において、文脈から明らかに単数を示したものではなければ、複数のものを含むものとする。