この記事は自然言語処理アドベントカレンダー 2019の12日目です。 昨今自然言語処理界隈ではBERTを始めとする深層学習ベースの手法が注目されています。 一方それらのモデルは計算リソースや推論速度の観点で制約が大きく、プロダクション運用の際は留意すべき事項を多く持ちます。 (googleが検索にBERTを導入というニュースを見た時はとても驚きました) そこで本記事では自然言語処理タスクのシンプルかつ運用しやすい実装方法を考えていきます。 実装にはpythonと以降説明するspaCyとGiNZAの2つのライブラリを使います。 環境: ubuntu18.04 python 3.6.8 ライブラリインストールはpipから行います pip install spacy pip install "https://github.com/megagonlabs/ginza/releases/downlo
TL; DR 日本語文書分類タスクを機械学習で解くとき、下記の文書ベクトル表現手法ごとの精度を比較しました。 Github: https://github.com/nekoumei/Comparison-DocClassification/tree/master/src ※最近のGithub、jupyter notebookのレンダリングがよく失敗するのでnbviewerも貼っておきます https://nbviewer.jupyter.org/github/nekoumei/Comparison-DocClassification/tree/master/src/ Bag of Words TF-IDF Word2Vecの平均値 Doc2Vec SCDV SWEM 結論としては下記の3点です。 問題によるので銀の弾丸はない(あたりまえ) BoW, TF-IDFのような古典的手法も案外悪く
1. はじめに 特定ドメインのテキストから単語分散表現を学習することに興味があったので実験しました。 今回実施した内容 乃木坂46・欅坂46・けやき坂46のブログを収集してテキストへ前処理をする fastTextにより収集したブログのテキストから単語分散表現を学習する 学習した単語分散表現による類似単語の検索や2次元空間へのプロットの結果を確認する 2. 単語分散表現とは 単語分散表現は、文書から学習される単語の意味を表すベクトルです。 学習されたベクトルが「“King” – “Man” + “Woman” = “Queen”」のような足し算、引き算ができることで話題になりました。 この話題になったミコロフの論文が発表されたのは2013年でした。そこから早6年、学術領域でその方法論や応用が盛んに議論されております。*1 fastText 今回採用したfastTextは、Facebookによ
皆さん前処理してますか?どの分野の機械学習でも前処理は重要ですが、自然言語処理は元のデータが数値でないこともあり、処理ステップが多くなりがちです(テキスト=>単語=>単語ID)。また、処理の一貫性を保つには実装コードだけでなくパラメーター(ストップワードなど)も管理する必要があったりします。 Photo by Ramnath Bhat端的には、自然言語処理では前処理のポータビリティを保つのが難しいです。そこで、それを実現するツールを開発しました(Star頂けたら幸いです!)。
Get things done spaCy is designed to help you do real work — to build real products, or gather real insights. The library respects your time, and tries to avoid wasting it. It's easy to install, and its API is simple and productive. Blazing fast spaCy excels at large-scale information extraction tasks. It's written from the ground up in carefully memory-managed Cython. If your application needs to
最新版のJSAI2018でのチュートリアル資料です。 --- 6月7日(木) 13:50-15:30 I会場(2F ロイヤルガーデンA) ---
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く