太陽がまぶしかったから

C'etait a cause du soleil.

プログラミング

note.com のフォロークリエーターリストと同期する記事更新RSSフィードを生成

note.com のフォローフィードを作りたい Google Alert の登録キーワードRSSフィードの応用として、note.com のフォローと同期するフィードを作成したい。note ではクリエーターをフォローすることができるが、自分が記事を読みに行くのはSlackでの通知ありき…

Googleアラートの登録キーワードRSSフィードとSlackの相性が悪いから変換プロキシを作って快適化

Google アラートは便利だけど 情報収集をするのには Google アラートが便利。仕事や趣味に関係するキーワードをGoogleアラートに登録し、それをRSSフィードに出力することで、最新のニュースを見逃すことなく、リアルタイムで情報を取得することができる。 …

Slackで絵文字リアクションしたURLを特定チャンネルにまとめるSlackBotをGoogle Cloud Functionsに構築

絵文字でリアクションしたURLを特定チャンネルに集めたい RSS登録するフィードの更新に合わせてどんどん投稿されていくため、気になった記事は専用のチャンネルに移したい。それに限らず、X(元Twitter)やブラウザやメルマガなどの他アプリからもリンクURL…

あらゆるアプリからURLをSlackの特定チャンネルに共有して後で読むための iOS ショートカット

リーディングリストとしてのSlack Twitter や RSS で見かけた記事をあとで読むために Pocket に保存していたのだけど結局あとで読まないことが多かった。目についた記事をいちいち読んでいったら時間がいくらあっても足りないし、現に読まなくても自分は生き…

Youtube動画をOpen AIで文字起こし&要約で観ていない動画について堂々と語る方法

Youtube動画をOpen AIで文字起こし&要約 字幕や書き起こしがAIによって自動的にできるようになり、AIに調査や要約をさせることまで可能になっていく中では「早送り」もまた過渡期のかけ金節約方法なのかもしれず、さらにコスパやタイパを追求するチートスキ…

言語処理100本ノック第2章を実装しながら pytest で Python 処理と UNIX コマンド結果を自動突合する

言語処理100本ノック第2章に挑戦 https://www.du-soleil.com/entry/nlp-100-01 前回に引き続いて『言語処理100本ノック第2章: UNIXコマンド』のための環境構築と実装を行っていきたい。今回の章はタイトルの通り UNIX コマンドを実行し、その通りに動くプロ…

GitHub Actions でカスタム Docker コンテナを GHCR に登録して CI 環境の pytest ジョブをコンテナ内で実行

GitHub Actions を CI 活用 上記のようなプログラムを管理するのにあたって CI 環境を構築したい。CI とは Continuous Integration の略で複数の開発者が継続的にメインブランチに統合していくこと。これを実現するためにはローカルテストだけではなく、例え…

言語処理100本ノック第1章を Python でテスト駆動開発

言語処理100本ノックに挑戦 言語処理100本ノックは,実用的でワクワクするような課題に取り組みながら,プログラミング,データ分析,研究のスキルを楽しく習得することを目指した問題集です Mecab での形態素解析を元にテキストマイニングの初歩をやってい…

青空文庫の形態素解析データから tf-idf を計量して江戸川乱歩連想クイズを生成する

青空文庫の形態素解析データを作りたい 例えば『お好み焼きの戦前史 第二版』においても過去文献類をスキャンしたり、ネット上の文献をダウンロードすることで作成した電子テキストデータ群を解析することで料理方法の初出や普及の過程を明らかにしており、…

Python と MeCab でオライリー出版の EPUB 電子書籍を日本語形態素解析する

O'Reilly の電子書籍をテキストマイニング 上記の環境を整えたかった理由のひとつとして電子書籍のテキストマイニングがある。 Amazon Kindle や 楽天 Kobo などの電子書籍データは暗号化されているため正当な方法で抽出することができないが、オライリー出…

mecab-python3 で ipadic-neologd を利用して固有名詞を含んだ日本語の計量テキスト分析をする Docker を構築

Pythonで計量テキスト分析する環境を構築 蔵書やWebニュースなどの計量テキスト分析をするために、テキストマイニングのための環境を作成しているのだけど、自然言語処理においては形態素解析が必要となる。形態素解析とはテキストの品詞分類を行なって分か…

でもしかITエンジニアのゲームプログラマーへの憧れとAI

ゲームプログラマーになりたかった 迷路をランダム生成して、その最適解を強化学習するプログラムを書いていてゲームプログラマーへの憧れを思い出した。中学生の頃には Visual Basic で簡単なシューティングゲームを作ったりもしてたのだけど、高校生になる…

Python を用いて迷路の最善手を方策勾配法で強化学習

迷路を解くためのモデル生成 こちらの続きで、Deep-Reinforcement-Learning-Book/program/2_2_maze_random.ipynb at master · YutaroOgawa/Deep-Reinforcement-Learning-Book · GitHub を参照しながら強化学習で迷路を解くモデルの生成と可視化を実装する。 …

matplotlib / imagemagick の Docker でグラフアニメーションGIFを生成

グラフアニメーションを生成したい 改めて機械学習の勉強を始めるのにあたってグラフのプロットをアニメーションで表示させたくなった。Python ライブラリの matplotlib には直接アニメーションを表示させる機能もあるが、環境情報を Docker コンテナのコン…

SQL得意おじさんはデータサイエンティストではない

SQL 得意おじさんとデータサイエンティスト これまでの仕事の経歴として、大規模データを効率的に集計・整形したり、BIツールのためのETL基盤を構築するような案件に多く関わってきた。なので「ビッグデータの専門家」という盛った紹介をうけることもあるの…

簡易難読化のためにJavaScriptでシーザー暗号(日本語対応)を実装する

シーザー暗号化/復号化ツール(日本語対応) /* シーザーー暗号化 */ function caesar(val, key) { console.log(val); val = encodeURIComponent(val); var result = ""; for (var i = 0; i シーザー暗号による簡易難読化スクリプト

Google Docsのスプレッドシートで多言語対訳表が簡単に作れるよ

対訳表を作るのが面倒 システム設計をする時に、データベース名や変数名や表示名などを決めるのが面倒だ。一般的には英字文字列で作るのだけど、ローマ字で「kokyaku」とか付けるのはダサいし、いちいち辞書を引いていくのは億劫。 多言語対応のために表示名…

プライベートプロジェクトのために久々にプログラミングをしてみる

photo by Ian Wilson プログラミングのスキルが錆びついてる 大学生の頃はよくプログラミングをしていて、自作のゲームでちょっとした賞を頂いたこともありました。その後、一応は情報通信業界に入ったものの、自分ではプログラミング出来ない状態が続いてフ…