LoginSignup
9
5

janomeで名詞をいい感じに取り出す

Last updated at Posted at 2019-02-12

どんな記事?

データフレームから普通名詞のみを抽出する処理をテンプレ化した記事です。
コピペで動きます。品詞の設定や記号の除去など毎回覚えて書くのは難しいので自分用の備忘録として書きました。

設定

データの準備

data が以下のような構造になっていることを想定しています。

index text
0 がっかりした。届いた時点で商品が壊れていました。本当…
1 個人的には満足です。価格が安いので何回でも…
2 丁寧に対応していただき感謝です。問題は…

モジュールの読み込み

from janome.tokenizer import Tokenizer
from janome.analyzer import Analyzer
from janome.tokenfilter import *
from janome.charfilter import *

形態素解析器の設定

char_filters = [UnicodeNormalizeCharFilter(), RegexReplaceCharFilter(r"[IiⅠi?.*/~=()〝 <>::《°!!!?()-]+", "")]
tokenizer = Tokenizer()
token_filters = [POSKeepFilter(["名詞"]), POSStopFilter(["名詞,非自立", "名詞,数", "名詞,代名詞", "名詞,接尾"]), LowerCaseFilter()]
analyzer = Analyzer(char_filters=char_filters, tokenizer=tokenizer, token_filters=token_filters)

実行

data.loc[:,'words'] = data.text.apply(lambda x: " ".join([token.surface for token in analyzer.analyze(x)]))
9
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
5