【実施例1】
【0030】
[国籍推定システム]
本発明の国籍推定システム1は、外国人の発声による特定言語から当該外国人の国籍を推定するシステムである。
非特許文献1には、英語を母国語としない者の英語には、母国語の影響による訛りがあり、経験のある船員であれば、VHF無線から聞こえる英語の訛りによって相手の国籍が判断できることが開示されている。これは英語の例であるが、いずれの言語においても、その言語を母国語としない外国人の発音には程度の差こそあれ当該外国人の国籍に由来する特徴が表れる。すなわち、外国人による特定言語の発音は、当該外国人の国籍と相関関係を有する。
そこで、本発明の国籍推定システム1は、外国人が母国語以外の特定言語を話す際の発音の特徴(例えば訛り)に着目して、これを教師データとした機械学習によって学習モデルを取得し、未知の外国人が特定言語を話した音声に当該学習モデルを適用することで、未知の外国人の国籍を高精度に推定しようとする発明である。
なお、本実施例では「特定言語」が日本語である場合について説明するが、これは例示に過ぎず、本発明の国籍推定システム1は、いかなる言語にも適用が可能である。
【0031】
[国籍推定システムの構成]
国籍推定システム1は、少なくとも記憶手段20、学習手段30、取得手段40、分解手段50、及び推定手段60を備える(
図1)。本例では、更に生成手段10を備え、これらの各手段に情報処理を実行させるプログラムを、情報処理装置(コンピュータ)にインストールしてなる。
この情報処理装置は単体である必要はなく、複数の情報処理装置(演算装置、制御装置、記憶装置、入力装置、出力装置等を備えた装置)を、ネットワークを介して相互に接続して、1つの国籍推定システム1を構成してもよい。
プログラムは、汎用のシステムに機能追加する形で導入するプラグイン形式のプログラムであってもよい。あるいはクラウドシステムを介して提供されてもよい。また、プログラムは、情報処理装置で読み取り可能な記憶媒体に格納することができる。
【0032】
(言語発音データ)
言語発音データAは、機械学習の学習用データとなるデータである。
言語発音データAは、少なくとも、単語情報A1と、単語情報A1と紐づけた音声情報A2及び国籍情報A3と、を含む。
単語情報A1とは、特定言語の単位言語からなる。ここで「単位言語」とは、特定言語における意味のある文章を、単語、文節、文等の任意の単位に区切ったものであり、予め多数の単位言語をリスト化しておくことができる。
音声情報A2は、外国人が単位言語を発音した音声からなる。
国籍情報A3は、外国人の国籍からなる。なお、該当国が広域である場合、地域によって言語特性が大きく異なる場合等には、国籍情報A3を同一国内の複数の地域に細分してもよい。
【0033】
[生成手段]
生成手段10は、言語発音データAを生成する手段である。
生成手段10は、外国人の発音による音声情報A2に、対応する単語情報A1を紐づけ、これに正解データである国籍情報A3を付加して、言語発音データAを生成する。
詳細には、例えば収音マイク等を用いて音声による空気の振動を波形データに変換し、環境音などのノイズを取り除くことで音声情報A2を生成する。
続いて、音声情報A2に公知の音声認識技術(後述)を適用して単位言語ごとに解析し、テキスト情報である単語情報A1を生成する。
最後に、単語情報A1に紐づいた音声情報A2に、音声情報A2の発音に係る外国人の国籍情報A3を付加する。
言語発音データAは後述する学習手段30の学習用データセットとし使用するため、多数の単位言語について相当量を生成する必要がある。
多数の言語発音データAを取得する方法には、例えば外国人モニターに特定言語のリストを読み上げさせ、その音声を収音する方法、テレビやラジオ等の放送媒体から取得する方法、インターネット上でクローリングした動画データ等からAIが音声情報A2であると機械的に判断したデータを収集する方法、電話サービスの通話音声から取集する方法、等を用いることができる。
この場合、言語発音データAから、当該外国人の氏名や電話番号を削除したり、動画であれば付随する画像データを削除するなどの匿名加工を行うことで、言語発音データAを、個人を特定できない匿名加工情報とするのが望ましい。
また、言語発音データAが欠測値や外れ値である場合には、当該言語発音データAを除去することができる。
以上の手順により、言語発音データAを生成して、記憶手段20へ送信する(生成ステップS1)。
【0034】
[記憶手段]
記憶手段20は、複数の言語発音データAを保存する手段である。
記憶手段20は、主記憶部及び補助記憶部を含むことができる。例えば、主記憶部はRAMなどの揮発性メモリであり、補助記憶部は、ROM、EEPROM、フラッシュメモリ、又はハードディスクなどの不揮発性メモリである。
記憶手段20は、生成手段10によって入力された言語発音データAを記憶し、多数の言語発音データAを蓄積して、機械学習用の学習用データセットを構成する(記憶ステップS2)。
【0035】
[学習手段]
学習手段30は、複数の言語発音データAを学習データとした機械学習に基づいて、学習済みモデルXを取得する手段である。
学習手段30は、記憶手段20内に保存した大量の言語発音データAからなる学習用データセットを、公知の機械学習アルゴリズムに基づいて機械学習して、学習済みパラメータが組み込まれた学習済みモデルXを取得する(学習ステップS3)。
この学習済みモデルXは、多数の単位言語における多数の音声情報A2と国籍情報A3の相関から導き出した一定の規則を反映したモデルである。
機械学習は、例えばディープラーニングの方法により、サポートベクターマシーン(SVM)、ロジスティック回帰、ランダムフォレスト(決定木)等の公知の様々なアルゴリズムを利用できる。
【0036】
(生言語発音データ)
生言語発音データBは、推定の対象となる外国人による音声のデータである。
生言語発音データBは、少なくとも外国人が特定言語を発音した音声データである生音声情報B1を含む。
【0037】
[取得手段]
取得手段40は、生言語発音データBを取得する手段である。
取得手段40は、例えば収音マイクや電話回線である。
取得手段40により、推定の対象となる外国人の会話から生言語発音データBを収音して、分解手段50へ送信する(取得ステップS4)。
【0038】
(単位言語発音データ)
単位言語発音データCは、生言語発音データBを単位言語ごとに分解してなるデータである。
単位言語発音データCは、分解音声情報C1と、分解音声情報C1に紐づいた分解テキスト情報C2と、を有する。
単位言語発音データCは、元になる生言語発音データBごとにグループ化される。
【0039】
[分解手段]
分解手段50は、生言語発音データBを単位言語毎に分解して、分解言語発音データCを生成する手段である。
分解手段50は、最初に、取得手段40が取得した生言語発音データBを、音声認識によってテキスト化する。
詳細には、例えば、生言語発音データBを、音響分析、音響モデル、発音辞書、言語モデル等の要素を用いて解析し、音声情報をテキスト情報に変換する。
続いてテキスト情報を、自然言語処理(Natural Language Processing)によって、当該テキスト情報を単位言語ごとに分節して、分解テキスト情報C2を生成する。
自然言語処理とは、人間の言語(自然言語)を機械で処理して内容を抽出する技術である。本例では、例えば特定言語の文法の性質を利用して言語間の境界を判断する文節構造モデルや、確率的言語モデルを適用することができる。
続いて、分解テキスト情報C2の区分に基づいて、生言語発音データBの生音声情報B1を分解音声情報C1に分解する。
こうして、生言語発音データBごとの複数の分解音声情報C1と、各分解音声情報C1に紐づけた分解テキスト情報C2を有する、単位言語発音データCが得られる(分解ステップS5)。
具体的には、例えば、生言語発音データBが、外国人の発声による日本語「今日は頭が痛いので、アルバイトを休みます。」からなる場合、分解手段50によって、この生言語発音データBを、「今日は」「頭が」「痛いので」「アルバイトを」「休みます」との文節による5つの単位言語に分解し、それぞれの単位言語に対応する分解音声情報C1と分解テキスト情報C2を得る。
この他、例えば「今日」「は」「頭」「が」「痛い」「ので」「アルバイト」「を」「休みます」と、単語による9つの単位言語に分解してもよいし、「今日は」「頭が痛いので」「アルバイトを休みます」と3つの単位言語に分解してもよい。
【0040】
[推定手段]
推定手段60は、外国人の国籍を推定する手段である。
推定手段60は、分解手段50が生成した分解言語発音データCに、学習手段30が取得した学習済みモデルXを適用して、分解言語発音データCの発音に係る外国人の国籍を推定する(推定ステップS6)。国籍の推定は、少なくとも一次推定及び二次推定を含む。
詳細には、推定手段60は、1の生言語発音データBに係る複数の分解言語発音データCを取得し、各分解言語発音データCの分解テキスト情報C2によって、各分解言語発音データCにかかる単位言語を特定する。
続いて、特定した単位言語に対応する学習済みモデルXを選択する。この際、対応する学習済みモデルXを有さない単位言語については、推定の対象から除くことができる。
各分解言語発音データCの分解音声情報C1に、単位言語に対応する学習済みモデルXを適用して、分解言語発音データCごとに国籍を推定する(一次推定)。一次推定の結果は、各分解言語発音データCにおける、複数の国別の推定率(%)として記録することができる。
上記の手順により、1の生言語発音データB内にグループ化された全ての分解言語発音データCに一次推定を行い、全ての一次推定の積算により、当該1の生言語発音データB全体の国籍を推定する(二次推定)。二次推定の結果は、当該1の生言語発音データBにおける、複数の国別の推定率(%)として記録することができる。
1の外国人から複数の生言語発音データBを取得できる場合には、一次推定及び二次推定に加えて、複数の二次推定結果を積算してなる三次推定を行うことができる。詳細な実施例について次項で説明する。
【0041】
[一次推定及び二次推定]
例えば、1つの生言語発音データB(AA00001)が「今日は」「頭が」「痛いので」「アルバイトを」「休みます」の5つの分解言語発音データCからなる場合、推定手段60は、以下の手順で一次推定及び二次推定を行う(表1)。
この5つの単位言語から、対応する学習済みモデルXを有さない「アルバイトを」を除いた4つの単位言語に、この単位言語に対応する学習済みモデルXをそれぞれ適用し、分解言語発音データC「今日は」に対応する国籍を[A国:71.1% B国:21.7% C国:7.2%]と推定する。
同様に、分解言語発音データC「頭が」に対応する国籍を[A国:55.6% B国:28.2% C国:9.0% D国:7.2%]と、分解言語発音データC「痛いので」に対応する国籍を[A国:45.2% B国:51.7% D国:3.1%]と、分解言語発音データC「休みます」に対応する国籍を[A国:38.9% B国:32.0% C国:29.1%]と、それぞれ一次推定する。
続いて、4つの単位言語それぞれの一次推定率を積算して、生言語発音データB(AA00001)の二次推定率を算出する。本例では二次推定率は[A国:52.7% B国:33.4% C国:11.3% D国:2.6%]と算出される。
なお、本例では説明の便宜上、複数の一次推定率を単純に合算して二次推定率を算出したが、実際には、特定言語の種類(発音の特徴が顕著に表れる特定言語とそうでない特定言語等)、特定言語の長さ、特定言語の発音順等によって、一次推定の結果に重みづけを行ったり、推定率の分布から信頼性の低い推定結果を除外するなど、統計処理上の各種の調整を行ってもよい。
【0042】
【表1】
【0043】
[三次推定]
続いて推定手段60は、生言語発音データB(AA00001)を含む、同一の外国人に係る複数の生言語発音データB(AA00001、AA00002、AA00003・・・)の二次推定率を積算して、当該外国人に係る三次推定率を算出する(表2)。
本例では三次推定の結果が[A国:74.2% B国:17.4% C国:5.8% D国:1.0% E国:1.3%・・]と算出される。
以上の結果より、最終的に当該外国人の国籍を74.2%の推定率で、A国であると推定する。
なお、三次推定にも、二次推定と同様の各種の統計処理上の調整を行うことができる。
【0044】
【表2】