[スポンサーリンク]

一般的な話題

初心者でも簡単!ChatGPTを用いたプログラミング

[スポンサーリンク]

「プログラミングに興味がある、でも勉強している時間はない…」そう考えている学生や研究者の方も多いと思います。特に、実験系化学者は、メインの研究にプログラミングが必須でない場合が多く、時間を掛けてプログラミングを学ぶことにハードルを感じてしまいがちだと思います。

そんなケムステ読者に向けて、今回はChatGPTを用いて簡単にプログラミングを行う方法を紹介します。ChatGPTのすごいところは、「この処理を行うコードを書いてください」と言うだけですぐにコードを書いてくれることです。コードを実行してエラーが出ても、「こういうエラーが出たので直してください」というと直してくれます。あまりの便利さに感動するほどなので、この記事で皆さんにも使い方を紹介したいと思います。

1. ChatGPTとは

ChatGPTとは、OpenAI社によって開発された、人工知能(AI)を用いたチャットサービスのことです。アカウントを作るだけで、無料で利用できます(有料のupgradeもあり)。使い方はとても簡単で、図1のような画面でメッセージを入力すれば、それに応じてAIが回答をくれるという仕様になっています。AIは日本語も理解できるので、日本語でメッセージを送ると日本語で返事が返ってきます。

他の人工知能を用いた自動会話システム(チャットボット)を利用したことがある人も多いと思いますが、既存のシステムと比べるとChatGPTのAIはとても頭が良く、人と会話しているような感覚で会話が成り立ちます。

図1. ChatGPTの入力画面。

2. GPTについて

ChatGPTは、GPT(Generative Pre-trained Transformer)というAIの言語モデルを利用していて、2023年5月現在、ChatGPTの無料版ではGPT-3.5、有料版ではさらにGPT-4というバージョンが使えるようになっています。GPT-4の方がGPT-3.5よりも賢く、回答の精度が高いですが、以下に紹介するプログラミングへの利用はGPT-3.5でも可能です。

ちなみにGPT-3.5とGPT-4は、いずれも2021年9月までのデータを学習に用いられているので、それ以降に起こったことについては知りません。それなので、GPT-4は自分の存在についても知らず、GPT-4についての質問にうまく答えられません。日本語で、「GPT-4は日本語を扱えますか?」と聞くと、「私が知っているのはGPT-3までです。」と日本語で返ってきたのには笑ってしまいました。このように、ChatGPTは最新の情報について調べるには今のところ不向きですが、プログラミングへの利用にはとても役立ちます。

3. ChatGPTを用いてコードを書く方法

プログラミングに興味があるけど始められない、という人にとって、一番のハードルはコードを書くことだと思います。ある程度基本を学んでも、実際にやりたいタスクについてコードを書こうとすると、アルゴリズムを考えたり、いろんな関数の使い方を調べたりしなければなりません。書いてみたは良いものの、エラーが出て直し方が分からない、ということも頻繁に起こります。そのため、プログラミングで自動化できそうな処理であっても、わざわざコードを書くくらいなら手動でやった方がまし、と思うことも多々あります。

そういう人にとって、ChatGPTは強力なツールです。ChatGPTに行いたい処理について説明すると、それに応じてコードを書いてくれます。ChatGPTは一般的なプログラミング言語ならどの言語でもコードを書くことができるので、プラットフォームを選びません。以下に、ChatGPTにコードを書いてもらうためのメッセージ(プロンプト)の例を示します。

以下の処理を行うPythonコードを書いてください。コードを書くために追加情報が必要であれば、私に聞いてください。

# 処理
入力データ(x, y)を、与えられた関数にフィッティングする。
入力データを、フィッティング曲線とともにプロット。

# 入力データ
x = 5.12, 2.52, 1.23, 0.62, 0.38, 0.00
y = 0.728, 0.491, 0.378, 0.245, 0.180, 0.098

# フィッティング関数
y = (a * x + b)/(c* x + d)
変数:y, x
係数:a, b, c, d

