テキスト前処理用Pythonモジュールneologdnの紹介

>100 Views

April 14, 16

スライド概要

NEologd Casual Talk

profile-image

池上有希乃です・・・†

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

テキスト前処理用 Pythonモジュール neologdnの紹介 2016/04/26 NEologd Casual Talks Yukino Ikegami

2.

これらはみんな違う文字です U+FE63 U+FF0d U+FF70 U+2500 U+2013 U+2014 SMALL HYPHE NMINUS HALFWIDTH KATAKANAHIRAGANA PROLONGED SOUND MARK BOX DRAWI NGS LIGHT HORIZO NTAL EN DASH EM DASH FULLWI DTH HYPHE NMINUS 見た目が似てても文字コードが違えば 別の文字

3.

テキストの前処理とは • 後の処理がやりやすくなるように テキストを一定のルールに基づいて整えること • たとえば、 • 半角カナを全角カナにする • 全角英数字を半角英数字にする • 「ウェーイ」と「ウェーーーーイ」を同じ言葉として扱う ために「ウェーーーーイ」を「ウェーイ」にする

4.

もし前処理やらないと…… $ mecab -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd まどかマギカ まどかマギカ 名詞,固有名詞,一般,*,*,*,まどかマギカ,マドカマ ギカ,マドカマギカ EOS まどかマギカ まどか 名詞,固有名詞,人名,名,*,*,まどか,マドカ,マドカ マギカ 名詞,固有名詞,組織,*,*,*,* EOS せっかくのNEologdがMOTTAINAI

5.

neologdn • NEologdの前処理用Pythonモジュール • Cythonだからチョット速い • Python2系3系両対応 • pip install neologdn • https://github.com/ikegami-yukino/neologdn

6.

公式サンプルコードとの比較 • 公式サンプルコード • https://github.com/neologd/mecab-ipadicneologd/wiki/Regexp.ja#python-written-by-hideaki-t--overlast • テキスト: livedoor ニュースコーパス • http://www.rondhuit.com/download.html • およそ24万行 • IT, 家電, 映画, スポーツ,独女通信など様々な文書

7.

比較の結果 公式サンプル neologdn 18.3 sec 9.05 sec • 2倍程度速い! • 詳細 – https://github.com/ikegamiyukino/neologdn/blob/master/benchmark/benchm ark.ipynb

8.

まとめ • 前処理大事 • せっかくの辞書が活躍できない • Pythonでやるならneologdn • チョット速い