備忘ログ

チラシの裏的備忘録&メモ

Rで文字列を形態素解析した上で漢数字をアラビア数字に変換する

RでMeCabを使って形態素解析して、MeCabの判定で品詞細分類で数と判定された数を表す漢数字ならアラビア数字に変換し、固有名詞等に判定された漢数字を含む単語はそのまま変換されないで保持するというもの。

{zipangu}の開発版に取り込まれたkansuji2arabic_str()MeCab形態素解析で変換する漢数字かそうでない漢数字科を判定する処理を挟んだもの。

パッケージを作った。

github.com

MeCabを使うために{RMeCab}を使っている。

何ができるのか

Github上に書いているが、簡単にまとめる。

remotes::install_github("indenkun/kansuji2arabic.MeCab")

でインストールできる。

ただし依存関係にCRANに含まれていないパッケージとそもそもR上でインストールできないMeCabがあるので注意が必要。

{zipangu}kansuji2arabic_str()との比較。

zipangu::kansuji2arabic_str("徳島県徳島市万代町一-一")
## [1] "徳島県徳島市10000代町1-1"
kansuji2arabic.MeCab::kansuji2arabic_str_MeCab("徳島県徳島市万代町一-一")
## [1] "徳島県徳島市万代町1-1"

ちゃんと万代町が固有名詞として判定され、変換されない(うまくいっている)。

Github上にうまく行かない例(辞書次第)も載せている。地名系なら固有名詞判定がうまくいくと思うので、大量に漢数字混じりの住所の丁目以降を漢数字からアラビア数字に変換したいときには役に立つかもしれない。