(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-21
(45)【発行日】2024-03-29
(54)【発明の名称】話者識別プログラム、話者識別方法、および話者識別装置
(51)【国際特許分類】
G10L 17/04 20130101AFI20240322BHJP
【FI】
G10L17/04
(21)【出願番号】P 2021506872
(86)(22)【出願日】2019-03-18
(86)【国際出願番号】 JP2019011295
(87)【国際公開番号】W WO2020188724
(87)【国際公開日】2020-09-24
【審査請求日】2021-05-18
【審判番号】
【審判請求日】2023-07-11
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100104190
【氏名又は名称】酒井 昭徳
(72)【発明者】
【氏名】長谷川 創
【合議体】
【審判長】五十嵐 努
【審判官】板垣 有紀
【審判官】高橋 宣博
(56)【参考文献】
【文献】米国特許第6424946(US,B1)
【文献】中川聖一,森一将,“発話間のVQひずみを用いた話者交替識別と話者クラスタリング”,電子情報通信学会論文誌,2002年11月,Vol.J85-D-II,No.11,p.1645-1655
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00-17/26
(57)【特許請求の範囲】
【請求項1】
コンピュータに、
入力された音声情報から話者を識別する識別モデルに対して、1以上の第1人物のそれぞれの第1人物についての、前記第1人物の発話音声を示す音声情報と前記第1人物を示すラベル情報とが関連付けられた第1の学習データと、前記1以上の第1人物とは異なる他の人物のそれぞれについての、前記他の人物の発話音声を示す音声情報と前記1以上の第1人物とは異なる人物であることを示すラベル情報とが関連付けられた第2の学習データとを用いて、学習処理を実行し、第1の識別モデルを生成し、
会話音声を示す音声情報を、生成した前記第1の識別モデルに入力し、前記会話音声に含まれる複数の発話区間のそれぞれの発話区間に発話した話者を、前記1以上の第1人物および前記異なる人物のいずれかの人物に識別し、
前記1以上の第1人物以外に、それぞれ前記異なる人物となり得る1以上の第2人物の指定を受け付け、
前記複数の発話区間のうち、話者が前記異なる人物であると識別された発話区間を、当該発話区間の音声特徴に基づいて、指定された前記1以上の第2人物のうち、それぞれ異なる第2人物に対応付けられた、
指定された前記1以上の第2人物の数分
存在する1以上のグループの
いずれかのグループに分類し、
話者が前記1以上の第1人物のいずれかの第1人物であると識別された発話区間と、前記いずれかの第1人物とを対応付けて出力し、話者が前記異なる人物であると識別された発話区間と、前記1以上のグループのうち当該発話区間を分類したグループに対応する前記1以上の第2人物のいずれかの第2人物とを対応付けて出力する、
処理を実行させることを特徴とする話者識別プログラム。
【請求項2】
前記コンピュータに、
前記1以上の第1人物の指定を受け付ける、処理を実行させ、
前記生成する処理は、
前記識別モデルに対して、指定された前記1以上の第1人物のそれぞれの第1人物についての前記第1の学習データと、前記他の人物のそれぞれについての前記第2の学習データとを用いて、学習処理を実行し、前記第1の識別モデルを生成する、ことを特徴とする請求項1に記載の話者識別プログラム。
【請求項3】
前記コンピュータに、
話者が前記異なる人物であると識別された発話区間の音声情報を、前記識別モデルに入力し、前記発話区間の音声特徴を取得する、処理を実行させ、
前記分類する処理は、
前記複数の発話区間のうち、話者が前記異なる人物であると識別された発話区間を、取得した前記音声特徴に基づいて、指定された前記1以上の第2人物のうち、それぞれ異なる第2人物に対応付けられた、
指定された前記1以上の第2人物の数分
存在する1以上のグループの
いずれかのグループに分類する、
処理を実行させることを特徴とする請求項1または2に記載の話者識別プログラム。
【請求項4】
前記コンピュータに、
話者が前記異なる人物であると識別された発話区間に対応付ける第2人物の指定を受け付ける、処理を実行させ、
前記出力する処理は、
話者が前記異なる人物であると識別された発話区間と、指定された前記第2人物とを対応付けて出力する、ことを特徴とする請求項1~3のいずれか一つに記載の話者識別プログラム。
【請求項5】
コンピュータが、
入力された音声情報から話者を識別する識別モデルに対して、1以上の第1人物のそれぞれの第1人物についての、前記第1人物の発話音声を示す音声情報と前記第1人物を示すラベル情報とが関連付けられた第1の学習データと、前記1以上の第1人物とは異なる他の人物のそれぞれについての、前記他の人物の発話音声を示す音声情報と前記1以上の第1人物とは異なる人物であることを示すラベル情報とが関連付けられた第2の学習データとを用いて、学習処理を実行し、第1の識別モデルを生成し、
会話音声を示す音声情報を、生成した前記第1の識別モデルに入力し、前記会話音声に含まれる複数の発話区間のそれぞれの発話区間に発話した話者を、前記1以上の第1人物および前記異なる人物のいずれかの人物に識別し、
前記1以上の第1人物以外に、それぞれ前記異なる人物となり得る1以上の第2人物の指定を受け付け、
前記複数の発話区間のうち、話者が前記異なる人物であると識別された発話区間を、当該発話区間の音声特徴に基づいて、指定された前記1以上の第2人物のうち、それぞれ異なる第2人物に対応付けられた、
指定された前記1以上の第2人物の数分
存在する1以上のグループの
いずれかのグループに分類し、
話者が前記1以上の第1人物のいずれかの第1人物であると識別された発話区間と、前記いずれかの第1人物とを対応付けて出力し、話者が前記異なる人物であると識別された発話区間と、前記1以上のグループのうち当該発話区間を分類したグループに対応する前記1以上の第2人物のいずれかの第2人物とを対応付けて出力する、
処理を実行することを特徴とする話者識別方法。
【請求項6】
入力された音声情報から話者を識別する識別モデルに対して、1以上の第1人物のそれぞれの第1人物についての、前記第1人物の発話音声を示す音声情報と前記第1人物を示すラベル情報とが関連付けられた第1の学習データと、前記1以上の第1人物とは異なる他の人物のそれぞれについての、前記他の人物の発話音声を示す音声情報と前記1以上の第1人物とは異なる人物であることを示すラベル情報とが関連付けられた第2の学習データとを用いて、学習処理を実行し、第1の識別モデルを生成し、
会話音声を示す音声情報を、生成した前記第1の識別モデルに入力し、前記会話音声に含まれる複数の発話区間のそれぞれの発話区間に発話した話者を、前記1以上の第1人物および前記異なる人物のいずれかの人物に識別し、
前記1以上の第1人物以外に、それぞれ前記異なる人物となり得る1以上の第2人物の指定を受け付け、
前記複数の発話区間のうち、話者が前記異なる人物であると識別された発話区間を、当該発話区間の音声特徴に基づいて、指定された前記1以上の第2人物のうち、それぞれ異なる第2人物に対応付けられた、
指定された前記1以上の第2人物の数分
存在する1以上のグループの
いずれかのグループに分類し、
話者が前記1以上の第1人物のいずれかの第1人物であると識別された発話区間と、前記いずれかの第1人物とを対応付けて出力し、話者が前記異なる人物であると識別された発話区間と、前記1以上のグループのうち当該発話区間を分類したグループに対応する前記1以上の第2人物のいずれかの第2人物とを対応付けて出力する、
制御部を有することを特徴とする話者識別装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、話者識別プログラム、話者識別方法、および話者識別装置に関する。
【背景技術】
【0002】
従来、会話音声のうち、いずれかの発話区間に発話している話者を識別する技術がある。先行技術としては、例えば、予め、特定の人物が特定のフレーズを発話した音声を学習しておき、会話音声のうち、いずれかの発話区間に発話している話者が、特定の人物であるか否かを識別可能にするものがある。
【先行技術文献】
【非特許文献】
【0003】
【文献】“Speaker Recognition API”、[online]、[平成31年3月14日検索]、インターネット< URL :https://docs.microsoft.com/en-us/azure/cognitive-services/speaker-recognition/home>
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術では、話者を識別することが難しい。例えば、予め、特定の人物が特定のフレーズを発話した音声を学習していなければ、会話音声のうち、いずれかの発話区間に発話している話者が、特定の人物であるか否かを識別することができない。
【0005】
1つの側面では、本発明は、話者を精度よく識別可能にすることを目的とする。
【課題を解決するための手段】
【0006】
1つの実施態様によれば、入力された音声情報から話者を識別する識別モデルに対して、1以上の人物のそれぞれの人物についての、前記人物の発話音声を示す音声情報と前記人物を示すラベル情報とが関連付けられた第1の学習データと、前記1以上の人物とは異なる他の人物のそれぞれについての、前記他の人物の発話音声を示す音声情報と前記1以上の人物とは異なる人物であることを示すラベル情報とが関連付けられた第2の学習データとを用いて、学習処理を実行し、第1の識別モデルを生成し、会話音声を示す音声情報を、生成した前記第1の識別モデルに入力し、前記会話音声に含まれる複数の発話区間のそれぞれの発話区間に発話した話者を、前記1以上の人物および前記異なる人物のいずれかの人物に識別し、話者が前記異なる人物であると識別された発話区間を、前記発話区間の音声特徴に基づいて、1以上のグループのそれぞれのグループに分類し、話者が前記1以上の人物のいずれかの人物であると識別された発話区間と、前記いずれかの人物とを対応付けて出力し、話者が前記異なる人物であると識別された発話区間を分類した結果を出力する話者識別プログラム、話者識別方法、および話者識別装置が提案される。
【発明の効果】
【0007】
一態様によれば、話者を精度よく識別可能にすることが可能になる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施の形態にかかる話者識別方法の一実施例を示す説明図である。
【
図2】
図2は、話者識別システム200の一例を示す説明図である。
【
図3】
図3は、話者識別装置100のハードウェア構成例を示すブロック図である。
【
図4】
図4は、話者識別装置100の機能的構成例を示すブロック図である。
【
図5】
図5は、学習済みNN500の一例を示す説明図である。
【
図6】
図6は、学習データの一例を示す説明図である。
【
図7】
図7は、特定人物の指定を受け付ける一例を示す説明図である。
【
図8】
図8は、学習済みNN500を更新する一例を示す説明図である。
【
図9】
図9は、発話区間にラベルを付与する一例を示す説明図である。
【
図10】
図10は、発話区間を分類する一例を示す説明図である。
【
図11】
図11は、対応結果画面1100を表示する一例を示す説明図である。
【
図12】
図12は、全体処理手順の一例を示すフローチャートである。
【
図13】
図13は、ハイブリッド話者識別処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下に、図面を参照して、本発明にかかる話者識別プログラム、話者識別方法、および話者識別装置の実施の形態を詳細に説明する。
【0010】
(実施の形態にかかる話者識別方法の一実施例)
図1は、実施の形態にかかる話者識別方法の一実施例を示す説明図である。話者識別装置100は、音声から話者を識別可能にするためのコンピュータである。話者識別装置100は、例えば、話者を識別しようとする作業者に利用される。話者識別装置100は、例えば、サーバやPC(Personal Computer)などである。
【0011】
ここで、従来では、音声から話者を精度よく識別することが難しいという問題がある。例えば、話者が、予め登録された特定の人物であるか否かを識別可能にする特定話者識別手法や、話者に、具体的な人物ではなくIDを割り当てて識別可能にする不特定話者識別手法などが考えられるが、話者を精度よく識別することが難しい。
【0012】
具体的には、予め、特定の人物が特定のフレーズを発話した音声を、識別モデルに学習させておき、会話音声のいずれかの発話区間の話者が特定の人物であるか否かを、識別モデルを用いて識別可能にする特定話者識別手法の一手法が考えられる。しかしながら、この手法では、予め、特定の人物が特定のフレーズを発話した音声を用意し、識別モデルに学習させなければ、発話区間の話者が、特定の人物であるか否かを識別可能にすることはできない。
【0013】
従って、複数の人物が会話する会話音声のいずれかの発話区間の話者が、複数の人物のいずれの人物であるかを識別しようとする場合、複数の人物のそれぞれの人物が特定のフレーズを発話した音声を用意し、識別モデルに学習させておく必要がある。このため、話者を識別しようとする作業者にかかる作業負担の増大化を招いてしまう。
【0014】
さらに、複数の人物のいずれかの人物が特定のフレーズを発話した音声を用意し、識別モデルに学習させることができない状況がある。例えば、社内の何人かの人物と、社外の何人かの人物とが参加する会議における会話音声のいずれかの発話区間の話者を識別しようとする状況では、予め、社外の人物が特定のフレーズを発話した音声を用意することが難しい。このため、社外の人物が特定のフレーズを発話した音声を、識別モデルに学習させなければ、会話音声のいずれかの発話区間の話者が、実際には社外の人物でも、社内のいずれかの人物としか識別することができず、話者を精度よく識別することができない。
【0015】
具体的には、会話音声のそれぞれの発話区間の音声特徴に基づいて、会話音声のそれぞれの発話区間を、不特定な人物に対応する1以上のグループのいずれかのグループに分類し、IDを割り当てる不特定話者識別手法の一手法が考えられる。しかしながら、この手法では、グループが、具体的にいずれの人物に対応するグループであるかは特定されないため、発話区間の話者を、具体的な人物に識別することができない。このため、作業者は、発話区間の音声を聞かなければ、発話区間の話者が、具体的にいずれの人物であるかを識別することはできず、作業者にかかる作業負担の増大化を招く。
【0016】
また、この手法では、発話区間を精度よくグループに分類することは難しく、異なる人物に対応する発話区間を同じグループに分類し、または、同じ人物に対応する発話区間を異なるグループに分類することがあり得る。例えば、会話音声内で、人物間の発話量の偏りが大きいほど、発話区間を精度よくグループに分類することは難しくなる。また、例えば、会話音声内で、発話した人物が多いほど、発話区間を精度よくグループに分類することは難しくなる。結果として、作業者が、発話区間の話者が、具体的にいずれの人物であるかを、精度よく識別することは難しく、作業者にかかる作業負担の増大化を招く。
【0017】
そこで、本実施の形態では、特定話者識別に関する一手法と、不特定話者識別に関する一手法とを組み合わせ可能にすることにより、話者を精度よく識別可能にすることができ、作業者にかかる作業負担の低減化を図ることができる話者識別方法について説明する。
【0018】
図1において、話者識別装置100は、識別モデルを有する。識別モデルは、入力された音声情報から話者を識別する。識別モデルは、例えば、ニューラルネットワークである。以下の説明では、ニューラルネットワークを「NN(Neural Network)」と表記する場合がある。識別モデルは、具体的には、人物の発話音声を示す音声情報と人物を示すラベル情報とが関連付けられた、100人分~200人分の学習データに基づき生成された学習済みモデルである。
図1の例では、話者識別装置100は、学習済みモデル110を有する。
【0019】
また、話者識別装置100は、1以上の特定人物のそれぞれの特定人物についての第1の学習データを有する。第1の学習データは、特定人物の発話音声を示す音声情報と、特定人物を示すラベル情報とが関連付けられた学習データである。特定人物は、学習データを予め用意可能な人物である。
図1の例では、特定人物は、Aさん、Bさん、および、Cさんである。
図1の例では、話者識別装置100は、第1の学習データ101~103を有する。
【0020】
話者識別装置100は、1以上の特定人物とは異なる他の人物のそれぞれについての第2の学習データを有する。第2の学習データは、他の人物の発話音声を示す音声情報と、1以上の特定人物とは異なる人物であることを示すラベル情報とが関連付けられた学習データである。ラベル情報は、具体的な人物を示さず、ダミー人物であることを示す。
図1の例では、話者識別装置100は、第2の学習データ104~107を有する。
【0021】
(1-1)話者識別装置100は、識別モデルに対して、1以上の特定人物のそれぞれの特定人物についての第1の学習データと、1以上の特定人物とは異なる他の人物のそれぞれについての第2の学習データとを用いて、学習処理を実行する。話者識別装置100は、学習処理の結果、第1の識別モデルを生成する。第1の識別モデルは、発話区間に発話した話者を、1以上の特定人物および1以上の特定人物とは異なる人物のいずれかの人物に識別する。第1の識別モデルは、例えば、学習済みモデルを学習処理により更新した後の更新済みモデルである。
図1の例では、話者識別装置100は、更新済みモデル111を生成する。
【0022】
(1-2)話者識別装置100は、会話音声を示す音声情報を取得する。話者識別装置100は、取得した音声情報を、生成した第1の識別モデルに入力し、会話音声に含まれる複数の発話区間のそれぞれの発話区間に発話した話者を、1以上の特定人物および1以上の特定人物とは異なる人物のいずれかの人物に識別する。
【0023】
図1の例では、話者識別装置100は、会話音声を示す音声情報120を取得し、更新済みモデル111に入力し、複数の発話区間のそれぞれの発話区間に発話した話者を識別する。ここで、会話音声は、例えば、発話区間131~135を含む。話者識別装置100は、具体的には、発話区間131に発話した話者をAさんと識別し、発話区間132に発話した話者をBさんと識別し、発話区間133に発話した話者をCさんと識別する。また、話者識別装置100は、発話区間134に発話した話者をダミー人物と識別し、発話区間135に発話した話者をダミー人物と識別する。
【0024】
これによれば、話者識別装置100は、会話音声のうち、1以上の特定人物とは異なる人物が発話した発話区間が含まれても、発話区間に発話した話者を精度よく識別することができる。話者識別装置100は、例えば、発話区間に発話した話者が、実際には、1以上の特定人物とは異なる人物であれば、1以上の特定人物のいずれかの特定人物と誤って識別することを防止することができる。
【0025】
このため、話者識別装置100は、話者が特定人物と識別した発話区間に、実際には話者が特定人物とは異なる人物である発話区間が混在することを防止することができ、話者を精度よく識別することができる。
図1の例では、話者識別装置100は、発話区間134,135に発話した話者を、AさんとBさんとCさんとのいずれかの特定人物とは識別することなく、ダミー人物と識別することができる。
【0026】
(1-3)話者識別装置100は、話者が1以上の特定人物とは異なる人物であると識別された発話区間を、当該発話区間の音声特徴に基づいて、1以上のグループのそれぞれのグループに分類する。グループは、不特定な人物に対応し、人物単位で存在する。グループは、例えば、人物を示すラベルがIDとして付与される。IDとして付与される、人物を示すラベルは、便宜上のラベルであり、1以上の特定人物以外で、会話音声内で発話している人物に対応しなくてもよい。音声特徴は、例えば、学習済みモデルを用いて取得される。
【0027】
図1の例では、Dさんを示すラベルがIDとして付与されたグループと、Eさんを示すラベルがIDとして付与されたグループとが存在する。話者識別装置100は、発話区間134,135の音声情報を、学習済みモデル140に入力し、発話区間134,135の音声特徴を取得する。学習済みモデル140は、例えば、学習済みモデル110と同一である場合があってもよい。話者識別装置100は、取得した発話区間134,135の音声特徴に基づいて、発話区間134を、Dさんを示すラベルがIDとして付与されたグループに分類し、発話区間135を、Eさんを示すラベルがIDとして付与されたグループに分類する。
【0028】
これによれば、話者識別装置100は、予め第1の学習データを用意することが困難な、1以上の特定人物とは異なる人物が発話した発話区間を、人物単位でグループに分類することができ、話者を具体的に識別しやすくすることができる。また、話者識別装置100は、話者が1以上の特定人物のいずれかの特定人物である発話区間を特定済みであり、分類対象とする発話区間の数の低減化を図ることができるため、発話区間を精度よく分類しやすくすることができる。
【0029】
(1-4)話者識別装置100は、話者を1以上の特定人物のいずれかの特定人物と識別した識別結果、および、1以上の特定人物とは異なる人物に関する発話区間を分類した分類結果を出力する。出力先は、例えば、話者識別装置100が有する表示部である。話者識別装置100は、例えば、話者が1以上の特定人物のいずれかの特定人物であると識別された発話区間と、いずれかの特定人物とを対応付けて出力する。また、話者識別装置100は、例えば、話者が1以上の特定人物とは異なる人物であると識別された発話区間を分類した結果を出力する。
【0030】
図1の例では、話者識別装置100は、Aさんと対応付けて話者をAさんと識別した発話区間131を表示し、Bさんと対応付けて話者をBさんと識別した発話区間132を表示し、Cさんと対応付けて話者をCさんと識別した発話区間133を表示する。また、話者識別装置100は、Dさんと対応付けてDさんを示すラベルがIDとして付されたグループに分類された発話区間134を表示し、Eさんと対応付けてEさんを示すラベルがIDとして付されたグループに分類された発話区間135を表示する。
【0031】
これにより、話者識別装置100は、会話音声に含まれる複数の発話区間のそれぞれの発話区間に発話した話者を、精度よく識別可能にすることができる。話者識別装置100は、例えば、発話区間に発話した話者が、実際には1以上の特定人物のいずれかの特定人物であれば、1以上の特定人物のいずれかの特定人物と精度よく識別することができる。
【0032】
また、話者識別装置100は、例えば、話者が1以上の特定人物とは異なる人物と識別された発話区間を、人物単位のグループに精度よく分類することができる。このため、話者識別装置100は、作業者が、グループに分類された発話区間の音声を聞いて、グループに分類された発話区間に発話した話者を、具体的な人物に識別しようとする際、作業者にかかる作業負担の低減化を図ることができる。
【0033】
ここでは、話者識別装置100が、1以上の特定人物のそれぞれの特定人物についての第1の学習データを有する場合について説明したが、これに限らない。例えば、話者識別装置100が、複数の特定人物のそれぞれの特定人物についての第1の学習データを有し、第1の識別モデルの生成の際、指定された1以上の特定人物のそれぞれの特定人物についての第1の学習データを抽出する場合があってもよい。
【0034】
ここでは、話者識別装置100が、第1の識別モデルを生成する場合について説明したが、これに限らない。例えば、話者識別装置100とは異なる装置が、第1の識別モデルを生成する場合があってもよい。この場合、話者識別装置100は、第1の識別モデルを生成した装置から、第1の識別モデルを取得することになる。
【0035】
ここでは、話者識別装置100が、話者を1以上の特定人物のいずれかの特定人物と識別した識別結果、および、1以上の特定人物とは異なる人物に関する発話区間を分類した分類結果を、自装置の表示部に表示する場合について説明したが、これに限らない。例えば、話者識別装置100が、話者を1以上の特定人物のいずれかの特定人物と識別した識別結果、および、1以上の特定人物とは異なる人物に関する発話区間を分類した分類結果を、話者識別装置100とは異なる装置に送信する場合があってもよい。
【0036】
具体的には、話者識別装置100が、話者を1以上の特定人物のいずれかの特定人物と識別した識別結果、および、1以上の特定人物とは異なる人物に関する発話区間を分類した分類結果を、
図2に示すクライアント装置201に送信する場合があってもよい。この場合、クライアント装置201は、話者を1以上の特定人物のいずれかの特定人物と識別した識別結果、および、1以上の特定人物とは異なる人物に関する発話区間を分類した分類結果を表示し、作業者が把握可能にする。
【0037】
(話者識別システム200の一例)
次に、
図2を用いて、
図1に示した話者識別装置100を適用した、話者識別システム200の一例について説明する。
【0038】
図2は、話者識別システム200の一例を示す説明図である。
図2において、話者識別システム200は、話者識別装置100と、クライアント装置201とを含む。
【0039】
話者識別システム200において、話者識別装置100とクライアント装置201とは、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
【0040】
話者識別装置100は、1以上の特定人物の指定を、クライアント装置201から受け付ける。話者識別装置100は、指定された1以上の特定人物のそれぞれの特定人物の第1の学習データと、指定された1以上の特定人物とは異なる人物の第2の学習データとを用いて、第1の識別モデルを生成する。
【0041】
話者識別装置100は、会話音声を示す音声情報を、クライアント装置201から受信する。話者識別装置100は、生成した第1の識別モデルを用いて、受信した音声情報に基づいて、1以上の特定人物のそれぞれの特定人物に関する識別結果および1以上の特定人物とは異なる人物に関する分類結果を生成する。話者識別装置100は、1以上の特定人物のそれぞれの特定人物に関する識別結果および1以上の特定人物とは異なる人物に関する分類結果を、クライアント装置201に送信する。
【0042】
クライアント装置201は、作業者が利用するコンピュータである。クライアント装置201は、受信した1以上の特定人物のそれぞれの特定人物に関する識別結果および1以上の特定人物とは異なる人物に関する分類結果を表示する。このように、話者識別装置100は、1以上の特定人物のそれぞれの特定人物に関する識別結果および1以上の特定人物とは異なる人物に関する分類結果を、クライアント装置201に提供するサービスを実現してもよい。
【0043】
(話者識別装置100のハードウェア構成例)
次に、
図3を用いて、
図2に示した話者識別システム200に含まれる話者識別装置100のハードウェア構成例について説明する。
【0044】
図3は、話者識別装置100のハードウェア構成例を示すブロック図である。
図3において、話者識別装置100は、CPU(Central Processing Unit)301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305と、ディスプレイ306と、入力装置307とを有する。また、各構成部は、バス300によってそれぞれ接続される。
【0045】
ここで、CPU301は、話者識別装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
【0046】
ネットワークI/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F303は、例えば、モデムやLANアダプタなどである。
【0047】
記録媒体I/F304は、CPU301の制御に従って記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体305は、話者識別装置100から着脱可能であってもよい。
【0048】
ディスプレイ306は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ306は、例えば、CRT(Cathode Ray Tube)、液晶ディスプレイ、有機EL(Electroluminescence)ディスプレイなどである。入力装置307は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。入力装置307は、キーボードやマウスなどであってもよく、また、タッチパネル式の入力パッドやテンキーなどであってもよい。
【0049】
話者識別装置100は、上述した構成部のほか、例えば、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、話者識別装置100は、記録媒体I/F304や記録媒体305を複数有していてもよい。また、話者識別装置100は、記録媒体I/F304や記録媒体305を有していなくてもよい。
【0050】
(クライアント装置201のハードウェア構成例)
クライアント装置201のハードウェア構成例は、例えば、
図3に示した話者識別装置100のハードウェア構成例と同様であるため、説明を省略する。
【0051】
(話者識別装置100の機能的構成例)
次に、
図4を用いて、話者識別装置100の機能的構成例について説明する。
【0052】
図4は、話者識別装置100の機能的構成例を示すブロック図である。話者識別装置100は、記憶部400と、取得部401と、学習部402と、識別部403と、分類部404と、設定部405と、出力部406とを含む。
【0053】
記憶部400は、例えば、
図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、記憶部400が、話者識別装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部400が、話者識別装置100とは異なる装置に含まれ、記憶部400の記憶内容が話者識別装置100から参照可能である場合があってもよい。
【0054】
取得部401~出力部406は、制御部の一例として機能する。取得部401~出力部406は、具体的には、例えば、
図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、
図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
【0055】
記憶部400は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部400は、入力された音声情報から話者を識別する識別モデルを記憶する。識別モデルは、入力された音声情報から話者を識別する。識別モデルは、例えば、NNである。識別モデルは、具体的には、人物の発話音声を示す音声情報と人物を示すラベル情報とが関連付けられた学習データに基づき生成される。識別モデルの生成に用いる学習データは、例えば、100人分~200人分である。記憶部400は、例えば、識別モデルを表すネットワークトポロジーとパラメータとを記憶する。
【0056】
記憶部400は、識別モデルを更新する学習処理に用いられる学習データを記憶する。学習処理は、例えば、識別モデルがNNであれば、出力層を更新する処理である。記憶部400は、例えば、複数の特定人物のそれぞれの特定人物についての第1の学習データを有する。第1の学習データは、特定人物の発話音声を示す音声情報と、特定人物を示すラベル情報とが関連付けられた学習データである。
【0057】
記憶部400は、特定人物とは異なる他の人物のそれぞれについての第2の学習データを有する。第2の学習データは、他の人物の発話音声を示す音声情報と、特定人物とは異なる人物であることを示すラベル情報とが関連付けられた学習データである。ラベル情報は、具体的な人物を示さず、ダミー人物であることを示す。
【0058】
記憶部400は、識別モデルを更新することにより生成された第1の識別モデルを記憶する。第1の識別モデルは、入力された音声情報から話者を識別する。第1の識別モデルは、例えば、NNである。記憶部400は、例えば、第1の識別モデルを表すネットワークトポロジーとパラメータとを記憶する。
【0059】
取得部401は、各機能部の処理に用いられる各種情報を取得する。取得部401は、取得した各種情報を、記憶部400に記憶し、または、各機能部に出力する。また、取得部401は、記憶部400に記憶しておいた各種情報を、各機能部に出力してもよい。取得部401は、例えば、ユーザの操作入力に基づき、各種情報を取得する。取得部401は、例えば、話者識別装置100とは異なる装置から、各種情報を受信してもよい。
【0060】
取得部401は、会話音声を示す音声情報を取得する。会話音声は、発話区間ごとに話者を識別する処理対象である。これにより、取得部401は、識別部403に、会話音声を示す音声情報を提供し、会話音声に含まれる発話区間に発話した話者を識別させることができる。
【0061】
取得部401は、第1の学習データと第2の学習データとを取得する。取得部401は、例えば、1以上の特定人物のそれぞれの特定人物についての第1の学習データと、特定人物とは異なる他の人物のそれぞれについての第2の学習データとを取得する。1以上の特定人物のそれぞれの特定人物についての第1の学習データは、例えば、記憶部400に記憶された複数の特定人物のそれぞれの特定人物についての第1の学習データである。これにより、取得部401は、学習部402に第1の学習データと第2の学習データとを提供し、学習部402が、識別モデルを基に、話者を1以上の特定人物のそれぞれの特定人物と識別可能な第1の識別モデルを生成可能にすることができる。
【0062】
取得部401は、1以上の特定人物の指定を受け付け、記憶部400に記憶された複数の特定人物のそれぞれの特定人物についての第1の学習データのうち、指定された1以上の特定人物のそれぞれの特定人物についての第1の学習データを抽出してもよい。特定人物は、学習データを予め用意可能な人物である。指定される特定人物は、複数の人物のうち、取得部401が取得する会話音声内で発話している特定人物であることが好ましい。これにより、取得部401は、学習部402に第1の学習データと第2の学習データとを提供し、学習部402が、識別モデルを基に、話者を指定された1以上の特定人物のそれぞれの特定人物と識別可能な第1の識別モデルを生成可能にすることができる。
【0063】
取得部401は、特定人物または他の人物の発話音声を示す音声情報を取得し、第1の学習データまたは第2の学習データを生成してもよい。取得部401は、例えば、特定人物または他の人物の発話音声を示す音声情報を取得し、所定の録音環境に合わせて、取得した音声情報を加工する。所定の録音環境は、処理対象の会話音声が録音されると予測される録音環境である。
【0064】
そして、取得部401は、特定人物の加工後の音声情報と、特定人物を示すラベル情報とが関連付けられた第1の学習データを作成する。または、取得部401は、他の人物の加工後の音声情報と、特定人物とは異なる人物であることを示すラベル情報とが関連付けられた第2の学習データを作成する。これにより、取得部401は、学習部402が、話者を精度よく識別可能な第1の識別モデルを生成可能にすることができる。
【0065】
学習部402は、識別モデルに対して、各種学習データを用いて学習処理を実行し、第1の識別モデルを生成する。学習部402は、識別モデルに対して、1以上の特定人物のそれぞれの特定人物についての第1の学習データと、特定人物とは異なる他の人物のそれぞれについての第2の学習データとを用いて、学習処理を実行し、第1の識別モデルを生成する。
【0066】
学習部402は、例えば、識別モデルに、第1の学習データに含まれる音声情報を入力した場合に、第1の学習データに含まれるラベル情報が示す特定人物を識別可能に、識別モデルを更新する。また、学習部402は、例えば、識別モデルに、第2の学習データに含まれる音声情報を入力した場合に、特定人物とは異なる他の人物と識別されるように、識別モデルを更新する。これにより、学習部402は、識別モデルを基に、話者を1以上の特定人物のそれぞれの特定人物と識別可能な第1の識別モデルを生成することができる。
【0067】
学習部402は、識別モデルに対して、指定された1以上の特定人物のそれぞれの特定人物についての第1の学習データと、特定人物とは異なる他の人物のそれぞれについての第2の学習データとを用いて、学習処理を実行し、第1の識別モデルを生成する。
【0068】
学習部402は、例えば、識別モデルに、第1の学習データに含まれる音声情報を入力した場合に、第1の学習データに含まれるラベル情報が示す特定人物を識別可能に、識別モデルを更新する。また、学習部402は、例えば、識別モデルに、第2の学習データに含まれる音声情報を入力した場合に、特定人物とは異なる他の人物と識別されるように、識別モデルを更新する。
【0069】
学習部402は、具体的には、
図8に後述するように、第1の識別モデルを生成する。これにより、学習部402は、識別モデルを基に、話者を、複数の特定人物のうち、指定された1以上の特定人物のそれぞれの特定人物と識別可能であり、未指定の特定人物とは識別しない第1の識別モデルを生成することができる。このため、学習部402は、話者を、複数の特定人物のうち、会話音声内で発話していない特定人物とは識別しない第1の識別モデルを生成可能にすることができる。結果として、学習部402は、識別部403が、第1の識別モデルを用いて、会話音声の発話区間に発話した話者を、精度よく識別可能にすることができる。
【0070】
識別部403は、会話音声を示す音声情報を、生成した第1の識別モデルに入力し、会話音声に含まれる複数の発話区間のそれぞれの発話区間に発話した話者を、1以上の特定人物および特定人物とは異なる人物のいずれかの人物に識別する。
【0071】
これにより、識別部403は、会話音声のうち、特定人物とは異なる人物が発話した発話区間が含まれても、発話区間に発話した話者を精度よく識別することができる。識別部403は、例えば、発話区間に発話した話者が、実際には特定人物とは異なる人物であれば、1以上の特定人物のいずれかの特定人物と誤って識別することを防止することができる。このため、識別部403は、話者が特定人物と識別した発話区間に、実際には話者が特定人物とは異なる人物である発話区間が混在することを防止することができ、発話区間に発話した話者を精度よく識別することができる。
【0072】
分類部404は、話者が特定人物とは異なる人物であると識別された発話区間を、発話区間の音声特徴に基づいて、1以上のグループのそれぞれのグループに分類する。分類部404は、例えば、話者が特定人物とは異なる人物であると識別された発話区間の音声情報を、識別モデルに入力し、発話区間の音声特徴を取得する。分類部404は、話者が特定人物とは異なる人物であると識別された発話区間を、取得した音声特徴に基づいて、1以上のグループのそれぞれのグループに分類する。分類部404は、具体的には、発話区間の音声特徴をクラスタリングすることにより、発話区間を、1以上のグループのそれぞれのグループに分類する。
【0073】
これにより、分類部404は、予め第1の学習データを用意することが困難な、特定人物とは異なる人物が発話した発話区間を、人物単位でグループに分類することができ、作業者が、話者を具体的に識別しやすくすることができる。また、分類部404は、話者が1以上の特定人物のいずれかの特定人物である発話区間を特定済みであり、分類対象とする発話区間の数が低減されるため、発話区間を精度よく分類しやすくすることができる。
【0074】
設定部405は、話者が特定人物とは異なる人物であると識別された発話区間に対応付ける人物の指定を受け付ける。設定部405は、出力部406が、話者が特定人物とは異なる人物であると識別された発話区間を分類した結果を出力した後、ユーザの操作入力に基づき、話者が特定人物とは異なる人物であると識別された発話区間に対応付ける人物の指定を受け付ける。これにより、設定部405は、作業者が、話者を具体的に識別した結果を取得することができる。
【0075】
出力部406は、いずれかの機能部の処理結果を出力する。出力形式は、例えば、ディスプレイ306への表示、プリンタへの印刷出力、ネットワークI/F303による外部装置への送信、または、メモリ302や記録媒体305などの記憶領域への記憶である。
【0076】
出力部406は、話者が1以上の特定人物のいずれかの特定人物であると識別された発話区間と、いずれかの人物とを対応付けて出力し、話者が特定人物とは異なる人物であると識別された発話区間を分類した結果を出力する。出力部406は、例えば、話者が1以上の特定人物のいずれかの特定人物であると識別された発話区間と、いずれかの人物とを対応付けて、ディスプレイ306に表示する。また、出力部406は、例えば、話者が特定人物とは異なる人物であると識別された発話区間を分類した結果を、ディスプレイ306に表示する。
【0077】
これにより、出力部406は、話者を1以上の特定人物のいずれかの特定人物と識別した識別結果を、作業者が把握可能にすることができ、作業者にかかる作業負担の低減化を図ることができる。また、出力部406は、1以上の特定人物とは異なる人物に関する発話区間を分類した分類結果を、作業者が把握可能にすることができる。そして、出力部406は、作業者が、グループに分類された発話区間の音声を聞いて、グループに分類された発話区間に発話した話者を、具体的な人物に識別可能にすることができ、作業者にかかる作業負担の低減化を図ることができる。
【0078】
出力部406は、話者が特定人物とは異なる人物であると識別された発話区間と、指定された人物とを対応付けて出力してもよい。出力部406は、例えば、話者が特定人物とは異なる人物であると識別された発話区間と、指定された人物とを対応付けて、ディスプレイ306に表示する。これにより、出力部406は、作業者が、グループに分類された発話区間に発話した話者を、具体的な人物に識別した結果を、参照可能にすることができ、作業者の利便性の向上を図ることができる。
【0079】
(話者識別装置100の動作例)
次に、
図5~
図11を用いて、話者識別装置100の動作例について説明する。まず、
図5を用いて、話者識別装置100が記憶する学習済みNN500の一例について説明する。
【0080】
図5は、学習済みNN500の一例を示す説明図である。
図5において、学習済みNN500は、入力層と、1以上の中間層と、出力層とを有する。入力層と中間層と出力層との各層は、1以上のノードを有する。ノードは、自ノードに入力された値に所定の処理を実行し、所定の処理により得られた値を出力する。
【0081】
学習済みNN500は、入力層の1以上のノードで、単位時間分の音声情報の入力を受け付ける。学習済みNN500は、例えば、入力層の1以上のノードのそれぞれのノードで、単位時間分の音声情報における各時刻の特徴量の入力を受け付ける。学習済みNN500は、単位時間分の音声情報が入力されたことに応じて、中間層および出力層のノードに規定された処理を実行し、出力層の1以上のノードの出力値により、単位時間に発話した話者の識別結果を表現する。
【0082】
学習済みNN500は、例えば、100人分~200人分の人物のそれぞれについての、人物の発話音声を示す音声情報と人物を示すラベル情報とが関連付けられた学習データに基づき生成される。このため、学習済みNN500は、話者を識別する目的に適したネットワークトポロジーを形成する傾向がある。また、学習済みNN500は、話者を100人分~200人分の人物のいずれかの人物に識別可能である。換言すれば、出力層は、100人分~200人分の人物のそれぞれに対応するノードを有し、話者を100人分~200人分の人物のいずれかの人物に識別した識別結果を表現可能である。
【0083】
これにより、話者識別装置100は、話者を識別する目的に適したネットワークトポロジーを形成する学習済みNN500を記憶しておくことができる。話者識別装置100は、学習済みNN500に基づき、話者を識別する目的に適したネットワークトポロジーを流用した、
図9に後述するような更新済みNN910を生成可能にすることができる。更新済みNN910は、後述する会議音声のいずれかの発話区間に発話した話者を、実際に識別しようとする際に用いられる。次に、
図6を用いて、話者識別装置100が記憶する学習データの一例について説明する。
【0084】
図6は、学習データの一例を示す説明図である。
図6において、学習データは、入力データと正解データのセットである。入力データは、発話音声を示す音声情報である。正解データは、話者を示すラベル情報である。
図6の例では、話者識別装置100は、学習データ610と、学習データ620と、学習データ630と、学習データ640と、学習データ650と、学習データ660となどを記憶する。
【0085】
学習データ610と、学習データ620と、学習データ630とは、話者を特定人物と識別可能にするための、特定人物についての学習データである。特定人物は、学習データを予め用意可能な人物である。学習データ610は、音声情報611と、Aさんを示すラベル情報612とを関連付ける。学習データ620は、音声情報621と、Bさんを示すラベル情報622とを関連付ける。学習データ630は、音声情報631と、Cさんを示すラベル情報632とを関連付ける。話者識別装置100は、AさんとBさんとCさんと以外の特定人物についての学習データを記憶していてもよい。
【0086】
学習データ640と、学習データ650と、学習データ660とは、話者をダミーと識別可能にするための学習データである。学習データ640は、音声情報641と、ダミーを示すラベル情報642とを関連付ける。学習データ650は、音声情報651と、ダミーを示すラベル情報652とを関連付ける。学習データ660は、音声情報661と、ダミーを示すラベル情報662とを関連付ける。話者識別装置100は、学習データ640と、学習データ650と、学習データ660と以外に、話者をダミーと識別可能にするための学習データを記憶していてもよい。
【0087】
これにより、話者識別装置100は、学習データに基づき、後述する会議音声のいずれかの発話区間に発話した話者を、実際に識別しようとする際に用いられる、
図9に後述するような更新済みNN910を生成可能にすることができる。次に、
図7を用いて、話者識別装置100が特定人物の指定を受け付ける一例について説明する。
【0088】
図7は、特定人物の指定を受け付ける一例を示す説明図である。
図7において、話者識別装置100は、参加者追加画面700を、ディスプレイ306に表示する。話者識別装置100は、参加者追加画面700を介して、会議の参加者となる特定人物の指定を受け付ける。
図7の例では、話者識別装置100は、特定人物であるAさんとBさんとCさんとの指定を受け付ける。
【0089】
これにより、話者識別装置100は、会議の参加者となり、後述する会議音声のいずれかの発話区間に発話すると、作業者が判断した特定人物の指定を受け付けることができる。このため、話者識別装置100は、
図9に後述するような更新済みNN910を生成する際に、いずれの特定人物についての学習データを利用すればよいのかを判断可能にすることができる。そして、話者識別装置100は、
図9に後述するような会議音声900の発話区間に発話した話者を識別することに適した、
図9に後述するような更新済みNN910を生成可能にすることができる。また、話者識別装置100は、記憶している学習データのすべてを利用する場合に比べて、
図9に後述するような更新済みNN910を生成する際にかかる処理量の低減化を図ることができる。
【0090】
また、話者識別装置100は、特定人物ではなく、予め学習データが用意されていない、会議の参加者となる人物の指定を受け付けてもよい。話者識別装置100は、例えば、DさんとEさんとの指定を受け付けてもよい。これにより、話者識別装置100は、発話区間をグループに分類した際に、グループのIDとして利用可能な、人物を示すラベルを取得することができる。次に、
図8を用いて、話者識別装置100が、指定された特定人物についての学習データに基づいて、学習済みNN500を更新し、更新済みNN910を生成する一例について説明する。
【0091】
図8は、学習済みNN500を更新する一例を示す説明図である。
図8において、話者識別装置100は、
図6に示した学習データの中から、
図7において指定された1以上の特定人物のそれぞれの特定人物についての学習データを抽出する。
【0092】
話者識別装置100は、例えば、学習データ610を抽出し、音声情報611を学習済みNN500の入力層に入力した場合に、学習済みNN500の出力層が、ラベル情報612が示すAさんを表現するように、学習済みNN500の出力層を更新する。話者識別装置100は、同様に、学習データ620や学習データ630を抽出し、学習済みNN500の出力層を更新する。また、話者識別装置100は、同様に、学習データ640や学習データ650や学習データ660を抽出し、学習済みNN500の出力層を更新する。
【0093】
これにより、話者識別装置100は、話者が指定された特定人物であれば話者を指定された特定人物と識別可能であり、話者が指定された特定人物でなければ話者をダミーと識別可能に、学習済みNN500を更新することができる。そして、話者識別装置100は、
図9に後述するような更新済みNN910を生成することができる。次に、
図9を用いて、話者識別装置100が、特定話者識別処理により、更新済みNN910を用いて、後述する会議音声のいずれかの発話区間に発話した話者を識別し、後述する会議音声のいずれかの発話区間にラベルを付与する一例について説明する。
【0094】
図9は、発話区間にラベルを付与する一例を示す説明図である。
図9において、話者識別装置100は、会議音声900を取得する。話者識別装置100は、会議音声900からノイズ区間を除去し、発話区間を抽出する。話者識別装置100は、発話区間の音声情報901を、更新済みNN910に入力し、発話区間に発話した話者を識別し、発話区間に識別した話者のラベルを付与する。
【0095】
話者識別装置100は、具体的には、発話区間の音声情報901を、単位時間ごとの音声情報に分割する。話者識別装置100は、単位時間ごとの音声情報を、それぞれ、更新済みNN910の入力層に入力し、単位時間ごとに発話した話者を識別する。話者識別装置100は、発話区間内で、単位時間に発話した話者として識別された回数が最も多い人物を、発話区間に発話した話者として識別する。話者識別装置100は、発話区間に対し、発話区間に発話した話者として識別された人物を示すラベルを付与する。
【0096】
これにより、話者識別装置100は、会議音声900から抽出した発話区間に発話した話者が、指定された特定人物であれば、発話区間に特定人物を示すラベルを付与することができる。また、話者識別装置100は、会議音声900から抽出した発話区間に発話した話者が、指定された特定人物とは異なる他の人物であれば、発話区間にダミーを示すラベルを付与することができる。このため、話者識別装置100は、発話区間に発話した話者を、精度よく識別することができる。次に、
図10を用いて、話者識別装置100が、不特定話者識別処理により、ダミーを示すラベルが付与された発話区間を、さらに分類する一例について説明する。
【0097】
図10は、発話区間を分類する一例を示す説明図である。
図10において、話者識別装置100は、ダミーを示すラベルが付与された発話区間の音声情報1000を、学習済みNN500に入力する。そして、話者識別装置100は、1以上の中間層のうち末尾の中間層に含まれる1以上のノードのそれぞれのノードの出力値を、音声情報1000の音声特徴として取得する。
【0098】
話者識別装置100は、具体的には、ダミーを示すラベルが付与された発話区間の音声情報1000を、単位時間ごとの音声情報に分割する。話者識別装置100は、単位時間ごとの音声情報を、それぞれ、学習済みNN500の入力層に入力し、1以上の中間層の末尾の中間層に含まれる1以上のノードのそれぞれのノードの出力値を、音声特徴として取得する。話者識別装置100は、音声特徴をクラスタリングし、ダミーを示すラベルが付与された発話区間を、グループに分類する。
【0099】
話者識別装置100は、ダミーを示すラベルが付与された発話区間に、ダミーを示すラベルが付与された発話区間を分類したグループのIDを付与する。話者識別装置100は、例えば、
図7において、特定人物ではない会議の参加者となる人物として、DさんとEさんとの指定を受け付けていれば、グループのIDとして、Dさんを示すラベルとEさんを示すラベルとを利用してもよい。話者識別装置100は、グループのIDとして、グループに割り振った番号を利用してもよい。
【0100】
これにより、話者識別装置100は、特定人物ではなく、予め学習データを用意することが困難な人物が発話した発話区間を、人物単位でグループに分類し、IDを付与することができる。また、話者識別装置100は、話者が特定人物と識別された発話区間を除いて、発話区間を分類するため、発話区間を精度よく分類しやすくすることができる。次に、
図11を用いて、話者識別装置100が、
図9において発話区間にラベルを付与した結果、および、
図10において発話区間を分類した結果を示す対応結果画面1100を表示する一例について説明する。
【0101】
図11は、対応結果画面1100を表示する一例を示す説明図である。話者識別装置100は、対応結果画面1100を、ディスプレイ306に表示する。対応結果画面1100は、参加者情報を表示するフィールド1101と、会議音声900内の発話区間を表示するフィールド1102とを含む。フィールド1101は、参加者情報として、
図7において指定された、会議の参加者となる特定人物を示すラベル、および、会議の参加者となる特定人物以外の人物を示すラベルが表示される。また、フィールド1101は、
図7において会議の参加者となる特定人物以外の人物が指定されていなければ、会議の参加者となる特定人物以外の人物を示すラベルの代わりに、グループに割り振った番号が表示されてもよい。
【0102】
フィールド1102は、フィールド1101に表示された会議の参加者となる特定人物を示すラベルと同じ列に対応付けて、特定人物が話者であると識別された発話区間を表示する。この際、発話区間は、例えば、会議音声の再生時間内での位置を特定可能に表示される。
図11の例では、再生時間は、0分~90分である。話者識別装置100は、フィールド1101に表示された会議の参加者となる特定人物を示すラベルがクリックされたことに応じて、特定人物が話者であると識別された発話区間の音声を再生してもよい。
【0103】
また、フィールド1102は、フィールド1101に表示された会議の参加者となる特定人物以外の人物を示すラベルと同じ列に対応付けて、特定人物以外の人物を示すラベルが付与されたグループに属する発話区間を表示する。この際、発話区間は、例えば、会議音声の再生時間内での位置を特定可能に表示される。話者識別装置100は、フィールド1102に表示された会議の参加者となる特定人物以外の人物を示すラベルがクリックされたことに応じて、特定人物以外の人物を示すラベルが付与されたグループに属する発話区間の音声を再生してもよい。これにより、話者識別装置100は、作業者が、グループに属する発話区間の音声を聞くことができ、グループに属する発話区間に発話した話者が、具体的に誰であるのかを識別しやすくすることができる。
【0104】
また、話者識別装置100は、フィールド1101に表示された会議の参加者となる特定人物以外の人物を示すラベルを入れ替える操作入力を受け付けてもよい。そして、話者識別装置100は、操作入力に基づき、グループに付与されたラベルを入れ替えてもよい。これにより、話者識別装置100は、作業者が、具体的に識別した話者を示すラベルを、グループに属する発話区間に対応付けることができ、発話区間に発話した話者を精度よく識別した結果を記憶しておくことができる。
【0105】
ここでは、話者識別装置100が、発話区間を特定した後、更新済みNN910を用いて発話区間に発話した話者を識別する場合について説明したが、これに限らない。例えば、話者識別装置100が、会議音声の先頭から単位時間ずつ、更新済みNN910を用いて話者を識別した後、同じ話者と識別した単位時間を集めて発話区間を特定する場合があってもよい。
【0106】
また、ここでは、話者識別装置100が、発話区間内で、単位時間に発話した話者として識別された回数が最も多い人物を、発話区間に発話した話者として識別する場合について説明したが、これに限らない。例えば、話者識別装置100が、いずれかの発話区間内で同じ話者と識別した単位時間ごとにグループ化し、いずれかの発話区間を異なる話者が発話した2以上の発話区間に分割する場合があってもよい。
【0107】
(全体処理手順)
次に、
図12を用いて、話者識別装置100が実行する、全体処理手順の一例について説明する。全体処理は、例えば、
図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0108】
図12は、全体処理手順の一例を示すフローチャートである。
図12において、話者識別装置100は、GUI(Graphical User Interface)画面を介して、複数の人物の指定を受け付ける(ステップS1201)。そして、話者識別装置100は、指定された複数の人物のうち、学習データが存在しない人物を示すラベルを生成し、グループに付与するIDとして記憶する(ステップS1202)。
【0109】
次に、話者識別装置100は、指定された複数の人物のうち、学習データが存在する1以上の特定人物のそれぞれの特定人物の発話音声を示す音声情報を含む学習データを取得する(ステップS1203)。そして、話者識別装置100は、ダミーの人物の発話音声を示す音声情報を含む学習データを取得する(ステップS1204)。
【0110】
次に、話者識別装置100は、会話音声を示す音声情報の入力を受け付ける(ステップS1205)。そして、話者識別装置100は、
図13に後述するハイブリッド話者識別処理を実行する(ステップS1206)。次に、話者識別装置100は、ハイブリッド話者識別処理の結果に基づいて、指定された複数の人物のそれぞれの人物と発話区間とを対応付けて、GUI画面に表示する(ステップS1207)。そして、話者識別装置100は、全体処理を終了する。
【0111】
(ハイブリッド話者識別処理手順)
次に、
図13を用いて、話者識別装置100が実行する、ハイブリッド話者識別処理手順の一例について説明する。ハイブリッド話者識別処理は、例えば、
図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0112】
図13は、ハイブリッド話者識別処理手順の一例を示すフローチャートである。
図13において、話者識別装置100は、学習済みモデルを、1以上の特定人物のそれぞれの特定人物の発話音声を示す音声情報を含む学習データ、および、ダミーの人物の発話音声を示す音声情報を含む学習データを用いて更新する(ステップS1301)。
【0113】
次に、話者識別装置100は、更新により得られた更新済みモデルを用いて、会話音声を示す音声情報に基づいて、
図9に示したような特定話者識別処理を実行する(ステップS1302)。そして、話者識別装置100は、特定話者識別処理の結果、1以上の特定人物のいずれかの特定人物が話者であると識別された発話区間に、当該特定人物を対応付けて記憶し、ダミーの人物が話者であると識別された発話区間を記憶する(ステップS1303)。
【0114】
次に、話者識別装置100は、学習済みモデルを用いて、ダミーの人物が話者であると識別された発話区間の音声情報に基づいて、
図10に示すような不特定話者識別処理を実行する(ステップS1304)。そして、話者識別装置100は、不特定話者識別処理の結果、ダミーの人物が話者であると識別された発話区間に、学習データが存在しない人物を示すラベルを対応付けて記憶する(ステップS1305)。その後、話者識別装置100は、ハイブリッド話者識別処理を終了する。
【0115】
ここで、話者識別装置100は、
図12および
図13に示したフローチャートの一部ステップの処理の順序を入れ替えて実行してもよい。例えば、ステップS1202~S1205の処理の順序は入れ替え可能である。また、話者識別装置100は、
図12および
図13に示したフローチャートの一部ステップの処理を省略してもよい。例えば、ステップS1202の処理は省略可能である。
【0116】
以上説明したように、話者識別装置100によれば、識別モデルに対して、特定人物についての第1の学習データと、特定人物とは異なる他の人物についての第2の学習データとを用いて、学習処理を実行し、第1の識別モデルを生成することができる。話者識別装置100によれば、会話音声を示す音声情報を、生成した第1の識別モデルに入力し、会話音声に含まれる複数の発話区間のそれぞれの発話区間に発話した話者を、特定人物および特定人物とは異なる人物のいずれかの人物に識別することができる。話者識別装置100によれば、話者が特定人物とは異なる人物であると識別された発話区間を、発話区間の音声特徴に基づいて、1以上のグループのそれぞれのグループに分類することができる。話者識別装置100によれば、話者が特定人物であると識別された発話区間と、特定人物とを対応付けて出力し、話者が特定人物とは異なる人物であると識別された発話区間を分類した結果を出力することができる。これにより、話者識別装置は、会話音声に含まれる複数の発話区間のそれぞれの発話区間に発話した話者を、精度よく識別可能にすることができる。
【0117】
話者識別装置100によれば、1以上の特定人物の指定を受け付けることができる。話者識別装置100によれば、識別モデルに対して、指定された1以上の特定人物のそれぞれの特定人物についての第1の学習データと、特定人物とは異なる他の人物のそれぞれについての第2の学習データとを用いて、学習処理を実行することができる。これにより、話者識別装置100は、会話音声内で発話する特定人物を精度よく識別可能な第1の識別モデルを生成することができる。
【0118】
話者識別装置100によれば、話者が特定人物とは異なる人物であると識別された発話区間の音声情報を、識別モデルに入力し、発話区間の音声特徴を取得することができる。話者識別装置100によれば、話者が特定人物とは異なる人物であると識別された発話区間を、取得した音声特徴に基づいて、1以上のグループのそれぞれのグループに分類することができる。これにより、話者識別装置100は、発話区間を精度よく分類することができる。
【0119】
話者識別装置100によれば、話者が特定人物とは異なる人物であると識別された発話区間に対応付ける人物の指定を受け付けることができる。話者識別装置100によれば、話者が特定人物とは異なる人物であると識別された発話区間と、指定された人物とを対応付けて出力することができる。これにより、話者識別装置100は、作業者が、話者を具体的に識別した結果を記憶しておくことができる。
【0120】
話者識別装置100によれば、特定人物とは異なる他の人物の発話音声を示す音声情報を取得し、所定の録音環境に合わせて、取得した音声情報を加工することができる。話者識別装置100によれば、特定人物とは異なる他の人物の加工後の音声情報と、特定人物とは異なる人物であることを示すラベル情報とが関連付けられた第2の学習データを作成することができる。これにより、話者識別装置100は、所定の録音環境で会話音声が録音された場合、会話音声に含まれる発話区間に発話した話者を精度よく識別可能である第1の識別モデルを生成可能にすることができる。
【0121】
なお、本実施の形態で説明した話者識別方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した話者識別プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した話者識別プログラムは、インターネット等のネットワークを介して配布してもよい。
【符号の説明】
【0122】
100 話者識別装置
101~107,610,620,630,640,650,660 学習データ
110,140 学習済みモデル
111 更新済みモデル
120,611,621,631,641,651,661,901,1000 音声情報
131~135 発話区間
200 話者識別システム
201 クライアント装置
210 ネットワーク
300 バス
301 CPU
302 メモリ
303 ネットワークI/F
304 記録媒体I/F
305 記録媒体
306 ディスプレイ
307 入力装置
400 記憶部
401 取得部
402 学習部
403 識別部
404 分類部
405 設定部
406 出力部
500 学習済みNN
612,622,632,642,652,662 ラベル情報
700 参加者追加画面
900 会議音声
910 更新済みNN
1100 対応結果画面
1101,1102 フィールド
【0123】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0124】
(付記1)コンピュータに、
入力された音声情報から話者を識別する識別モデルに対して、1以上の人物のそれぞれの人物についての、前記人物の発話音声を示す音声情報と前記人物を示すラベル情報とが関連付けられた第1の学習データと、前記1以上の人物とは異なる他の人物のそれぞれについての、前記他の人物の発話音声を示す音声情報と前記1以上の人物とは異なる人物であることを示すラベル情報とが関連付けられた第2の学習データとを用いて、学習処理を実行し、第1の識別モデルを生成し、
会話音声を示す音声情報を、生成した前記第1の識別モデルに入力し、前記会話音声に含まれる複数の発話区間のそれぞれの発話区間に発話した話者を、前記1以上の人物および前記異なる人物のいずれかの人物に識別し、
話者が前記異なる人物であると識別された発話区間を、前記発話区間の音声特徴に基づいて、1以上のグループのそれぞれのグループに分類し、
話者が前記1以上の人物のいずれかの人物であると識別された発話区間と、前記いずれかの人物とを対応付けて出力し、話者が前記異なる人物であると識別された発話区間を分類した結果を出力する、
処理を実行させることを特徴とする話者識別プログラム。
【0125】
(付記2)前記コンピュータに、
前記1以上の人物の指定を受け付ける、処理を実行させ、
前記生成する処理は、
前記識別モデルに対して、指定された前記1以上の人物のそれぞれの人物についての前記第1の学習データと、前記他の人物のそれぞれについての前記第2の学習データとを用いて、学習処理を実行し、前記第1の識別モデルを生成する、ことを特徴とする付記1に記載の話者識別プログラム。
【0126】
(付記3)前記コンピュータに、
話者が前記異なる人物であると識別された発話区間の音声情報を、前記識別モデルに入力し、前記発話区間の音声特徴を取得する、処理を実行させ、
前記分類する処理は、
話者が前記異なる人物であると識別された発話区間を、取得した前記音声特徴に基づいて、前記1以上のグループのそれぞれのグループに分類する、
処理を実行させることを特徴とする付記1または2に記載の話者識別プログラム。
【0127】
(付記4)前記コンピュータに、
話者が前記異なる人物であると識別された発話区間に対応付ける人物の指定を受け付ける、処理を実行させ、
前記出力する処理は、
話者が前記異なる人物であると識別された発話区間と、指定された前記人物とを対応付けて出力する、ことを特徴とする付記1~3のいずれか一つに記載の話者識別プログラム。
【0128】
(付記5)前記コンピュータに、
前記他の人物の発話音声を示す音声情報を取得し、
所定の録音環境に合わせて、取得した前記音声情報を加工し、
前記他の人物の加工後の前記音声情報と、前記異なる人物であることを示すラベル情報とが関連付けられた第2の学習データを作成する、ことを特徴とする付記1~4のいずれか一つに記載の話者識別プログラム。
【0129】
(付記6)コンピュータが、
入力された音声情報から話者を識別する識別モデルに対して、1以上の人物のそれぞれの人物についての、前記人物の発話音声を示す音声情報と前記人物を示すラベル情報とが関連付けられた第1の学習データと、前記1以上の人物とは異なる他の人物のそれぞれについての、前記他の人物の発話音声を示す音声情報と前記1以上の人物とは異なる人物であることを示すラベル情報とが関連付けられた第2の学習データとを用いて、学習処理を実行し、第1の識別モデルを生成し、
会話音声を示す音声情報を、生成した前記第1の識別モデルに入力し、前記会話音声に含まれる複数の発話区間のそれぞれの発話区間に発話した話者を、前記1以上の人物および前記異なる人物のいずれかの人物に識別し、
話者が前記異なる人物であると識別された発話区間を、前記発話区間の音声特徴に基づいて、1以上のグループのそれぞれのグループに分類し、
話者が前記1以上の人物のいずれかの人物であると識別された発話区間と、前記いずれかの人物とを対応付けて出力し、話者が前記異なる人物であると識別された発話区間を分類した結果を出力する、
処理を実行することを特徴とする話者識別方法。
【0130】
(付記7)入力された音声情報から話者を識別する識別モデルに対して、1以上の人物のそれぞれの人物についての、前記人物の発話音声を示す音声情報と前記人物を示すラベル情報とが関連付けられた第1の学習データと、前記1以上の人物とは異なる他の人物のそれぞれについての、前記他の人物の発話音声を示す音声情報と前記1以上の人物とは異なる人物であることを示すラベル情報とが関連付けられた第2の学習データとを用いて、学習処理を実行し、第1の識別モデルを生成し、
会話音声を示す音声情報を、生成した前記第1の識別モデルに入力し、前記会話音声に含まれる複数の発話区間のそれぞれの発話区間に発話した話者を、前記1以上の人物および前記異なる人物のいずれかの人物に識別し、
話者が前記異なる人物であると識別された発話区間を、前記発話区間の音声特徴に基づいて、1以上のグループのそれぞれのグループに分類し、
話者が前記1以上の人物のいずれかの人物であると識別された発話区間と、前記いずれかの人物とを対応付けて出力し、話者が前記異なる人物であると識別された発話区間を分類した結果を出力する、
制御部を有することを特徴とする話者識別装置。