Amazon Transcribe(音声をテキストに変換するAIを活用した機能)を利用したテープ起こし

弊社でも定性調査のお手伝いをさせていただくことがあり、その際にはテープ起こしをご依頼をいただくこともございます。
パーソナルインタビューやグループインタビュー、各種会議など多種多様ではありますが、1時間から2時間のものを文章化するのに数倍から10数倍程度の時間を要する結構難儀(ありがたい)なお仕事となっております。

また在宅勤務などの増加に伴いzoomやTeams、Hangoutなどの各種ツール内で会議内容を音声や動画として保存できるようになってきました。そうなると議事録や発言録などのご要望もでてくるようになるかと思います。

そこで今回は、Amazonが提供するAWS上のサービス Transcrive(音声をテキストに変換する機能)を利用したテープ起こしの方法についてご説明いたします。

Step1 Amazon Transcribeを利用して、音声データをJson形式のファイルに変換する

Step2 Json形式のファイルをExcelで操作できるように加工する

Jsonファイルは各種プログラムでの利用を想定したデータ形式となっているため、なかなか加工がしづらいデータ形式になっています。Step2では、Json形式のファイルをExcelで加工しやすい形式に変更する方法をご説明いたします。
  1. Excelを立ち上げる
  2. 上部リボンより「データ」のタグをクリック
  3. 「新しいクエリ」→「その他のデータソースから(O)」→「Webから(W)」をクリック
  4. 「Webから」のウインドウが開きます。URL欄にファイルが保存されている箇所のパスを入力してください。
  5. Jsonファイルの読み込みが完了すると、「Power Queryエディター」が起動します。
  6. results欄の「Record」をクリック
  7. 次に表示された画面でitems欄の「List」をクリック
  8. リストの一覧が表示されます。「テーブルへの変換」をクリック
  9. 「テーブルへの変換」ウインドウが表示されるので、特に設定を変更せずに、「OK」をクリック
  10. 「両矢印のマーク」をクリック
  11. テーブルに展開する情報が選択できるウインドウが表示されるので、そのまま「OK」をクリック
  12. テーブル形式にデータが展開されます。「Column1.alternatives」欄の「両矢印のマーク」をクリック
  13. リストが表示されるので「新しい行に展開する」をクリック
  14. テーブル形式の画面が再度表示され先ほど「Column1.alternatives」欄の項目は「List」の記載であったが、「Record」に変わっていることを確認して、再度「Column1.alternatives」欄の「両矢印のマーク」をクリック
  15. テーブルに展開する情報が選択できるウインドウが表示されるので、そのまま「OK」をクリック
  16. テーブル形式の画面が表示され、「Column1.start_time」「Column1.end_time」「Column1.alternatives.confidence」「Column1.alternatives.content」「Column1.type」が表示されています。
  17. 上部リボンが「ホーム」を選択されていることを確認し、「閉じて読み込む」をクリック
  18. EXCELの画面が開き、エクセルのブック形式に変換されます
