音声認識で固有名詞を認識させる方法
ワオキツネザル
はじめまして!ワオキツネザルです。
新卒で株式会社アドバンスト・メディアという会社に入社して、音声認識APIの「AmiVoice Cloud Platform」という製品に関わっています。
私の発信が一人でも多くの方の役に立てたら嬉しいです。
音声認識は「固有名詞」に弱い?
さて、今回の本題ですが、「音声認識で固有名詞を認識させる方法」という話をしていきたいと思います。この記事を書こうと思った理由は音声認識は「固有名詞」に弱いという特性があるというのを、一般的にもあまり知られてないのかなと思ったからです。
たとえば、打ち合わせの内容を議事録化するために録音して音声認識するとします。会話の中には以下のような固有名詞が入っています。
・会社名:「株式会社ワオ!キツネザル!」
・製品名:「Wao!Wao!Voice!!」
・個人名:「狐猿太郎」
この例の「株式会社ワオ!キツネザル!」は「!」を含めて私が勝手に考えたオリジナル単語なので、音声認識で正確に文字化されることはありません。そもそも上記の固有名詞は私以外使うことがなりません。別の会話を音声認識させる時、「ワオ」や「キツネザル」と言った言葉に勝手に「!」が付いたら困っちゃいますよね?
音声認識では、ある程度みんなが使うであろう「単語の候補」を絞っており、あらかじめ学習された単語しか返ってこないようになっています。
単語登録すれば固有名詞も認識できる!
なっなんだってー!?
AmiVoice Cloud Platformには単語登録機能ってのがあるらしい。私しか使わない「固有名詞」を登録しておけば、私だけの音声認識ができちゃうかも。
なんかすごい!
んじゃ早速使ってみよう!!
単語登録はAmiVoice Cloud Platformのマイページから飛べます。
そして以下のように「株式会社ワオ!キツネザル!」「Wao!Wao!Voice!!」「狐猿太郎」を登録してみました。
ちゃんと認識結果として出るか確認してみましょう!
やったー固有名詞が出ましたよ!
これで自分だけの音声認識ができますね!
失敗談:ここに気を付けよう!!プロファイルID編
この記事を書く上で詰まったところがあります。それはプロファイルIDです。
単語登録後はプロファイルIDを書かなければ単語登録した単語を認識することはできません。実際私は気づくまでに1時間くらい悩みました。
単語登録したらプロファイルIDを書く。忘れないようにしてくださいね。
20220105 追記
アップデートでjavascriptのサンプルのプロファイルIDの欄がコメントアウトされました。
プロファイルIDの表記を出すには、コメントアウトを外してください。
消すのはここらへん。
おまけ:ここがすごいよAmiVoice
■単語登録機能
あなたしか使わない固有名詞が出るよ。
この記事で使い方を説明してます。
■認識結果に「いやーん」な言葉が出ない
AmiVoiceは認識結果に「いやーん」な言葉(性的な意味や差別的な意味を含むもの)が出ないんです。
もし、TVの字幕システムで「いやーん」な言葉が出たらお茶の間が凍りつくに違いありません。AmiVoiceではこのような「いやーん」な言葉が出ないように対策をしています。
※ただし、アドバンスト・メディアが不適切と判断した言葉に限ります。
■領域特化エンジン
業界によって喋る単語って実は違うんですよ。
銀行の仕事の中で医療用語の「外傷性肩関節脱臼」って喋らないですよね。つまり、銀行業界と医療業界で喋る単語が違うということです。
AmiVoiceではそれぞれの業界で音声認識エンジンを分けて、「領域特化エンジン」という形で提供しています。業界が決まっているのであれば、認識率は段違いですので試してみてくださいね。
AmiVoiceの音声認識技術は20年以上ビジネス分野で使われています。その歴史の積み重ねでビジネスに特化している音声認識として成長してきたんですね。
最後に
他の音声認識APIでは珍しい、単語登録機能についての記事でした。
興味を持ったら使っていただけると幸いです。
謝辞
この記事を書くためにAPIの使い方やアドバイスをくださった「アイアイ先輩」と「メガネザル先輩」にお礼申し上げます。
この記事を書いた人
-
ワオキツネザル
株式会社アドバンスト・メディアの新卒2年目。音声認識のAPIのAmiVoice Cloud Platformという製品に関わっています。