---
title: テキスト前処理用Pythonモジュールneologdnの紹介
tags:  #lt  
author: [Yukino Ikegami](https://www.docswell.com/user/yukinoi)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/4JM4412M7W.jpg?width=480
description: NEologd Casual Talk
published: April 14, 16
canonical: https://www.docswell.com/s/yukinoi/58G8DW-neologdn
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/4JM4412M7W.jpg)

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


# Page. 2

![Page Image](https://bcdn.docswell.com/page/PJRWWLML79.jpg)

これらはみんな違う文字です
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
見た目が似てても文字コードが違えば
別の文字


# Page. 3

![Page Image](https://bcdn.docswell.com/page/PEXPPWK67X.jpg)

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


# Page. 4

![Page Image](https://bcdn.docswell.com/page/3EKDDV5GJD.jpg)

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


# Page. 5

![Page Image](https://bcdn.docswell.com/page/L73RRMK5J5.jpg)

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


# Page. 6

![Page Image](https://bcdn.docswell.com/page/87DYY63Y7G.jpg)

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


# Page. 7

![Page Image](https://bcdn.docswell.com/page/VJP66Y42E8.jpg)

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


# Page. 8

![Page Image](https://bcdn.docswell.com/page/2EV33GXX7Q.jpg)

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


