OTOBANK Engineering Blog

オトバンクはコンテンツが大好きなエンジニアを募集しています!

音声認識で文字起こしをしてみた

こんにちわ。@mrtryです。
今月の頭に、地元に帰る用事があり、先月のブログで書いたまつりやという回転寿司にいってきました。
いっぱい食べました。めっちゃ美味しかったです…!

f:id:symmt9302:20170227105300j:plain

さて今回は、先日社内LT(Teck Talk)で発表した内容を記事にしてみました。
音声認識を利用して、取材で録音した音声を自動的に文字起こしすることはできるのかというテーマで発表しました。

この話の背景

ある日、弊社の新刊JPの記者さんと飲んでいた時のことです。
記者さんが、「取材をするとき、基本ICレコーダーで録音しておいて、あとで聞きながら文字に起こしたりするんだけど、結構面倒だし、外注したりもするんだよね。プログラムでいい感じにならないですか?」と言われました。
その話を聞いて、「音声認識でイケそうな気がしますね〜。やってみますね〜。」と答えたので、ちょっと試してみました。

音声認識とは

そもそも、音声認識とは何でしょう?
とりあえずwikipediaを見てみると、以下のような説明があります。

音声認識(おんせいにんしき、英: speech recognition)とは、人間の声などをコンピューターに認識させることであり、話し言葉を文字列に変換したり、あるいは音声の特徴をとらえて声を出している人を識別する機能を指す

wikipedia: 音声認識

こんな感じで、音声認識という言葉は、声などをコンピュータに認識させるもの全般を指しています。
具体的には、

  • 音声から文字を起こす
  • 音声から感情を把握する
  • 複数人の音声から、それぞれの人ごとに音声を分離する

などがあります。
ちなみに、私は学生の頃に音声が歌声なのか話声なのかを識別するという研究をしていました。

今回は、会話を文字に起こす(Speech To Text)という音声認識を試してみます。

利用したもの

今回は、個人的に最近気になっていたIBM Watson Speech-to-Textで試してみたいと思います。
セットアップとか面倒なことしないで、ざっくりお試ししたい程度の気持ちだったので、Speech-to-Textのデモページを利用することにします。

なお、その時利用した設定は、以下のスクショを参照してください。

f:id:symmt9302:20170227105733p:plain

実際にやってみた

文字起こしを試す音源として、弊社で販売しているオーディオブックのサンプル音源テープ起こし入門サイトの練習音源で試してみます。 なお、デモページのファイル形式の都合上、元の音源はmp3からwavに変換し、サンプリングレートを16kHzにして書き出したものを利用しています。

オーディオブックのサンプル音源で試す

影響力の武器 第三版: なぜ、人は動かされるのかのページにあるサンプル音源でやってみたいと思います。 (ちなみにこの作品は、私が買ったオーディオブックで一番聴いてる作品です)

以下、実際に出力されたテキストです。 気になった方は実際の音声と、出力されたテキストを見比べてみてください。

前にも少し述べましたが他の全ての影響力の武器と同じように。社会的証明の原理にも。その効果が強くなるいくつかの条件があります。
その一つが不確かさです。
同振る舞いがいいのか確信が持てない場合に。人が普段よりいっそう他者の行動を参考にして自分の行動を決めるようになるのは間違いありません。
それに加えてもう一つ重要な条件があります。類似性です。
社会的証明の原理は自分と似ている人の行動を見ているときに最も強く最後します。
同振る舞いばいいのかを考えるとき。一番参考になるのは自分と類似した他者の行動です。
したがって私たちは自分と異なる人よりも類似した人が示す行動に従いやすいのです。
近頃のテレビではどこにでもいそうな普通の人が商品を推奨するコマーシャルがよく流れていますが。その理由もここにあると思います。
広告主は商品の最も大きな潜在的市場を形成している普通の視聴者に売り込むには他の普通の人々が。それを好んで使っていることを示せばいいとわかっているのです。
ジュースであれ鎮痛剤であれ洗剤であれどこにでもいる平均的な人々の絶賛に人は耳を傾けるものなのです。
人が他者の行動を真似るかどうかを決定するときに。その他社との類似性が重要であることを示すもっと強力な証拠がいくつかの科学的研究によって発見されています。
とりわけわかりやすい例は。ある大学のキャンパスで行われた募金活動の取り組みについての研究結果です。
募金を呼びかける人が私もここの学生ですと言って。学生たちと似た人間であることを主張しそうである以上学生たちもこの同じ目標を後押ししたくなって当然だと暗にほのめかして時にはそうしなかったときと比べてチャリティーへの寄付が二倍以上も集まりました。
この結果は社会的証明の原理の重要な条件を示しています。
私たちは他の人の行動から自分にとっての適切な行動を決定しますが。そうした傾向がとりわけ強まるのはそのほかの人が自分と似ている場合などです。

