JPWO2014030258A1 - 形態素解析装置、テキスト分析方法、及びそのプログラム - Google Patents

形態素解析装置、テキスト分析方法、及びそのプログラム Download PDF

Info

Publication number
JPWO2014030258A1
JPWO2014030258A1 JP2014531472A JP2014531472A JPWO2014030258A1 JP WO2014030258 A1 JPWO2014030258 A1 JP WO2014030258A1 JP 2014531472 A JP2014531472 A JP 2014531472A JP 2014531472 A JP2014531472 A JP 2014531472A JP WO2014030258 A1 JPWO2014030258 A1 JP WO2014030258A1
Authority
JP
Japan
Prior art keywords
speech
text
word
learning
analysis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014531472A
Other languages
English (en)
Inventor
要 小島
要 小島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2014030258A1 publication Critical patent/JPWO2014030258A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis

Abstract

形態素解析装置であって、プロセッサと、メモリと、入力装置とを備え、前記学習用テキストを分析する形態素解析器学習部と、前記解析用テキストを分析し、前記解析用テキストを単語に分割し、前記分割された単語へ品詞を付与する形態素解析部と、を備え、前記形態素解析器学習部は、前記学習用テキストに含まれる単語の品詞から次の単語の発生確率と、当該学習用テキストに含まれる単語の品詞から次の単語の品詞の発生確率とを取得し、当該取得した発生確率を含む品詞モデルを構築し、前記形態素解析部は、前記構築された品詞モデルを参照して、前記解析用テキストを単語に分割し、前記分割された単語の品詞を決定する。

Description

