付録AspaCyを使った日本語処理

中山 光樹

本付録は日本語版オリジナルの記事です。本書ではこれまで、主に英語を対象とした自然言語処理について取り扱ってきました。本稿では、spaCyを用いた日本語処理について解説します。内容や考え方の多くは言語に依存しないものなので、他の言語に取り組む際にも役に立つでしょう。

本稿のサンプルコードは次のリポジトリから入手できます。

https://github.com/oreilly-japan/practical-nlp-ja

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.