形態素解析
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/03/10 16:06 UTC 版)
日本語の代表的な形態素解析の手法
英語の場合と異なり、文節を得るのが目的となることが多い。大まかに言えば文から切り出した単語が属する品詞を辞書(自然言語処理用の)を用いて調べていき、結果得られた並びから正しく文節が構成される並びであるものを正解であるとするといったような方法を取る。
日本語文法では、たとえば動詞のあとに格助詞がくることはできない(「ドアを開けるを」などは不可)といったように、ほとんどの付属語について「このようなものの後には付く」「このようなものの後には付かない」という規則性があり、また動詞の活用はその後に来る品詞を制限することがある(たとえば連体形の後は名詞)。このような性質を利用することによって単語の境界の判別を行う。具体的にこの性質を利用する方法には以下の2つがある:
規則による形態素解析
長尾真らの1970年代後半の研究[1][2]では、次のようなアルゴリズムによる形態素解析処理を構築した。
- 事前に用意しておいた辞書や規則をテーブル形式で読み込む。
- 入力文を読み込む。
- 慣用句テーブルとのマッチングを行う。最長一致法を使う。マッチングした部分は固定され、以降の解析では変更されない。
- 句読点と字種の変わり目(基本的にひらがなから漢字に変わる箇所)で、文節を切り出す。これは文法上の文節ではない。
- 切り出された文節の中で、慣用句にマッチングしていない箇所について、ひらがな書き自立語テーブルなどとのマッチングを行う。このとき、接続条件を考慮せず、全ての可能性を洗い出す。
- 以上で出てきた慣用句や単語を接続条件に基づいて連鎖させていく。複数の連鎖がありうる場合、全てを出力する。
- 結果をファイルに書き出す。
- 未処理の文節があれば、5 に戻る。
前提として、漢字で書かれた部分は基本的に切り分けず、そこが自立語(あるいは自立語の語幹)になると想定している。従って、漢字で書かれた自立語の辞書(テーブル)は持たない。このとき使われるテーブルには、次のものがある。
- 慣用句テーブル
- ひらがな部分の単語切り分け用テーブル
- 付属語テーブル
- ひらがな自立語テーブル
- 活用語尾テーブル -
- ひらがな語幹テーブル
- 特殊動詞テーブル
- 副詞テーブル
- 情報テーブル - 上記テーブル内の各項目に対応した辞書的情報
- 接続テーブル - 形態素間の相互接続関係を記述したテーブル。接続カテゴリ(品詞)毎に、その前に出現可能な形態素のカテゴリや活用形が記されている。
この中で、接続テーブルが規則に相当する。形態素解析における品詞の接続関係は必ずしも通常の文法通りではなく、解析の効率や、形態素の切り分けがなるべく100%となる(切り分け不能とならない)よう考慮して設計される。このような規則を「文節構造モデル」と呼び、首藤公昭らの研究がある[3][4]。
確率的言語モデルによる形態素解析
昨今の日本語や英語などの形態素解析では統計的な手法が利用される。主な手法に「ラティス上の経路予測」と「点予測」が存在する。
ラティス上の経路予測では、事前に生成可能な単語列 (ラティス) を辞書を使って網羅的に列挙し、各単語間の連結部において両単語が連結して出現する確率に相当するスコアを付与する。文全体でこのスコアの合計がもっとも高くなるような品詞列を答えとする。スコアの計算は隠れマルコフモデル (HMM, Hidden Markov Model) や条件付き確率場 (CRF, Conditional Random Field) などによりモデル化する。
次に点予測 (Pointwise prediction) による手法がある。点予測ではすべての文字の境界に対し、分割可能かどうかをサポートベクターマシン (SVM, Support Vector Machine) 等の分類器により判定する。分割可能な場合はその点が単語区切りとなる。分割判定には、分割点の周りの文字やその種類、部分文字列が単語辞書に含まれるかどうかといった情報が与えられる。品詞推定においても、ある判定箇所について、その単語と周りの単語から SVM などにより判定する。
点予測は、辞書を使って単語ラティスを生成する必要がないというメリットがある。このため、入力文中の単語が辞書に無い場合 (未知語を含む場合) でも、周りの文字列を使って単語らしい部分を識別可能な場合があり、辞書が貧弱でも比較的高い精度で解析できる。さらに、ラティスの生成には原理的に文の長さをnとしてO(n2)の時間を要するが、点予測では各文字間について判定するだけのためO(n)の時間で済む。
いずれの手法でも、ある特定の言語の全世界における全文章データを元にモデルを作成することは事実上不可能であるし、さらに、そもそも文章化されたデータからモデルを学習したとしても、それが元となる文章の解析には最適であるものの、それ以外の(たとえばモデルから見ればまったく手付かずで未知の、今から解析しようとする)文章には適しているかどうかは保証が無い事などから次の節で述べるような問題も発生する。
- ^ 長尾真(1979年)「計算機による日本語文章の解析に関する研究」、昭和53年度文部省科学研究費特定研究(1)研究報告書
- ^ 長尾真・辻井潤一(1978年)「国語辞書の記憶と日本語の自動分割」、情報処理 Vol.19 No.6
- ^ 首藤公昭・楢原登志子・吉田将(1979年)「日本語の機械処理のための文節構造モデル」、電子通信学会誌 Vol.62-D No.12
- ^ 首藤公昭(1980年)「文節構造モデルによる日本語の機械処理に関する研究」福岡大学研究所報 No.45
- ^ Teramura, Hideo (2011). Nihongo no shintakusu to imi. dai 1 kan (dai 18 satsu [18. Druck] ed.). Tōkyō: Kuroshio Shuppan. ISBN 978-4-87424-002-1
- ^ “How to build kegome v2 on web?” (英語). github.com. 2021年12月22日閲覧。
- ^ “IBM Knowledge Center”. www.ibm.com. 2019年6月20日閲覧。
形態素解析と同じ種類の言葉
- 形態素解析のページへのリンク