本発明は、形態素解析装置に関する。
言語処理において、単語は文書の分析を行う上で重要な要素である。例えば、異なる文書間の内容の類似度や、文書内のトピックを抽出する際に、文書内における単語の出現頻度を示すTFIDFが広く用いられている。
このため、日本語、中国語、タイ語等の文章が単語に分かれて記述されていない言語で記述された文章を解析する場合、文章を単語毎に分割する必要がある。各言語において単語分割のためのソフトウェアが開発されており、例えば、日本語では、Chasen、MeCab等のソフトウェアが広く使用されている。これらのソフトウェアは、予め単語と品詞の情報が登録された辞書を必要とし、高品質な辞書の整備が必要である。また、インターネット掲示板やTwitterなどのソーシャルメディアのデータは、固有名詞、顔文字、スラングなど、通常用いられない単語を多く含む。このため、辞書を用いたソフトウェアでは単語を正しく分割することが難しいという問題がある。
そこで、近年、辞書を用いずに単語を分割するために、教師無し単語分割方法が注目されている。
特開2010−170252号公報 特開2009−3818号公報
Sharon Goldwater, Thomas L. Griffiths, Mark Johnson, Contextual Dependencies in Unsupervised Word Segmentation, In Proceedings of the 21st International Conference on Computational Linguistics and 44th Annual Meeting of the Association for Computational Linguistics, 2006 Yee.Whye. Teh, A hierarchical Bayesian language model based on Pitman-Yor processes, In Proceedings of the 21st International Conference on Computational Linguistics and the 44th Annual Meeting of the Association for Computational Linguistics, 985-992, 2006 Stiven L. Scott, Bayesian methods for hidden Markov models, Journal of the American Statistical Association, 97:337-351, 2002. Frank Wood and Yee Whye The, A hierarchical, hierarchical Pitman-Yor process language model, ICML 2008 Workshop on Nonparametric Bayes, 2008
教師無し単語分割方法は、データ圧縮指標(MDL)に基づいて、文書の圧縮率が良くなる単語分割を求める方法と、文字の並びから得られる単語の発生確率及び単語のつなぎにおける確率に基づいた確率モデルから、モデルの確率が大きくなるように単語を分割する確率モデルによる方法との二つに大別される。
前者のMDLによる方法は、後者の確率モデルによる方法と同等の単語分割精度を維持し、かつ、高速に処理できる特徴を有するが、人手によって単語分割がされた正解データを与えることによる単語分割精度の向上が困難であるという問題がある。
一方、特許文献1及び非特許文献1に記載されるような、後者の確率モデルによる方法では、単語分割の精度を上げるため、日本語を対象とした場合、ひらがな、カタカナ、漢字、記号などの文字種の違いの情報を予め与える方法が考案されている。しかし、この情報は言語に依存するという問題がある。特に、未知の言語の場合、文字種の区別が困難であるため、この方法を未知の言語に適用することは困難である。
さらに、確率モデルによる方法では、単語の並びから得られる単語間のつなぎが確率モデル内に考慮されているが、品詞の情報が考慮されていない。このため、品詞を考慮すると単語のつなぎが不適切な場合にも、単語が不適切に分割される問題がある。
そこで、品詞の情報を用いて単語分割精度を向上させることが求められている。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、入力されたテキストデータに含まれる単語の品詞を決定する形態素解析装置であって、プログラムを実行する少なくとも一つのプロセッサと、前記プログラムが格納されるメモリと、前記テキストデータが入力される入力装置とを備え、前記入力装置は、学習用テキスト及び解析用テキストの入力を受け付け、前記形態素解析装置は、前記学習用テキストを分析する形態素解析器学習部と、前記解析用テキストを分析し、前記解析用テキストを単語に分割し、前記分割された単語へ品詞を付与する形態素解析部と、を備え、前記形態素解析器学習部は、前記学習用テキストに含まれる単語の品詞から次の単語の発生確率と、当該学習用テキストに含まれる単語の品詞から次の単語の品詞の発生確率とを取得し、当該取得した発生確率を含む品詞モデルを構築し、前記形態素解析部は、前記構築された品詞モデルを参照して、前記解析用テキストを単語に分割し、前記分割された単語の品詞を決定することを特徴とする。
本発明の一側面によれば、品詞の情報を用いることによって、正確に単語を分割することができ、高精度な形態素解析をすることができる。
本発明の第1の実施例に係る形態素解析装置の構成例を示すブロック図である。 本発明の第1の実施例の品詞モデルの一例を説明する図である。 本発明の第1の実施例に係る形態素解析器学習部が実行する処理のフローチャートである。 本発明の第1の実施例に係る形態素解析器学習部が実行する処理のフローチャートである。 本発明の第1の実施例に係る単語・品詞サンプリング部が実行する処理のフローチャートである。 本発明の第1の実施例に係る単語・品詞サンプリング部が実行する処理のフローチャートである。 本発明の第1の実施例に係る形態素解析部が実行する処理のフローチャートである。 本発明の第1の実施例に係る形態素解析部が実行する処理のフローチャートである。 本発明の第1の実施例に係る形態素解析装置の学習処理の流れを示すシーケンス図である。 本発明の第1の実施例に係る形態素解析装置が形態素解析によって単語を分割し、品詞を付与をする処理の流れを示すシーケンス図である。
以下、添付図面に基づいて本発明の実施の形態を説明する。なお、本発明は、後述する実施例に限定されるものではなく、その技術思想の範囲において、種々の変形が可能である。
[第1の実施例]
本実施例に係る形態素解析装置は、テキスト文書を単語で分け、各単語の品詞を決定する。
<装置構成>
図1は、本発明の第1の実施例に係る形態素解析装置400の構成例を示すブロック図である。
形態素解析装置400は、CPU(Central Processing Unit)401、主記憶装置(メモリ)402、補助記憶装置403及びユーザインターフェース部407を有する計算機である。形態素解析装置400は、物理的に一つの計算機上に構築されても、物理的には一つ又は複数の計算機上に構成された論理区画上に構築されてもよい。形態素解析装置400は、LAN(Local Area Network)等のネットワーク406を介して外部のネットワークに接続される。
CPU401は、主記憶装置402に格納されたプログラムを実行する中央演算装置である。なお、形態素解析器学習部408、形態素解析部409、単語・品詞削除部410、単語・品詞追加部411、単語・品詞サンプリング部412及びパラメータサンプリング部413は、CPU401が所定のプログラムを実行することによって実装される。
主記憶装置402は、CPU401が実行するプログラム及び前記プログラムの実行時に用いるデータ(品詞モデル414など)を記憶するRAM(Random Access Memory)等の記憶装置である。主記憶装置402は、必要に応じて、学習用テキストデータ423を一時的に記憶する。
補助記憶装置403及び外部記憶装置404は、テキストデータ及び前記プログラム等を格納する磁気ディスクドライブ、フラッシュメモリ等の記憶装置又は記憶媒体である。補助記憶装置403は、品詞モデル414、初期状態確率モデル415、遷移確率モデル416、単語出力確率モデル417、文字N−gramモデル418、初期状態カウントC0(419)、遷移状態カウントC(420)、ハイパーパラメータA(421)及び単語・品詞リスト422を格納する。
リムーバブルメディア405は、テキストデータ等を記録したCD−ROMや、DVD等の不揮発性の記録媒体であり、所定の読出装置(光ディスクドライブ、USBインターフェースなど)によってデータが読み出される。補助記憶装置403、外部記憶装置404及びリムーバブルメディア405に記録されたデータは、形態素解析装置400の起動時に、必要に応じて読み出され、主記憶装置402に格納される。
CPU401によって実行されるプログラムは、リムーバブルメディア405又はネットワークを介して計算機に提供され、非一時的記憶媒体である補助記憶装置403に格納される。すなわち、CPU401が実行するプログラムは、補助記憶装置403から読み出されて、主記憶装置402にロードされて、CPU401によって実行される。
ユーザインターフェース部407は、ユーザインターフェースを提供する入出力装置(例えば、キーボード、マウス、ディスプレイ)である。
CPU401は、主記憶装置402、補助記憶装置403、リムーバブルメディア405、又は、ネットワーク406を介した外部記憶装置404から、必要に応じてテキストデータを取得する。その後、CPU401は、形態素解析器学習部408を起動し、取得したテキストデータに基づいて、品詞モデル414を学習する。
図1において、テキストデータは、主記憶装置402、補助記憶装置403、リムーバブルメディア405、ネットワーク406上の装置に格納される例を示したが、CPU401が読み書き可能な装置に格納すればよい。
前述したように、CPU401は、各部を実装するためのプログラムを実行することによって、所定の機能を実現する機能部として動作する。例えば、CPU401は、形態素解析器学習プログラムを実行することによって、形態素解析器学習部408として機能する。他のプログラムについても同様であり、CPU401は、単語・品詞削除プログラムを実行することによって、単語・品詞削除部410として機能し、単語・品詞追加プログラムを実行することによって、単語・品詞追加部411として機能し、単語・品詞サンプリングプログラムを実行することによって、単語・品詞サンプリング部412として機能し、パラメータサンプリングプログラムを実行することによって、パラメータサンプリング部413として機能し、形態素解析プログラムを実行することによって、形態素解析部409として機能する。
形態素解析器学習部408などの各機能を実現するプログラム及びテーブル等のデータは、補助記憶装置403、リムーバブルメディア405、不揮発性半導体メモリ、磁気ディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、又は、ICカード、SDカード、DVD等の計算機が読み取り可能な非一時的なデータ記憶媒体に格納することができる。
<文字N−gramと単語N−gram>
文字N−gramとは、N−1文字の文字列に続く文字が発生する確率を与えるモデルである。例えば、「わたし」という単語において、2文字の文字列「わた」の後に文字「し」が来る確率P(し|わた)は3−gram確率と呼ばれる。文字N−gramによる確率は、それぞれ文書中における文字又は単語の並びの出現頻度から計算される。例えば、文書中に文字列「わた」がx回出現し、「わた」の後に文字「し」が来る回数がy回である場合、3−gram確率P(し|わた)はy/xとなる。文字N−gramは、ある文字列の後に出現する文字の予測に用いられる。同様に、単語N−gramとは単語列に続く単語が発生する確率を与えるモデルである。
<N−gram確率のスムージング>
文字N−gram確率は、テキスト中の出現頻度によって計算が可能であるが、テキスト量が有限であることから、言語として不自然ではないが、学習のためのデータ中には存在しない場合が有り得る。例えば、P(い|楽し)という文字3−gramを考えた場合、「楽しい」という文字の並びが、与えられたテキスト中にたまたま存在しない場合、この確率は0となるが、「〜しい」という言い方は日本語として不自然ではないため、確率が0となるのは正しくない。そこで、一つ短いP(い|し)という文字2−gramの確率と加重平均を計算し、N−gram確率が極端な値となることを避けること方法をスムージングという。より正確には、本来のN−gram確率と(N−1)−gramの確率と加重平均を計算することによって、N−gram確率のスムージングが行われる。また(N−1)−gramの確率についても、(N−2)−gramとの加重平均によりスムージングすることで、階層的にスムージングが行われる。本発明では、加重平均の取り方として非特許文献2に記載されたPitman−Yor過程に基づいたベイズ型統計モデルを用いる方法を採用することができる。
<文字N−gramモデル418>
文字N−gramモデル418は、文字列sと文字cを与えた時、sに続いてcが出現する確率を与えるモデルである。文字N−gramモデルは、単語の追加、削除によって学習される。文字N−gramモデル418は特許文献2及び非特許文献2に記載された方法などによって構築することができる。文字N−gramモデル418からは、単語wが長さKの文字列d[1],...,d[K]からなる時、単語0−gram確率と称される、文字の特徴からの単語の確率P(d[1],...d[K],$)が計算可能である。なお、$は単語の終わりを表す特殊文字である。具体的には、P(d[1],...d[K],$)は、連鎖公式を用いると、P(d[1])×P(d[2]|d[1])×・・・×P(d[K]|d[1],...,d[K−1])×P($|d[1],...,d[K])と書き換えることができる。このため、P(d[1],...d[K],$)は、文字N−gramモデルから得られる文字N−gram確率P(d[k]|d[1],...,d[k−1])を用いて計算することができる。また、非特許文献2に記載された方法で文字N−gramモデル418が構築された場合、N−gramの長さは、例えば4−gramなどに制限されるため、文字N−gram確率P(d[k]|d[1],...,d「k−1」)は、文字4−gram確率P(d[k]|d[k−4],...d[k−1])で近似した値が与えられる。
<品詞モデル414>
品詞モデル414は、隠れマルコフモデルに基づいた確率モデルとなっている。隠れマルコフモデルでは、観測された系列データの各状態が、実際には観測されない隠れた状態から出力されており、隠れた状態間における状態遷移が考慮された確率モデルである。品詞モデル414では、隠れた状態が品詞に相当し、観測された系列データの各状態が単語に相当する。
図2は、品詞モデル414の一例を説明する図である。
図2に示す品詞モデル414は、「お待ち」、「し」、「て」、「おり」、「ます」、「。」などの単語及び当該単語に対応する品詞を含む。文の終わりを表す「文末」という特殊な品詞以外の未観測の品詞の間で状態遷移が考慮され、各単語は品詞から出力されるようにモデル化されている。図2に示す例では、品詞は「名詞」、「動詞」、「文末」などの言葉が当てられるが、実際には、品詞は予め与えられた品詞数をMとする時、0,...,M−1と文末を表すMを合わせた、M+1個の数字で表わされる。品詞モデルでは、文がT個の単語列w[1],・・・,w[T]によって構成され、t番目の単語w[t]の品詞が、m[t]で与えられる場合、品詞m[1]が発生する初期状態確率P(m[1])、一つ前の品詞m[t−1]から次の品詞m[t]への遷移確率P(m[t−1]|m[t])、及び品詞m[t]からの単語w[t]の出力確率P(w[t]|m[t])によって確率分布が構成される。このため、モデル全体の確率P(w[1],・・・w[T],m[0],・・・m[T])は、P(w[1]|m[1])×P(w[2]|m[2])×・・・×P(w[T]|m[T])×P(m[1])×P(m[2]|m[1])×P(m[3]|m[2])×・・・×P(m[T]|m[T−1])×P(M|m[T])で計算することができる。品詞の初期状態確率P(m[1])、遷移確率P(m[t]|m[t−1])、単語出力確率P(w[t]|m[t])は、それぞれ後述の初期状態確率モデル415、遷移確率モデル416、単語出力確率モデル417として計算することができる。
<初期状態確率モデル415と遷移確率モデル416>
品詞数をMとする場合、初期状態確率モデル415は、0からMまでの値をとる多項分布で定義することができる。また、各品詞pについてpから次の品詞への遷移確率モデル416は0からMまでの値をとる多項分布で定義することができる。初期確率モデル415と遷移確率モデル416に対しては、多項分布の共役事前分布であるディリクレ分布のパラメータA421が与えられる。
<単語出力確率モデル417>
品詞モデル414における各品詞mからの単語wの出力確率P(w|m)は、単語1−gram確率P(w)をスムージングして得らる。また、単語1−gram確率は、文字N−gramモデル418より得られる単語0−gram確率をスムージングして得られる。スムージングの方法は、本発明では、非特許文献1に記載されるPitman−Yor過程を用いることができる。文章中では、単語wが品詞mに属する事象が複数回存在する場合がある。Pitman−Yor過程によるスムージングでは、Pitman−Yor過程と称される確率過程に従い、その一部は単語1−gram確率P(w)の計算に用いられる。また、更にその一部は、単語wを構成する文字列の形で文字N−gramモデルを計算するためのデータとして登録される。品詞モデル414をテキストデータから学習する際には、各単語が品詞へ動的に割り当てられる。その際、単語の品詞への登録及び削除はPitman−Yor過程に従って、前述のように階層的に行われる。
<形態素解析器学習部408>
図3A及び図3Bは、第1の実施例に係る形態素解析器学習部408が実行する処理のフローチャートである。
まず、文のリストS及び繰り返し数Nの入力を受け付ける(ステップS301)。その後、一次元配列である初期状態カウントC0(419)及び二次元配列である遷移状態カウントC(420)の要素を0に初期化し(ステップ302)、変数iを1に初期化する(ステップS303)。
その後、変数iがNを越えるまで、以下のステップS305〜S316の処理を繰り返す(ステップS304)。
次に、文のリストSの要素を空のリストTにコピーし(ステップS305)、文のリストTの要素をランダムに並べ替える(ステップS306)。
その後、リストTの要素が空になるまで、以下のステップS309〜S316の処理を繰り返す(ステップS307)。そして、リストTの要素が空になれば、変数iを1増やし、ステップS304へ戻る(ステップS307、S308)。
次に、リストTの先頭の要素を削除し、これを文sとする(ステップS309)。文sに該当する単語列及び品詞列が単語・品詞リスト422にある場合、この単語列及び品詞列を単語・品詞リスト422から削除する(ステップS310、S311)。そして、単語・品詞削除部410が、文sの単語列及び品詞列を品詞モデル414から削除する(ステップS312)。また、単語・品詞サンプリング部412が、文sから単語列及び品詞列をサンプリングする(ステップS313)。単語・品詞リスト422は、サンプリングした単語列と品詞列を、文sに該当する単語列と品詞列として追加する(ステップS314)。その後、単語・品詞追加部411が、サンプリングした単語列と品詞列を品詞モデル414に追加し(ステップS315)、パラメータサンプリング部413が品詞モデル414のパラメータをサンプリングし、ステップS207へ戻る(ステップS316)。
次に、単語・品詞削除部410、単語・品詞追加部411など、各部の動作について説明する。
<単語・品詞削除部410>
単語・品詞削除部410は、単語列w[1],...,w[T]と品詞列m[1],...,m[T]の入力を受ける。単語・品詞削除部410は、品詞m[1]の値がpである場合、一次元整数配列である初期状態カウントC0(419)のp番目の要素を1減じる。単語・品詞削除部410は、tが2以上の各品詞m[t]について、品詞m[t]及びm[t−1]の値が、それぞれp及びqである場合、二次元整数配列である遷移状態カウントC(420)のq行p列目の要素を1減じる。
また、単語・品詞削除部410は、品詞m[t]に対応した単語出力確率モデル417から、Pitman−Yor過程に従って、例えば非特許文献2に記載された方法によって、単語w[t]を削除する。
<単語・品詞追加部411>
単語・品詞追加部411は、単語列w[1],...,w[T]と品詞列m[1],...,m[T]の入力を受ける。単語・品詞追加部411は、品詞m[1]の値がpである場合、一次元整数配列である初期状態カウントC0(419)のp番目の要素を1増やす。単語・品詞追加部411は、tが2以上の各品詞m[t]について、品詞m[t]及びm[t−1]の値が、それぞれp及びqである場合、二次元整数配列である遷移状態カウントC(420)のq行p列目の要素を1増やす。
また、単語・品詞追加部411は、品詞m[t]に対応した単語出力確率モデル417から、Pitman−Yor過程に従って、例えば非特許文献2に記載された方法によって、単語w[t]を追加する。
<パラメータサンプリング部413>
パラメータサンプリング部413は、初期状態カウントC0[p](419)とハイパーパラメータA[p](421)との和をパラメータとしたディリクレ分布よりサンプリングすることによって、初期状態確率モデル415の多項分布のパラメータを与える。また、パラメータサンプリング部413は、遷移状態カウントC[p][q](420)とハイパーパラメータA[q](421)の和をパラメータとしたディリクレ分布よりサンプリングすることによって、品詞pに対応した遷移確率モデル416を与える。
<単語・品詞サンプリング部412>
単語・品詞サンプリング部412は、非特許文献3に記載されるforward-filtering backward sampling法を用いて、品詞モデル414の確率構造に従って、各文の単語分割及び分割された単語の品詞をサンプリングする。
図4A及び図4Bは、第1の実施例に係る単語・品詞サンプリング部412が実行する処理のフローチャートである。
まず、文sと品詞数M及び最大単語長Lの入力を受け付ける(ステップS401)。また、sの文字数をNとし、単語長リストWL及び品詞リストPLを空に初期化し(ステップS402)、変数iを1に初期化する(ステップS403)。
その後、変数iがN+1より大きくなるまで、ステップS405〜S412の処理を繰り返す(ステップS404)。
次に、N−i+1がLより大きいかを判定し、N−i+1がLより大きい場合、変数KにLを設定し、N−i+1がL以下である場合、変数KにN−i+1を設定する(ステップS405、S406、S407)。
また、i−1がLより大きいかを判定し、i−1がLより大きい場合、変数JにLを設定し、i−1がL以下である場合、変数Jにi−1を設定する(ステップS408、S409、S410)。
また、Jが0であるかを判定し、Jが0である場合、各品詞mについて、P(m)をG[m]に設定する(ステップS411、S412)。一方、Jが0より大きい場合、各品詞mについて、変数j=1〜JのE[i][j][m]の和を計算し、計算された和をF[m]に設定する(ステップS413)。また、各品詞mについて、品詞nを1からMまで変化させた際のP(m|n)×F[n]の和を計算し、計算された和をG[m]に設定する(ステップS414)。
また、変数kを1からKまで変化させ、品詞mを1からMまで変化させた際の、文字列c[t],...,c[t+k−1]からなる単語をwとし、P(w|m)×G[m]をE[i+k][k][m]に設定する(ステップS415)。
その後、変数iを1増やし、ステップS404へ戻る(ステップS416)。
一方、変数iがN+1より大きい場合(ステップS404でYES)、変数iにN+2を設定し、変数kに1を設定し、文の終端を表すM+1を品詞mに設定する(ステップS417)。その後、kがi以下になるまで、ステップS419〜S424の処理を繰り返す(ステップS418)。
その後、iからkを減じ(ステップS419)、iとN+1とを比較する(ステップS420)。iがN+1より大きい場合、変数JにLを設定し、iがN+1以下である場合、変数JにN−1を設定する(ステップS420、S421、S422)。
その後、変数jを1からJまで変化させ、品詞nを1からMまで変化させた際のP(n|m)×E[i][j][n]に比例するように、j及びnをサンプリングし、それぞれをk及びmに設定する(ステップS423)。
そして、kを単語長リストWLに追加し、mを品詞リストPLの先頭に追加し、ステップS418へ戻る(ステップS424)。
単語・品詞サンプリング部412が実行する処理によって得られた単語長リストWLには、サンプリングされた単語の長さが、先頭から順に保持されているため、文sの文字列に合わせて、単語を取得できる。また、品詞リストPLには、得られた単語に対応した品詞が先頭から順に保持されている。
<形態素解析部409>
形態素解析部409は、各文について、品詞モデル414にある確率構造における確率が最大となる単語分割及び各単語に対応した系列を、Viterbiアルゴリズムによって取得する。
図5A及び図5Bは、第1の実施例に係る形態素解析部409が実行する処理のフローチャートである。
まず、文sと品詞数M及び最大単語長Lの入力を受け付ける(ステップS501)。また、sの文字数をNとし、単語長リストWL及び品詞リストPLを空に初期化し(ステップS502)、変数iに1を初期化する(ステップS503)。
その後、変数iがN+1より大きくなるまで、ステップS505〜S512の処理を繰り返す(ステップS504)。
次に、N−i+1がLより大きいかを判定し、N−i+1がLより大きい場合、変数KにLを設定し、N−i+1がL以下である場合、変数KにN−i+1を設定する(ステップS505、S506、S507)。
また、i−1がLより大きいかを判定し、i−1がLより大きい場合、変数JにLを設定し、i−1がL以下である場合、変数Jにi−1を設定する(ステップS508、S509、S510)。
また、Jが0であるかを判定し、Jが0である場合、各品詞mについて、X[m]に0を設定し、P(m)をF[m]に設定する(ステップS511、S512)。一方、Jが0より大きい場合、各品詞mについて、変数j=1〜JのE[i][j][m]を最大にするjをX[m]に設定し、X[m]の最大値をF[m]に設定する(ステップS513)。
また、各品詞mについて、品詞nを1からMまで変化させた際の、P(m|n)×F[n]を最大にするnをY[m]に設定し、Y[m]の最大値をG[m]に設定する(ステップS514)。
また、変数kを1からKまで変化させ、品詞mを1からMまで変化させた際の、文字列c[t],...,c[t+k−1]からなる単語をwとし、P(w|m)×G[m]をE[i+k][k][m]に設定する(ステップS515)。
その後、変数iを1増やし、ステップS504へ戻る(ステップS516)。
一方、変数iがN+1より大きい場合(ステップS404でYES)、変数iにN+2を設定し、変数kに1を設定し、品詞mに文の終端を表すM+1を設定する(ステップS517)。その後、kがi以下になるまで、ステップS519〜S524の処理を繰り返す(ステップS518)。
その後、iからkを減じ(ステップS519)、iとN+1とを比較する(ステップS520)。iがN+1より大きい場合、変数JにLを設定し、iがN+1以下である場合、変数JにN−1を設定する(ステップS520、S521、S522)。
その後、変数jを1からJまで変化させ、品詞nを1からMまで変化させた際のP(n|m)×E[i−k][j][n]に最大にするjとnのペアを取り出し、それぞれをkとmに設定する(ステップS523)。
そして、kを単語長リストWLに追加し、mを品詞リストPLの先頭に追加し、ステップS518へ戻る(ステップS524)。
形態素解析部409が実行する処理によって得られた単語長リストWLには、サンプリングされた単語の長さが、先頭から順に保持されているため、文sの文字列に合わせて、単語を取得できる。また、品詞リストPLには、得られた単語に対応した品詞が先頭から順に保持されている。
<第1の実施例における形態素解析器学習処理の詳細>
図6は、第1の実施例に係る形態素解析装置400の学習処理の流れを示すシーケンス図である。
形態素解析装置400が、ユーザインターフェースから処理の開始の指示を受けると(ステップS601)、CPU401は、学習用テキストデータの入力を待つ。学習用テキストデータが入力されると(ステップS602)、CPU401は、形態素解析器学習部408による学習処理を実行する(ステップS603)。なお、入力される学習用テキストデータは、単語を区切って分かち書きなどがされていない通常のテキストデータである。形態素解析器学習部408は、品詞モデル414を用いて、学習用テキストデータの各文から単語及び品詞をサンプリングし、得られた単語及び品詞によって品詞モデル414を反復学習する。
予め与えられた反復回数の学習処理が終了すると、CPU401は、品詞モデル414を、補助記憶装置403に出力する(ステップS604)。
<単語分割と品詞付与動作の詳細>
図7は、第1の実施例に係る形態素解析装置400が形態素解析によって単語を分割し、品詞を付与をする処理の流れを示すシーケンス図である。
CPU401は、本図に示すシーケンスが実行される前に、単語分割と品詞付与を行うテキスト文を、補助記憶装置403から読み出し、主記憶装置402に格納している。
まず、CPU401は、補助記憶装置403から品詞モデル414を読み出し、主記憶装置402に格納する(ステップS701)、その後、ユーザは、ユーザインターフェース407を通じ、テキスト文を形態素解析装置400に入力する(ステップS702)。その後、形態素解析部409は、テキスト文の各文を単語分割し、得られた各単語に品詞付与する(ステップS703)。最後に、CPU401は、得られた結果を出力する(ステップS704)。
以上に説明したように、第1の実施例では、文章を分割して得られた単語について品詞を推定し、各単語における品詞間のつなぎを確率モデルに含めることによって、単語及び品詞の情報を持つ辞書を用いることなく、単語に分かれて記述されていない言語のテキストデータの単語を高精度に分割することができ、品詞間のつなぎが不適切となる単語分割を避けることができる。また、分割された単語の品詞を高精度に決定することができる。すなわち、言語や未知語に依存することなく、単語分割と分割された単語の品詞を得ることができる。
[第2の実施例]
品詞モデルにおいて、品詞からの単語の出力確率を計算する際に、品詞からの単語の出力確率は、単語の出力確率と文字N−gramモデルから得られる単語の出力確率から階層的にスムージングされる。このため、品詞からの単語の出力確率は、文字N−gramモデルから得られる単語の出力確率の影響を受ける。
同じ品詞に属する単語の文字数は似ている傾向があるので、文字N−gramモデルからの単語自身の出力確率に対し、品詞ごとの単語の文字数の情報を入力して、品詞ごとの単語発生確率を単語長により変えることによって、より高精度な形態素解析が可能となる。
そこで、第2の実施例では、第1の実施例における単語出力モデル417を変更する。具体的には、まず、kを長さとする時、文字N−gramモデル418に登録された単語の長さの分布より、単語長の確率P(k)を計算することができる。また、文字N−gramモデル418に登録された品詞mに属する単語の長さの分布より、品詞m固有の単語長の確率P(k|m)を計算することができる。これにより、文字N−gramモデル418から得られた単語0−gram確率にP(k|m)/P(k)を乗じて、品詞m固有の単語0−gram確率を得ることができる。
品詞mからの単語wの出力確率P(w|m)は、非特許文献4に記載されているGraphical Pitman−Yor過程を用いて、単語wの1グラム確率と品詞m固有の単語0−gram確率の混合分布をスムージングしたものとなっている。また、単語wの1グラム確率は文字N−gramモデル418から直接得られる単語0−gram確率をスムージングしたものになっている。
第1の実施例と具体的な違いは、単語・品詞サンプリング部412の処理のステップS415及び形態素解析部409の処理のステップS515における出力確率P(w|m)の計算が異なる。また、単語・品詞削除部410及び単語・品詞追加部411による単語出力確率モデル417への単語の追加及び削除が、Pitman−Yor過程に従う処理から、Graphical Pitman−Yor過程に従う処理へ変更される。
以上に説明したように、第2の実施形態では、品詞によって単語長が異なる性質を用いることによって、高精度な形態素解析をすることができる。
[第3の実施例]
品詞モデルにおいて、単語数が増えるにつれて、品詞からの各単語の発生確率は減少する傾向がある。品詞からの各単語の発生確率が減少すると、単語が多いほど文全体における確率が低下するため、単語数が増えるほど、単語分割が減少する。このため、単語及び品詞のサンプリング過程の初期の段階において、データ数が多い場合、ランダムに発生する単語が増えるため、単語数が増加し、単語分割が起こりにくい問題ある。これより、単語分割が過度に少ない状態となり、形態素解析の精度が低くなる問題がある。
そこで、第3の実施例では、品詞からの単語発生確率に1より大きな値を乗じることによって、単語発生確率を大きくし、単語分割の減少を緩和し、分割数が過度に減少する問題を避けることができる。単語発生確率に乗じる値は、最終的な品詞モデルにおける確率モデル全体の確率を最大化する値を選択すればよい。
[第4の実施例]
形態素解析器学習部411は、品詞モデルから単語及び品詞の削除、単語及び品詞サンプリング、及び、単語及び品詞の品詞モデルへの追加によって、学習用テキストの各文に対して順に、品詞モデルからの単語及び品詞の削除、文からの単語及び品詞のサンプリング、及び、サンプリングした単語及び品詞の品詞モデルへの追加が行われる。
第4の実施例では、これらの処理を各文について順に行うのではなく、複数のCPUを用いて、各文を独立に処理することによって、高効率な並列化を行い、処理を高速化することができる。
[第5の実施例]
形態素解析器学習部408において、入力された学習用テキストから品詞モデルが既に構築されている場合、文書表現等が大きく異なる解析用テキストの形態素解析の精度が低下する問題がある。解析用テキストのみによって作成された品詞モデルを用いて形態素解析を行うことも可能であるが、解析用テキストが小さい場合、精度が低くなる問題がある。
このため、学習用テキストによって既に得られている品詞モデルを用いて、解析用テキストから新たに品詞モデルを取得する。具体的には、単語・品詞サンプリング部412が、単一の品詞モデルを用いて行っていた計算を、既に得られている品詞モデルと新たに取得した品詞モデルとの混合分布を用いて計算する。そして、得られた単語列及び品詞列について、新規に用意した品詞モデルが寄与した確率に従って、新規に取得した品詞モデルへの登録及び削除を行う。
学習後に形態素解析を行う場合、形態素解析部409は、一つの品詞モデルではなく、既に得られている品詞モデルと新たに得た品詞モデルとの混合分布を用いて計算し、単語列及び品詞列を取得する。前述の方法によって、既に得られている品詞モデルが、新しく入力された解析用テキストに適合しない部分について、新たに取得した品詞モデルが補完することによって、高精度な形態素解析を行うことができる。
以上に説明した第2から第5の実施例は、単独で又は他の実施例と組み合わせて、第1の実施例に適用することができる。
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。

