雑史

思ったこととかメモとか

Porterのステミングアルゴリズムをpythonで使う

はじめに

Python機械学習の勉強のため、個人的に言語処理100本ノックをやっている
それの52問目ステミングアルゴリズムを使用せよとあった。

52. ステミング
51の出力を入力として受け取り,Porterのステミングアルゴリズムを適用し,単語と語幹をタブ区切り形式で出力せよ. Pythonでは,Porterのステミングアルゴリズムの実装としてstemmingモジュールを利用するとよい.

ステミングとは?

検索エンジンアルゴリズムで、語形が変化する単語の語幹でマッチングを行うこと。英語などの言語には、意味的には同じ単語で語形が変化するものがある。

(参考) ステミングとは - SEO用語集 / 株式会社クロスウォーク

インストール

pip install stemmingでインストールできる。
Successfully installed stemming-1.0.1と表示されれば成功。

色々公式ドキュメント読んでもうまくわからなかったので、触り倒した結果、以下で使えそう。

from stemming.porter2 import stem

これで何か実行してエラーが出なければ問題ない。

使い方

print(stem("Natural"))
# Natur

これでいける。

最後に

今回は課題の中で使うだけだったが、もう少し触ってみようと思う。