JP3777456B2 - 日本語形態素解析方法と装置及び辞書未登録語収集方法と装置 - Google Patents
日本語形態素解析方法と装置及び辞書未登録語収集方法と装置 Download PDFInfo
- Publication number
- JP3777456B2 JP3777456B2 JP10149696A JP10149696A JP3777456B2 JP 3777456 B2 JP3777456 B2 JP 3777456B2 JP 10149696 A JP10149696 A JP 10149696A JP 10149696 A JP10149696 A JP 10149696A JP 3777456 B2 JP3777456 B2 JP 3777456B2
- Authority
- JP
- Japan
- Prior art keywords
- word
- probability
- sentence
- dictionary
- search
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Machine Translation (AREA)
- Document Processing Apparatus (AREA)
Description
【産業上の利用分野】
本発明は、日本語文を単語に分割する日本語形態素解析方法と装置及び辞書未登録語収集方法と装置に係り、特に、分かち書きされた日本語テキストデータベースから統計的手法により求めた単語分割モデルと単語モデルを用いることにより、入力文が辞書未登録語を含む場合でも精度のよい形態素解析が可能な日本語形態素解析方法と装置及び、形態素解析結果に基づいて辞書未登録語を収集するための辞書未登録語収集方法と装置に関する。
【0002】
【従来の技術】
従来の第1の日本語形態素解析システムは、文法規則と発見的探索に基づく方法が主流であった。これらは、文法規則として品詞接続表を用い、形態素解析候補の探索の際には、最長一致法や最小文節数法などの発見的規則(heuristics)を用いて候補の順位付けを行なう。しかし、発見的探索に基づく方式は、形態素解析候補に与えられる優先順位の根拠が不明確であり、解析精度もあまり高くない。
【0003】
近年では、従来の第1の日本語形態素解析システムに代わって、第2の方法として、統計的言語モデルと動的計画法に基づく方法が主流になりつつある。この方法では、大量のテキストデータから学習した統計的な言語モデルを用いることにより、形態素解析候補の優先度の根拠が明確になり、かつ、候補の詳細な順位付けができるようになってきている。
【0004】
また、動的計画法により、入力文の長さに比例する計算量で効率的に最尤な形態素解析候補を求められるようになってきている。特に、前向きDP後向きA* アルゴリズムを用いれば、確率が高い順番に任意の個数の形態素解析候補を求めることができる(永田「前向きDP後向きA* アルゴリズムを用いた確率的日本語形態素解析」情報処理学会研究報告94-NL-101-10,pp.73-80,1994)。
【0005】
しかし、上記の文法規則と発見的探索に基づく方法、および、統計的言語モデルと動的計画法に基づく方法のいずれも、入力文が辞書未登録語、すなわち、未知語を多く含む場合には、解析精度が大きく低下するという問題点がある。
文法規則と発見的探索に基づく方法における未知語処理は、非常に「場あたり的(ad hoc)」である。多くのシステムは、「同じ字種の文字の連続が単語を構成することが多い」、あるいは、「カタカナの連続は外来語の名詞であることが多い」というような文字種に関する発見的規則を用いて、単語の分割および、品詞の付与を行なう方法(吉村・武内・津田・首藤「未登録語を含む日本語文の形態素解析」情処論Vol.30 No.3,pp.294-301,1989)がとられている。あるいは、付属語列などから文節を推定し、そこから付属語を取り除いた部分列を未知語とみなす方法が使われていることも多い。
【0006】
前者は、未知語処理において、文字列の単語らしさを評価する方法、後者は、ある文脈における文字列の単語らしさを評価する方法とみなすことができるが、どちらの場合も、尤度の根拠が不明確であり、単語仮説の詳細な順位付けも難しい。
【0007】
統計的言語モデルを用いた未知語処理としては、まず、造語単位の二つ組を用いて単語の生起確率を推定する方法が提案されている(永井・日高「日本語における単語の造語モデルとその評価」情処論Vol.34 No.9,pp.1944-1955,1993)。この方法では、単語辞書の見出し語から造語モデルのパラメータを推定する。この方法は、未知語の単語らしさを評価する有力な手段を与えるが、次のような問題点がある。
(1)漢字で表記される複合語に対する造語モデルであり、漢字文字列以外では、造語単位の設定基準が必ずしも明確ではなく、自動的な処理が難しい。
(2)辞書の見出し語からモデルパラメータを推定するので、モデルパラメータが対象領域のテキストの性質を反映しない。
(3)文字列の単語らしさを評価するだけて、その文字列が現れた文脈(前後の文字列)の情報を使って、単語としての尤もらしさを評価しているわけではない。
【0008】
この三つの問題を解決する方法として、品詞出現確率・品詞別単語長確率・品詞別文字三つ組確率から構成される単語モデルを用いて文字列の単語らしさに基づいて単語仮説を生成し、前向きDP後向きA* アルゴリズムを用いて前後の文脈を考慮した上で最尤な単語仮説を決定する方法が提案されている(永田「文字認識誤り訂正のための頑健な日本語形態素解析法」,情報処理学会 自然言語処理の応用に関するシンポジウム,p.17-24,1995) 。
【0009】
【発明が解決しようとする課題】
しかしなら、上記の三つ組確率よりなる単語モデルにより単語仮説を生成し、前向きDP後向きA* アルゴリズムを用いて最尤な単語仮説を決定する方法には次のような問題点がある。
(1)一つの文に対する単語分割に曖昧性がある場合、互いに重なり合う単語仮説の尤もらしさを比較できない。また、異なる文に含まれている単語仮説の尤もらしさを比較できない。
(2)未知語の品詞推定を単語分割と同時に行なう方法は、一つの文字列に対して複数の品詞候補を割り当てるので、形態素解析の計算量が大幅に増加する。このために処理速度が遅く、より精緻な単語モデルを導入したり探索範囲を広げることにより解析精度を上げることが難しい。
【0010】
本発明は、上記の点に鑑みなされたもので、
(1)辞書に登録されていない入力文中の単語を正しく同定できない、特に、未知語の品詞推定と単語分割と同時に行なうために、計算量の制約から解析精度を向上することが難しい、
(2)同定された単語仮説の尤もらしさを文内および文間で比較できない、
という従来手法の問題点を解決し、辞書に登録されていない単語が入力文に含まれている場合でも、確率が高い順番に入力文を構成する単語列が提示可能な日本語形態素解析方法及び装置を提供することを目的する。
【0011】
また、本発明の更なる目的は、訓練テキスト集合における単語仮説の頻度の期待値が大きい順番に任意の個数の単語仮説を辞書未登録語として提示できる辞書未登録語収集方法及び装置を提供することである。
【0012】
【課題を解決するための手段】
図1は、本発明の原理を説明するためのフローチャートである。
本発明は、日本語テキストを入力として与えられた際に、入力文を構成する単語列を出力する日本語形態素解析方法であって、
前向きDP探索手段が、入力文のある文字位置から始まる全ての部分文字列を単語辞書の単語表記と照合して単語候補として提案し、文頭からある単語に至るまでの単語列の同時確率を最大化する最適部分経路の確率を最後の単語が異なる場合毎に計算し、計算結果を最適経路スコアテーブルに記録する前向きDP探索ステップ(ステップ1)と、
単語仮説生成手段が、前向きDP探索ステップにおいて、入力文のある文字位置から始まる部分文字列が単語辞書の内容を照合しなかった場合、その部分文字列が単語を構成すると仮定した場合の単語出現確率を、単語長確率と単語内文字2つ組の確率から単語を構成する文字列の同時確率を与える単語モデルから求める単語仮説生成ステップ(ステップ2)と、
後向きA * 探索手段が、前向きDP探索ステップで計算された最適経路スコアテーブルの値を入力とし、文末から文頭へ一単語ずつ進むA*アルゴリズムを用いて、単語二つ組確率の積が最も大きいものから順番に一つずつ形態素解析候補を求める後向きA * 探索ステップ(ステップ3)と、を行う。
【0013】
本発明は、入力文に含まれる単語の中で辞書に登録されていないものを出力する辞書未登録語収集方法であって、
前向きDP探索手段が、入力文のある文字位置から始まる全ての部分文字列を単語辞書の単語表記と照合して単語候補として提案し、文頭からある単語に至るまでの単語列の同時確率を最大化する最適部分経路の確率を最後の単語が異なる場合毎に計算し、計算結果を最適経路スコアテーブルに記録する前向きDP探索ステップと、
単語仮説生成手段が、前向きDP探索ステップにおいて、入力文のある文字位置から始まる部分文字列が単語辞書の内容を照合しなかった場合、その部分文字列が単語を構成すると仮定した場合の単語出現確率を、単語長確率と単語内文字2つ組の確率から単語を構成する文字列の同時確率を与える単語モデルから求める単語仮説生成ステップと、
後向きA * 探索手段が、前向きDP探索ステップで計算された最適経路スコアテーブルの値を入力とし、文末から文頭へ一単語ずつ進むA*アルゴリズムを用いて、単語二つ組確率の積が最も大きいものから順番に一つずつ形態素解析候補を求める後向きA * 探索ステップと、
単語頻度推定手段が、後向きA*探索ステップにより求められた一つの文に対する複数の形態素解析候補とその確率から単語の頻度の期待値を求める単語頻度推定ステップと、
日本語テキストにおける単語の頻度の期待値が大きい順番に任意の個数の単語仮説を辞書未登録語として提示する出力ステップと、を行う。
【0014】
図2は、本発明の原理構成図である。
本発明は、日本語テキストを入力として与えられた際に、入力文を構成する単語列を出力する出力手段を有する日本語形態素解析装置100であって、
単語2つ組確率から文を構成する単語列の同時確率を与える単語分割モデルと、
単語長確率と単語内文字2つ組の確率から単語を構成する文字列の同時確率を与える単語モデルと、
入力文のある文字位置から始まる全ての部分文字列を単語辞書の単語表記と照合して単語候補として提案し、文頭からある単語に至るまでの単語列の同時確率を最大化する最適部分経路の確率を最後の単語が異なる場合毎に計算し、計算結果を最適経路スコアテーブル114に記録する前向きDP探索手段111と、
前向きDP探索手段111において、入力文のある文字位置から始まる部分文字列が単語辞書の内容を照合しなかった場合、その部分文字列が単語を構成すると仮定した場合の単語出現確率を単語モデルから求める単語仮説生成手段112と、
前向きDP探索手段111で計算された最適経路スコアテーブル114の値を入力とし、文末から文頭へ一単語ずつ進むA * アルゴリズムを用いて、単語二つ組確率の積が最も大きいものから順番に一つずつ形態素解析候補を求める後向きA * 探索手段113と、を有する。
【0017】
本発明は、入力文に含まれる単語の中で辞書に登録されていないものを出力する辞書未登録語収集装置200であって、
単語2つ組確率から文を構成する単語列の同時確率を与える単語分割モデルと、
単語長確率と単語内文字2つ組の確率から単語を構成する文字列の同時確率を与える単語モデルと、
入力文のある文字位置から始まる全ての部分文字列を単語辞書の単語表記と照合して単語候補として提案し、文頭からある単語に至るまでの単語列の同時確率を最大化する最適部分経路の確率を最後の単語が異なる場合毎に計算し、計算結果を最適経路スコアテーブル114に記録する前向きDP探索手段111と、
前向きDP探索手段111において、入力文のある文字位置から始まる部分文字列が単語辞書の内容を照合しなかった場合、その部分文字列が単語を構成すると仮定した場合の単語出現確率を単語モデルから求める単語仮説生成手段112と、
前向きDP探索手段111で計算された最適経路スコアテーブル114の値を入力とし、文末から文頭へ一単語ずつ進むA * アルゴリズムを用いて、単語二つ組確率の積が最も大きいものから順番に一つずつ形態素解析候補を求める後向きA * 探索手段113と、
後向きA * 探索手段113により求められた一つの文に対する複数の形態素解析候補とその確率から単語の頻度の期待値を求める単語頻度推定手段210と、
日本語テキストにおける単語の頻度の期待値が大きい順番に任意の個数の単語仮説を辞書未登録語として提示する出力手段と、を有する。
【0019】
本発明にかかる日本語形態素解析装置は、単語二つ組確率から構成される単語分割モデル、単語長確率と単語内文字二つ組確率から構成される単語モデル、確率が高い順番に任意の個数の形態素解析候補を求める形態素解析手段、1つの文に対する複数の形態素解析候補とその確率から単語の頻度の期待値を求める単語頻度推定手段を用いて、入力文が辞書に登録されていない単語を含む場合でも、確率が高い順番に形態素解析候補を提示することが可能となる。
【0020】
さらに、提示された形態素解析候補を用いて、かつ、処理対象となる日本語テキストにおける辞書未登録語を頻度の期待値が大きい順に提示可能な辞書未登録語収集装置が提供可能となる。
従って、このような構成により、(1)辞書に登録されていない入力文中の単語を正しく同定し、(2)同定された単語を最も尤もらしい順に提示する、日本語形態素解析装置および辞書未登録語収集装置が実現できる。
【0021】
【発明の実施の形態】
図3は、本発明のシステム構成図である。同図に示す日本語形態素解析装置100と当該日本語形態素解析装置100(以下、形態素解析装置と記す)を含む辞書未登録語収集装置200から構成される。
【0022】
形態素解析装置100は、形態素解析部110、単語二つ組確率テーブルを有する単語分割モデル130、単語長確率テーブル141と単語内文字二つ組確率テーブル142を有する単語モデル140、形態素解析部110の解析結果を格納する形態素解析候補テーブル150及び単語テーブル160より構成される。また、辞書未登録語収集装置200は、上記の形態素解析装置100に、単語頻度推定部210を加えた構成である。
【0023】
上記の構成の形態素装置の詳細を図4に示す。図4は、この発明の一実施例の概略ブロック図である。
本発明の日本語形態素解析装置は、前向きDP探索部111、最適経路スコアテーブル114、後向きA* 探索部113、形態素解析候補テーブル115、単語仮説生成部112、単語長確率テーブル141、単語内文字二つ組確率テーブル142、単語二つ組確率テーブル130、単語テーブル160より構成される。
【0024】
前向きDP探索部111は、入力文の文頭から文末へ一文字ずつ進む動的計画法(Dynamic Programming)を用いて、単語列の同時確率、すなわち、単語二つ組確率の積を最大化するような、入力文の単語分割を求める。
単語二つ組確率テーブル130は、単語二つ組確率を格納し、単語テーブル160は単語辞書を格納する。
【0025】
前向きDP探索部111は、入力文のある文字位置から始まる全ての部分文字列を、単語テーブル160の単語表記と照合し、単語候補として提案する。そして、文頭からある単語に至るまでの単語列の同時確率を最大化する最適部分経路(単語列)の確率を、最後の単語が異なる場合毎に計算し、最適経路スコアテーブル114に記録する。
【0026】
単語仮説生成部112は、前向きDP探索部111において、入力文のある文字位置から始まる部分文字列が単語テーブル160と照合しなかった場合、その部分文字列が単語を構成すると仮定した場合の単語出現確率を求める。単語出現確率は、単語長確率テーブル7、単語内文字二つ組確率テーブル142の値を用いて計算される。単語仮説生成部112が生成した単語の表記と出現確率の組を単語仮説と呼ぶ。
【0027】
後向きA*探索部113は、前向きDP探索部111で計算された最適経路スコアテーブル114を入力とし、文末から文頭へ一旦後ずつ進むA*アルゴリズムを用いて、単語二つ組確率の積の最も大きいものから順番に一つずつ形態素解析候補を求める。
【0028】
辞書未登録語収集装置200の単語頻度推定部210は、後向きA* 探索部113が形態素解析候補テーブル115に格納した上位N個(Nは任意の整数)の形態素解析候補を入力とし、単語仮説の頻度の期待値とする。そして、頻度の期待値が大きい順番に任意の個数の単語仮説を、辞書未登録語として出力する。
【0029】
以下では、単語分解モデル140、単語モデル13、前向きDP探索部111による前向きDP探索、後向きA* 探索部113による後向きA* 探索、辞書未登録語収集装置200の単語頻度推定部210による単語頻度推定の順に説明する。
【0030】
(1) 単語分割モデル
文字列C=c1 c2 ・・・cm から構成される入力文が、単語列W=1 w2 ・・・wn に分割されるとする。形態素解析は、文字列が与えられた時の単語列の同時確率P(W|C)を最大化する単語列W’を求める問題である。文字列Cはすべての形態素解析候補に共通なので、実際にはP(W)を最大化するものを求めればよい。
【0031】
【数1】
【0032】
本発明では同時確率P(W)をマルコフモデルで近似する。すなわち、単語二つ組確率P(wi |wi-1 )を用いて次式で表す。
【0033】
【数2】
【0034】
図5に、単語二つ組頻度の例として、「言語」という単語とこれに後続する単語の二つの組の出現頻度を示す。単語二つ組確率P(wi |wi-1 )は、単語二つ組頻度を先行する単語の出現頻度で割ることにより得られる。例えば、訓練テキスト集合における「言語」の出現頻度が561で、「言語」および「が」の二つ組の出現頻度が22ならば、P(が|言語)=22/561=0.039である。
【0035】
(2) 単語モデル
単語モデルは、辞書未登録語を構成する文字列の同時確率分布として定義される。未知語(辞書未登録語)を〈UNK〉で表すことにすると、単語モデルは、一般性を失うことなく、以下のような単語長確率P(k)と単語表記確率P(c1 ・・・ck |k)の積に分解できる。
【0036】
P(wi |〈UNK〉)
=P(c1 ・・・ck |〈UNK〉)
=P(k)P(c1 ・・・ck |k) (3)
ここでc1 ・・・ck は、単語を構成する長さkの文字列である。
【0037】
本発明では、未知語の単語長の分布P(k)が訓練集合中の単語の平均文字長λをパラメータとするポワソン分布に従うと仮定する。
【0038】
【数3】
【0039】
上式は、隠れた(長さゼロ)の単語境界標識の間の距離を単語の長さと考え、この単語境界標識が平均的には平均単語長と等しい間隔で無作為に文中に置かれるものとみなしている。
次に、単語長が与えられた時の未知語の表記の確率P(c1 ・・・ck |k,T)は、以下のように、訓練集合中の単語内文字二つ組確率の積で近似する。
【0040】
【数4】
【0041】
ここで“#”は、単語の先頭および末尾を表す特別な記号である。
図6に、単語内文字二つ組頻度の例として、「永」という文字とこれに後続する文字の二つ組の頻度を示す。単語内文字二つ組確率P(ci |ci-2 )は、単語内文字二つ組頻度を先行する文字の出現頻度で割ることにより得られる。例えば、訓練テキスト集合において、「永」という文字の出現頻度が334で、「永」および「ら」の単語内文字二つ組の出現頻度が8ならば、P(ら/永)=8/334=0.024である。
【0042】
入力文が未知語を含む場合でも、式(3)の単語モデルを用いることにより、式(2)の単語分割モデルのパラメータは次式のようにして求めることができる。
【0043】
【数5】
【0044】
ここでC(・)は、対応する事象の訓練集合における頻度を表す。wi が未知語である場合の単語二つ組頻度C(wi-1 ,wi )は、訓練集合においてwi-1 の後に未知語が現れる頻度C(wi-1 ,〈UNK〉)と表記がwi であるような未知語の出現確率P(wi |〈UNK〉)の積で近似する。なお、未知語を含む単語二つ組頻度C(wi-1 ,〈UNK〉)は、訓練集合の中で一回しか現れなかった単語を未知語とみなすことにより求める。
【0045】
(3) 前向きDP探索
前向きDP探索部111が、最適経路スコアテーブルを計算する手順を示す。入力文を長さnの文字列C=c1 c2 ・・・cn とし、部分文字列cp+1 ・・・cq をcp q で表す。まず、任意の部分文字列cp q を単語候補の集合{wi }に写像する関数Dを考える。関数Dは辞書を一般化したものである。関数Dは、もしcp q と照合する表記をもつ単語が辞書中にあればそれを返す。もし照合しなければ、単語モデルを用いてcp q を表記とする単語仮説を作成する。
【0046】
次に、部分文字列cp q が最後の単語wi であるような、部分文字列c0 q の最尤な単語分割の確率(最適経路確率)φp q (wi )を考える。最適経路確率φp q (wi )は、次式を用いて文頭から順番に計算することができる。
【0047】
【数6】
【0048】
前向きDP探索部111における式(7)の計算は、図7のようなフローチャートで表せる。以下では、この図7に従って、前向きDP探索部111の動作を説明する。
前向きDP探索は、入力文の先頭から始まり、文末方向へ一文字ずつ進む。
【0049】
ステップ101) 探索の開始位置を入力文の先頭に設定する。
ステップ102) 探索が文末に達したかを判断する。もし、文末に達していれば、前向き探索を終了する。そうでなければ、以下の処理を各文字位置で行なう。
【0050】
ステップ103) 現在の文字位置に到達する全ての部分解析を最適経路スコアテーブル114から検索し、その中の一つを現在の部分解析として選ぶ。
ステップ104) 全ての部分解析を調べたかを判定する。もしそうならば、ステップ122において探索を次の文字位置へ進める。そうでなければ、以下の処理を各部分解析について行なう。
【0051】
ステップ105) 現在の文字位置から始まる最左部分文字列と照合する全ての単語候補を単語テーブル160から検索する。また、照合しない時は、単語モデル140を用いて単語仮説を作成する。そして、その中の一つを現在の単語として選ぶ。
【0052】
ステップ106) 全ての単語を調べたかを判定する。もしそうならば、ステップ111に移行し、次の部分解析を選ぶ。そうでなければ、以下の処理を各単語について行なう。
ステップ107) 現在の単語とその直前の単語から構成される単語二つ組確率を単語二つ組テーブル130から検索する
ステップ108) 単語二つ組確率がゼロかどうかを判定する。もし単語二つ組確率が0ならば、ステップ110において次の単語を選ぶ。もしそうでなければ、以下の処理を行なう。
【0053】
ステップ109) まず、現在の部分解析の末尾に現在の単語を付け加えた新しい部分解析を作成する。新しい部分解析の(文頭から現在の単語の末尾までの)最適経路スコアは、現在の部分解析の最適経路スコアと単語二つ組確率の積である。次に、最適経路スコアテーブル114から、この新しい部分解析の最後の単語と同じ単語を最後に持つ部分解析を検索する。もしこのような部分解析が存在しないか、あるいは、既に存在する部分解析よりも新しい部分解析のスコアが良ければ、新しい部分解析を最適経路スコアテーブル114に登録する。
【0054】
ステップ110) 次の単語を選び、ステップ106へ戻る。
ステップ111) 次の部分解析を選び、ステップ104へ戻る。
ステップ112) 探索を次の文字位置へ進め、ステップ102へ戻る。
(4) 後向きA* 探索
後向きA* 探索部113が、確率が高い順番に一つずつ形態素解析候補を求める手順を示す。本発明の後向きA* 探索では、前向きDP探索により求めた、文頭からある単語までの部分解析を、A* アルゴリズムにおけるグラフのノードと考える。そして、コストとしては、確率の対数の絶対値を用いる。これにより、確率最大の解はコスト最小の解に対応し、確率の積はコストの和に対応する。
【0055】
一般に、A* 探索では、ヒューリスティック関数f(n)を考える。ヒューリスティック関数f(n)は、現在のノードnを生成した経路に沿って、初期状態から最終状態へ至るまでのコストの推定値を与える。初期状態から現在のノードへ至るまでのコストを与える関数をg(n)、現在のノードから最終状態へ至るまでのコストの推定値を与える関数をh(n)とすると、ヒューリスティック関数f(n)は次式により与えられる。
【0056】
f(n)=g(n)+h(n) (8)
本発明の後向き探索では、関数gとして、文末から現在の単語に至るまでの単語二つ組確率の積の対数の絶対値を用いる。また、関数hとしては、前向き探索で求めた、文頭から現在の単語に至るまでの単語二つ組確率の積の最大値の対数の絶対値を用いる。
【0057】
A* 探索では、openとcloseという二つのリストを用いる。リストopenは、既に生成され、ヒューリスティック関数が適用されているが、まだ展開されて(調べられて)いないノードの集合である。このリストは、ヒューリスティック関数の値に基づく優先度付きキューになっている。リストcloseは、既に展開された(調べられた)ノードの集合である。
【0058】
A* 探索では、目標状態に対応するノードを生成するまで、各ステップで一つのノードを展開する。各ステップでは、既に生成されているが、まだ展開されていない、最も有望なノードを展開する。すなわち、選ばれたノードの後続のノードを生成し、ヒューリスティック関数を適用し、既に生成されていないかを検査した後にリストopenに加える。この検査によって、各ノードはグラフの中に一回だけ現れることが保証される。また、二つ以上の経路が同じノードを生成する時は、スコアの良い方だけを記録する。
【0059】
本発明の後向き探索では、あるノードから後続するノードへの遷移のコストとして、単語二つ組確率の対数の絶対値を用いる。
図8、図9は、本発明の後向きA* 探索部の動作を説明するためのフローチャートである。
【0060】
以下では、この図8、図9に従って、後ろ向きA*探索部113の動作を説明する。
ステップ201) 文末に到達した部分解析に対応するノードのリストをopenに代入する。また、closedには空リストを代入する。
【0061】
ステップ202) openが空リストかどうかを調べる。もしそうならば、解が見つからなかったので探索が失敗したことを通知して探索を終了する。そうでなければ、以下の処理を行なう。
ステップ203) openの先頭要素を取り出して変数bestpathに代入する。
【0062】
ステップ204) そして、探索が文頭に達したかを調べる。もし、探索が文頭に達していれば、bestpathが最適解であり、探索が成功したことを通知して探索を終了する。そうでなければ、以下の処理を行なう。また、探索は成功したが、さらにその次に確率が高い解を求めたい場合には、以下の処理を行なう。
【0063】
ステップ205) bestpathをリストclosedへ挿入し、closedの要素を初期状態から最終状態までのコストの推定値f(n)の順にソートする。
ステップ206) bestpathが表す部分解析の左側に連接する全ての部分解析を最適部分経路スコアテーブルから検索し、その中の一つを現在の部分解析とする。
【0064】
ステップ207) 全ての部分解析を調べたかどうかを判定する。もしそうであれば、ステップ202へ進む。そうでなければ以下の処理を行なう。
ステップ208) bestpathから現在の部分解析へ遷移する経路を表す新しいノードを作成し、これを変数newpathに代入する。文末からこのノードまでのコストg(newpath)は、文末からbestpathへ至るまでのコストg(bestpath)と、bestpathからnewpathへの遷移のコストの和となる。また、このノードのヒューリスティック関数f(newpath)は、文末からこのノードまでのコストg(newpath)と、前向き探索で求めた文頭からこのノードまでの最適コストh(newpath)の和となる。
【0065】
ステップ209) 現在の部分解析への遷移を表すノードがopenに含まれているかどうかを検査する。もし含まれていなければ、ステップ213へ進む。含まれていれば、以下の処理を行なう。
ステップ210) 現在の部分解析への遷移を表すopenの中のノードを変数oldpathに代入する。
【0066】
ステップ211) newpathのコストf(newpath)とoldpathのコストf(oldpath)を比較する。もし、newpathのコストの方が大きければ、何もせずにステップ218へ進む。
ステップ212) もし、newpathのコストの方が小さければ、openからoldpathを削除し、newpathをopenへ挿入した後にコストの順にソートする。そしてステップ218へ進む。
【0067】
ステップ213) 現在の部分解析への遷移を表すノードがclosedに含まれているかどうかを検査する。もし含まれていなければ、ステップ217へ進む。含まれていれば、以下の処理を行なう。
ステップ214) 現在の部分解析への遷移を表すclosedの中のpath構造を変数oldpathに代入する。
【0068】
ステップ215) newpathのコストf(newpath)とoldpathのコストf(oldpath)を比較する。もし、newpathのコストの方が大きければ、何もせずにステップ218へ進む。
ステップ216) もし、newpathのコストの方が小さければ、closedからoldpathを削除し、neapathをclosedへ挿入した後にコストの順にソートする。そしてステップ218へ進む。
【0069】
ステップ217) newpathをopenへ挿入した後にコストの順にソートする。そしてステップ218へ進む。
ステップ218) 次の部分解析を選ぶ。
(5) 単語頻度推定
辞書未登録語収集装置200の単語頻度推定部210が入力文に含まれる単語の頻度の期待値を求め、頻度の期待値が大きい順番に辞書未登録語を出力する手順を示す。
【0070】
前向きDP探索に続いて後向きA* 探索を行なえば、入力文に対する形態素解析候補を確率が高い順番に任意の個数だけ得ることができる。ここで、訓練テキストの集合の第i番目の文の第j番目の形態素解析候補をOj i とする。形態素解析候補の確率P(Oj i )は単語分割モデルと単語モデルから求められる。本発明では、第i番目の文における単語wαの頻度の期待値Ci (wα)は次式により計算する。
【0071】
【数7】
【0072】
ここでnj i (wα)は、第i番目の文の第j番目の形態素解析候補に単語wαが出現した回数を表す。
【0073】
【数8】
【0074】
【実施例】
以下に本発明の実施例を図面と共に説明する。以下の実施例では、第1の実施例として、日本語形態素解析装置を説明し、第2の実施例として辞書未登録語収集装置を説明する。
【0075】
[第1の実施例]
図10は、本発明の第1の実施例の形態素解析候補の例を示す。この例では、入力文
「キャノンゼロワンショップ横須賀からパワーマックを買う。」
に対する上位3個の形態素解析候補が示されている。各形態素解析候補には、その対数確率が示されており、この値が大きいほど尤もらしい。
【0076】
この例では「キヤノンゼロワンショップ横須賀」という文字列の単語分割に際して、本発明の日本語形態素解析装置は、第1候補では、
「キヤノン」「ゼロワンショップ」「横須賀」
第2候補では、
「キヤノン」「ゼロワン」「ショップ」「横須賀」
第3候補では、
「キヤノン」「ゼロ」「ワン」「ショップ」「横須賀」
という単語分割を提示している。この中で「ゼロワンショップ」と「ゼロワン」は辞書には登録されておらず、未知語として提示されている。また、「パワーマック」という文字列も辞書には登録されていないので、未知語として提示されている。
【0077】
このように本実施例によれば、入力文が辞書に登録されていない単語を含む場合でも、確率が高い順番に任意の個数の形態素解析候補を提示できる。
[第2の実施例]
本発明の辞書未登録語収集装置200では、訓練テキスト集合における単語の頻度の期待値を、入力文中の任意の部分文字列が単語を構成しているかどうかに関する確からしさの尺度として用いる。ここで、単語仮説を単語とみなすかどうかの閾値をθとする。本発明では、単語仮説の中で、その頻度の期待値が閾値θよりも大きいものを辞書未登録語として収集する。
【0078】
【数9】
【0079】
最後に、本発明における単語頻度推定部210の単語の頻度の期待値の計算手段を簡単な例を用いて示す。入力テキストが5つの文字から構成される文字列「言語学入門」であり、その上位3個の形態素解析候補が図9に示すように「言語学/入門」「言/語学/入門」「言語/学/入門」であるとする。図11の左端の数字は形態素解析候補の相対確率であり、式(9)の
【0080】
【数10】
【0081】
に相当する。
式(9)に従って、第j番目の形態素解析候補における単語wαの出現回数nj i (wα)に、第j番目の形態素解析候補の相対確率
【0082】
【数11】
【0083】
を掛けた値を全ての形態素解析候補に関して加えると、各単語候補の頻度の期待値は以下のようになる。
C(入門)=0.7+0.2+0.1=1.0
C(言語学)=0.7
C(言語)=C(学)=0.2
C(言)=C(語学)=0.1
仮に、単語と同定するための頻度の期待値の閾値θを0.15に設定したとする。もし仮に、「入門」「言語学」「言語」「学」「言」「語学」の全ての文字列が辞書に登録されていないのであれば、本発明の方法では、「入門」「言語学」「言語」「学」の4つを辞書未登録語として提示する。
【0084】
なお、本発明は、上記の実施例に限定されることなく、特許請求の範囲内で種々変更・応用が可能である。
【0085】
【発明の効果】
上述のように、本発明の日本語形態素解析装置によれば、単語二つ組から構成される単語分割モデル、単語長確率と単語内文字二つ組確率から構成される単語モデル、動的計画法を用いた前向き探索とA* アルゴリズムを用いた後ろ向き探索により、単語列の同時確率が高い順番に任意の個数の形態素解析候補を提示する形態素解析処理により、辞書に登録されていない単語が入力文に含まれている場合でも確率が高い順番に入力文を構成する単語列を提示することが可能となる。
【0086】
また、本発明の辞書未登録語収集装置によれば、複数の形態素解析候補とその確率から単語の頻度で期待値を求める単語頻度推定処理により、訓練テキスト集合における単語仮説の頻度の期待が大きい順番に任意の個数の単語仮説を辞書未登録語として提示することが可能となる。
【図面の簡単な説明】
【図1】本発明の原理を説明するためのフローチャートである。
【図2】本発明の原理構成図である。
【図3】本発明のシステム構成図である。
【図4】本発明の日本語形態素解析装置及び辞書未登録語収集装置の構成図である。
【図5】本発明の単語二つ組頻度の例である。
【図6】本発明の単語内文字二つ組頻度の例である。
【図7】本発明の前向きDP探索を示すフローチャートである。
【図8】本発明の後ろ向きA* 探索を示すフローチャート(その1)である。
【図9】本発明の後ろ向きA* 探索を示すフローチャート(その2)である。
【図10】本発明の第1の実施例の形態素解析候補の例である。
【図11】本発明の第2の実施例の単語頻度期待値計算の例である。
【符号の説明】
100 日本語形態素解析装置
110 形態素解析手段
111 前向きDP探索手段、前向きDP探索部
112 単語仮説生成手段、単語仮説生成部
113 後向きA*探索手段、後向きA*探索部
114 最適経路スコアテーブル
114 形態素解析候補テーブル
141 単語長確率テーブル
142 単語内文字二つ組確率テーブル
150 形態素解析候補テーブル
160 単語テーブル(単語辞書)
200 辞書未登録語収集装置
210 単語頻度推定手段
Claims (4)
- 日本語テキストを入力として与えられた際に、入力文を構成する単語列を出力する日本語形態素解析方法であって、
前向きDP探索手段が、前記入力文のある文字位置から始まる全ての部分文字列を単語辞書の単語表記と照合して単語候補として提案し、文頭からある単語に至るまでの単語列の同時確率を最大化する最適部分経路の確率を最後の単語が異なる場合毎に計算し、計算結果を最適経路スコアテーブルに記録する前向きDP探索ステップと、
単語仮説生成手段が、前記前向きDP探索ステップにおいて、前記入力文のある文字位置から始まる部分文字列が前記単語辞書の内容を照合しなかった場合、その部分文字列が単語を構成すると仮定した場合の単語出現確率を、単語長確率と単語内文字2つ組の確率から単語を構成する文字列の同時確率を与える単語モデルから求める単語仮説生成ステップと、
後向きA * 探索手段が、前記前向きDP探索ステップで計算された前記最適経路スコアテーブルの値を入力とし、文末から文頭へ一単語ずつ進むA * アルゴリズムを用いて、単語二つ組確率の積が最も大きいものから順番に一つずつ形態素解析候補を求める後向きA * 探索ステップと、
を行うことを特徴とする日本語形態素解析方法。 - 入力文に含まれる単語の中で辞書に登録されていないものを出力する辞書未登録語収集方法であって、
前向きDP探索手段が、入力文のある文字位置から始まる全ての部分文字列を単語辞書の単語表記と照合して単語候補として提案し、文頭からある単語に至るまでの単語列の同時確率を最大化する最適部分経路の確率を最後の単語が異なる場合毎に計算し、計算結果を最適経路スコアテーブルに記録する前向きDP探索ステップと、
単語仮説生成手段が、前記前向きDP探索ステップにおいて、前記入力文のある文字位置から始まる部分文字列が前記単語辞書の内容を照合しなかった場合、その部分文字列が単語を構成すると仮定した場合の単語出現確率を、単語長確率と単語内文字2つ組の確率から単語を構成する文字列の同時確率を与える単語モデルから求める単語仮説生成ステップと、
後向きA * 探索手段が、前記前向きDP探索ステップで計算された前記最適経路スコアテーブルの値を入力とし、文末から文頭へ一単語ずつ進むA*アルゴリズムを用いて、単語二つ組確率の積が最も大きいものから順番に一つずつ形態素解析候補を求める後向きA * 探索ステップと、
単語頻度推定手段が、前記後向きA*探索ステップにより求められた一つの文に対する複数の形態素解析候補とその確率から単語の頻度の期待値を求める単語頻度推定ステップと、
日本語テキストにおける前記単語の頻度の期待値が大きい順番に任意の個数の単語仮説を辞書未登録語として提示する出力ステップと、
を行うことを特徴とする辞書未登録語収集方法。 - 日本語テキストを入力として与えられた際に、入力文を構成する単語列を出力する出力手段を有する日本語形態素解析装置であって、
単語2つ組確率から文を構成する単語列の同時確率を与える単語分割モデルと、
単語長確率と単語内文字2つ組の確率から単語を構成する文字列の同時確率を与える単語モデルと、
入力文のある文字位置から始まる全ての部分文字列を単語辞書の単語表記と照合して単語候補として提案し、文頭からある単語に至るまでの単語列の同時確率を最大化する最適部分経路の確率を最後の単語が異なる場合毎に計算し、計算結果を最適経路スコアテーブルに記録する前向きDP探索手段と、
前記前向きDP探索手段において、前記入力文のある文字位置から始まる部分文字列が前記単語辞書の内容を照合しなかった場合、その部分文字列が単語を構成すると仮定した場合の単語出現確率を前記単語モデルから求める単語仮説生成手段と、
前記前向きDP探索手段で計算された前記最適経路スコアテーブルの値を入力とし、文末から文頭へ一単語ずつ進むA * アルゴリズムを用いて、単語二つ組確率の積が最も大きいものから順番に一つずつ形態素解析候補を求める後向きA * 探索手段と、
を有することを特徴とする日本語形態素解析装置。 - 入力文に含まれる単語の中で辞書に登録されていないものを出力する辞書未登録語収集装置であって、
単語2つ組確率から文を構成する単語列の同時確率を与える単語分割モデルと、
単語長確率と単語内文字2つ組の確率から単語を構成する文字列の同時確率を与える単語モデルと、
入力文のある文字位置から始まる全ての部分文字列を単語辞書の単語表記と照合して単語候補として提案し、文頭からある単語に至るまでの単語列の同時確率を最大化する最適部分経路の確率を最後の単語が異なる場合毎に計算し、計算結果を最適経路スコアテーブルに記録する前向きDP探索手段と、
前記前向きDP探索手段において、前記入力文のある文字位置から始まる部分文字列が前記単語辞書の内容を照合しなかった場合、その部分文字列が単語を構成すると仮定した場合の単語出現確率を前記単語モデルから求める単語仮説生成手段と、
前記前向きDP探索手段で計算された前記最適経路スコアテーブルの値を入力とし、文末から文頭へ一単語ずつ進むA * アルゴリズムを用いて、単語二つ組確率の積が最も大きいものから順番に一つずつ形態素解析候補を求める後向きA * 探索手段と、
前記後向きA*探索手段により求められた一つの文に対する複数の形態素解析候補とその確率から単語の頻度の期待値を求める単語頻度推定手段と、
日本語テキストにおける前記単語の頻度の期待値が大きい順番に任意の個数の単語仮説を辞書未登録語として提示する出力手段と、
を有することを特徴とする辞書未登録語収集装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10149696A JP3777456B2 (ja) | 1996-04-23 | 1996-04-23 | 日本語形態素解析方法と装置及び辞書未登録語収集方法と装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10149696A JP3777456B2 (ja) | 1996-04-23 | 1996-04-23 | 日本語形態素解析方法と装置及び辞書未登録語収集方法と装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09288673A JPH09288673A (ja) | 1997-11-04 |
JP3777456B2 true JP3777456B2 (ja) | 2006-05-24 |
Family
ID=14302266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10149696A Expired - Lifetime JP3777456B2 (ja) | 1996-04-23 | 1996-04-23 | 日本語形態素解析方法と装置及び辞書未登録語収集方法と装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3777456B2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9104779B2 (en) | 2005-03-30 | 2015-08-11 | Primal Fusion Inc. | Systems and methods for analyzing and synthesizing complex knowledge representations |
US10002325B2 (en) | 2005-03-30 | 2018-06-19 | Primal Fusion Inc. | Knowledge representation systems and methods incorporating inference rules |
WO2007097390A1 (ja) | 2006-02-23 | 2007-08-30 | Nec Corporation | 音声認識システム、音声認識結果出力方法、及び音声認識結果出力プログラム |
JP5105996B2 (ja) * | 2007-08-21 | 2012-12-26 | 日本放送協会 | 形態素候補生成装置およびコンピュータプログラム |
US10474647B2 (en) | 2010-06-22 | 2019-11-12 | Primal Fusion Inc. | Methods and devices for customizing knowledge representation systems |
JP5314195B2 (ja) * | 2010-12-17 | 2013-10-16 | 楽天株式会社 | 自然言語処理装置、方法、及びプログラム |
WO2012092669A1 (en) * | 2011-01-07 | 2012-07-12 | Primal Fusion Inc. | Systems and methods for analyzing and synthesizing complex knowledge representations |
WO2013128684A1 (ja) * | 2012-02-28 | 2013-09-06 | 楽天株式会社 | 辞書生成装置、方法、及びプログラム |
WO2014030258A1 (ja) * | 2012-08-24 | 2014-02-27 | 株式会社日立製作所 | 形態素解析装置、テキスト分析方法、及びそのプログラム |
KR101630082B1 (ko) * | 2014-12-02 | 2016-06-13 | 울산대학교 산학협력단 | 형태소 분석기를 위한 미등록 명사 추정 장치 및 방법 |
CN111339253A (zh) * | 2020-02-25 | 2020-06-26 | 中国建设银行股份有限公司 | 一种抽取物品信息的方法和装置 |
CN114327090A (zh) * | 2021-12-31 | 2022-04-12 | 吉林科讯信息科技有限公司 | 日文输入方法以及相关装置、设备 |
-
1996
- 1996-04-23 JP JP10149696A patent/JP3777456B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH09288673A (ja) | 1997-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109190117B (zh) | 一种基于词向量的短文本语义相似度计算方法 | |
US6816830B1 (en) | Finite state data structures with paths representing paired strings of tags and tag combinations | |
US7689588B2 (en) | Method of syntactic pattern recognition of sequences | |
US6873993B2 (en) | Indexing method and apparatus | |
Phan et al. | Pair-linking for collective entity disambiguation: Two could be better than all | |
EP1347395B1 (en) | Systems and methods for determining the topic structure of a portion of text | |
US5528701A (en) | Trie based method for indexing handwritten databases | |
EP1617340A2 (en) | A method and apparatus for providing proper or partial proper name recognition | |
EP1178466B1 (en) | Recognition system using lexical trees | |
JP2002215619A (ja) | 翻訳文書からの翻訳文抽出方法 | |
JP3777456B2 (ja) | 日本語形態素解析方法と装置及び辞書未登録語収集方法と装置 | |
Scha et al. | A memory-based model of syntactic analysis: data-oriented parsing | |
CN112711944B (zh) | 一种分词方法、系统、分词器生成方法及系统 | |
JP3309174B2 (ja) | 文字認識方法及び装置 | |
JPH06282587A (ja) | 文書の自動分類方法及び装置並びに分類用の辞書作成方法及び装置 | |
CN114385777A (zh) | 文本数据处理方法、装置、计算机设备和存储介质 | |
Momenipour et al. | PHMM: Stemming on Persian Texts using Statistical Stemmer Based on Hidden Markov Model. | |
JP3369127B2 (ja) | 形態素解析装置 | |
Islam et al. | A generalized approach to word segmentation using maximum length descending frequency and entropy rate | |
JP2003228571A (ja) | 文字列の出現頻度の計数方法およびその方法を利用可能な装置 | |
CN115146630B (zh) | 基于专业领域知识的分词方法、装置、设备及存储介质 | |
CN114297350B (zh) | 一种面向自然语言的城市领域知识模型查询方法和装置 | |
JP4350026B2 (ja) | 話題スコープ抽出装置、その制御方法及びプログラム | |
JP3915167B2 (ja) | 日本語形態素解析方法及び装置及び日本語形態素解析プログラムを格納した記憶媒体 | |
CN110083679B (zh) | 搜索请求的处理方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051108 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060110 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060131 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20060201 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060213 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090310 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100310 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110310 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110310 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120310 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130310 Year of fee payment: 7 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |