エイエイレトリック

なぐりがき

nlp

NLP2024 読んだ・聴いた論文メモ

nlp

いつの間にか月が変わってしましましたが、2024年3月に言語処理学会第30回年次大会 に参加したので、論文紹介をします。 言語資源・評価手法関連が多いです。 サイトの上から順に選び、聴講の際も時系列に沿ってメモしていたので、それに従った順番に紹介し…

# Spacy で実行のたびにメモリ消費量が増える問題

nlp

Spacyのメモリ消費と実行時間の調査をしました。Vocab クラスのメモリを圧迫する問題もまとめました。

# 日本語係り受け解析器 J.DepP を google colab で動かす

nlp

高速で実行可能な日本語の係り受け解析ライブラリがないか調べていたところ、 J.DepP という 日本語係り受け解析器を見つけたので、紹介します。 C++で実装されているのもあり、かなり高速に動作する印象です。 サイトに記載されている通りに実行してもイン…

# Next.js で TinySegmenter と kuromoji.js を実行する

以前、 Next.js で作成したページを versel にデプロイしました。 eieito.hatenablog.com せっかくなので、 javascript を使った NLP を色々試しています。 コードは private repository で管理しているので、ブログで実装を紹介します。 ちなみに Next.jsの…

NLTKのngram言語モデルを日本語データで使う

以前の記事で、古典的ngram言語モデルについて、NLTKを利用し、英語データセットの結果をまとめました。 eieito.hatenablog.com 単語を分かち書きさえすれば日本語でも実行可能なので、日本語データセットでパープレキシティを算出していきます。 データ 学…

ngram言語モデルについてまとめる (neural language model)

4記事にわたり、複数の古典的ngram言語モデルについて試しに実装してきました。 torchtextのデータセットを使ってきたので、pytorchで簡単な言語モデルを作ってみます。 元となる論文があるわけではないですが、ネット上に多数実装が多数あるので、それらを…

ngram言語モデルについてまとめる (Interpolated Kneser–Ney smoothing)

eieito.hatenablog.com 前回、NLTKで動かしてみた Interpolated Kneser–Ney smoothing (長いので以降 Interpolated KNと略します) をpythonで実装してみました。 詳細は gist にアップロードした notebook に記載しています。(二度手間になるのでnotebook …

ngram言語モデルについてまとめる (NLTKのngram言語モデル)

Kneser-Ney smoothing を実装しようと調べていたところ、NLTKで実装されていたのでNLTKのngram言語モデルの使い方についてまとめます。 前処理にちょっと癖があるものの、エントロピーなど数値の算出が共通化されているのでモデルごとの違いを比較しやすい気…

ngram言語モデルについてまとめる (ヘルドアウト推定・Good-Turing)

前回に続いて、古典的な言語モデルについてpythonで実装して比較していきます。 eieito.hatenablog.com add-one や ELE は下の式をベースに、対象の単語の ngram と (n-1)gramの 頻度 を使って確率を求めていた。 今回は頻度 r に注目した手法です。 未出現…

ngram言語モデルについてまとめる (add-one)

サイコロ本 (統計的自然言語処理の基礎) で確率的言語モデル(ngram言語モデル) のバリエーションについて少し勉強したので、実装して比較してみます。 ngram言語モデル スムージング 1-加算 (add-one) Lidstoneの法則 実装 前処理 データ tokenizer vocab co…

気軽に使えるngramデータ「日本語ウェブコーパス 2010」を使ってみる

nlp

自然言語処理向けの日本語のデータって思ったよりも少ない気がします。 特に研究用途でのみ許可されているコーパスが多く、趣味で試したい時にどのデータを使うかで結構時間を使ってしまいます。 「日本語ウェブコーパス 2010 」はテキストデータに関しては…

scikit-learnにmecab日本語分かち書きを組み込む方法

nlp

pythonで (深層学習ではない) 機械学習をするとなるとまず使うのがscikit-learn、さらに扱うデータがテキストとなると大体の場合 CountVectorizerや TfIdfVectorizer といった特徴量抽出 feature_extraction.text で前処理を行うことが定番だと思います。 し…

NLTKを使った英語テキストのtokenize

nlp

英語のtokenizeは日本語の分かち書きに比べたら楽なようにみえるが、注意すべき点があるよという紹介をします。 そのために、今回は NLTK (Natural Language Toolkit) を使ってtokenizeします。 (NLTK のVersion 3.5、Python 3.7.4で動作確認しています。) …

言語処理学会 (NLP2020) 読んだ論文メモ3

前々回、前回 に引き続き、今年の言語処理学会年次大会のなかで、読んだ論文を紹介します。 最終日3/19分の論文 (day3)です。 なんとか完走です。 ちなみに今年受賞した論文などの情報は下記の通りです。 年次大会優秀賞・若手奨励賞一覧 https://www.anlp.j…

言語処理学会 (NLP2020) 読んだ論文メモ2

前回に引き続き、今年の言語処理学会年次大会のなかで、読んだ論文を紹介します。 今回は3/18分の論文 (day2)です。 ちょっとだけ紹介本数減ってますが、お察しください。 紹介している論文の分野の偏りが激しいので、余裕のある方は予稿集 から読んでみてく…

言語処理学会 (NLP2020) 読んだ論文メモ1

本日、言語処理学会のサイトにて、今年の年次大会(#NLP2020)の発表論文集を一般公開しました。https://t.co/36l2juMAMO— NLP2020 (@NLP_2020) 2020年4月8日 今年の言語処理学会年次大会の予稿集が公開されていたので、読んでいました。 読んだ論文について…

Mecab辞書、ipadicとneologdについてのメモ

nlp

主にMecabを使う時によくみるリンクとメモ。 ほぼ自分用のメモです。よって、Mac OSのことしか考慮していません。 パス 品詞 品詞ID 品詞体系についてまとめたページ ipadic / IPA辞書 マニュアル 品詞体系 辞書引き mecab-ipadic-NEologd 品詞体系 辞書引き…

10年前 (2009年) のACL論文を紹介する

nlp

本記事は 自然言語処理 #2 Advent Calendar 2019 の17日目の記事です。 2010年代も終わりということで、2000年代最後の年である 2009年 のACL論文を紹介します。 念押しすると、2019年 ではない です。字面が似ていますが全く異なる年です。 2009年のBest pa…

NLPにおけるQuestion Answeringについて、ざっくりまとめ

NLP

Kaggleで NLP のコンペ、TensorFlow 2.0 Question Answering がはじまりました。 Question Answering (質問応答) といえば、 IBMの開発したWatsonや、Siri・AlexaといったAIアシスタントなどで、みなさんにも馴染み深いタスクですね。 KaggleでQAが盛り上が…