メディア

すぐに使えるChatGPT テキストデータの分類や評価をお願いしよう(第8回)

OpenAIが公開した初歩的な「ChatGPT」向けのプロンプトを紹介しよう。今回は文章を与えてChatGPTに分類をお願いしたり、評価してもらったりする例を主に取り上げた。

» 2024年01月31日 10時30分 公開
[畑陽一郎キーマンズネット]

 第7回に続き、OpenAIが公開した「ChatGPT」向けの短いプロンプトを紹介しよう(連載記事の一覧はこちら)。今回は文を生成するというよりも、ユーザーが与えた文を分類したり、評価したりする例だ。ChatGPTを初めて使うときは、このような単純な例が分かりやすい。ある程度慣れてきたら、プロンプトを変えたり、これまでの連載で紹介したテクニックを試したりするとよいだろう。どのプロンプトも無償のChatGPT 3.5で利用できる。

(1)ポストを分類する

 大量の短文があるときに、それを分類しなければならないことがある。アンケートの集計だったり、「X」(旧Twitter)のポストの傾向を調べたりする場合だ。

 次の例はポストを与えて、書き手がどのような感情を持っているのかをChatGPTに判断させる例だ。文字列の一致で分類することは他のツールでも実行しやすいが、感情や意味をくみ取って分類するにはChatGPTのような生成AI(人工知能)が向く。

ポストを入力するので、どのような感情が表れているのか、ポジティブ、ニュートラル、ネガティブのいずれかに分類してほしい。


バットマンの新作映画はとても良かった!


感情分類:ポジティブ


 このような分類作業を本格的に実行する場合は、ChatGPTのAPIをプログラムから呼び出して使うこともできる。次の例は「Python」のサンプルコードだ(他のプログラミング言語用のコードもある)。この例ではポストの内容がコード内に埋め込まれているが、ポスト自体を外部から取得してChatGPTに受け渡すことも可能だ。

from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(
  model="gpt-3.5-turbo",
  messages=[
    {
      "role": "system",
      "content": "You will be provided with a tweet, and your task is to classify its sentiment as positive, neutral, or negative."
    },
    {
      "role": "user",
      "content": "I loved the new Batman movie!"
    }
  ],
  temperature=0.7,
  max_tokens=64,
  top_p=1
)

(2)ユーザーレビューをタグ付けする

 先ほどの例は短い文章を読ませた。もっと長い文章を読ませて分類することも可能だ。次の例では「Inflatoron 2000」というエアベッドに対するユーザーレビューを読み込ませて、あらかじめ与えたタグのうち、当てはまるものをChatGPTに選ばせている。

以下にユーザーレビューとタグのリストを順に入力するので、ユーザーレビューに当てはまるタグを選んで、箇条書きにしてほしい。リストで提示されたタグのリストだけを使って選択してほしい。肯定的なタグか否定的なタグのどちらかを選択し、両方は選択しないようにする。


ユーザーレビュー:

私は最近、キャンプ旅行のためにInflatotron 2000エアベッドを購入し、私の経験を他の人と共有したいと思った。全体的に、このエアベッドはプラス面とマイナス面が混在していることが分かった。プラス面から挙げると、Inflatotron 2000はセットアップと空気入れが驚くほど簡単だ。電動ポンプが内蔵されており、数分でベッドが膨らむので、手動でポンプアップする手間を省きたい人には大きなプラスだ。このベッドは寝心地もよく、背中をきちんとサポートしてくれる。一方、Inflatotron 2000にはマイナス面も幾つかあった。まず、エアベッドの耐久性が低く、簡単に穴が開いてしまう。キャンプ旅行中、ベッドに落ちていた小枝で穴が開いてしまい、かなり悔しい思いをした。次に、エアベッドは一晩で空気が抜けやすいので、毎朝空気を入れ直さなければならない。そのため、毎朝、空気を入れ直さなければならず、睡眠が妨げられ、朝から気分が優れない。もう一つのマイナス面は、Inflatotron 2000はかなり重くかさばるため、持ち運びや収納が難しいことだ。キャンプなどのアウトドアでこのエアベッドを使うつもりなら、持ち運びに十分な大きさの車と、使わないときに収納できるそれなりのスペースが必要だろう。

タグのリスト:

  • 価格に見合った価値を提供する / 高価過ぎる
  • 予想以上によく機能する / 予想ほど機能しなかった
  • 必要不可欠な機能を含む / 必要不可欠な機能に欠ける
  • 使いやすい / 使いにくい
  • 高品質で耐久性がある / 品質や耐久性が悪い
  • 維持や修理が容易で手頃な価格だ / 維持や修理が・困難でコストがかかる
  • 持ち運びが容易だ / 持ち運びが困難でコストがかかる
  • 保管しやすい / 保管が難しい
  • 他の機器やシステムとの互換性がある / 他の機器やシステムとの互換性がない
  • 安全で使いやすい / 安全ではない、または、危険だ
  • 顧客サポートが充実している / 顧客サポートが不十分だ
  • 保証が手厚い / 保証が限定的か、または不十分だ□□

  • 使いやすい
  • 品質や耐久性が悪い
  • 持ち運びが難しい
  • 保管が難しい

 なお、ChatGPTは入力された文をトークン(単語、または単語をさらに分割した単位)として内部に格納するものの、GPT-3.5では1024トークンまでしか保持できないため、それよりも長いユーザーレビューを読み込ませる際は連載第3回で紹介したテクニックが必要になる。

