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

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

NLP

形態素解析器をいろいろ試す

日本語自然言語処理を行う際に、形態素解析をどうするかという問題はいつもつきまとってきます。 今回記事を書こうと思ったのは、Vaporettoなる形態素解析器を見かけたからです。 こちらに興味が湧いたのと、他の形態素解析器と比較してみたくなったので、や…

nlplotを使ってみた

最近、昨年書かれたこちらの記事を見かけました。 www.takapy.work なんだか非常に良さそうな感じで実際に使ってみたので、今回は使ってみたときのメモです。

タスク固有に追加学習した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ですが、日本語の学習済みモデルも非常に多く公開される様になっており、計算資源が乏しい私でも使用するだけなら不自由なく使えるようにな…

小さいMLOpsってこんなもんかと思ってやってみる

この間はMetaflowを使ってみました。 www.nogawanogawa.com ワークフロー管理+実験管理が可能なように、Metaflow + MLFlowを使ってコードを書いてみたいと思います。 多分、これだけでもMLOpsのごくごく一部は対応できていると思うので、今回はそのメモです。

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

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

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

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

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

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

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

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

gokartを使ってみる

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

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

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

トピックモデルついて勉強する

推薦システムの勉強をちょっとずつ再開している関連で、トピックモデルを勉強してみようと思い、こちらを購入しました。 トピックモデル (機械学習プロフェッショナルシリーズ)作者:岩田 具治出版社/メーカー: 講談社発売日: 2015/04/08メディア: 単行本(ソ…

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

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

SudachiPyでユーザー辞書を使う

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

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

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

自然言語処理で遊んでみる(その3:テキスト分類)

NLP

しばらく大幅に脱線していましたが、以前こんな感じのことをやっていました。 tsunotsuno.hatenablog.com 今回も参考にさせていただいたのはこちら。 Pythonで動かして学ぶ 自然言語処理入門作者: 柳井孝介,庄司美沙出版社/メーカー: 翔泳社発売日: 2019/01/…

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 ? ―自然言語処理編作者: 斎藤康毅出版社/メーカー: オ…

自然言語処理について勉強してみた(その4:LSTM)

この前は基本的なRNNの仕組みについて勉強していました。 tsunotsuno.hatenablog.com 今回は、現在RNNの中でも代表的なモデルの一つであるLSTMについて勉強します。 今回も参考にしたのはこちらの本です。 ゼロから作るDeep Learning ? ―自然言語処理編作者:…

自然言語処理について勉強してみた(その3:RNN)

この前はword2vecの勉強をしていました。 tsunotsuno.hatenablog.com 今回はもうちょっと突っ込んだRNN (Recurrent Neural Networks)について勉強してみます。 参考にしたのはこちら。 ゼロから作るDeep Learning ? ―自然言語処理編作者: 斎藤康毅出版社/メ…

word2vecを使って単語の共起性を可視化してみる

最近突然、自然言語処理の勉強を始めたきっかけは、こちらの記事を拝見したからです。 karaage.hatenadiary.jp こういうコンピュータ・サイエンスっぽい絵を作りたくて作りたくて…(泣) というわけで、今回は共起ネットワークを作ってみました。 基本的に上…