あなたの仕事に業務効率化をもたらす!
~仕事の未来を変える音声認識をもっと身近に~
こんにちは。
今回のコラムでは、音声認識技術についてご紹介したいと思います。
音とは?
まず、音声認識を理解するうえで重要な「音」について簡単に触れておきたいと思います。
「音」の正体は「振動」です。音源が空気など周りのものを震わせ、その振動が様々なものを介して耳に伝わることで音を聴くことができます。
そして、下の図のように音の種類によって、その振動を解析し図式化した波の形が異なります。
この波形の差異によって「音」を区別することができています。
「音は振動で、音の種類によって波形が異なる」ということを抑えて、音声認識技術についてみていきましょう。
音声認識技術とは
音声認識技術とは音声を認識してテキストに変換する技術です。
スマートフォンにも搭載され、検索やメモなどで使用したことがある人も多いのではないでしょうか。日常生活や業務での音声認識のニーズが高まるにつれて、音声認識技術の開発、製品化をする企業も増加しています。
皆さんは普段、会話をしている際に相手の音声の内容を理解していますが、もともと人間は音声を意味のあるものとして認識できているわけではありません。人間は音を解析し、その音の特徴と意味を結びつける学習をすることで、初めてその音にどういう意味があるのかを知ることができます。そして、再び同じ音を聞いたときには、音を解析し、その特徴と合致する音と意味を探し出すことで、理解することができます。コンピュータも同様です。音声認識技術は、コンピュータに向かって発話すると、コンピュータが音声の一音一音の音の特徴を数値化(振動→波形→数値)、事前に学習していた音の数値と比較し、どの音なのかを特定します。そして事前に学習しておいた知識をもとに音を組み合わせて、単語を作成、その単語から文章を作成します。このようにして、音声認識技術では音声をテキスト化しています。
コンピュータが音声を認識できるようになったこと、つまり耳を持ったことで、実現できることが増えました。その活用案を次に見ていきましょう。
音声認識技術の活用案
ここでは音声認識技術の活用案として2つ挙げてみます。
医療
まず、看護師の業務効率化を考えてみます。看護業務の一つとして看護記録という、看護の過程を記録することで患者の今までの経過や現状を把握するための業務があります。 この業務では、患者の状態をみた後に患者情報をメモ帳に記載して、後ほど看護記録を入力する必要があるため、看護師にとっては負荷がかかります。音声認識を利用することで、看護中や空き時間にデバイスに向かって患者情報を話すだけでメモを残すことができます。さらにRPAを組み合わせることで看護記録の自動入力まで可能になります。あとは看護記録の修正・確認だけで済むので、看護師の業務を効率化させることが期待できます。
コールセンター
次に、コールセンターのオペレータの業務効率化を考えてみます。 オペレータは電話対応を行いながら会話内容の記録、電話対応が終わってから対応記録の入力などを行うことがあります。音声認識を利用すると会話の内容をリアルタイムでテキスト化してキーボード入力の手間を省くことができます。さらにRPAを利用するとシステムに多数ある入力項目に自動で入力してくれます。 後処理にかかる時間が減ることで対応できる顧客数が増え、顧客満足度にもつながります。
音声認識を作成してみる
ここまで音声認識技術の解説とその活用案を見てきました。
最後に、音声認識をより身近に感じてもらうために、簡単な音声認識を実際に作成してみましょう。
医療機関において、患者の状態を音声で登録することを想定しています。
実際に簡単なプログラムを作成し、実行してみた動画です。
コマンドプロンプトで実行しました。
音声をテキスト化して、データを分類していることがわかると思います。
1度、「メモ」が「目も」と認識されてしまい、データを分類できませんでしたが、それ以外は完璧に認識されました。
今回は扱いませんが、ここにRPAを接続することで、データをシステムに自動登録することが可能になります。
実行方法
1.Python3.6をインストール
(様々なサイトでpythonのインストール方法が記載されているので、詳しい手順は割愛します。)
2.コマンドプロンプトを開き、必要なライブラリをインストール
pip install SpeechRecognition pip install pyaudio
3.適当なテキストエディタで下記コードを記載し、pythonファイルを作成
私はAtomというエディタを使用しました。以下ソースコードです。
#音声認識を行う関数 def onseininshiki(mic,r): with mic as source: r.adjust_for_ambient_noise(source,1.0) #ノイズを考慮 r.energy_threshold = 500 #この値を超える音が音声として認識される(0~4000) print("発話してください。") audio = r.listen(source) #音声を記録 print ("認識しています。少々お待ちください。") try: voice = r.recognize_google(audio, language='ja-JP') #音声認識 # 音声認識ができなかった際の処理 except sr.UnknownValueError: voice = "聞き取れませんでした。もう一度お願いします。" except sr.RequestError: voice = "音声認識が正常に作動しませんでした。" return voice #情報の登録を行う関数 def register(patient_info): for i in range(5): if re.search(item[i],patient_info) != None: #音声に対象項目があるか #対象項目の後に指定されたフォーマットの文字列が存在するか if re.search(item[i]+r'\s?'+regexp[i],patient_info) != None: #情報を格納 value[i] = re.search(item[i]+r'\s?'+regexp[i],patient_info).group(2) elif item[i] == '(メモ|めも)': #メモのときで,上記条件に一致しないとき value[i] = re.search(item[i]+r'\s?(.*)',patient_info).group(2) r = sr.Recognizer() mic = sr.Microphone() item = ['(ID)','(体温)','(脈拍)','(血圧)','(メモ|めも)'] regexp = ['(\d{8})','(\d{2}\.\d{1})','(\d{2})', '(\d{2,3}-?の?\d{2,3})','(.*)(ID|体温|脈拍|血圧)'] value = ['','','','',''] while True: #情報登録が完了するまで繰り返す info = onseininshiki(mic,r) print("----------発話内容----------") print(info) print("----------------------------") if info == "終了": #「終了」と言ったら終了 print("終了します。下記情報で登録します。") for i in range(5): print(item[i]+":"+value[i]) break register(info) #情報を登録 print("----------患者情報----------") for i in range(5): print(item[i]+":"+value[i]) print("----------------------------") print("これで登録しますか? 終了or修正したい情報だけを言う")
4.コマンドプロンプトで実行
使用した音声認識API
今回はpythonのライブラリであるSpeechRecognitionを利用しました。
SpeechRecognitionは音声認識を実行するためのライブラリでいくつかの音声認識エンジンやAPIをサポートしています。
この中でも無料で簡単に利用できることと日本語に対応していることを理由にGoogle Speech Recognitionを使用しました。
※Google Speech Recognitionは開発や個人使用でのみ使用できるものです。
少ないコードで簡単に音声認識を利用できるのだと身近に感じていただければ嬉しいです。
まとめ
今回は、音声認識技術についてご紹介しました。
音声認識技術は、作業しながらのメモが可能になる、入力の二度手間がなくなるなど様々なメリットをもたらしてくれます。
例えば、このような業務に音声認識技術がおすすめです。
- 音声を大量にテキスト化する必要がある
- ほかの作業をしながら記録やメモをしたい
近年、身近になってきた音声認識技術を業務にも取り入れることで、業務効率化を図ることができます。
音声認識技術、またはRPAのどちらかを取り入れている方も、その両方を取り入れることでさらなる業務効率化を期待できるでしょう。
業務効率化をご検討の際にはぜひ、BTCにご相談ください。
関連記事
最新情報をお届けします!
RPAに関する最新コラムやイベント情報をメールで配信中です。
RPA領域でお仕事されている方に役立つナレッジになりますので、ぜび登録してください!
- November 2024 (2)
- October 2024 (3)
- September 2024 (2)
- August 2024 (4)
- July 2024 (1)
- June 2024 (2)
- May 2024 (3)
- April 2024 (1)
- March 2024 (1)
- February 2024 (1)
- January 2024 (1)
- December 2023 (1)