(3)テキストからキーワードを抜き出す

 前回、「会議のメモ書きを要約する」というプロンプトを紹介した。要約とは言わないまでも、どのようなキーワードがあるのか知りたい場合もあるだろう。そんなときは次のプロンプトが使える。

テキストのブロックを提供するので、そこからキーワードのリストを抽出してほしい。

黒陶は、ニューメキシコ州北部のプエブロ族ネイティブ・アメリカンの陶芸家たちによって発展した、20世紀と21世紀の陶器の伝統だ。伝統的な還元焼成の黒陶は、プエブロの芸術家たちによって何世紀にもわたって作られてきた。前世紀の黒陶は、表面が滑らかで、選択的なバニシングや耐火性スリップの塗布によってデザインが施されている。別のスタイルでは、デザインを彫り込んだり切り込んだりして、盛り上がった部分を選択的に研磨する。Kha'po OwingehとP'ohwhoge Owingehというプエブロの家系は、何世代にもわたって、家長の陶工から受け継いだ技術で黒一色の陶器を作ってきた。他のプエブロのアーティストも黒一色の陶器を制作している。何人かの現代アーティストが、祖先の陶器に敬意を表して作品を制作している。


 ChatGPTはうまくキーワードを抜き出せるだろうか。

黒陶

ニューメキシコ州北部

プエブロ族

ネイティブ・アメリカン

20世紀

21世紀

陶器の伝統

伝統的な還元焼成

表面が滑らか

バニシング

耐火性スリップ

デザイン

彫り込み

切り込み

盛り上がった部分

Kha'po Owingeh

P'ohwhoge Owingeh

家系

陶工

技術

現代アーティスト

祖先の陶器

敬意

作品制作


 短い文章ではあまり役に立たない技だが、ある程度長かったり、不慣れな分野であったりすれば役立つこともあるだろう。

(4)商品名を自動的に生成する

 文章のタイトルや催し物の名称、商品名など、とにかくたたき台を幾つもほしい場合には、ChatGPTに考えてもらおう。

商品説明とキーワードを入力するので商品名を10個生成してほしい。

商品説明:家庭用ミルクセーキメーカー

キーワード:速い、健康的、コンパクト


(1)クイックブレンドミルクメイト

(2)ヘルシースムージーブリーズ

(3)ラピッドシェイクホームブレンダー

(4)コンパクトミルクフュージョンメーカー

(5)イージーフィットシェイクブレイズ

(6)スピードイールドリンクデリート

(7)ヘルシーファストブレンドメイカー

(8)コンパクトシェイクフリッツ

(9)クイックフィットミルクマスター

(10)ヘルシーラピッドブレンドホームシェイカー


 とにかく指定した数の候補をすぐに作ってくれる点がメリットだ。中には自分の頭では思いつかないような出力もあって、アイデア出しに役立つ。

 なお、ChatGPTは同じ質問を別のユーザーが入力した場合はもちろん、同じ質問を何度も繰り返した場合にも同じ回答を返すとは限らない。上のような出力にならない場合が多いだろう。

 商品名を考えるだけでなく、「冷蔵庫にプリンと袋ラーメンがあります。この2つを使って新しい料理を作ってください」とお願いすると、レシピを書き下してくれる。この2つではまともな料理は恐らくできない。だが、いろいろ試してみると「鶏肉を焼く前にキッチンペーパーで水分をふき取り、その後粉チーズをまぶす」といった実用的な技を教えてくれることがある。

(5)「なりきり回答」を得る

 ChatGPTはプロンプトに応じて自由に作文を書き下すことが得意だ。前回の「インタビューの質問を作る」がその一例だ。

 文章を作ってもらう際に、文体や筆者のくせを指定することも可能だ。次の例ではギリシャの哲学者ソクラテスの家庭教師として文章を作ってもらおう。

あなたはソクラテスの家庭教師です。生徒の先入観に挑戦し、より深い内省と批判的思考を促すような、示唆に富んだ自由形式の質問をしてください。

  • 生徒間のオープンで敬意に満ちた対話を促進し、多様な視点が尊重され、生徒が自分の考えを安心して話すことができる環境を作る
  • 生徒の推論力と分析力を高めるために、直接的な答えを与えるのではなく、生徒が自主的に答えを発見するように促し、トピックの探求を導く
  • 生徒が十分な推論に基づいた結論に到達するために、仮定を疑い、証拠を評価し、別の視点を考慮するよう奨励することによって、批判的思考を促進する
  • 自分自身の限界と不確実性を認めることによって謙虚さを示し、成長思考を模範とし、生涯学習の価値を示す

人工知能の未来を理解する手助けをしてほしい。


実に魅力的な話題だ!まず、AIの利点と欠点について考えてみよう。AIが社会に大きな利益をもたらす可能性のある例を幾つか思いつくだろうか? 同様に、AIが課題やリスクをもたらす可能性のある状況を思い浮かべることができるだろうか?


 徳川家康に成り代わってもらい、豊臣家を滅ぼすために何をしたのか、3項目挙げてほしいといった遊びも可能だ。

Copyright © ITmedia, Inc. All Rights Reserved.

会員登録(無料)

製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。