テキストマイニング用のテキスト加工処理ツールをChatGPTで作る+Chat GPTのCustom Instructionsの機能を試してみる

昨日に続きChatGPTでエクセルのテキスト加工処理ツールのマクロを作ってみます。

このツールを作ろうと思ったきっかけなんですが、J-PlatPatでは分析に使うことができるデータを3000件まで一括ダウンロードができるようになりました。しかし、要約付きのデータは500件までしか一括ダウンロードできません。これに対しPATENTSCOPEでは要約のデータ付きで分析に利用できるデータを1万件まで一括ダウンロードできます。
なので、PATENTSCOPEでダウンロードした要約のテキストを使ってテキストマイニングに使おうとしてダウンロードして確認したところ、要約のテキストが「タグ」「改行」「スペース」で区切られまくっていてそのままだとテキストマイニングには使えそうにありませんでした。ということで前処理のツールが必要そうだという判断になりました。

そこで、ChatGPTに前処理ツールを作ってもらうことを考えました。さらに、5/20にChatGPTに追加された新機能"Custom Instructions"も試してみたいと思います。
この新機能については以下で説明されていますが、要するに自分の好みを設定しておき、設定された好みに基づきChatGPTで生成される回答を制御するというものです。
要するに空気を読んでくれる感じです(後述)。

Custom instructions for ChatGPT (openai.com)

ということで、私はChatGPTを自分の業務に使っているため、以下のように設定してみました。

応用方法は他にもいろいろありそうですが、ひとまず業務の概要を設定しつつ、それに合った追加情報があればその旨を明記して追記するよう設定します。

さて、当初の目的の前処理ツールを作る問答を開始します。まずはタグだけ削除するツールができるか聞いてみます。

さくっとユーザ関数を作ってくれました。できたコードをエクセルの標準モジュールに貼り付けて実行したところ、問題なく処理してくれるようでした。
しかも、CustomInstructionsの設定に従って、使い方の追加説明もしてくれます。私がやろうとしていた作業を提案してくれていていいですね。
今回は新しいアイデアが追加されたわけではないですが、別の機会に良いアイデアが貰えることを期待できそうです。

さて、次は改行の削除機能の追加もお願いします。

こちらも問題なく動いたので、さらにスペースの削除もお願いします。

試しにPATENTSCOPEでダウンロードした数千件のデータの要約に対してこの関数を使ってみましたがタグ等外す処理がしっかりできていました。これは捗りますね。

PATENTSCOPEでは無料の登録をすれば要約を含む1万件までデータをダウンロードできるので、特許の要約に基づくテキストマイニングを無料でしたいならPATENTSCOPEを使うのがよさそうです。

PATENTSCOPEへのアクセスは以下からどうぞ。

WIPO - 国際・国内特許データベース検索

今回のようなツールを作れば、タグやらで区切られていようがKHCoderなどでテキストマイニングする前の前処理が簡単にできてよいですね。
ということで、実行結果についてはこんな感じになります。関数名がとても長いですが動くのでヨシ。

実は左のXMLテキストもChatGPTにサンプル用として適当なXML文章を作るようにお願いしたのですけど、空気を読んで(CustomInstructionsの記載を考慮して)特許っぽい文章でサンプルを作ってくれています。賢いですね。

 以上の手法を含め弊所では様々な特許情報分析の手法を用意しており、クライアントの要望に沿った分析手法の開発も行っています。
また、このような分析手法に関する個別指導・セミナーや、個別の分析プロジェクトについても対応可能です。ご相談などありましたら管理人の特許事務所のページからお知らせください。
よろしくお願いします。