話者の自動登録を使った全自動話者分離システム

話者の自動登録を使った全自動話者分離システム

米国の SalesTech スタートアップ、Chorus.ai が 2018 年 9 月に Interspeech 2018 で発表した話者分離に関する研究。

出典: Fully automatic speaker separation system, with automatic enrolling of recurrent speakers

研究の背景

営業トークにおいて、録音音声から話者を自動的に特定することで、顧客に合わせた商談ができる他、顧客のニーズを正確に把握することができるようになる。ある話者への 2 回目以降の商談で、過去の商談に類似した音声があれば、ユーザを特定し、話者分類を行うことができる。

システムの構成

以下の 3 つで構成されている。

  1. i-vector (またはx-vector) を使って埋め込みを行う。
  2. 下図のパイプラインを用いてクラスタリングによりダイアリゼーション(話者の分離)を行う。
  3. 事前に格納されている声紋データベースと照合する。

セグメントの埋め込み

Kaldi の SRE08 レシピで、VAD を行い、1 秒間の音声をセグメントとして区切っている。なぜならば、営業トークの場合、”Year, that would work” のような 1 秒間程度の音声を使うのが最も都合が良い。これまでの埋め込みに関する研究には、以下のようなものがあった。

  • x-vector を使う方法 [5]
  • 両者の発話が被った箇所をシャムネットワークで類似したフレームを学習する方法 [6]
  • triplet loss (類似度) を使う方法 [7, 8]

本研究では、1 秒ごとのセグメントを使って長さ 100 の i-vector (話者を識別する特徴量) を作成する。i-vectorは、LDA (Linear discriminant analysis, 線形判別分析) を用いて変換し、Scikit-learn の agglomerative clustering でクラスタリングする。クラスタ数、すなわち話者数はカレンダーに招待された人の数を参考に推定している。なお、agglomerative clustering with K-meansや、PLDA (probabilistic latent discriminant analysis) でも試したが大きな違いは見られなかった。

話者が、営業担当か顧客かの分類にはテキスト分類で行っている。(俗語等があるため、企業毎に分類器を作成して学習している)ビデオ会議を伴う場合は、話者の名前が表示されるためそれを活用している。

教師なしでのユーザ特定と登録

データベースへユーザを登録する際には、1人のユーザにつき3つ-5つの候補となる会話を選んでメタデータ (CRM情報、カレンダー情報) とともにデータベースへ登録する。PLDAで類似度を求めることにより、ユーザを特定する。また、1人のユーザが複数のクラスタに属してしまった場合、新規のユーザとして扱う。

まとめ

本研究により、ユーザの労力をかけることなく、全自動による高品質な話者分離システムの開発に成功した。話者分離の結果を可視化すると以下のようになる。

類似した研究

SalesTech
Posted on:
Post author

Leave a comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です