dotnetでTeamsのトランスクリプトを活用
dotnetでTeamsのトランスクリプトを活用
仕事でTeamsを使っている人は多いのではないでしょうか。
その流れでTeams会議を使っている可と思いますが、Teams会議には文字起こし機能「トランスクリプト」が存在します。
精度は少々残念ですが、自動的に作成してくれ、かつ話者ごとに分割して表示してくれます。
皆さんはこのトランスクリプトを活用したいと思ったことはないでしょうか。
できればトランスクリプトを議事録の作成に使いたいと思ったことはあると思います。しかし、ダウンロードできるVttファイルは、そのままではデータ操作しにくいものです。
なので今回私はトランスクリプトを活用するべく、VttファイルをCSVファイルに変換し、かつフィラー除去(※)などを行えるライブラリを作成したので、ここで紹介したいと思います。
※「あ、」や「えっと」などの不要語を取り除くこと
自作ライブラリ紹介
ライブラリはGitにアップしているので、ぜひ活用していただければと思います。(こう処理を変えるとよいなどのアドバイスいただけると嬉しいです。)
・Transcript4CSV
基本的には使い方はREADME.mdに記載してはいますが、こちらでもざっくり紹介します。
- dllをプロジェクトに追加
- usingの追加
- インスタンスの作成
- 読み込んだVttファイルを処理する
- 必要に応じた処理を実行
- CSVファイルを作成する
- データをListで取得する
Gitのリリースからdllをダウンロードしていただき、自分のプロジェクトに追加してください。
呼び出すファイルにusingを追加します。
using Transcript4CSV;
インスタンスを作成します。引数には読み込みたいVttファイルのパスを入力します。
TranscriptProcess transcript = new TranscriptProcess("vttPath");
インスタンスを作成した際に指定したVttファイルを処理するためのメソッドを呼び出します。
transcript.MakeCSVList();
transcript.WriteCSVFile("outputPath");
var list = transcript.GetCSVData();
サンプル実行
先程ライブラリの使用方法を紹介したので、実際にサンプルデータを用いて実行してみます。
サンプルとなるトランスクリプトは下記になります。
※ユーザ名は変換しています。
WEBVTT 00:00:00.000 --> 00:00:03.150 <v user1>はい。トークスクリプトのテストです。</v> 00:00:03.970 --> 00:00:07.400 <v user1>ええ文字起こしがされているかを確認します。</v> 00:00:09.510 --> 00:00:16.130 <v user2>はい、このトランスクリプトを元にええ稼働確認がされることを確認します。</v> 00:00:19.120 --> 00:00:25.240 <v user1>ええ作成されたトランスクリプトは、vttファイルでダウンロードします。</v> 00:00:27.050 --> 00:00:35.520 <v user1>ええそのファイルを指定してインスタンスを作成し、csvデータ作成のメソッドを実行します。</v> 00:00:37.670 --> 00:00:43.090 <v user1>はい。最後にそのデータをcsvファイルに出力すれば完了です。</v> 00:00:46.010 --> 00:00:50.290 <v user1>ええトランスクリプトデータの作成は以上です。</v> 00:00:51.740 --> 00:00:55.160 <v user2>はい、このデータで検証を実施します。</v> 00:00:56.480 --> 00:00:57.350 <v user2>以上です。</v>
ライブラリを使ったプログラムは下記のようになります。
using Transcript4CSV; var vttPath = "/root/log/Transcript_2023-10-04.vtt"; TranscriptProcess transcript = new TranscriptProcess(vttPath); transcript.MakeCSVList(); transcript.WriteCSVFile("/root/log/csv.csv", true);
実行した結果は下記になります。
Speaker,Text,StartTime,EndTime user1,トークスクリプトのテストです。文字起こしがされているかを確認します。,00:00:00.000,00:00:07.400 user2,このトランスクリプトを元に稼働確認がされることを確認します。,00:00:09.510,00:00:16.130 user1,作成されたトランスクリプトは、vttファイルでダウンロードします。そのファイルを指定してインスタンスを作成し、csvデータ作成のメソッドを実行します。最後にそのデータをcsvファイルに出力すれば完了です。トランスクリプトデータの作成は以上です。,00:00:19.120,00:00:50.290 user2,このデータで検証を実施します。以上です。,00:00:51.740,00:00:57.350
結果を見て分かる通り、「ええ」や「はい。」などの不要語(フィラー)を削除した上で、話者ごとにテキストをまとめています。
実際の会議中などは不要語(フィラー)が入りやすく、トランスクリプトだけを見ると分かりにくいので、これを自動的に見やすくしてくれます。
なお、今回はCSVファイルで出力しましたが、Listの状態で取得することもできるので、以降の処理を自由にカスタマイズすることも可能です。
さいごに
いかがだったでしょうか。今回はTeamsのトランスクリプトを活用するライブラリを紹介しました。
ノイズになる不要語(フィラー)を除去することもできるので、出力されたファイルはデフォルトのトランスクリプトより見やすくなっています。
Teams会議後の議事録作成により活用しやすくなると思いますので、ぜひ使って見てください。
今回はこの辺で、ではまた!!
コメント
コメントを投稿