# 制約条件
x軸のラベルは’質量比’
y軸のラベルは’ピーク比’

上記のメッセージをChatGPTに送ると、以下のような返信が返ってきます(図2)。書いて欲しいとお願いしたコードに加えて、簡単な説明も付けてくれます。メッセージを送る際に、「Python初心者でも分かるように教えてください」と付け加えると、より丁寧に教えてくれます。また、コードを作ってもらった後に、「この部分を説明してください」と言うと分からない部分について教えてくれます。

図2. コード作成のリクエストに対するChatGPTの回答

4. ChatGPTをコーディングに使うコツ

以下に、ChatGPTにコードを書いてもらうためのコツを紹介します。

「追加で必要な情報があれば聞いてください」と質問を促す。
慣れないうちは、ChatGPTにどのような情報を伝えればよいのか戸惑うことと思います。その場合は、最初のメッセージで「追加で必要な情報があれば聞いてください」と伝えておくと良いです。そうすれば、情報が欠落している際にChatGPT側から聞いてくれます。

メッセージのやりとりを何度か行い、コードを改善してもらう。
ChatGPTに作ってもらうコードは、初めから上手く行くとは限りません。実行した際にエラーが生じたり、思った結果が得られないこともあります。その場合には、「〜というエラーが生じました。」「グラフのラベルが文字化けしてしまいました。」などとChatGPTに伝えると、修正版のコードを作ってくれます。また、実行結果を見てから、「グラフの縦横比を1:1にして欲しい」「入力値をExcelファイルから読み込む形にしてほしい」などと、追加のリクエストをすることもできます。容量の大きいデータを扱う際には、「処理スピードが速くなるようにコードを改善して欲しい」といったリクエストも可能です。このように、ChatGPTと会話しながらより良いコードを作り上げるというのがコツです。

データ構造を説明するのが難しければ、具体例を作って貼り付ける。
プログラミングの経験がない人は、入力データをどのようにChatGPTに伝えれば良いのか分からないこともあると思います。一般的に、コードを書く際にはファイルの形式や保存場所、データの構造を知る必要があります。Excelなどの表データの場合、伝え方が分からなければ、具体例を作って貼り付けるという方法も役立ちます。

5. ChatGPTを使ったプログラミング学習

さて、プログラミングをやったことがない方は、作ったコードをどう実行すれば良いのかも気になると思います。それほど難しくないので、この記事で私が説明するのも良いのですが、ChatGPTがとても分かりやすく教えてくれるので省きます。プログラミング初心者は、以下のような質問をChatGPTにしてみてください。

  • 私はPython初心者です。Pythonの始め方を教えてください。
  • 初心者におすすめのプログラミング言語を教えてください。
  • 化学者にとって便利なpythonのライブラリを教えてください。

ChatGPTの良いところは、知りたい情報を一瞬でまとめて提示してくれることです。上記の質問に対する回答は、インターネットで検索すればいろんなまとめ記事や動画から自分で調べることもできますが、それなりに時間が掛かります。ChatGPTは、質問した内容に対して直接回答をくれるので、記事や動画などから情報を探し出す手間が省けます。

6. 終わりに

プログラミングが出来るようになると、さまざまなタスクを自動化することができます。人によって使い方は様々だと思いますが、私の場合は、Excelの表データのフォーマット変更、大量の画像ファイルのPowerPointへの貼り付け、タンパク質の配列データの解析、PDFファイルからのデータ抽出、グラフの描画とフィッティングなどに使っています。頻繁に行うコピペ作業などは、自動化してしまうとかなり楽です。

プログラミングが仕事ではない実験系研究者の私にとって、プログラミングを行う際には、常にコードを書く労力と自動化することのメリットを天秤にかけ、わざわざコードを書くかどうか考える必要がありました。しかし、ChatGPTがコードを書いてくれるようになってからは、「できそうなものなら何でも自動化してみよう」と思えるようになりました。

