はじめに
OpenAIのAPIが公開されたことで、ChatGPTの機能をアプリケーションに取り入れることができるようになりました。
非常に便利ではあるのですが、このAPIを使うにあたり、
「大量の文書ファイル(CSVやPDF等)からデータを抜き出したり、レスポンスのJSONファイルから結果にあたる部分を取り出すためにコード記述するのがめんどくさい、、、」
みたいなことを感じたことはありませんか?
そこで本記事では、Dataiku上でChatGPTのプラグインを使い、文書ファイルを処理する方法を紹介します。
今回はCSVの英語のニュース記事データを翻訳、要約してもらいますが、Dataikuを使うことで、これらの処理をノーコードで実装することができます。
Dataikuとは
そもそもDataikuとは?について軽く解説します。
Dataiku(データイク)は、データソースへの接続からデータの準備、AIや機械学習モデルの構築に加え、分析アプリケーションの開発と運用までをひとつのソリューションとして統合させた、オールインワンのAI・機械学習プラットフォームです。高度にビジュアル化されたGUIで、データサイエンティストやデータエンジニア、ビジネスアナリストなど、プロフェッショナルから技術的な専門知識がないユーザーまで、誰でも簡単に利用できます。
AI・機械学習に関する一連のプロセスをカバーしています。
データパイプラインを直感的にとらえることができ、ノーコード・ローコードで高度な分析も可能です。
詳しくはこちら
無料トライアルもやっているので、気になった方はぜひ一度触ってみてください
Dataikuを使った実装
前提として、Dataiku内でChatGPTの機能を使えるようにする必要があります。
これは非常に簡単です。
「OpenAI GPT」というプラグインをインストールして、OpenAIのアカウントとAPIキーを設定すればすぐに使えるようになるので、導入に手間はほとんどかかりません。
詳しい手順は、公式ドキュメントをご参照ください
CSVのインポート
それでは、ここから実際にDataiku上でデータを処理していきます。
今回使用するデータは、こちら(*1)の英文のニュース記事がまとまったCSVファイルです。
これを翻訳&要約させていきます。
そのために、まずCSVをDataiku上にインポートし、加工が可能な形にします。
インポートはマウスクリックだけで簡単にできます。
今回はHTTPからCSVをダウンロードしたので、そのURLを入れるだけです。
インポートができたら、以下のようなテーブル形式のデータを得ることができます。
この時点では、記事ID、出版日付、記事ソースリンク、タイトル、サブタイトル、本文の6つのカラムからなっています。
欠損値があるレコードも見られます。
データの前処理
ここでは、ChatGPTに投げたいレコード情報を整理するために、先にインポートしたデータを処理していきます。
今回行ったのは、欠損値があるレコードや不要なカラムの削除、新たなカラムの追加です。
以下は欠損値を削除している例です。
タイトル、本文列に欠損値があるレコードを削除しています。
そのほか詳しいやり方は今回割愛しますが、これらはすべてノーコードで行うことができます。
整理した後のデータセットがこちらです。
記事ソースリンク列やサブタイトル列が消え、カテゴリー列や単語数列ができました。
欠損値も処理されています。
ChatGPTプラグインの使用
前処理が終わったので、いよいよChatGPTの機能を使って翻訳&要約していきます。
使い方としては、先にインストールした「OpenAI GPT」というプラグインを使い、プロンプトやその他のちょっとした設定をします。
今回は以下のようにしました。
Taskの箇所に命令を記載すればOKです。
命令は日本語で書きました。
API configuration presetには、APIキーを設定したプリセットを選択します。
これで実行すると、結果は以下のようになりました。
↓参考までに先頭の3レコードはこういった内容です
翻訳も要約ももっともらしいものを出力できています。
おわりに
いかがだったでしょうか。
今回CSVの英文データを扱いましたが、ノーコードですべて処理できました。
PDFやExcelファイルでも同様にして処理が可能です。
また、これらの処理済みデータを使ってさらに分析や機械学習も行うことができるので、拡張性も十分です。
よろしければ皆様も一度お試しください。
参考資料
*1 ニュース記事 NewsArticles.csv
https://dataverse.harvard.edu/file.xhtml?persistentId=doi:10.7910/DVN/GMFCTR/IZQODZ