Claims (15)

  1. 入力されたテキストデータに含まれる単語の品詞を決定する形態素解析装置であって、
    プログラムを実行する少なくとも一つのプロセッサと、前記プログラムが格納されるメモリと、前記テキストデータが入力される入力装置とを備え、
    前記入力装置は、学習用テキスト及び解析用テキストの入力を受け付け、
    前記形態素解析装置は、
    前記学習用テキストを分析する形態素解析器学習部と、
    前記解析用テキストを分析し、前記解析用テキストを単語に分割し、前記分割された単語へ品詞を付与する形態素解析部と、を備え、
    前記形態素解析器学習部は、前記学習用テキストに含まれる単語の品詞から次の単語の発生確率と、当該学習用テキストに含まれる単語の品詞から次の単語の品詞の発生確率とを取得し、当該取得した発生確率を含む品詞モデルを構築し、
    前記形態素解析部は、前記構築された品詞モデルを参照して、前記解析用テキストを単語に分割し、前記分割された単語の品詞を決定することを特徴とする形態素解析装置。
  2. 請求項1に記載の形態素解析装置であって、
    前記品詞モデルに含まれる前記品詞から次の単語の発生確率は、前記品詞に含まれる単語の長さによって異なることを特徴とする形態素解析装置。
  3. 請求項1又は2に記載の形態素解析装置であって、
    前記形態素解析器学習部は、前記品詞モデルに含まれる品詞から次の単語の発生確率に1より大きい数を乗じることによって、前記発生確率を増加することを特徴とする形態素解析装置。
  4. 請求項1又は2に記載の形態素解析装置であって、
    前記形態素解析装置は、複数のプロセッサを含み、
    前記形態素解析器学習部は、前記学習用テキストに含まれる複数の文の各々について、前記複数のプロセッサを用いて、前記各文に含まれる単語の品詞から次の単語の発生確率と、当該各文に含まれる単語の品詞から次の単語の品詞の発生確率とを取得し、当該取得した発生確率を含む品詞モデルを構築することを特徴とする形態素解析装置。
  5. 請求項1又は2に記載の形態素解析装置であって、
    前記形態素解析器学習部は、前記学習用テキストの解析によって第1の品詞モデルを構築し、前記第1の品詞モデルを用いた別の学習用テキストの解析によって、第2の品詞モデルを構築し、
    前記形態素解析部は、前記第1の品詞モデル及び前記第2の品詞モデルを用いて、前記解析用テキストを単語に分割し、前記分割された単語の品詞を決定することを特徴とする形態素解析装置。
  6. 形態素解析装置が、入力されたテキストデータに含まれる単語の品詞を決定するためのテキスト分析方法であって、
    前記形態素解析装置は、プログラムを実行する少なくとも一つのプロセッサと、前記プログラムが格納されるメモリと、前記テキストデータが入力される入力装置とを有し、
    前記入力装置は、学習用テキスト及び解析用テキストの入力を受け付け、
    前記形態素解析装置は、前記学習用テキストを分析する形態素解析器学習部と、前記解析用テキストを分析し、前記解析用テキストを単語に分割し、前記分割された単語へ品詞を付与する形態素解析部と、を有し、
    前記方法は、
    前記形態素解析器学習部が、前記学習用テキストに含まれる単語の品詞から次の単語の発生確率と、当該学習用テキストに含まれる単語の品詞から次の単語の品詞の発生確率とを取得し、当該取得した発生確率を含む品詞モデルを構築する学習ステップと、
    前記形態素解析部が、前記構築された品詞モデルを参照して、前記解析用テキストを単語に分割し、前記分割された単語の品詞を決定する解析ステップとを含むことを特徴とするテキスト分析方法。
  7. 請求項6に記載のテキスト分析方法であって、
    前記品詞モデルに含まれる前記品詞から次の単語の発生確率は、前記品詞に含まれる単語の長さによって異なることを特徴とするテキスト分析方法。
  8. 請求項6又は7に記載のテキスト分析方法であって、
    前記形態素解析器学習部が、前記品詞モデルに含まれる品詞から次の単語の発生確率に1より大きい数を乗じることによって、前記発生確率を増加するステップを含むことを特徴とするテキスト分析方法。
  9. 請求項6又は7に記載のテキスト分析方法であって、
    前記形態素解析装置は、複数のプロセッサを含み、
    前記学習ステップでは、前記形態素解析器学習部が、前記学習用テキストに含まれる複数の文の各々について、前記複数のプロセッサを用いて、前記各文に含まれる単語の品詞から次の単語の発生確率と、当該各文に含まれる単語の品詞から次の単語の品詞の発生確率とを取得し、当該取得した発生確率を含む品詞モデルを構築するステップを含むことを特徴とするテキスト分析方法。
  10. 請求項6又は7に記載のテキスト分析方法であって、
    前記学習ステップでは、前記形態素解析器学習部が、前記学習用テキストの解析によって第1の品詞モデルを構築し、前記第1の品詞モデルを用いた別の学習用テキストの解析によって、第2の品詞モデルを構築し、
    前記解析ステップでは、前記形態素解析部が、前記第1の品詞モデル及び前記第2の品詞モデルを用いて、前記解析用テキストを単語に分割し、前記分割された単語の品詞を決定することを特徴とするテキスト分析方法。
  11. 形態素解析装置に以下の手順を実行させるためのプログラムであって、
    前記形態素解析装置は、前記プログラムを実行する少なくとも一つのプロセッサと、前記プログラムが格納されるメモリと、前記テキストデータが入力される入力装置とを有し、
    前記入力装置は、学習用テキスト及び解析用テキストの入力を受け付け、
    前記形態素解析装置は、前記学習用テキストを分析する形態素解析器学習部と、前記解析用テキストを分析し、前記解析用テキストを単語に分割し、前記分割された単語へ品詞を付与する形態素解析部と、を有し、
    前記プログラムは、
    前記形態素解析器学習部が、前記学習用テキストに含まれる単語の品詞から次の単語の発生確率と、当該学習用テキストに含まれる単語の品詞から次の単語の品詞の発生確率とを取得し、当該取得した発生確率を含む品詞モデルを構築する学習手順と、
    前記形態素解析部が、前記構築された品詞モデルを参照して、前記解析用テキストを単語に分割し、前記分割された単語の品詞を決定する解析手順とを実行させることを特徴とするプログラム。
  12. 請求項11に記載のプログラムであって、
    前記品詞モデルに含まれる前記品詞から次の単語の発生確率は、前記品詞に含まれる単語の長さによって異なることを特徴とするプログラム。
  13. 請求項11又は12に記載のプログラムであって、
    前記学習手順は、前記形態素解析器学習部が、前記単語の候補の増加に伴う分割数の低下を抑制するために、前記品詞モデルに含まれる品詞から次の単語の発生確率に1より大きい数を乗じることによって、前記発生確率を増加する手順を実行させることを特徴とするプログラム。
  14. 請求項11又は12に記載のプログラムであって、
    前記形態素解析装置は、複数のプロセッサを含み、
    前記学習手順は、前記形態素解析器学習部が、前記学習用テキストに含まれる複数の文の各々について、前記複数のプロセッサを用いて、前記各文に含まれる単語の品詞から次の単語の発生確率と、当該各文に含まれる単語の品詞から次の単語の品詞の発生確率とを取得し、当該取得した発生確率を含む品詞モデルを構築する手順を含むことを特徴とするプログラム。
  15. 請求項11又は12に記載のプログラムであって、
    前記学習手順は、前記形態素解析器学習部が、前記学習用テキストの解析によって第1の品詞モデルを構築し、前記第1の品詞モデルを用いた別の学習用テキストの解析によって、第2の品詞モデルを構築する手順を含み、
    前記解析手順は、前記形態素解析部が、前記第1の品詞モデル及び前記第2の品詞モデルを用いて、前記解析用テキストを単語に分割し、前記分割された単語の品詞を決定する手順を含むことを特徴とするプログラム。
