付録AspaCyを使った日本語処理
中山 光樹
本付録は日本語版オリジナルの記事です。本書ではこれまで、主に英語を対象とした自然言語処理について取り扱ってきました。本稿では、spaCyを用いた日本語処理について解説します。内容や考え方の多くは言語に依存しないものなので、他の言語に取り組む際にも役に立つでしょう。
本稿のサンプルコードは次のリポジトリから入手できます。
A.1 はじめに
spaCyは産業応用向きの自然言語処理用Pythonライブラリです。とくに業務用に設計されており、大量のテキストを処理し、理解するアプリケーションの構築を支援します。情報抽出や自然言語理解システムの構築、あるいはディープラーニングのためのテキスト前処理に利用できます。最新の研究に基づいて作られていますが、研究用のソフトウェアではないので、そのような用途であれば別のソフトウェアを使うとよいでしょう。
spaCyではさまざまなことをできますが、主な機能を表A-1にまとめます。機能の中には、言語学的な概念に関係するものもあれば、機械学習に関連するものもあることがわかります。また、数十を超える言語での動作をサポートしているため、英語や日本語以外のテキストを処理するアプリケーションを構築する際にも役立ちます。ただし、言語ごとのサポート状況に差がある点には注意する必要があります。サポート状況の詳細についてはhttps://spacy.io/usage/models#languagesを参照してください。
表A-1 spaCyの主な機能
機能名 | 説明 |
---|---|
トークン化 | テキストを単語や句読点に分割する |
Get 実践 自然言語処理 ―実世界NLPアプリケーション開発のベストプラクティス now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.