元の音声を確認するまでもなく、テキストを見るだけで概ねキレイに起こされていますね。
オーディオブックの音声は、音声以外の余計な音(要はノイズ)がなく、文字起こしするには理想的な音声なので、キレイに起こすことができたのではないか、と思いました。

文字起こし入門サイトの練習音源で試す

今度は、実際の文字起こしの依頼で来るであろう音声の例として、以下のテープ起こし入門サイトの練習音源で試してみます。

以下、実際に出力されたテキストです。 気になった方は実際の音声と、出力されたテキストを見比べてみてください。

ヘッドも映画の中に挟まれてきてビジュアル化は持ってくるわけですから法を右折そういうの一千万画素。
アミノ酸は新しい情報を信じて下さい。
うん遊びをお客さん販促よ。
話だよ遊ぶことができるします。
MRFからちょっと離れている&会社がすぐ。
ええには英語欲しいとかいる政策が発足の。
笑知れたらすぐもうほんとね三行ユニフォーム出雲反射の演出もあることができたらすぐに自分。
株なんですか。
うん光を。
でも私も半分です。

先程のオーディオブックで試したテキストと比べると、なかなか、意味が読み取れないテキストになってしまいました。 音源を載せていたサイトに、音声から起こしたテキストがあるので、比較してみます

皆さん方もね、だんだんだんだん年齢重ねてきて、あのー、20代がこれからはね、追ってくるわけですから、多分ぼーっとしていると、そういう元気のいい人にばっといきなり抜かれちゃうんで、とにかくね、あの、新しい情報を仕入れてください。で、あの、それをお客さんに返すことによって、またお客さんから信頼を勝ち取ることができるかもしれません。特に、あのー、インターネットからちょっと離れている、あの、アナログな会社なんかは、すごく狙い目でね。で、皆さん、今、テープ起こしとかWEB制作とか、何か一つの職種でやってらっしゃると思うんですけど、もうちょっと何か目先を広げて、複合的にその会社の、えー、力になることができたら素晴らしいと思うんです。それでまず、あのー、いっ……何て言うんですか、えー、きっかけをね、得てほしい。どっかからでもいいです。

テープ起こし はじめの一歩:第6週 逐語記録見本: テープ起こし はじめの一歩

声に出してみると、似てなくもなさそうな箇所があったりしますが、全然一致していませんね…。

原因としては、元の音声の品質が悪いということがあげられるかと思います。 先程のオーディオブックの音声と比べると、この音源は以下の点で品質が劣っています。

  • 定常的なノイズ(サーッって音)が乗っている
  • 部屋の反響音が強く、声が明瞭ではない
  • 音割れがある

特に、部屋の反響音が強く、声が明瞭ではないという点が問題にありそうです。
音声には、母音や子音ごとに特有の周波数パターンがあり、それを見ることで、発声されている言葉を識別することができます。 今回の音声は、反響音が強いために、音声に余計な音が付与されてしまい、言葉を識別するのが難しくなり、意味不明な文章が生成されたのかな、と感じました。 (詳細が気になった方は、フォルマントMFCCで検索すると、幸せになれます)

取材の音声を貰ったとすると、きれいに文字起こしできるのか?

ふたつの音源で文字起こしをした結果を踏まえて、取材の音声を文字起こしできるかを考えました。 以下の条件を満たしていれば、おそらく良い感じに文字起こしすることができるのではないか、と感じました。

  • 外部ノイズ(環境音、BGM)が少ない
  • 音声が明瞭に録音されている
  • 発話者の滑舌がある程度キレイである

おわりに

今回は、IBM Watson Speech-to-Textを用いて、音声の文字起こしをしてみました。 音声の品質に依るところはありますが、録音時点から気を使うことができれば、いい感じに自動で文字起こしができそうなことがわかりました。 機会があれば、記者の方と連携して、実際の取材音声で文字起こしを試してみたいな、と思っています。 その際は、またブログの記事にして、紹介してみたいと思います!