JP2014531472A 2012-08-24 2012-08-24 形態素解析装置、テキスト分析方法、及びそのプログラム Pending JPWO2014030258A1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/071485 WO2014030258A1 (ja) 2012-08-24 2012-08-24 形態素解析装置、テキスト分析方法、及びそのプログラム

Publications (1)

Publication Number Publication Date
JPWO2014030258A1 true JPWO2014030258A1 (ja) 2016-07-28

Family

ID=50149591

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014531472A Pending JPWO2014030258A1 (ja) 2012-08-24 2012-08-24 形態素解析装置、テキスト分析方法、及びそのプログラム

Country Status (2)

Country Link
JP (1) JPWO2014030258A1 (ja)
WO (1) WO2014030258A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102181744B1 (ko) * 2018-08-29 2020-11-25 동국대학교 산학협력단 향상된 잠재 디리클레 할당 모델을 이용한 토픽 분석 장치 및 방법
CN110767234B (zh) * 2019-10-31 2022-12-23 抖音视界有限公司 音频信息处理方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07271792A (ja) * 1994-03-30 1995-10-20 Nippon Telegr & Teleph Corp <Ntt> 日本語形態素解析装置及び日本語形態素解析方法
JPH09288673A (ja) * 1996-04-23 1997-11-04 Nippon Telegr & Teleph Corp <Ntt> 日本語形態素解析方法と装置及び辞書未登録語収集方法と装置
JP2004355483A (ja) * 2003-05-30 2004-12-16 Oki Electric Ind Co Ltd 形態素解析装置、形態素解析方法及び形態素解析プログラム
JP2007087070A (ja) * 2005-09-21 2007-04-05 Oki Electric Ind Co Ltd 形態素解析装置、形態素解析方法及び形態素解析プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07271792A (ja) * 1994-03-30 1995-10-20 Nippon Telegr & Teleph Corp <Ntt> 日本語形態素解析装置及び日本語形態素解析方法
JPH09288673A (ja) * 1996-04-23 1997-11-04 Nippon Telegr & Teleph Corp <Ntt> 日本語形態素解析方法と装置及び辞書未登録語収集方法と装置
JP2004355483A (ja) * 2003-05-30 2004-12-16 Oki Electric Ind Co Ltd 形態素解析装置、形態素解析方法及び形態素解析プログラム
JP2007087070A (ja) * 2005-09-21 2007-04-05 Oki Electric Ind Co Ltd 形態素解析装置、形態素解析方法及び形態素解析プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6015052532; 中川 哲治 外1名: '単語レベルと文字レベルの情報を用いた中国語・日本語単語分割' 情報処理学会論文誌 第46巻第11号, 20051115, p.2714-2727, 社団法人情報処理学会 *

