議事録作成を楽にできないかという実験
Motivation
最近は音声認識も進化しているので、頑張れば文字起こしできるんじゃないかと思っている。できてしまえば、仕事効率化が捗る。
AWS Transcribe
文字起こしエンジンにはカスタム語彙を指定できるAWS Transcribeが良いのではという仮説。
参考:AWS Transcribeが日本語に対応!便利すぎる文字起こし機能を実際に使ってみた! - リスマガ【Web集客の教科書】
やることリスト
1. First Step
目的:AWS Transcribeの使い方を理解する
2. PoC
目的:ローカル用語の認識精度を向上させられるか検証する
- [未対応]:過去の議事録をテキストファイルとして収集する
- [未対応]:テキストファイルを形態素解析にかける
- [未対応]:形態素解析結果を一般的な用語とローカル用語に分類する
- [未対応]:ローカル用語を出現頻度が高い順にソートする
- [未対応]:出現頻度の高いローカル用語をカスタム語彙に登録する
- [未対応]:カスタム語彙を入れた状態で音声認識を行う
とりあえずAWS Transcribeを使ってみる
設定はこんな感じ。
Transcription jobsの設定
Outputバケットを指定するとJSON形式のデータが吐かれる。指定しなければ、結果がTranscription previewとしてWebコンソール上に表示される。
元にした文章はこちら。これを読み上げた音声を食わせた結果はこんな感じ。なお、私は滑舌が悪い。それにしては割と良い精度な気がする。
中国 の 商務 省 や 税関 総 署 は 二 日 電力 や 金融 など の 実務 で セキュリティ を 守る ため に 使う 暗号 技術 の 輸出 を 許可 制 に する と 発表 し た データ 漏えい を 防ぐ 半導体 も 含む 対 都市 に 施行 し た 戦略 物資 や ハイテク 技術 の 輸出 管理 を 強める 新法 に 基づく 許可 品目 リスト 問題 数 だ 中国 が 六 割 強 の シェア を を 握る で や ケーズ レアアース は 含ま れ て い ない 二 千 二 十 数 年 一 月 等 から 適用 する 第 一 弾 で は 国民 生活 など に 関わる 情報 を 保護 する 商用 暗号 を 使っ た 設備 や サービス を 対象 に し た 中国 国内 の 輸出 企業 は 輸出 する 際 に 事前 に 小 無性 に 許可 を 取る 必要 が ある 輸入 許可 品目 の リスト も 今回 を 公表 し 暗号 化 機能 を 搭載 し た 電話機 や ファックス に 許可 制 を 導入 し た 中国共産党 の シーチンピン その 初期 は 十 一 月 三 十 日 の 党内 会議 で 国家 の 安全 に 関わる 革新 的 な 技術 の 研究 開発 統合 を 強化 し なけれ ば なら ない と 強調 し た 中国 は 暗号 について 国家 の 安全 を 守る 革新 的 な 技術 と 位置付け て おり 輸出 管理 の 強化 で 技術 流出 を 防ぐ 思惑 も あり そう だ パソコン データ の 漏洩 を 拭け せる 半導体 は 多く の パソコン に 組み込ま れ て いる 中国 当局 が 許可 制 を 縦 に 輸出 を 停滞 さ せる よう な こと が あれ ば サプライ 遅延 に 影響 を 与える 恐れ も 否定 でき ない
{
"jobName": "test-20201202",
"accountId": "xxxxxxxxxxxx",
"results": {
"transcripts": [
{
"transcript": "中国 の 商務 省 や 税関 総 署 は 二 日、 電力 や 金融 など の 実務 で セキュリティ を 守る ため に 使う 暗号 技術 の 輸出 を 許可 制 に。 する と 発表 し た データ 漏えい を 防ぐ 半導体 も 含む 対 都市 に 施行 し た。 戦略 物資 や ハイテク 技術 の 輸出 管理 を 強める 新法 に 基づく 許可 品目 リスト 問題 数 だ! 中国 が 六 割 強 の シェア を を 握る で や ケーズ レアアース は 含ま れ て い ない 二 千 二 十 数 年 一 月 等 から 適用 する 第 一 弾 で は 国民 生活 など に 関わる 情報 を 保護 する 商用 暗号 を 使っ た 設備 や サービス を 対象 に し た。 中国 国内 の 輸出 企業 は 輸出 する 際 に 事前 に 小 無性 に 許可 を、 取る 必要 が ある 輸入 許可 品目 の リスト も 今回 を 公表 し 暗号 化 機能 を 搭載 し た 電話機 や ファックス に 許可 制 を 導入 し た。 中国共産党 の シーチンピン その 初期 は 十 一 月 三 十 日 の 党内 会議 で 国家 の 安全 に 関わる 革新 的 な 技術 の 研究 開発 統合 を 強化 し なけれ ば なら ない と 強調 し た 中国 は 暗号 について 国家 の 安全 を 守る 革新 的 な 技術 と 位置付け て おり 輸出 管理 の 強化 で 技術 流出 を 防ぐ 思惑 も あり そう だ パソコン データ の 漏洩 を 拭け せる 半導体 は 多く の パソコン に 組み込ま れ て いる 中国 当局 が 許可 制 を 縦 に 輸出 を 停滞 さ せる よう な こと が あれ ば サプライ 遅延 に 影響 を 与える 恐れ も 否定 でき ない"
}
],
"items": [
{
"start_time": "2.14",
"end_time": "2.67",
"alternatives": [
{
"confidence": "1.0",
"content": "中国"
}
],
"type": "pronunciation"
},
以下略
ちゃんとした文章じゃなくて話し言葉も試してみよう。
追加で2者の対話(話しことば)パターンも試してみた。手頃な録音データがなかったので、YouTubeからおめシスの動画を1分だけ拝借。
耳コピ結果はこちら
レイ・リオ「どうもどうも、おめシスでーす」
リオ「レイちゃん」
レイ「な、何ですか」
リオ「今日はね、リオが考えたゲームをねやりたいんですよ」
レイ「えー、何するの」
レイ「リオ「今日の企画は、ドドン。「コレ何のモンスター?遊戯王コスプレ選手権」。うわ、出たな遊戯王。」
レイ「自分で言ったやつやん」
レイ「リオ「あのぉ、遊戯王のモンスターのコスプレをして、何のモンスターになっているのか当ててほしいんですよ」
レイ「はあ」
リオ「でもね、困ったことにね、リオ遊戯王知らないんですよね。」
レイ「どうすんのそれは。」
リオ「なので、リオがコスプレするので、レイちゃんが何個当てられるかっていうそういう勝負をしたいんですよ」
レイ「なるほどね。リオちゃんは当てる側はやらないということ?」
リオ「そうだ」
レイ「マイナーなやつやめてよ?」
リオ「ああ、わかってるよ」
レイ「心配だ」
Transcribeに食わせた結果はこちら。だいぶ壊滅的。
Speaker 1:
どう 感じ で 大体 何 です か 今日 は ね 微妙 だっ た ゲーム やり たい です よ
Speaker 1:
ね 何 する の を? 今日 の 企画 は 誰 だ? これ ない と 思っ た 遊漁 こう 潰れ 選手 系 うわ って めっちゃ 可愛い や 自分 で やっ た 時 や
Speaker 1:
肝 詐欺 や
Speaker 0:
そう あの 有料 の モンスター の こ こぼれ落ち て え? 何 の モンスター に なっ てる の か? 当て て 欲しい です よ
Speaker 0:
ああ でも ね 困っ た こと ね いい お家 を 知ら ない です よ ね そう だ よ ね 銅 の ソレ は え な ので 利用 が コスプレ する ので 店員 さん が 何 か を 当て られる か って いう そう し たい です なるほど ね りゅう ちゃん は? 中 側 は やら ない って こと を
Speaker 1:
あ そう だ
Speaker 0:
マイナー を やっ て やめ て よ ああ わかっ てる とか 心配 だ
カスタム語彙を使ってみる
んー?どうやって「ん」を表現するんだ?「m」で代替?
ボケてた。"n" は "m" のあとや。
サポートされるローマ字
整理するとこんな感じ
AWSドキュメントの日本語バグりすぎ問題。どうやったらこんな変換されるんだ。
Japanese | English |
---|---|
めちゃくちゃエラー吐かれる・・・何が違うんだ・・・
ここまで最小化したんだけどな。
Phrase IPA SoundsLike DisplayAs
レイ rei レイ
リオ rio リオ
ドキュメントにのってる例をやってもダメだ。ちゃんと改行コードはLFにしてるのに。
Phrase IPA SoundsLike DisplayAs
Los-Angeles Los Angeles
スッキリした頭でマニュアルと操作画面を読み込んだ。そもそも、カスタム語彙の作成方法にはリストとテーブルの2種類がある。
カスタム語彙のアップロード方式
リスト形式
リスト形式はブラウザからファイルを食わせる。下記のような感じでただただ単語をリストアップしていけば良い。UTF-8で改行コードはLFとするのをお忘れなく。
レイちゃん
リオちゃん
おめシス
ここで使える文字は限られてくるので、ひらがな、カタカナ、アルファベットで固めたほうがいいかも。使える文字はjapanese-character-set.txtに書かれている。
テーブル形式
テーブル形式はS3からファイルを食わせる。下記の様な感じ。UTF-8で改行コードはLF、区切り文字はTABで。
Phrase IPA SoundsLike DisplayAs
れいちゃん rei-chan レイちゃん
りおちゃん rio-chan リオちゃん
おめしす omesisu おめシス
SoundsLike
フィールドは基本的にローマ字でOKですが、"shi" のようなヘボン式で書くとエラーとなるので要注意。
カスタム語彙を食わせた結果がこれ。多少改善してるけど、きついな。
Speaker 1:
どうも 味 で 大体 何 です か 今日 は ね 微妙 だっ た ゲーム やり たい です よ
Speaker 1:
ね 何 する の を? 今日 の 企画 は 誰 だ? これ ない と 思っ た 遊戯王 コスプレ 選手 系 うわ って めっちゃ 可愛い や 自分 で やっ た 時 や
Speaker 1:
肝 詐欺 や
Speaker 0:
そう あの 遊戯王 の モンスター の コスプレ おっ て え? 何 の モンスター に なっ てる の か? 当て て 欲しい です よ
Speaker 0:
ああ でも ね 困っ た こと ね いい お家 を 知ら ない です よ ね そう だ よ ね 銅 の ソレ は え な ので リオ が コスプレ する ので 店員 さん が 何 か を 当て られる か って いう 勝負 を し たい です なるほど ね リオちゃん は 当てる側 は やら ない って こと を
Speaker 1:
あ そう だ
Speaker 0:
マイナー を やっ て やめ て よ ああ わかっ てる とか 心配 だ
YouTubeの字幕自動生成を見ても精度低いから、おめシスのような独特なテンポ感の会話を機械が認識するのは難しいのかもしれないな。
おめシスの動画と自動生成された日本語字幕
Zoomの字幕機能
いろいろ探してたらZoomに字幕機能があることを見つけた。これいいのでは?
Zoomの字幕機能
UDトーク
さらに探すとUDトークってのを見つけた。これ、Zoomと連携できてやばい。スマホが必須になるけど、Zoomの音声をUDトークでかなり精度高く文字起こしできる。さらにその文字起こし結果をZoomにライブトランスクリプトとして配信できるから字幕付きの会議が余裕でできる。スマホアプリでも良いけど、Windows版アプリも入れれば、文字起こしと同時に誤認識をその場で修正できる。最強!
Windowsアプリで誤認識を修正している様子
さらに、スマホアプリで単語登録できるからAWSとかZoomとかの用語を登録しておけばちゃんと認識してくれる。最強!
強い(確信)
UDトークのFacebookから転載
UDトークについては、この一枚がわかりやすい。
Mecab を使う
なんかこんな感じで固有名詞を抽出できるみたい。
#! /usr/bin/python3
import sys
import re
import MeCab
tagger = MeCab.Tagger("mecabrc")
cmd, infile = sys.argv
with open(infile) as f:
text = f.read()
node = tagger.parseToNode(text)
while node:
word = node.surface
if node.surface != "": # ヘッダとフッタを除外
if (node.feature.split(",")[1] == "固有名詞"):
print(node.feature.split(",")[6])
node = node.next