ちなみに、MicrosoftはGPT-4を用いてWordやExcelの作業をサポートするMicrosoft 365 Copilotを発表しており、近いうちに導入されるようです。どんどん進化するAI技術とうまく付き合いながら研究を進めていくことが今後必要になりそうです。

関連リンク

関連書籍

kanako

投稿者の記事一覧

アメリカの製薬企業の研究員。抗体をベースにした薬の開発を行なっている。
就職前は、アメリカの大学院にて化学のPhDを取得。専門はタンパク工学・ケミカルバイオロジー・高分子化学。

関連記事

  1. カルボン酸だけを触媒的にエノラート化する
  2. 科学カレンダー:学会情報に関するお役立ちサイト
  3. リガンド革命
  4. 研究生活の心構えー修士課程、博士課程に進学したあなたへー
  5. 光触媒に相談だ 直鎖型の一級アミンはアンモニア水とアルケンから
  6. ワインのコルク臭の原因は?
  7. 論文引用ランキングから見る、化学界の世界的潮流
  8. 科学を伝える-サイエンスコミュニケーターのお仕事-梅村綾子さん

コメント、感想はこちらへ

注目情報

ピックアップ記事

  1. 「関東化学」ってどんな会社?
  2. Dead Endを回避せよ!「全合成・極限からの一手」シリーズ
  3. 【悲報】HGS 分子構造模型 入手不能に
  4. キラルオキサゾリジノン
  5. MI×データ科学|オンライン|コース
  6. Goodenough教授の素晴らしすぎる研究人生
  7. 光で分子の結合状態を変えることに成功
  8. 4-(ジメチルアミノ)ベンゼンチオール : 4-(Dimethylamino)benzenethiol
  9. カンブリア爆発の謎に新展開
  10. 第99回―「配位子設計にもとづく研究・超分子化学」Paul Plieger教授

関連商品

ケムステYoutube

ケムステSlack

月別アーカイブ

2023年6月
 1234
567891011
12131415161718
19202122232425
2627282930  

注目情報

最新記事

マテリアルズ・インフォマティクスの基礎知識とよくある誤解

開催日:2023/10/04 申込みはこちら■開催概要近年、少子高齢化、働き手の不足の影…

理研、放射性同位体アスタチンの大量製造法を開発

理化学研究所 仁科加速器科学研究センター 核化学研究開発室、金属技研株式会社 技術開発本部 エン…

マイクロ波プロセスを知る・話す・考える ー新たな展望と可能性を探るパネルディスカッションー

<内容>参加いただくみなさまとご一緒にマイクロ波プロセスの新たな展望と可能性について探る、パ…

SFTSのはなし ~マダニとその最新情報 後編~

注意1:この記事は人によってはやや苦手と思われる画像を載せております ご注意ください注意2:厚生…

様々な化学分野におけるAIの活用

ENEOS株式会社と株式会社Preferred Networks(PFN)は、2023年1月に石油精…

第8回 学生のためのセミナー(企業の若手研究者との交流会)

有機合成化学協会が学生会員の皆さんに贈る,交流の場有機化学を武器に活躍する,本当の若手研究者を知ろう…

UBEの新TVCM『ストーリーを変える、ケミストリー』篇、放映開始

UBE株式会社は、2023年9月1日より、新TVCM『ストーリーを変える、ケミストリー』篇を関東エリ…

有機合成化学協会誌2023年9月号:大村天然物・ストロファステロール・免疫調節性分子・ニッケル触媒・カチオン性芳香族化合物

有機合成化学協会が発行する有機合成化学協会誌、2023年9月号がオンライン公開されています。…

ペプチドの精密な「立体ジッパー」構造の人工合成に成功

第563回のスポットライトリサーチは、東京大学大学院 工学系研究科応用化学専攻 藤田研究室の恒川 英…

SNS予想で盛り上がれ!2023年ノーベル化学賞は誰の手に?

さてことしもいよいよ、ノーベル賞シーズンが到来します!化学賞は日本時間 10月4日(水) 18時45…

実験器具・用品を試してみたシリーズ

スポットライトリサーチムービー

PAGE TOP