会議の議事録作成は、時間と手間がかかるタスクですが、Pythonを使うことで自動化できます。この記事では、Pythonを使って会議の議事録作成を自動化する方法について、具体例を交えて解説いたします。
moun45.hatenablog.com
必要なライブラリのインストール
議事録作成を自動化するためには、音声認識やテキスト処理のライブラリを使用します。主に使用するライブラリは、speech_recognition
、pydub
、およびnltk
です。これらのライブラリをインストールしましょう。
pip install speechrecognition
pip install pydub
pip install nltk
音声データの準備
まず、会議の音声データを準備します。音声ファイルはMP3やWAV形式で用意してください。音声ファイルをPythonで処理できる形式に変換するために、pydub
を使用します。
from pydub import AudioSegment
audio = AudioSegment.from_mp3("meeting_audio.mp3")
audio.export("meeting_audio.wav", format="wav")
次に、音声認識を使用して音声データをテキストに変換します。speech_recognition
ライブラリを使用して、音声ファイルを読み込み、認識します。
import speech_recognition as sr
recognizer = sr.Recognizer()
with sr.AudioFile("meeting_audio.wav") as source:
audio_data = source.record()
try:
text = recognizer.recognize_google(audio_data, language="ja-JP")
print(text)
except sr.UnknownValueError:
print("音声を認識できませんでした")
except sr.RequestError as e:
print(f"音声認識サービスにアクセスできませんでした: {e}")
テキストの整形と要約
取得したテキストを整形し、議事録の形式にまとめます。nltk
ライブラリを使用して、テキストの分割や要約を行います。
import nltk
nltk.download('punkt')
from nltk.tokenize import sent_tokenize
# テキストを文ごとに分割
sentences = sent_tokenize(text)
# 整形された議事録の作成
minutes = "会議の議事録:\n"
for i, sentence in enumerate(sentences):
minutes += f"{i+1}. {sentence}\n"
print(minutes)
整形された議事録の保存
最後に、整形された議事録をファイルに保存します。これにより、後で簡単にアクセスできるようになります。
with open("meeting_minutes.txt", "w", encoding="utf-8") as file:
file.write(minutes)
定期的な議事録作成の自動化
定期的に議事録を自動作成する場合、Pythonのschedule
ライブラリを使用することをお勧めします。これにより、指定した時間に自動的に議事録を作成するスクリプトを実行できます。
まず、schedule
ライブラリをインストールします。
次に、スケジュールを設定し、議事録作成関数を定期的に実行するようにします。
import schedule
import time
def create_minutes():
with sr.AudioFile("meeting_audio.wav") as source:
audio_data = source.record()
try:
text = recognizer.recognize_google(audio_data, language="ja-JP")
sentences = sent_tokenize(text)
minutes = "会議の議事録:\n"
for i, sentence in enumerate(sentences):
minutes += f"{i+1}. {sentence}\n"
with open("meeting_minutes.txt", "w", encoding="utf-8") as file:
file.write(minutes)
print("議事録が作成されました")
except sr.UnknownValueError:
print("音声を認識できませんでした")
except sr.RequestError as e:
print(f"音声認識サービスにアクセスできませんでした: {e}")
# 毎週月曜日の9時に議事録を作成
schedule.every().monday.at("09:00").do(create_minutes)
while True:
schedule.run_pending()
time.sleep(1)
まとめ
Pythonを使った会議の議事録作成の自動化は、時間と労力を大幅に節約できます。speech_recognition
とpydub
を使用して音声データをテキストに変換し、nltk
でテキストを整形することで、効率的に議事録を作成できます。また、schedule
ライブラリを使用して定期的な自動化を実現することも可能です。これらの技術を活用して、会議の議事録作成を効率化しましょう。