見出し画像

生成AIでインタビュー原稿を自動生成して、編集作業に集中できるようにしてみた

生成AIの活用によって、私のメイン業務である記事ライティングの仕事は大きく変わりました。以前から何回か、Whisper関連で記事を書いていましたが、ワークフローに少し改善があったので現時点での執筆スタイルをまとめました。

インタビュー音源録音

まず、インタビューで音声を録音します。スマートフォンのボイスメモでも良いし、オンラインならZOOM録音でも良いです。普段は、TASCAMのリニアPCMレコーダー(無指向性マイクロフォン)を使用していますが、最近はiPhoneで録音したほうが良い気がしてきました。iPhoneの録音性能がとても良く、音声の補正がほぼ必要ないからです。もちろん、TASCAMのような無指向性マイクロフォンで録音した音声の方がクリアですが、部屋の環境音や空調音も録音するので、AudisionやLogixProなどで補正する手間が発生するため、その手間を考えるとiPhoneが適している気がします。

また、Whisperは多少の聞き取りづらさやノイズがあってもガンガン文字起こししてくれるので、スマートフォン付属のボイスメモで十分かと思っています。

Whisperを活用した独自ツールで文字起こし

次に、Whisperのカスタマイズを使用して文字起こしを行います。社内用語や専門用語、人名や固有名称などへの最適化については、こちらの記事で説明しています。

多少、Whisperに設定するパラメーターが細かくなったり、Pythonの処理が効率化されたりしていますが、大きな変更はありませんでした。

文章補正用のテキストデータを整形

これ以降は、上記の記事を書いた後に追加した工夫です。

Whisperの書き起こしができたら、不要な部分を人手で省き、カットすべきトークを削除します。「あのー」とか「えーと」といった言葉は、Whisperにかけた時点でほとんどカットされますが、それでも記事には不要な言葉や会話が残っているため、それを削除します。

その一方、句読点や日本語がおかしいところ、口語体の話し言葉などが大量に残っていますが、この後の工程で一括で自動補正するのでこの時点では無視します。

また、社内用語や専門用語の補正用データベースで修正できなかった誤字や脱字は、その都度データベース(私の場合はSQlite)にINSERTします。ここがちょっと手間かもと思っています。

PythonでGPT-4 APIを呼び出して、日本語を一括整形する

次に、PythonからGPT-4 APIを呼び出し、文章ブロック単位でループしながら、文章整形をしていきます。この際、要約ではなくて、同じ文字数での変換(編集)を依頼しています。これにより、口語体の話口調から、インタビュー記事用のフォーマルな文体になり、同時に句読点の補完や「てにをは」が整えられます。

今までは、1,2時間かけてWhisperの書き起こし後の手作業による修正していましたが、10分ほど放置で完了しているのが嬉しいです。

GPTのAPIコールでは、パラメーターを調整する必要があります。下記はOpenAI社のドキュメントの引用ですが、モデルについては精度が高くより多くのトークンを送受信できる"gpt-4"を利用しています。

from openai import OpenAI
client = OpenAI()

response = client.chat.completions.create(
  model="gpt-3.5-turbo",
  messages=[
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Who won the world series in 2020?"},
    {"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."},
    {"role": "user", "content": "Where was it played?"}
  ]
)

何万字の文章をGPT APIにかける場合、トークンエラーが発生しがちです。以前の記事ではトークンエラーやout of memoryにハマって挫折したことを書いています。

トークンエラーを防ぐために、元の素材などのデータを整理することを心がけています。

整理とは「改行がないまま一行に大量の文章が連なっている」「GPT4への依頼を送る際に指示文が多すぎる」などです。そこを改善することで、前回の記事でハマっていた課題が解決し、無事に数万字の書き起こし文章が、数分でGPT4 APIにより整形することができました。