Also Published As

Publication number Publication date
WO2014030258A1 (ja) 2014-02-27

Similar Documents

Publication Publication Date Title
US9824085B2 (en) Personal language model for input method editor
Roark et al. Processing South Asian languages written in the Latin script: the Dakshina dataset
JP5513898B2 (ja) 共有された言語モデル
JP5071373B2 (ja) 言語処理装置、言語処理方法および言語処理用プログラム
JP6705318B2 (ja) 対訳辞書作成装置、対訳辞書作成方法、及び対訳辞書作成プログラム
JP2010520531A (ja) 統合ピンイン及び画入力
JP5809381B1 (ja) 自然言語処理システム、自然言語処理方法、および自然言語処理プログラム
JP6312467B2 (ja) 情報処理装置、情報処理方法、およびプログラム
WO2020170912A1 (ja) 生成装置、学習装置、生成方法及びプログラム
Islam et al. Bangla sentence correction using deep neural network based sequence to sequence learning
JP6799562B2 (ja) 言語特徴の抽出装置、固有表現の抽出装置、抽出方法、及びプログラム
JP2010520532A (ja) 画数の入力
JP2002117027A (ja) 感情情報抽出方法および感情情報抽出プログラムの記録媒体
JP7103264B2 (ja) 生成装置、学習装置、生成方法及びプログラム
Wong et al. isentenizer-: Multilingual sentence boundary detection model
JP2020106880A (ja) 情報処理装置、モデル作成方法及びプログラム
Sharma et al. Word prediction system for text entry in Hindi
CN113330430B (zh) 语句结构向量化装置、语句结构向量化方法及记录有语句结构向量化程序的记录介质
WO2014030258A1 (ja) 形態素解析装置、テキスト分析方法、及びそのプログラム
Othmane et al. POS-tagging Arabic texts: A novel approach based on ant colony
Mekki et al. Tokenization of Tunisian Arabic: a comparison between three Machine Learning models
JP2010170252A (ja) 言語モデル作成方法、言語モデル作成装置および言語モデル作成プログラム
JP2016133956A (ja) 形態素解析モデル生成装置、形態素解析モデル生成方法、及び、プログラム
Thu et al. Integrating dictionaries into an unsupervised model for Myanmar word segmentation
JP6062816B2 (ja) 形態素解析器生成装置、形態素解析器生成方法、及び、プログラム

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160510