はじめに
こんにちわ、DROBE の都筑です。 この記事では LLM で行う独自シソーラスに対応した校正機能について解説します。
LLM で校正してもらう
文章校正とは文章内の誤字・脱字・誤植や文法ミスを修正して正しく書き直すことを指します。 一般的には文章の「てにをは」やタイポなどを修正する機能をイメージされる方が多いと思いますが、実際に業務の現場では独自の言い回しや単語などがありライティングのガイドラインがある場合も多いと思います。
LLM による校正で非常に強力なのは、そういった独自ルールやガイドラインを踏まえた上で校正をしてくれる機能をプロンプトを作成するだけで簡単に実装できる点にあると思います。
DROBE でのユースケース
DROBE ではお客さまに商品を発送する際に スタイリングカルテ
と呼んでいるスタイリストからの提案をまとめた印刷物を同梱しています。
カルテに記載する文言は全てスタイリストが自分で書いていますが、サービスに特徴的な単語の言い回しなどに一定のルールがあります。
今回はこのスタイリングカルテの文言の校正機能を LLM を用いて開発してみました。
機能の概要
実装としては非常にシンプルで、OpenAI の API を叩く Lambda を先に用意しておき、それを React から直接叩きます。
UI 的には、校正ボタンを準備しておき、ボタンをクリックしたら API を叩いて結果が返ってきたら修正差分を表示する、という簡易なものを作りました。
Lamda の構成については別で記事にしているので興味があればご参照ください。
プロンプト
Lambda 側のプロンプトを記載します。ここは色々な工夫のしようがあると思います。
あなたは文書を校正するアシスタントです。 意味を変えないように、与えられた文章を以下のポイントに気をつけて訂正して出力してください。 - タイポ - 文法間違い 以下の点に関しては訂正しないでください。 1. 敬称としての使う「様」には平仮名の「さま」を使ってください ... 省略 表記を間違えやすい単語や表現があるので気をつけてください 以下に例を示します。 =============== 正しい表記: DROBE 間違った表記: Drobe 正しい表記: お客さま 間違った表記: お客様、ユーザー ...省略 =============== これらを踏まえて以下の文章を訂正してください。 =============== {passage} ===============
model は gpt-3.5-turbo
と gpt-4
を試しましたが、この場合は圧倒的に gpt-4
の方が自然な校正結果が返ってきました。
パフォーマンスに関して
パフォーマンスに関しては Datadog で処理時間を計測しています。 コンソールを見ると大体 15sec 程度ではレスポンスを返せていそうです。
一般的な API だと考えるとあり得ないくらい遅いですが、校正という機能を考えると及第点かなと思います。
検証方法
検証を行うために ChatGPT に間違った表記で文章をいくつか作ってもらい、それを校正 API に流して検証しました。
上手くシステム化すれば、検証や評価もある程度自動化できるのではと思いました。
さいごに
OpenAI の LLM である GPT-4 を利用した文章校正ツールについて解説しました。 一般的な校正だけではなく、独自ルールやガイドラインを加味してくれるツールをサッと作れるのが非常に強力だと思います。
参考にさせていただいた資料
以下を非常に参考にさせていただきました。ありがとうございます。