GeminiとSlackで≪ドキュメント校正≫を自動化する0次レビューツールを作ってみた
はじめに
こんにちは。
インフラエンジニアのKanamiです。
日々の業務で、Word/Excelファイルのドキュメント作成はなくてはならない作業ですよね。でも、誤字脱字や表現の間違いをチェックするために時間を割きたくありません。
私自身、誤字脱字が日頃から多く、設計書や議事録を書く際に必ず1つ以上は間違いがあります。。
また、エンジニア特有の悩みかとは思いますが、設計書を書くときに日本語表現をどうしようか?と悩むことも多々。。
生成AIに文章を丸投げすればチェック自体はできますが、いちいちプロンプト作ってコピペするの面倒くさい!ということでドキュメントの0次レビューを行ってくれる自動校正ツールを作ってみました!
記事の目的
この記事では、GoogleのGeminiモデルとSlackを連携させ、SlackにアップロードしたWord/Excelファイルのドキュメントの校正を自動化する方法を紹介します。
おすすめの読者
この記事は、以下のような方におすすめです。
日々のドキュメント作成で、校正作業に時間がかかっている方
チームでドキュメントを作成しており、品質を均一化したい方
AI技術を活用して業務効率化に興味がある方
使ったプロダクト
Google Gemini API - 文章の校正、表現の修正に利用します。
Google Cloud Functions - GCPのサーバレスサービス。Slackのイベントをトリガーに、テキスト抽出、Gemini API連携、修正結果の通知などの処理を実装します。
Google Cloud Storage - GCPのストレージ。処理済みのファイルを記録するために利用します。
Slack API - Slackのファイル共有イベントの検出や、修正結果の通知に使います。
ざっくり手順
構成図
処理の流れ
Slack で Word/Excel ファイルが共有される
Cloud Functions が Slack のファイル共有イベントをトリガーして起動する
Cloud Functions が、ファイルからテキストを抽出する
Cloud Functions が、Gemini API にテキストを送信して修正を依頼する
Gemini API から修正結果を受け取る
Cloud Functions が、修正結果を Slack に通知する
Cloud Functions が、処理済みフラグを Cloud Storage に記録する
実装結果
ためしに誤字脱字だらけの文章を作成してみました。
きょうは、あさからとてもいそがしくて、じぶんがなにをやっていたかもうよくわすれってしまった。
しかし、どこかにメモをかいたきがしたので、かばんのなかをさがしてみたけど、みつからなかった。
しんぱいになりながらも、とりあえずつぎのよていにむかうことにした。
電車にのっったあと、きふうていにおりて、しごとばしょについた。そしたら、じょうしが「あれ、きょうのしりょうは?」といわれて、あせりまくった。
さいごに、カフェでおちつこうとおもってアイスラテをちゅうもんしたけれど、でてきたのはあったかいホットコーヒーだった。もうなんだか、どうでもいいやとおもった。
SlackからWordをアップロードすると、、
以下のように修正点を指摘してくれました!
ファイル名: 誤字.docx
修正結果:
修正点: わすれって
修正後の内容: 忘れて
修正理由: 「わすれって」は「忘れて」の誤り
修正場所: 本文1行目
修正点: かいたきが
修正後の内容: 書いた気が
修正理由: 「かいたきが」は「書いた気が」の誤り
修正場所: 本文2行目
修正点: のっった
修正後の内容: 乗った
修正理由: 「のっった」は「乗った」の誤り
修正場所: 本文4行目
修正点: きふうてい
修正後の内容: 〇〇駅(具体的な駅名に修正してください)
修正理由: 「きふうてい」は駅名の誤記または不明確な表現のため、具体的な駅名に修正する必要がある。ここでは仮に〇〇駅とした。
修正場所: 本文4行目
修正点: しごとばしょ
修正後の内容: 仕事場所
修正理由: 「しごとばしょ」は「仕事場所」の誤り
修正場所: 本文4行目
修正点: しりょう
修正後の内容: 資料
修正理由: 「しりょう」は「資料」の誤り
修正場所: 本文5行目
修正点: あせりまくった
修正後の内容: 焦りまくった
修正理由: 「あせりまくった」は「焦りまくった」の誤り
修正場所: 本文5行目
修正点: ちゅうもん
修正後の内容: 注文
修正理由: 「ちゅうもん」は「注文」の誤り
修正場所: 本文6行目
Excelの場合だとセルの数式や全角/半角のチェックもしてくれますが、これは不要かなあと思います。
修正点: =RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))
修正後の内容: (削除)
修正理由: Excelの数式が記載されているため、不要と判断
修正場所: 設定項目 既定値 設定値 備考 の上
修正点: Slack Display Name (Bot Name)
修正後の内容: Slack Display Name(Bot Name)
修正理由: カッコの前が全角スペースになっているため、半角スペースに変更
修正場所: 設定項目
どう実装するの?
詳細な設定方法については次回の記事で説明します。
終わりに
完全に誤字・脱字や日本語表現を修正できたわけではないですが、0次レビューとして簡易的にチェックしてもらう方法としては有効的かと思いました。
ExcelよりもWordで作った議事録とか設計書に有用ですね!
この記事を読んで少しでもAIを活用して業務効率化したい!と思う人が増えたら幸いです。
この記事が良かったら「スキ」や「フォロー」をして頂けると、
投稿の励みになりますので、ぜひよろしくお願いします。
最後まで、読んで頂きありがとうございました。