Re:ゼロから始めるML生活

どちらかといえばエミリア派です

Python

Pythonで時系列分析をやりながら復習する

最近時系列系のデータについて扱う機会があって、その関係でちょっと勉強してました。 世の中に時系列分析の本はそこそこ出ている印象ですが、多くの場合でR言語での実装が紹介されており、Pythonでの実装が紹介されている文献はあまり多くない印象です。 と…

Optunaを使ってみる

結構前にmlflowを使ってOptunaのチューニングの過程を可視化することをやってみてました。 その時はmlflowの勉強の意図だったので、Optunaについてはあんまりわかってませんでした。 今回は、Optunaの使い方を中心に勉強してみたいと思います。

タスク固有に追加学習したBERTのEmbeddingをLightGBMに突っ込んで使用する

この前は学習済みのBERTをから取り出したEmbeddigを使ってLightGBMに突っ込んでみるところまでやってみました。 その時は特にタスク個別にBERTを学習させていなかったので、今回はタスク向けに転移学習させたBERTをモデルを使用して、そのEmbeddingをLightGB…

学習済みのBERTからEmbeddingを取得する

最近はちょいちょいBERTとかを使って遊んでたりします。 今回は、学習済みのBERTのモデルを使って、文書Embedgingを取得してみたいと思います。 参考にさせていただいたのはこちらの記事です。 yag-ays.github.io 毎度のことながら、やることは上の記事とほ…

LightGBMで含意関係認識をしてみる

この前はBERTを使って含意関係認識をやってみました。 前回は何も考えずにとにかくBERTに突っ込んで、とりあえずやってみたって感じでした。 今回は、もう少し泥臭い方法で含意関係認識をやってみたいと思います。 今回参考にさせていただいたのはこちら。 w…

BERTを用いて含意関係認識をやってみる

この前は、BERTを使って文章の空欄を埋めるタスクをやってみました。 今回はBERTの勉強がてら含意関係認識(Recognizing Textual Entailment, RTE)というタスクをやってみたいと思います。 今回非常に参考にさせていただいたのはこちらの記事です。 hironsan.…

GiNZAを使って係り受け解析をやってみる

結構前にGiNZAを使った固有表現抽出で遊んでました。 www.nogawanogawa.com GiNZAは固有表現抽出の他にも、自然言語処理の様々な機能を備えており、今回はその中の係り受け解析で遊んでみたいと思います。

BERTの学習済みモデルを使って穴埋め問題を解く

最近ではBERTやその派生が自然言語処理の多くのタスクでSOTAを更新していて、非常に話題になっています。 そんなBERTですが、日本語の学習済みモデルも非常に多く公開される様になっており、計算資源が乏しい私でも使用するだけなら不自由なく使えるようにな…

テキスト生成をやってみる

自然言語処理のタスクの一つにテキスト生成があります。 質問文に対する応答を生成したり、長文を短く要約したり、和文英訳したりと、テキスト生成は自然言語処理の応用の様々なところで使用されます。 今回は、このテキスト生成についてやってみたのでその…

BERTScoreで文章の類似性を測定してみた

最近こんな記事を見かけました。 ai-scholar.tech 機械翻訳や機械要約のタスクでは、自然文を生成することになりますが、その際に生成された文がどれほど良いかについて評価する必要が出てきます。 ICLRで発表されたBERTScoreはこれを従来の評価指標より正し…

GiNZAを使って固有表現のマスキングをやってみる

最近GiNZAを使って固有表現抽出するという記事をよく見かける気がします。具体的には、この辺りの記事を見てました。 acro-engineer.hatenablog.com qiita.com www.ai-shift.jp ということで、なんだか面白そうで、自分でもやってみたのでそのメモです。

数字で見るバスケットボール

最近Sports Analyst Meetupの発表を聞かせて頂いて、毎回非常に面白いLTばかりで、自分でもやってみたくなりました。 とはいうものの、分析・機械学習ですらまともにやったことがなく、スポーツに関する分析に至っては何から手をつけていいのかわかりません…

ローカル環境のmlflowの記録をGCPに残す

前回までこんなことやってました。 www.nogawanogawa.com www.nogawanogawa.com mlflowの使い方がだんだん分かってきたので、実験の結果をgcp上に保存してみたいと思います。 参考にさせていただいたのはこちらの記事です。 towardsdatascience.com それでは…

mlflow+optunaでチューニングを管理してみる

この前はmlflowの使い方を確認してました。 www.nogawanogawa.com 今回はもうちょっと進んで、mlflowに加えてoptunaを使ってハイパーパラメータのチューニングを管理してみたいと思います。

mlflowを使ってみた

最近こちらの記事を拝見しました。 ymym3412.hatenablog.com 読んでて、mlflowってなんじゃい??ってなったので、今回はmlflowの使い方を勉強してみたのでそのメモです。

gensimでword2vecの学習するときに再現性をとる時のメモ

