.png%3Fw%3D1110&w=3840&q=75)
キカガク機械学習講師の船蔵颯です!本記事は、自然言語処理の基礎技術である形態素解析の理論編です!
形態素解析は、自然言語のテキストをいくつかの単位に分け、品詞や活用形などの情報を取り出す処理です。

まずは、そもそも形態素解析はどのような場面で必要な技術なのかをご説明します。その後に、形態素解析とは何かについてのより踏み込んだ解説を行い、最後に形態素解析研究のトピックスをご紹介します。
目次
形態素解析の主な使用例として、次の二つが挙げられます。
形態素解析の主な使用例
一点目は、形態素解析の結果を用いてテキストデータの分析を行う、という使い方です。例として、2020 年以降の人工知能のホットトピックを把握したいというケースを考えましょう。形態素解析を使うと、自然言語テキストを意味のある単位(単語など)に分割し、品詞を特定することができます。そのため、人工知能に関する文献や SNS 投稿などを形態素解析して、名詞を抽出・集計することができます。これにより、頻繁に言及されているモデルや手法などをある程度把握することができます。
二点目は、形態素解析の結果を他のモデルへの入力として利用する、という使い方です。自然言語処理モデルのほとんどは、入力テキストが分かち書きされていることを前提として設計されています。
特に構文解析など、文法の理解と関係が深い問題設定においては、分かち書きされたテキストに加えて品詞情報も入力として利用することで、解析精度が向上する場合もあります [Clark 2021]。
このように形態素解析が必要になる場面は多岐にわたっています。自然言語処理で何かする際には必ずといって良いほど必要になる技術なので、この記事を読んで入門しましょう!
前節でも述べた通り、次の二つの処理をまとめて、形態素解析と呼びます。
形態素解析
本節では、これらふたつの処理について解説します。
テキストを形態素に分割する処理は分かち書き(tokenization)と呼ばれます。分かち書きだけを行う解析器も多く存在し、それらはトークナイザ (tokenizer) と呼ばれます。
テキストをどのような単位で分割するかは解析器によって様々で、大きく単語分割、サブワード分割、文字分割の三つの手法が存在します。

