見出し画像

Pythonプログラミング記事まとめ【バイオからオリンピックTwitter分析まで】

ベナオです。最近はコード書くかたわらで自家製チャーシュー作りにハマってます。豚バラ肉買ってきて自分で作るので余計な添加物とかも入らないのでおすすめです。お家ラーメンが捗ります。

というわけで、Axrossさんの方で書かせてもらってるPythonプログラミング記事が溜まってきたのでそれをまとめるコーナー第二弾になります。

Axrossをまだご存知ない方向けに説明すると、ソフトバンクの社内起業制度から生まれたAI系のオンライン学習プラットホームです。現場でAI活用しているエンジニアが多く記事を投稿されていて、多くのコンテンツが無料で閲覧できます。

(恥ずかしながら↑のオリンピックの記事は僕が書きました)

ということで最近の記事(Axrossではレシピと言います)を紹介していきます。これらは全て閲覧無料になります。Pythonコードも全て掲載してあります。

TwitterAPIで乃木坂46メンバーの話題度を比較分析するレシピ

スクリーンショット 2021-09-08 11.39.03

TwitterAPIで乃木坂46の各メンバーの話題度を比較してみようというレシピです。APIを使うとTwitter上で検索キーワードが含まれるツイートを自動で大量に取得できるので、それをPythonの形態素解析により頻出単語を抽出することで、どのメンバーについてより多くツイートされていたか? という傾向を分析しました。

この時はメンバーの松村沙友理さんが卒業間近だったので、被ツイート数が最も多いという結果になりました。同じ方法で人気のプログラミング言語の傾向なども調べられるので、興味のある方はぜひやってみてください。

Zoom会議の録音データから音声認識で議事録を自動生成するレシピ

スクリーンショット 2021-09-08 11.53.33

機械学習の1分野である音声認識を使って、Zoomの録音機能から会議内容を文字起こしするプログラムの解説をしています。音声認識のライブラリにはIBMのWatsonを使っています。

これはAxrossの定期開催しているオンラインハンズオンでも教材として取り上げていただきました。Zoom音源だけでなくスマホで録音した音源など、あらゆるデータを自動で文字起こしできるので使い道は多いです。

Watsonは他の類似サービスであるGCPやMicrosoft Azureと比較した時に、決済手段を登録しなくてもAPIを利用できるので後で使いすぎて請求で困るなんてことがないのがメリットです。

このような技術はYouTubeの字幕生成にも使われています。今後普及していく技術なのは間違い無いでしょう。

夏目漱石の「坊ちゃん」を学習させてマルコフ連鎖で新作を自動生成させるレシピ

スクリーンショット 2021-09-08 12.01.42

AIの話題では昔からよく取り上げられている、過去の作家の文章を学習して新作の文章を生成させるプログラムを解説してます。

使っているアルゴリズムはマルコフ連鎖というもので、これは大量の文章データを元に例えば「単語Aの次は〜の確率で単語Bとなる」のような確率表を作成してそこから新しい文章を生成するものです。これをPython上で用いるためにMarkovifyというライブラリを使っています。

このレシピでは青空文庫の夏目漱石の著作をデータセットとして、学習を行なっています。「坊ちゃん」と「こころ」と「吾輩は猫である」をミックスしてそれぞれの登場人物が混ざった文章ができたりして面白かったです。

App Storeのカスタマーレビューを集計してヒストグラムを作って比較評価するレシピ

スクリーンショット 2021-09-08 14.07.42

AppStoreのレーティング評価(5段階星評価)がPythonプログラムで自動収集できることに気付いたので作りました。例えば、PayPayアプリのカスタマーレビューで低評価数と高評価数がどのような比率でされているのか? を自動で分析してグラフ化するようなプログラムです。

スクリーンショット 2021-07-16 20.57.38

これはアプリの評価の可視化にも使えますが、社会問題的なところでいうとフェイクレビューを多用しているアプリを検出したりもできます。実際にAmazonではフェイクレビューをシステムで検出して自動でブロックするというのをやってるようです。

ヒストグラムという統計学的な手法を用いているので、Pythonデータ分析を社会問題解決に役立てたいという方にもおすすめなレシピです。

AlphaFoldでタンパク質の3DモデルをDNA配列から生成するレシピ

スクリーンショット 2021-09-08 14.53.28

こちらは僕が大学院で生物学を研究していた経験を活かして書いたレシピです。Google傘下のDeepMind社が公開したAlphaFoldという機械学習モデルで、あるDNA配列からそれに由来するタンパク質分子の3Dモデルを自動生成するものです。

これを使ってウイルスタンパク質の3DCGを作成する方法を解説しています。DeepMind社は囲碁のAlphaGoを開発したことでも有名です。最先端の機械学習モデルを生み出し続ける会社の最新の仕事が知りたい方、機械学習の生物学への応用に興味のある方はぜひご覧ください。

TwitterAPIでオリンピック競技別の話題性を分析するレシピ

スクリーンショット 2021-09-08 15.08.12

再びTwitterAPIで分析しようのシリーズです。今回は時事ネタ。

まずオリンピック開催期間中の東京オリンピックTwitter公式アカウントの投稿を全て取得し、それについていたいいね数を日付ごとに集計しました。

スクリーンショット 2021-08-09 11.42.44

そうして現れたいいね数のピークとなる日を詳細に調べ(7/25)、その中で特に多くいいねのついていたツイートを特定すると柔道の阿部兄妹のW金メダルの際のものということがわかりました。

このようにTwitter上のデータを分析すると、国民の注目がどの競技により多く集まっていたのかということが客観的にわかります。

TwitterAPIで最もいいねがつきやすい時間帯を分析するレシピ

スクリーンショット 2021-09-08 15.32.16

こちらもTwitterAPIで分析しようシリーズです。

Twitterはフォロワー層によってどの時間帯により反応が多く来るかという傾向が変わってきます。例えばフォロワーに学生が多ければ昼間にもいいねがつきやすかったり、社会人が多ければ定時上がりにいいねがつきやすかったりします。

それをアカウント毎に分析するために、最近のツイート100件についたいいね数を集計して、それを24時間で分割してグラフ化するPythonブログラムの解説をしています。

スクリーンショット 2021-08-11 13.33.32

例えば画像は孫正義さんのアカウントを分析したものです。縦軸はいいね数で、横軸は時間帯です。定時明けからいいねが上がっていき、21時に最も多くなる傾向がわかります。これを自分のアカウントで分析することで、いいねがつきやすい投稿時間帯を割り出すことができます。

Microsoftから独立した企業が公開した日本語版GPT-2でチャットボットを作るレシピ

スクリーンショット 2021-09-10 11.59.41

Microsoftから独立した日本の企業が公開した文章生成言語モデルの動かし方を解説しています。りんなという名前のモデルで、Microsoftが公開していことでご存知の方もいるかもしれません。

GPT-3などの高性能な学習済みモデルが既に公開されていますが、今まで日本国内で日本語に特化したモデルは中々ありませんでした。日本語は英語と大きく異なる文法構造を持っているので、文章生成アルゴリズムはそれを考慮してデータセットをチューニングする必要があります。

これから日本国内で自然言語処理の研究が活性化するきっかけになるのではないかと期待しています。GPT-3と違ってAPIの申請が不要なので気軽に試すことができます。興味のある方はぜひどうぞ。


今回は以上になります。今後もレシピが溜まるたびにまとめnoteを書こうと思っています。スキ・フォローを押していただけると最新のAIトピックスをこまめに発信していきますのでお願いします。


サポートは料理好きなのでの食材費にさせていただきます。