pythonの勉強

社内のプロジェクトで生成AI関連にかかわることになり、pythonの勉強をしている。少し入門書を読んだ程度で、タブがコード上で大きな意味を持つ程度の知識しなかった。それでもchatGPTに聞きながらpythonコードを書くのは非常に楽しい。なんでも親切に教えてくれるベテランエンジニアが横にいるようなイメージだ。

 

GPT4を使いたくて、chatGPT plusにまで加入してしまった。APIもかなり利用している。最近は、the economistのwebサイトから記事をスクレイピングして、GPTに要約を作らせるとというスクリプトを書いたりしている。the economistの記事は長いのが多いので、chatGPTだと入力制限で引っかかることが多いのだが、APIだと16Kトークンまで対応しているモデルがあるので、これを利用している。日本語の要約だと意味が分かりにくいので、英語の要約にしている。どのようなプロンプトを記述すれば効果的な要約を作らせることができるのか試行錯誤している最中だ。どんなプロンプトでもGPTが作成する要約はかなりの精度で、記事本文を読んだ後に要約を読んで、こんな風に要約するのね。。と評価するのがなかなか楽しい。理解度のアップにもつながる。説明文込みのキーワードリストも作成するようにとプロンプトに書いたものの、作ってくれない場合も多い。このあたりの不安定さが不便であるが、人間を扱うかのようにプログラミングできるのは今までにない経験だ。英語の学習という観点から言えば、読解問題を作らせるとか、文法問題の穴埋め問題を作らせるとかそのような活用方法もあるかと思う。

 

the economsitのpodcastも購読しているが、どこまで理解できているのかがわからないし、テキストデータも用意されていないので、これもopenaiのwhisperというAPIでテキストデータを作成している。なかなかの精度である。30分程度のpodcastだと20セント近く課金されてしまい、すこし割高感はあるが。25MBまでの音声データしかアップロードできないという欠点を解消するために、最初は無音でファイル分割していたものの、ファイル数が大きすぎるので、ビットレートを引き下げて対応している。64Kでも全然問題ない。出来上がったテキストデータは、1行の英文なので、非常に読みにくい。ピリオドで改行してみたものの、U.Sのような固有名詞に含まれるピリオドまで改行してしまう。なんとかならないかchatGPTに聞いたらspacyという自然言語処理のライブラリを使えばいいよとのことで、サンプルコードまで書いてもらい、なんとか対応できた。あとは出来上がったテキストデータをGPTに投げて要約を作らせるか。こんな感じで英語のコンテンツをブログ記事にしているケースも多いようだ。ちらほら見かける。