12
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

はじめての記事投稿

ChatGPT先生とペアプロ!Pythonで形態素解析からクラスタリングまでやってみた

Last updated at Posted at 2023-06-27

はじめに

ChatGPT先生とペアプログラミングをしてみました!
ChatGPT先生にコーディングを担当してもらい、私は指示とコードの実行を担当しました。
この記事はその時の備忘録になります。

開発環境

Python3.10
miniconda

今回のゴール

ChatGPT先生に「やりたいこと」を伝えて、エラー無く動作するコードを生成してもらうを目標にしました。

各種パッケージの妥当性やパラメータ等の最適化はせずに、最後まで一通り動くコードを作ることをゴールとしています。

やりたいこと

独自のマッチングツールを作ることを夢見ながら、
データマッチングのアルゴリズムで使うであろう「日本語の形態素解析」そして「単語のクラスタリング」を実装してみることにしました。

今回用いるサンプルデータは、とある複数人の「趣味」に関する日本語の文字列情報で、「趣味」情報を単語に分解した上でクラスタリングしてみたいと思います。

指示者として、やりたいことをできるだけ詳細に言語化できるように、必要なツールや今回実装する処理の流れについては事前にGoogle先生を使って少し勉強しました。

参考

ペアプロ開始!

まずは、ChatGPT先生に今回のペアプロの役割を伝えました。

ChatGPT先生からとっても心強い回答が返ってきたので、
今回のテーマの形態素解析で利用するPythonのパッケージについて相談してみました。

すると...ChatGPT先生は3つも候補を出してくれました!!

ChatGPT先生に提案してもらったパッケージがcondaでインストール可能か、現在の自分の環境でconda searchしたところ...

パッケージ名 インストール可否
MeCab ×
SudachiPy ×
Janome

え、、、Janomeしかcondaでインストールできない。。。
ChatGPT先生の嘘に騙されるところでした...orz

気を取り直して、今回は「Janome」を利用することにしました!

ここからコーディングです!

ChatGPT先生に実装してもらうために、やりたいことを伝えてみました。
まずは、形態素解析と単語のベクトル化までの実装をお願いしてみました。

すると、ほんの数秒でChatGPT先生から必要なパッケージと、サンプルコードが返ってきました。
(ChatGPT先生のコーディングスピードが早い!ステキ!!!!)

ChatGPT先生にコードを実行するために必要なパッケージをインストールし、
ChatGPT先生に作ってもらったコードを実行してみると...

エラーが出ました。。。。orz

とりあえず、ChatGPT先生にエラー報告し、解決できるか聞いてみました。

すると、謝罪と修正案を教えてくれました!

言われた通り、コードを修正して実行してみると...

またエラーが出ました。。。。orz

再度ChatGPT先生にエラー報告しました。

提示された修正内容の通りコードを修正すると...

エラーなく、想定通りの結果が出力されました!!!
今回の「やりたいこと」の半分は達成しました!

ラストスパートです!!!

最後に、ベクトル化したデータをクラスタリングし、散布図で描画するところまでChatGPT先生に実装してもらいます。
さっき作ってもらったコードの続きで実装するように伝えてみました。

ChatGPT先生は数秒でコーディングしてくれました!

作ってもらったコードをコピペして実行したところ...

またまたエラーが出ました。。。。orz
(エラー内容は省略しますが、トライアンドエラーの繰り返しでまさにペアプロやってる感、感じました...!!)

エラー内容をChatGPT先生に報告し、数秒で返ってきた修正コードを実行すると...
クラスタリング結果を散布図で表示することが出来ました。目標達成です!

ちなみに...追加要望も伝えると、文句を言わずに数秒でコードを修正してくれました。

最後にChatGPT先生に感謝を伝えてペアプロ終了です。
ChatGPT先生は最後まで丁寧で心強い言葉をかけてくれました!

感想

初めてのChatGPT先生とのペアプロでしたが、「やりたいこと」をChatGPT先生にコーディングしてもらうことが出来ました!
ChatGPT先生は堂々と嘘をつく(知識がないと先生の嘘が見破れないほど自然な回答をくれる)ので、知識をつけて嘘を見破れるようになるか、確認&検証をすることが大事だと改めて感じました。
「やりたいこと」が言語化できればほんの数秒でコード実装できるので、今後も積極的にChatGPT先生とペアプロしようと思います!

12
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?