![見出し画像](https://assets.st-note.com/production/uploads/images/172642974/rectangle_large_type_2_fac377fb6bb10d5584ccd6e7df735f86.png?width=1200)
ChatGPTでプログラミング! ~これは、世界が変わるヨ!!~
Zoomの文字起こしデータが冗長なので、
テキストの形式を変換したいな、と思い立ち
以前だったら、awkとかで書くんだけど、ちょっと面倒
ChatGPTにお願いしてみたら、どうなる?
と、試してみたら、驚きの結果になりました~!
スクリプトサンプル
以下のルールに従って、
添付ファイルのテキストを処理するPythonのプログラムを生成した上で、
処理結果をテキストファイル形式で保存してください。
##入力例1
1
00:00:03.440 --> 00:00:04.960
川原茂樹@未来実現パートナー: はーい。
##出力例1
00:00:03 川原 はーい。
##入力例2
3140
02:48:14.930 --> 02:48:15.500
xxx: やっぱり
##出力例2
02:48:14 xxx やっぱり
##その他のルール
・空白行(スペースのみを含む)は削除する
・数字だけの行も削除する
・出力はタブ(\t)で区切り、1行にまとめる
指示したのは、こんな感じ
空白行を含めて4行で1セットの部分を
1行でシンプルにまとめる処理です
冒頭に、やってほしいことの全体像を示す
Pythonのプログラムを生成する
実行して、
結果をファイルで出力する
処理内容の指示は、
入力と出力を対比して、サンプルを2つ与えただけ
具体的に、何をどうするかは、指示していない
ここが、従来のプログラミングと大きく違うところ
その他のルールは箇条書きで
思いつくまま、適当に
人間の部下に指示するみたいですね
生成されたプログラム
import re
def process_transcript(input_file, output_file):
with open(input_file, 'r', encoding='utf-8') as file:
lines = file.readlines()
output_lines = []
timestamp = ""
speaker = ""
content = ""
for line in lines:
line = line.strip()
if not line or line.isdigit():
continue # 空白行または数字のみの行をスキップ
timestamp_match = re.match(r"(\d{2}:\d{2}:\d{2})\.\d{3} -->", line)
if timestamp_match:
timestamp = timestamp_match.group(1) # タイムスタンプを抽出
continue
speaker_match = re.match(r"([^:]+): (.+)", line)
if speaker_match:
speaker = speaker_match.group(1).split('@')[0] # スピーカー名を@前で切り取る
content = speaker_match.group(2) # 発言内容を取得
output_lines.append(f"{timestamp}\t{speaker}\t{content}")
with open(output_file, 'w', encoding='utf-8') as file:
file.write("\n".join(output_lines))
# ファイル名設定
input_filename = "/mnt/data/Recording.transcript.txt"
output_filename = "/mnt/data/processed_transcript.txt"
# スクリプト実行
process_transcript(input_filename, output_filename)
print(f"処理が完了しました。出力ファイル: {output_filename}")
私は、Python使ったことないですが、美しいコードです。w
読みやすく、ムダが無い
ちゃんとコメントも入れてくれている
データの意味を指示してないのに、ちゃんと認識している
タイムスタンプ、発言者、内容、と!
文字処理は、さすが!
正規表現で、しっかりと
これは、ビックリです!
このくらいの簡単なプログラミングでは、
人間の出番がホントに無くなりそう
そして、プログラム実行とファイル出力まで、一気にやってくれて
処理結果もバッチリでした!
思いついてから、ここまで、
5分もかかっていません
私がやったら、まる1日かかっても、デバッグまで終わらないかも💦
(そんな時間ないけどw)
これは、世界が変わるなぁ~!
小学生でも、プログラミングできる!?
どんどん、AIで出来ることが増えています
もう少し、色々トライしてみたくなりました~ ^^)/
この記事を書いたのは、
収益の柱を増やす「未来実現パートナー」 川原茂樹
https://mousoubiz.com/
https://twitter.com/mousoubiz