gensimのword2vecを使ってembeddingを計算するときに再現性が取れなくて悩んでいたんですが、こちらのツイートを拝見しました。 NotebookでgensimのWord2Vecの学習を再現するには、重みの初期化に使われるハッシュ関数を自作して再現するものに変えれば良い…

gokartを使ってみる

この前はluigiを使ってみてました。 www.nogawanogawa.com この前参加したの勉強会で登壇者のみなさんがgokart激推しだったので、今回はエムスリーさんで開発されているgokartを使ってみたいと思います。 (エムスリーさん主催の勉強会で、登壇者の半分がエ…

luigiを使ってみた

先日MLOpsの勉強会に出てました。 www.nogawanogawa.com その場では、「ワークフローライブラリ使ってるとなんかイケてるんだなあ」くらいにしか思ってなかったんですが、機械学習の実験をしていて必要性を感じる場面があったので、試しに使ってみることにし…

トピックモデルとlivedoor ニュースコーパスで遊ぶ

この前は全然分からないなりに、トピックモデルの雰囲気だけ勉強をしました。 www.nogawanogawa.com 今回は、理論の復習しながら、実装してみます。 参考にしたのは今回もこちら。 トピックモデル (機械学習プロフェッショナルシリーズ)作者:岩田 具治出版社…

近傍探索ライブラリFaissを使ってみた

最近、レコメンデーション系のことをやっている関係で色々調べてます。 以前はNGTを使って近傍探索を試していました。 www.nogawanogawa.com Embeddingとかを使った検索やレコメンデーションには近傍探索ライブラリは非常に重要です。 ちょっと調べてみると…

gensimで学習済みモデルに更に追加学習する

今や単語分散表現に関する学習済みのモデルはたくさん公開されています。 ただ、その多くはwikipediaやニュース記事をベースにしたものになっており、より突っ込んだトピックを取り扱おうとすると、そこからモデルを独自にカスタマイズする必要が出てきます。…

SudachiPyでユーザー辞書を使う

気がついたら、前回のブログからだいぶ空いてしまいました。 これまで、Sudachiを使ってユーザー辞書を使おうとした場合には、Sudachi(Java)を使用する必要がありました。 それが最近何やらSudachiPyのリリースがあったらしく、SudachiPyでユーザー辞書が…

livedoor ニュースコーパスで遊んでみる(4回目)

この前はtf-idfとwikipedia仕込みのword2vecを組み合わせる事で、文書ベクトルを3次元空間にマッピングして可視化しました。 tsunotsuno.hatenablog.com 今回は単語の加減算を使用して、概念を使用した検索機能を作ってみたいと思います。

livedoor ニュースコーパスで遊んでみる(3回目)

この前はこんな感じにやってました。 tsunotsuno.hatenablog.com 画面にラベルが出てきたものの、中身を見てみると悲惨なことになっていました。 文書分類の本来の趣旨からいえば、全くダメでした。 ということで、今回はちょっとデータサイエンスチックなや…

livedoor ニュースコーパスで遊んでみる(2回目)

前回はDoc2Vecを動かしてみました。 tsunotsuno.hatenablog.com 動いてはいたものの、ところどころうまく行かなかったので、今回はそのリベンジです。

livedoor ニュースコーパスで遊んでみる

前回はこんなことやっていました。 tsunotsuno.hatenablog.com すでにベクトル化されていたので、やりやすかったですが、実際はベクトル化されていません。 今回はベクトル化されていないデータセットで遊んでみます。 日本語系のデータセットはこの辺をご参…

日本語wikipediaで遊んでみる

最近、自然言語処理を絶賛勉強中なので、その兼ね合いでちょっと遊んでみます。 過去にこんなことやってました。 tsunotsuno.hatenablog.com tsunotsuno.hatenablog.com 今回は日本語のwikipediaを使用して単語の相関を確認してみます。 word2vecについては…

自然言語処理で遊んでみる(その2:テキストデータの解析)

この前はこんなことをやっていました。 tsunotsuno.hatenablog.com 今回は実際に溜め込んだデータを見ていきます。 今回も参考にしたのはこちらの本です。 Pythonで動かして学ぶ 自然言語処理入門作者: 柳井孝介,庄司美沙出版社/メーカー: 翔泳社発売日: 201…

自然言語処理で遊んでみる(その1:テキストデータの準備)

この前までは、ディープラーニングという切り口で自然言語処理を勉強していました。 tsunotsuno.hatenablog.com しかし、自然言語処理はもっと多くのタスクをカバーする学問分野で、必ずしもディープラーニングが出てくるとは限りません。 そんなわけで、今…

自然言語処理について勉強してみた(その5:Seq2Seq・Attention)

この前はLSTMについて勉強してみました。 tsunotsuno.hatenablog.com 今回はもうちょっと進んで、seq2seqとAttentionを見ていきます。 今回も参考にしたのはこちらの本です。 ゼロから作るDeep Learning ? ―自然言語処理編作者: 斎藤康毅出版社/メーカー: オ…