Microsoft Ignite 2021の基調講演で発表された「Azure OpenAI Service」。公式ページにある通りOpenAI でOpenAI APIを発行してもらったのでExpamplesにある49個のアプリから「Notes to summary」をPythonから実行して試行錯誤します。
OpenAIのExpamplesにあるNotes to summaryとは
公式の説明では「Turn meeting notes into a summary.」とあり、“ミーティングノートをサマリーにする”となります。ミーティングの内容から自動的にサマリーを作ってくれます。
公式のタグでは「Transformation」と「Generation」の2つが付与されています。
プログラムを見るとエンジンは「davinci-instruct-beta」という、「davinci-instruct」というエンジンのβ版となっています。
サンプルコードでは1行目に「Convert my short hand into a first-hand account of the meeting:(短い表現から会議の第一報に変換する。)」となっており、全会話から要約ではなく、会話からポイントを抽出することで要約を作ってくれるようです。
早速使ってみた
公式にあるコードを参考に、好きな文章を入れられるように str という変数に会話を入れて実行できるようにします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
Python Code ‘’’ import os import openai openai.api_key = os.getenv("OPENAI_API_KEY") str = """Convert my short hand into a first-hand account of the meeting: Tom: Profits up 50% Jane: New servers are online Kjel: Need more time to fix software Jane: Happy to help Parkman: Beta testing almost done Summary:""" response = openai.Completion.create( engine="davinci-instruct-beta", prompt=str, temperature=0.7, max_tokens=64, top_p=1.0, frequency_penalty=0.0, presence_penalty=0.0 ) print(response["choices"][0]["text"]) ‘’’ |
会議の情報から要約を作ってくれる
会議の情報を用意します。
「Tom: Profits up 50%(利益が50%増加)
Jane: New servers are online(新サーバーが稼動開始)
Kjel: Need more time to fix software(ソフトウェアの修正にもう少し時間が必要)
Jane: Happy to help(喜んでお手伝いします)
Parkman: Beta testing almost done(ベータテストはほぼ終了)」
実行すると
- Tom and Jane offer updates and Parkman provides an update on beta testing.(TomとJaneが最新情報を提供し、Parkmanがベータテストに関する最新情報を提供します。)
- Tom reports that profits are up 50% thanks to Jane’s new servers, Kjel needs more time to fix the software, Jane is happy to help, and Parkman reports that beta testing is almost done.(TomはJaneの新しいサーバーのおかげで利益が50%アップしたこと、Kjelはソフトウェアの修正にもっと時間が必要で、Janeは喜んで手伝ってくれること、Parkmanはベータテストがほぼ終了したことを報告しています。)
のような結果が出力されます。
内容だけでなく、どの人がどの発言かを理解した上で1人1人バラバラな内容を羅列するわけでなく、役割も理解したような内容になっています。もともとの文章が非常に短いのでこの解釈があっているかどうかは確認する必要がありますが、一瞬で要約が出力されます。
どんなときに使えるのか?
会議の要約を一瞬で作れるということで、ほぼすべての企業で使えると思われます。通常議事録を取るときとはフォーマットが違っていると思いますので、その部分については調整が必要となります。
特にTeams会議を使っている企業であれば、トランスクリプト(文字起こし)機能に日本語が対応され認識率も高いので、トランスクリプトを有効にしているのであれば会議終了→OpenAIに送信→要約生成といったことも可能です。
※2021年8月末にTeams会議のトランスクリプトが多言語対応され、日本語も認識できるようになりました。
「00:00:00-00:00:02.640
<v ユーザー名>こんにちは、それでは会議を始めます</v>」
のようなフォーマットで、発生した時間および話者が記録されます。