この時点でインタビュー原稿の約60%が完成します。話したままの口語体なWhisper書き起こしが、GPT4 APIによって読めばインタビューの内容がだいたいわかるレベルになります。ここまでで2営業日(※)です。

※ 営業日とはこの仕事をメインにしつつ、別の業務とか連絡を細々やっている感じ。

AIのヘルプを受けながら、人の手による編集をする

その後、ストーリー全体や三幕構成的なプロットを考えて、インタビュー記事にストーリー性や感情の揺さぶられ要素を組み込みます。文章整形が足りない箇所については、Notion AIを利用しています。

更に役立つのが、OpenAIのAssistants API機能です。Web版のChatGPTのように一問一答ではなく、人間とSlackなどのチャット会話をしているように、文脈や経緯を踏襲したうえで回答やアドバイスをしてくれるのが気に入っています。テキストファイルやPDFも読解してくれるのが素晴らしいです。

原稿を書く際に、不足している情報や補足すべき情報については、複数の資料や過去記事、PDF資料をエージェントに読解してもらい、それを踏まえた意見を求めたりしています。インタビュー時には聞けなかったこと、深掘りできなかったことなどの補足に最適です。

質問だけでなく、事前に役割を与えたり、参考資料としてPDFなど添付ファイルを読み込ませられる
こんな感じでチャットのように対話しながら文章を書き進められる

こうしてDocsを作成して、作業は完了です。通常、約3営業日で原稿が完了しています。

人がやるべき仕事は何か

ふりかえってみると、人の手が必要となる作業は

・AIツールを選定する
・AIを活用してAIのためにデータを整理する
・人間が読んでおもしろいと思えるストーリーを考える
・人間が読んでいて気持ち良いと思えるテンポの文章を書く

「文章を書く」という行為の中で、整形したり推敲したりする必要がなくなり、とても楽になりました。

また、インタビュー時にメモを取る必要がないので、質問や会話に専念できるのも大きいです。録音から書き起こしまで、全体の進捗の30%が自動で進むので、案件に手をつけるための心理的なハードルが下がるのが良いです。

以前から模索していた生成AIの導入により、外部のライターさんや文字起こし業者への依頼は不要になっていましたが、それでも依頼したい仕事もありました。例えば、書き起こした文章を整形したり追加調査をくれるライターさんを探していましたが、GPT APIAssistants APIを使用することで自己完結できるようになりました。

とはいえ、今後もライターのお仕事はなくならないと思います。書き起こしとは、いわばインタビューで話したことしかアウトプットされないからです。

インタビュー記事は、議事録書き起こしではなく、ある意味ではフィクションと言えます。個人の話でありながらも、その実は会社や組織のカルチャーや思想を代弁しているため、その文脈をバックボーンにしながら記事を書く必要があります。

In-context learningなどで文脈や背景などの、明文化された情報を追加学習させることはできたとしても、会社の歴史やカルチャーや思想など、ネットなどにオープン化されていないコンテキストや文脈や空気感や人の歴史は、人間の手によって続いているので、そこを書くのが人間のライターの仕事だと思います。

ある意味、編集に専念できるのが、ライターにとって生成AI活用の良い点です。

独学がすすむ生成AI

生成AIは楽しいです。例えば、Pythonについても理解をもっと深めたくて「独習Python」を購入して読んでいるのですが、完全に読破しなくても「こういうことができる」と理解できれば、GPTがプログラムを推奨してくれて、とりあえず動くプログラムを作ることができるので、挫折やつまづきがなく気持ちが楽です。

私のような職業的な非エンジニアにとっては、Github co-pilotを使いこなすことが難しく、どちらかというとGPT3.5などに聞いたほうが、独学を楽に進められる気がします。

以上が、現時点でのライティング業務に生成AIを活用したワークフローです。継続的に改善しているので、また進展があったら記事にしてみたいとおもいます。

この記事が参加している募集

ライターの仕事

この記事が気に入ったらサポートをしてみませんか?