1.Excelを立ち上げる
2.上部リボンより「データ」のタグをクリック
3.「新しいクエリ」→「その他のデータソースから(O)」→「Webから(W)」をクリック
4.「Webから」のウインドウが開きます。URL欄にファイルが保存されている箇所のパスを入力してください。
上記は例ですが、上記フォルダに保存されている場合は、URL欄の値は「c:\data\asrOutput.json」となります。
5.Jsonファイルの読み込みが完了すると、「Power Queryエディター」が起動します。
6.results欄の「Record」をクリック
7.次に表示された画面でitems欄の「List」をクリック
8.リストの一覧が表示されます。「テーブルへの変換」をクリック
※今回は全件のデータの取得を行うため、テーブルへの変換をここで行います
9.「テーブルへの変換」ウインドウが表示されるので、特に設定を変更せずに、「OK」をクリック
10.「両矢印のマーク」をクリック
11.テーブルに展開する情報が選択できるウインドウが表示されるので、そのまま「OK」をクリック
12.テーブル形式にデータが展開されます。「Column1.alternatives」欄の「両矢印のマーク」をクリック
13.リストが表示されるので「新しい行に展開する」をクリック
14.テーブル形式の画面が再度表示され先ほど「Column1.alternatives」欄の項目は「List」の記載であったが、「Record」に変わっていることを確認して、再度「Column1.alternatives」欄の「両矢印のマーク」をクリック
15.テーブルに展開する情報が選択できるウインドウが表示されるので、そのまま「OK」をクリック
16.テーブル形式の画面が表示され、「Column1.start_time」「Column1.end_time」「Column1.alternatives.confidence」「Column1.alternatives.content」「Column1.type」が表示されています。
17.上部リボンが「ホーム」を選択されていることを確認し、「閉じて読み込む」をクリック
18.EXCELの画面が開き、エクセルのブック形式に変換されます
  • Column1.start_time:当該単語を言い始めた時間
  • Column1.end_time:当該単語を言い終わった時間
  • Column1.alternatives.confidence:AmazonのAIが判断した正確度 1が最大で0が最低
  • Column1.alternatives.content:認識した単語や言語
  • Column1.type:AIが認識したデータタイプ
AWSのTranscriveの特徴は、単語単位で音声の「発生時刻」と「終了時刻」と「AIが判断した正確度」の値が取得できる点にあります。

GoogleのGoogle Cloudでも「Speech to text」といった同様のサービスがありますが、こちらでは文章単位で「AIが判断した正確度」は取得できますが、「時刻」に関する情報が取得できません。
この「時刻」が取れない点が曲者で、テープ起こしをする際に、テープの何分の位置の作業をしているか把握ができないため、結果として、ものすごく使いづらいデータになっています。
AWSのTranscriveでも、文章一式で取り出すこともできますが、こちらの方法だと、Googleと同様に「時刻」の情報を取り出すことができません。

AWSのTranscriveについて、革命的に記載をされている記事が多数ありますが、実は我々が行っている調査においては、皆さんの口調は多種多様なので、うまくAIが判断してくれる方もいらっしゃれば、ほとんど認識ができない方もいらっしゃったりと実はかなり千差万別です。
ただ正直申し上げますと、かなりうまくデータが取得できた場合でも、そのデータをそのまま納品することはとてもできない代物となっています。
(AIがまず処理をしたデータです、次に人間がテープ起こしをするので、それまでの仮納品です と言い切ってしまうのも手ではありますが。)

そのようなわけで、まだまだAmazonのAIの学習が追い付くまでは、人に頼るほかありません。
Step3では手作業で加工しやすくするため、Excel上での更なる加工方法をご説明いたします。

Step3 Excel上で加工がしやすいよう操作を行う

例えば、上記のようにデータが取得できたとします。

下記のように加工をすることで、文章データとして取得することも可能です。

  1. セルG2に「=A3-B2」の式を入れ、当該単語の終了時刻と次の単語の発声開始時刻の差をとる
  2. G2の式をG3~G14までコピーをする
  3. セルH2に「=D2」の式を入れ、D2の値をそのまま表示する
  4. セルH3に「=IF(G2>1,D3,H2&D3」の式を入れる。これは、G2で求めた値が1秒を超えている場合は空白時間がある程度あることから文章として独立していると判断するために入れています。
  5. セルH3の式をH4~H14までコピーをする
  6. セルJ2に「=if(G2>1,”●”,””)」の式を入れる。これは1秒を超えている場合に「●」を表示し、文章として取得する対象を判別するためにいれています。
エクセルマクロを組むことで、上記のように、単語単位でのAIの認識精度が低いものについて、色を付け、さらに人による加工がしやすいデータに変換するといったことも可能です。

弊社では、上記のようなJsonからExcelへの変換サービスをご提供しております。また作成したExcelからのテープ起こしまでもご支援しております。お気軽にお問い合わせください。