BERT や GPT など、ニューラル自然言語処理モデルの多くは、サブワード分割を仮定しています。
サブワード分割を行うトークナイザ構築の代表的な手法として、バイトペア符号化 (Byte Pair Encoding, Sennrich+ 2016) や ユニグラム言語モデル (unigram language model, Kudo 2018) があります。これらの手法は教師なし学習を採用していて、テキストデータさえあればトークナイザを構築することができます。
一方で、単語ベースのトークナイザを作るには、「単語とは何か」に対する何らかの仮定に従い、教師データを作成する必要があります。この作業は、対象とする言語についての十分な知識が必要で、高コストな作業です。また、文字ベースの手法はテキストを一文字づつ分割すれば良いため非常に簡単ですが、分かち書き後の情報量が不足しがちです。このような背景もあって、サブワード分割が広く採用されています。
補足
教師なしトークナイザは文字列の出現頻度をもとにサブワードを形成するため、サブワードと形態素は厳密には異なります(実際、先の例では「深層学習」が「深/層/学習」と分割されています)。サブワード分割後の各単位は、形態素ではなくトークン (token) と呼ばれることが多いです。
品詞や活用形の特定は辞書 (dictionary) を活用して行うのが一般的です。ここでの辞書とは紙の辞書ではなく、品詞や活用形などの情報をデータとして整理したものです。辞書の種類も様々で、使用可能な辞書は解析器によって異なります。辞書の中では各単語に対して品詞や活用形が定義されています。各辞書はそれぞれ、背後に仮定している文法体系が異なります。
代表的な形態素解析器である JUMAN、ChaSen、MeCab を例に挙げて、具体的にご説明します。JUMAN 用の辞書である JUMAN 辞書は益岡・田窪文法 [益岡+ 1992]をベースに設計されており、国語学の知見が濃く反映されています。ChaSen 用に開発され、初期の MeCab が準拠していた ipadic は、IPA 品詞体系をもとに設計されています。ChaSen や MeCab はその後、特定の辞書だけでなくユーザが独自に作成した辞書でも動作するようになりました。
形態素解析の性能や、出力から得られる情報は辞書に左右されます。そのため、目的に沿った辞書を選んだり、作成する必要があります。
先ほど、教師なしのトークナイザ学習手法としてバイトペア符号化とユニグラム言語モデルをご紹介しました。これらの手法は、あらかじめテキストを分割して作成した教師データを必要としません。テキストデータさえあれば、そのテキストに出現する文字列の頻度情報をもとに、高頻出なサブワードを割り出してくれます。
教師なしトークナイザの利点は、上記に加えて以下のようなものがあります。
教師なしトークナイザは、訓練時に見たことのない単語に対しても柔軟に対応できます。教師あり手法だと、学習データに含まれない形態素は未知語として処理されるのが一般的です。
一方で、教師なし手法は学習データに含まれない文字列もサブワードの組み合わせとして分割するため、比較的柔軟に対応することができます。また、日々生まれる新語にも対応しやすいため、トークナイザの長期的な保守性にも繋がります。
補足
教師ありの解析器には未知語に対応するための様々な工夫が込められています。そのため、未知語に遭遇すると解析失敗してしまうわけではなく、教師なし手法に比べると未知語対策のコストが大きい、というのがフェアな見方だと思われます。
教師なしトークナイザは、言語に依存せず適用することができます。教師あり手法の場合、日本語ならば日本語の知識、中国語ならば中国語の知識を使って、単語に分割した教師データが必要です。教師なし手法の場合は、テキストデータさえあればトークナイザを構築できるため、多言語への対応が容易です。
ここでは、形態素解析に関連する近年の研究の一部をピックアップしてご紹介します。
形態素解析器の性能は、解析結果の正しさだけでなく、学習・解析の速度でも評価されます。より効率的な解析を目指したアルゴリズムの追求は、現在でも盛んに取り組まれています [Tay+ 2021, Yoshinaga 2023, etc.]。
本記事では単語ベース、サブワードベース、文字ベースの分かち書き手法をご紹介しました。自然言語処理では、分かち書きされたテキストがモデルの入力として使われるのが一般的です。そのため、分かち書き手法の違いがモデルの性能にどの程度影響するかは非常に興味深いトピックです。このような観点から、それぞれの分かち書き手法がどのようなタスクに適しているかを調査した研究 [Durrani+ 2019] や、取り組むタスクに応じてトークナイザを最適化する研究 [Hiraoka+ 2023] などが行われています。
はじめのセクションで、品詞情報を構文解析に利用する例をご紹介しました。それとは別のケースとして、自然言語の意味的な構造を解析するタスク(意味解析)でも、品詞や固有表現ラベルが活用されてきました。ここでは深入りしませんが、固有表現ラベルの例を以下に示します。

[Abzianidze+ 2017] は、品詞や固有表現ラベルだけでは意味の解析に十分でないとして、新たに意味タグ (semantic tag) という概念を提案しています。論理に基づく自然言語の解析システムは個別の言語ごとに設計される傾向がありましたが、意味タグによって言語依存性が解消されるのではないかと期待されています。
本記事の最後に、さらに深掘りしたい方におすすめの文献をご紹介します。
参考書籍
最後に、本記事中で言及した文献のリストを以下に示します。リストには筆頭著者名と発行年、タイトルのみを掲載しています。より詳細な書誌情報はリンク先をご確認ください。
参照文献
.jpg&w=3840&q=75)
キカガクの長期コースはプログラミング経験ゼロの初学者が最先端技術を使いこなすAIエンジニアになるためのサポート体制が整っています!
実際に未経験からの転職・キャリアアップに続々と成功中です
まずは無料説明会で、キカガクのサポート体制を確認しにきてください!
説明会ではこんなことをお話します!
.png&w=3840&q=75)
AI・機械学習を学び始めるならまずはここから!経産省の Web サイトでも紹介されているわかりやすいと評判の Python&機械学習入門コースが無料で受けられます!
さらにステップアップした脱ブラックボックスコースや、IT パスポートをはじめとした資格取得を目指すコースもなんと無料です!
SHARE
AI/データサイエンス学びはじめの方におすすめの記事
コース一覧
注目記事
新着記事