Amazon Web Services ブログ

日本語形態素解析器 MeCab を Python から利用する際の語彙データ(UniDic)が AWS 上で Open Data として公開されました

多くの機械学習デベロッパーの方々が、AWS 上でさまざまなアルゴリズムの開発やモデルの構築を行なっています。中でも自然言語処理を行う際には、対象言語の特性に即した形で前処理を行う必要があります。日本語の自然言語処理を実施する際には、形態素解析と呼ばれる文章の分解処理を前位処理として一般的に行います。日本語形態素解析を行うためには、日本語の語彙データが必要となりますが、このデータは通常 GB 以上のサイズに及ぶ大きなサイズとなります。またこれらを用いた計算の際にも大量の GPU および CPU を必要とするため、従来こうしたモデルを構築する際には常にストレージおよびコンピューティングのリソースの調達が問題となってきました。AWS 上で自然言語処理モデルの開発を行う際には、Amazon Sagemaker を用いて学習に必要なリソースを確保することで、ALBERT のような最新の言語モデルを利用することが可能です。

今回、AWS の Open Dataset に新しく、日本語自然言語処理で定番の形態素解析器である MeCab を、ラッパーライブラリである fugashi 経由で Python で使用する際の語彙データが加わりました。以下で詳しく説明します。

MeCab

MeCab はオープンソースの形態素解析器で、日本語の形態素解析において幅広く使用されています。言語、辞書、コーパスに依存しない汎用的な設計を 基本方針としており、高速に動作します。

fugashi

fugashi は MeCab を Python から使用する際のラッパーライブラリです。unidic-py と連携することにより、下記の UniDic を簡単に読み込んで使用することができます。

UniDic

UniDic は国立国語研究所により構築された、日本語テキストを単語に分割し、形態論情報を付与するための電子化辞書です。

このデータは S3 上でホストされているため、AWS で日本語自然言語処理モデルの開発を行う際に、素早くデータをダウンロードして利用することができます。例えば UniDic のデータをダウンロードするのであれば、AWS CLI から以下のコマンドを打つだけです(AWS CLI のインストールについては、こちらをご覧ください。)!

aws s3 cp s3://cotonoha-dic/unidic.zip ./

fugashi および unidic-py を用いて形態素解析を行うサンプルノートブックが公開されています。Amazon SageMaker のノートブック上から簡単に実行できますので、ぜひお試しください(SageMaker でノートブックを立ち上げる方法についてはこちらをご覧ください)。またこれらデータの詳細については、AWS Open Data の UniDic についてのページをご覧ください。

https://registry.opendata.aws/cotonoha-dic/

広く使われているオープンソースの自然言語処理ライブラリである huggingface/transformers にも、fugashi および unidic-py を用いた処理が含まれております。huggingface/transformers は冒頭で触れた ALBERT を含んだ幅広い訓練済みモデルを提供していますので、ぜひこれらを活用して AWS 上で日本語自然言語処理モデル開発を楽しんでください!