JP2001184350A - 形態素解析装置 - Google Patents
形態素解析装置Info
- Publication number
- JP2001184350A JP2001184350A JP37087799A JP37087799A JP2001184350A JP 2001184350 A JP2001184350 A JP 2001184350A JP 37087799 A JP37087799 A JP 37087799A JP 37087799 A JP37087799 A JP 37087799A JP 2001184350 A JP2001184350 A JP 2001184350A
- Authority
- JP
- Japan
- Prior art keywords
- score
- word
- sequence
- subsequence
- starting
- 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
Links
Landscapes
- Machine Translation (AREA)
Abstract
(57)【要約】
【課題】全ての単語系列に対して評価を行うことなく、
効率良く日本語として正しい組み合せとなる単語系列を
抽出できるようにする。 【解決手段】得点部分系列取得部102は、単語ネット
ワークから得られる部分系列のうち、日本語として、よ
り確からしい部分系列にはプラスの得点を、確かさに欠
ける排除すべき部分系列にはマイナスの得点を、得点ル
ール記憶部102a中の所定の得点ルールに従って与
え、得点部分系列として記憶する。そして、単語ネット
ワークを展開する際、このプラスまたはマイナスの得点
を持つ得点部分系列を利用した抽出部103,105,
107での抽出処理により、最終的に上位N位までに残
る可能性のあるもののみに限定して、Nベスト判定順序
制御部109の制御のもとで当該単語ネットワークの後
方から展開していく。
効率良く日本語として正しい組み合せとなる単語系列を
抽出できるようにする。 【解決手段】得点部分系列取得部102は、単語ネット
ワークから得られる部分系列のうち、日本語として、よ
り確からしい部分系列にはプラスの得点を、確かさに欠
ける排除すべき部分系列にはマイナスの得点を、得点ル
ール記憶部102a中の所定の得点ルールに従って与
え、得点部分系列として記憶する。そして、単語ネット
ワークを展開する際、このプラスまたはマイナスの得点
を持つ得点部分系列を利用した抽出部103,105,
107での抽出処理により、最終的に上位N位までに残
る可能性のあるもののみに限定して、Nベスト判定順序
制御部109の制御のもとで当該単語ネットワークの後
方から展開していく。
Description
【0001】
【発明の属する技術分野】本発明は、形態素である単語
と各単語間の接続関係の情報とからなる単語ネットワー
クを展開して得られる単語系列の中から日本語文字列と
してより確からしい単語系列を選択して形態素解析の結
果として出力するのに好適な形態素解析装置に関する。
と各単語間の接続関係の情報とからなる単語ネットワー
クを展開して得られる単語系列の中から日本語文字列と
してより確からしい単語系列を選択して形態素解析の結
果として出力するのに好適な形態素解析装置に関する。
【0002】
【従来の技術】形態素解析は、日本語文字列を形態素で
ある単語単位に分かち書きする技術である。形態素解析
においては、文字列の中に含まれる単語を全て洗い出
し、それらの組み合わせ(以降、単語系列と称する)の
中から日本語として正しい組み合わせとなる単語系列を
選出する。この選出方法としては、単語系列それぞれに
対し、単語の並びやすさを基準にした評価得点ルールを
参照しながら評価得点を与え、評価得点の高いものを選
び形態素解析の結果として出力する手法がよく知られて
いる。
ある単語単位に分かち書きする技術である。形態素解析
においては、文字列の中に含まれる単語を全て洗い出
し、それらの組み合わせ(以降、単語系列と称する)の
中から日本語として正しい組み合わせとなる単語系列を
選出する。この選出方法としては、単語系列それぞれに
対し、単語の並びやすさを基準にした評価得点ルールを
参照しながら評価得点を与え、評価得点の高いものを選
び形態素解析の結果として出力する手法がよく知られて
いる。
【0003】
【発明が解決しようとする課題】ところが、上記したよ
うな形態素解析では、評価すべき単語系列の数が何千万
本にも及ぶ膨大なものとなることが頻繁に生じる。この
ため従来のように、評価すべき単語系列の一本一本に対
して日本語として正しい組み合わせとなるかの評価を行
うのは時間がかかりすぎてしまい現実的ではない。
うな形態素解析では、評価すべき単語系列の数が何千万
本にも及ぶ膨大なものとなることが頻繁に生じる。この
ため従来のように、評価すべき単語系列の一本一本に対
して日本語として正しい組み合わせとなるかの評価を行
うのは時間がかかりすぎてしまい現実的ではない。
【0004】また、日本語として不適切な特定の単語系
列(評価対象)のみを減点したい場合、それ以外の単語
系列全てに得点(プラスの得点)を与え相対的に減点す
るという特殊な方法をとらなくてはならない。これは処
理を煩雑にし処理速度の低下を招く。特に、日本語とし
てより確かしい複数の単語の並びを持つ評価対象ほど、
より高いプラスの得点を与える従来の得点ルールでは、
個々の複数の特定の単語の並び毎に固有の得点ルールを
必要とし、ルールを作成する手間、ルールを記憶する記
憶容量、処理速度の点で問題となる。
列(評価対象)のみを減点したい場合、それ以外の単語
系列全てに得点(プラスの得点)を与え相対的に減点す
るという特殊な方法をとらなくてはならない。これは処
理を煩雑にし処理速度の低下を招く。特に、日本語とし
てより確かしい複数の単語の並びを持つ評価対象ほど、
より高いプラスの得点を与える従来の得点ルールでは、
個々の複数の特定の単語の並び毎に固有の得点ルールを
必要とし、ルールを作成する手間、ルールを記憶する記
憶容量、処理速度の点で問題となる。
【0005】本発明は上記事情を考慮してなされたもの
でその目的は、日本語としてより確からしい複数の特定
の単語の並びを持つ評価対象ほど高いプラス得点を与え
るプラス得点ルールに加えて、日本語としての確からし
さに欠ける排除すべき複数の特定の単語の並びを持つ評
価対象にマイナスの得点を与えるマイナス得点ルールを
適用することにより、プラス得点ルールの削減を図り、
ルール数を節約できる形態素解析装置を提供することに
ある。
でその目的は、日本語としてより確からしい複数の特定
の単語の並びを持つ評価対象ほど高いプラス得点を与え
るプラス得点ルールに加えて、日本語としての確からし
さに欠ける排除すべき複数の特定の単語の並びを持つ評
価対象にマイナスの得点を与えるマイナス得点ルールを
適用することにより、プラス得点ルールの削減を図り、
ルール数を節約できる形態素解析装置を提供することに
ある。
【0006】本発明の他の目的は、全ての単語系列に対
して評価を行うことなく、効率良く日本語として正しい
組み合せとなる単語系列を抽出することができる形態素
解析装置を提供することにある。
して評価を行うことなく、効率良く日本語として正しい
組み合せとなる単語系列を抽出することができる形態素
解析装置を提供することにある。
【0007】
【課題を解決するための手段】本発明は、単語と各単語
間の接続関係の情報とからなる単語ネットワークを展開
して得られる単語系列に対し、単語のつながりに関する
得点ルールに従って得点付けをし、得点の高い単語系列
を形態素解析の結果として出力する形態素解析装置にお
いて、上記得点ルールとして、より確からしい複数の特
定の単語の並びを持つ評価対象ほど高いプラス得点を与
えるプラス得点ルールの他に、確からしさに欠ける排除
すべき複数の特定の単語の並びを持つ評価対象にマイナ
ス得点を与えるマイナス得点ルールを適用することを特
徴とする。
間の接続関係の情報とからなる単語ネットワークを展開
して得られる単語系列に対し、単語のつながりに関する
得点ルールに従って得点付けをし、得点の高い単語系列
を形態素解析の結果として出力する形態素解析装置にお
いて、上記得点ルールとして、より確からしい複数の特
定の単語の並びを持つ評価対象ほど高いプラス得点を与
えるプラス得点ルールの他に、確からしさに欠ける排除
すべき複数の特定の単語の並びを持つ評価対象にマイナ
ス得点を与えるマイナス得点ルールを適用することを特
徴とする。
【0008】このように、日本語としての確かさに欠け
る複数の特定の単語の並びに着目して、この特定の単語
の並びを持つ評価対象にマイナスの得点を与えるマイナ
ス得点ルールを適用する構成とすることにより、日本語
として正しくない複数の特定の単語の並びを持つ単語系
列を排除することが簡単に行え、しかも1つのマイナス
得点ルールを複数のプラス得点ルールに置き換えて実現
できる。このため、必要な得点ルールの総数を減らし
て、処理速度を向上することができる。
る複数の特定の単語の並びに着目して、この特定の単語
の並びを持つ評価対象にマイナスの得点を与えるマイナ
ス得点ルールを適用する構成とすることにより、日本語
として正しくない複数の特定の単語の並びを持つ単語系
列を排除することが簡単に行え、しかも1つのマイナス
得点ルールを複数のプラス得点ルールに置き換えて実現
できる。このため、必要な得点ルールの総数を減らし
て、処理速度を向上することができる。
【0009】また本発明の形態素解析装置は、形態素解
析対象文字列から単語と各単語間の接続関係の情報とを
含む単語ネットワークを入手する単語ネットワーク入手
手段と、より確からしい複数の特定の単語の並びを持つ
評価対象ほど高いプラス得点を与えるプラス得点ルール
の群と、確かさに欠ける排除すべき複数の特定の単語の
並びを持つ評価対象にマイナス得点を与えるマイナス得
点ルールの群とが記憶された得点ルール記憶手段と、上
記単語ネットワーク中のある単語から始まる単語のつな
がりを得点部分系列として抽出し、当該得点部分系列を
評価対象として当該得点部分系列に、上記得点ルール記
憶手段に記憶されている該当する得点ルールに従ってプ
ラスまたはマイナスの数で表される所定の得点を与える
得点部分系列取得手段と、上記得点を与えられた得点部
分系列から始まり上記単語ネットワークの最後尾につな
がる1つの単語列を第1の半系列とする個々の第1の半
系列のうち、当該第1の半系列に含まれる全ての得点部
分系列の和で示される当該第1の半系列の評価得点が上
位N位までの第1の半系列を記憶する第1の記憶手段
と、上記得点を与えられた得点部分系列でマイナスの得
点の得点部分系列を対象に、当該得点部分系列の最後尾
の単語から1単語単位で削除することで生成される各単
語系列をマイナス小部分系列として、当該各マイナス小
部分系列から始まり上記単語ネットワークの最後尾につ
ながる1つの単語列を第2の半系列とする個々の第2の
半系列のうち、当該第2の半系列に含まれる全ての得点
部分系列の和で示される当該第2の半系列の評価得点が
上位N位までの第2の半系列を、対応するマイナス小部
分系列毎に記憶する第2の記憶手段と、上記単語ネット
ワーク中のある単語から始まり当該単語ネットワークの
最後尾につながる1つの単語列を第3の半系列とする個
々の第3の半系列のうち、当該第3の半系列に含まれる
全ての得点部分系列の和で示される当該第3の半系列の
評価得点が上位N位までの第3の半系列を記憶する第3
の記憶手段と、上記単語ネットワーク中のある単語を先
頭とする得点部分系列から始まる第1の半系列で評価得
点が上位N位までの第1の半系列を、当該得点部分系列
の最後尾の単語から始まる第3の半系列であって、上記
第3の記憶手段に記憶されている第3の半系列と、当該
得点部分系列に接続可能な得点部分系列から始まる第1
の半系列であって、上記第1の記憶手段に記憶されてい
る第1の半系列と、当該得点部分系列に接続可能なマイ
ナス小部分系列から始まる第2の半系列であって、上記
第2の記憶手段に記憶されている第2の半系列とからな
る集合の中から抽出する第1の抽出手段と、上記単語ネ
ットワーク中のある単語を先頭とするマイナス小部分系
列から始まる第1の半系列で評価得点が上位N位までの
第1の半系列を、当該マイナス小部分系列の最後尾の単
語から始まる第3の半系列であって、上記第3の記憶手
段に記憶されている第3の半系列と、当該マイナス小部
分系列に接続可能な得点部分系列から始まる第1の半系
列であって、上記第1の記憶手段に記憶されている第1
の半系列と、当該マイナス小部分系列に接続可能な別の
マイナス小部分系列から始まる第2の半系列であって、
上記第2の記憶手段に記憶されている第2の半系列とか
らなる集合の中から抽出する第2の抽出手段と、上記単
語ネットワーク中のある単語から始まる第3の半系列で
評価得点が上位N位までの第3の半系列を、当該単語に
接続可能な別の単語から始まる第3の半系列であって、
上記第3の記憶手段に記憶されている第3の半系列と、
当該単語から始まる第1の半系列であって、上記第1の
記憶手段に記憶されている第1の半系列と、当該単語を
先頭とするマイナス小部分系列から始まる第2の半系列
であって、上記第2の記憶手段に記憶されている第2の
半系列とからなる集合の中から抽出する第3の抽出手段
と、上記第1乃至第3の抽出手段とによる抽出処理を上
記単語ネットワーク中の各単語について後方から前方に
向けて再帰的に行うように制御する順序制御手段と、こ
の順序制御手段により上記単語ネットワークの文頭単語
まで抽出処理が行われた後の上記第3の記憶手段の内容
に従い、上記単語ネットワークの文頭単語から始まり最
後尾につながる系列で評価得点が上位N位までの系列を
形態素解析の結果として出力する出力手段とを備えたこ
とを特徴とする。
析対象文字列から単語と各単語間の接続関係の情報とを
含む単語ネットワークを入手する単語ネットワーク入手
手段と、より確からしい複数の特定の単語の並びを持つ
評価対象ほど高いプラス得点を与えるプラス得点ルール
の群と、確かさに欠ける排除すべき複数の特定の単語の
並びを持つ評価対象にマイナス得点を与えるマイナス得
点ルールの群とが記憶された得点ルール記憶手段と、上
記単語ネットワーク中のある単語から始まる単語のつな
がりを得点部分系列として抽出し、当該得点部分系列を
評価対象として当該得点部分系列に、上記得点ルール記
憶手段に記憶されている該当する得点ルールに従ってプ
ラスまたはマイナスの数で表される所定の得点を与える
得点部分系列取得手段と、上記得点を与えられた得点部
分系列から始まり上記単語ネットワークの最後尾につな
がる1つの単語列を第1の半系列とする個々の第1の半
系列のうち、当該第1の半系列に含まれる全ての得点部
分系列の和で示される当該第1の半系列の評価得点が上
位N位までの第1の半系列を記憶する第1の記憶手段
と、上記得点を与えられた得点部分系列でマイナスの得
点の得点部分系列を対象に、当該得点部分系列の最後尾
の単語から1単語単位で削除することで生成される各単
語系列をマイナス小部分系列として、当該各マイナス小
部分系列から始まり上記単語ネットワークの最後尾につ
ながる1つの単語列を第2の半系列とする個々の第2の
半系列のうち、当該第2の半系列に含まれる全ての得点
部分系列の和で示される当該第2の半系列の評価得点が
上位N位までの第2の半系列を、対応するマイナス小部
分系列毎に記憶する第2の記憶手段と、上記単語ネット
ワーク中のある単語から始まり当該単語ネットワークの
最後尾につながる1つの単語列を第3の半系列とする個
々の第3の半系列のうち、当該第3の半系列に含まれる
全ての得点部分系列の和で示される当該第3の半系列の
評価得点が上位N位までの第3の半系列を記憶する第3
の記憶手段と、上記単語ネットワーク中のある単語を先
頭とする得点部分系列から始まる第1の半系列で評価得
点が上位N位までの第1の半系列を、当該得点部分系列
の最後尾の単語から始まる第3の半系列であって、上記
第3の記憶手段に記憶されている第3の半系列と、当該
得点部分系列に接続可能な得点部分系列から始まる第1
の半系列であって、上記第1の記憶手段に記憶されてい
る第1の半系列と、当該得点部分系列に接続可能なマイ
ナス小部分系列から始まる第2の半系列であって、上記
第2の記憶手段に記憶されている第2の半系列とからな
る集合の中から抽出する第1の抽出手段と、上記単語ネ
ットワーク中のある単語を先頭とするマイナス小部分系
列から始まる第1の半系列で評価得点が上位N位までの
第1の半系列を、当該マイナス小部分系列の最後尾の単
語から始まる第3の半系列であって、上記第3の記憶手
段に記憶されている第3の半系列と、当該マイナス小部
分系列に接続可能な得点部分系列から始まる第1の半系
列であって、上記第1の記憶手段に記憶されている第1
の半系列と、当該マイナス小部分系列に接続可能な別の
マイナス小部分系列から始まる第2の半系列であって、
上記第2の記憶手段に記憶されている第2の半系列とか
らなる集合の中から抽出する第2の抽出手段と、上記単
語ネットワーク中のある単語から始まる第3の半系列で
評価得点が上位N位までの第3の半系列を、当該単語に
接続可能な別の単語から始まる第3の半系列であって、
上記第3の記憶手段に記憶されている第3の半系列と、
当該単語から始まる第1の半系列であって、上記第1の
記憶手段に記憶されている第1の半系列と、当該単語を
先頭とするマイナス小部分系列から始まる第2の半系列
であって、上記第2の記憶手段に記憶されている第2の
半系列とからなる集合の中から抽出する第3の抽出手段
と、上記第1乃至第3の抽出手段とによる抽出処理を上
記単語ネットワーク中の各単語について後方から前方に
向けて再帰的に行うように制御する順序制御手段と、こ
の順序制御手段により上記単語ネットワークの文頭単語
まで抽出処理が行われた後の上記第3の記憶手段の内容
に従い、上記単語ネットワークの文頭単語から始まり最
後尾につながる系列で評価得点が上位N位までの系列を
形態素解析の結果として出力する出力手段とを備えたこ
とを特徴とする。
【0010】このように本発明においては、単語系列の
評価得点を、複数の単語の接続に対して、それらの単語
が連続して現われることの日本語としての確からしさを
根拠に定めたプラスまたはマイナスの数で表される得点
を加算していくことで与え、最終的に単語系列の評価得
点が上位N位までに入るものを選ぶことができる。
評価得点を、複数の単語の接続に対して、それらの単語
が連続して現われることの日本語としての確からしさを
根拠に定めたプラスまたはマイナスの数で表される得点
を加算していくことで与え、最終的に単語系列の評価得
点が上位N位までに入るものを選ぶことができる。
【0011】ここで、評価対象になる単語系列は、単語
と各単語間の接続関係の情報とからなる単語ネットワー
クを展開して得られるが、当該単語ネットワークを展開
する際、最終的に上位N位までに残る可能性のあるもの
のみに限定して当該単語ネットワークの後方から展開し
ていく構成としたことにより、展開する系列の数を減ら
し、特に日本語として不適切な系列を効率的に排除し、
高速化を図ることが可能となる。これにより、全ての単
語系列に対して評価を行うことなく、効率良く日本語と
して正しい組み合わせを抽出でき、高速な形態素解析が
可能となる。
と各単語間の接続関係の情報とからなる単語ネットワー
クを展開して得られるが、当該単語ネットワークを展開
する際、最終的に上位N位までに残る可能性のあるもの
のみに限定して当該単語ネットワークの後方から展開し
ていく構成としたことにより、展開する系列の数を減ら
し、特に日本語として不適切な系列を効率的に排除し、
高速化を図ることが可能となる。これにより、全ての単
語系列に対して評価を行うことなく、効率良く日本語と
して正しい組み合わせを抽出でき、高速な形態素解析が
可能となる。
【0012】なお、以上の装置に係る本発明は方法に係
る発明としても成立する。また、本発明は、コンピュー
タを当該発明に相当する手段として機能させるための
(或いはコンピュータに当該発明に相当する機能を実現
させるための、或いはコンピュータに当該発明に相当す
る手順を実行させるための)プログラムを記録したコン
ピュータ読み取り可能な記録媒体としても成立する。
る発明としても成立する。また、本発明は、コンピュー
タを当該発明に相当する手段として機能させるための
(或いはコンピュータに当該発明に相当する機能を実現
させるための、或いはコンピュータに当該発明に相当す
る手順を実行させるための)プログラムを記録したコン
ピュータ読み取り可能な記録媒体としても成立する。
【0013】
【発明の実施の形態】以下、本発明の実施の形態につき
図面を参照して説明する。
図面を参照して説明する。
【0014】図1は本発明の一実施形態に係る形態素解
析装置の構成を示すブロック図である。図1の構成の形
態素解析装置は、形態素である単語と各単語間の接続関
係の情報とからなる単語ネットワークを展開して得られ
る単語系列に対し、予め用意した単語のつながりに関す
る得点ルールに従って得点付けをし、得点の高い単語系
列を形態素解析の結果として出力するもので、単語ネッ
トワーク入手部101と、得点部分系列取得部102
と、得点部分系列以下Nベスト抽出部103と、得点部
分系列以下Nベスト記憶部104と、マイナス小部分系
列以下Nベスト抽出部105と、マイナス小部分系列以
下Nベスト記憶部106と、単語以下Nベスト抽出部1
07と、単語以下Nベスト記憶部108と、Nベスト判
定順序制御部109と、Nベスト系列出力部110とを
備えて構成される。
析装置の構成を示すブロック図である。図1の構成の形
態素解析装置は、形態素である単語と各単語間の接続関
係の情報とからなる単語ネットワークを展開して得られ
る単語系列に対し、予め用意した単語のつながりに関す
る得点ルールに従って得点付けをし、得点の高い単語系
列を形態素解析の結果として出力するもので、単語ネッ
トワーク入手部101と、得点部分系列取得部102
と、得点部分系列以下Nベスト抽出部103と、得点部
分系列以下Nベスト記憶部104と、マイナス小部分系
列以下Nベスト抽出部105と、マイナス小部分系列以
下Nベスト記憶部106と、単語以下Nベスト抽出部1
07と、単語以下Nベスト記憶部108と、Nベスト判
定順序制御部109と、Nベスト系列出力部110とを
備えて構成される。
【0015】単語ネットワーク入手部101は、単語と
各単語間の接続関係の情報とからなる単語ネットワーク
を入手する。例えば、日本語文字列である「今日は、東
京都民の日。」という文章であれば、図2に示すような
単語ネットワークが入手される。この例では、(処理の
便宜上で設定される)仮想的な文頭単語に「今日」
「今」の2つの単語が接続し、以後それぞれの単語が後
続の単語に接続し、最終的に仮想的な文末単語に至って
いる。
各単語間の接続関係の情報とからなる単語ネットワーク
を入手する。例えば、日本語文字列である「今日は、東
京都民の日。」という文章であれば、図2に示すような
単語ネットワークが入手される。この例では、(処理の
便宜上で設定される)仮想的な文頭単語に「今日」
「今」の2つの単語が接続し、以後それぞれの単語が後
続の単語に接続し、最終的に仮想的な文末単語に至って
いる。
【0016】なお、単語ネットワークを入手するには、
一般に、まず入力された文字列に対し、予め用意された
単語辞書を検索して形態素解析の候補となる単語を全て
洗い出す。次に、これらの単語について品詞レベルでの
単語接続可能性を表した単語接続テーブルを参照する。
これにより、どの単語がどの単語につながるかの単語間
の接続情報が加えられ、単語ネットワークが取得され
る。
一般に、まず入力された文字列に対し、予め用意された
単語辞書を検索して形態素解析の候補となる単語を全て
洗い出す。次に、これらの単語について品詞レベルでの
単語接続可能性を表した単語接続テーブルを参照する。
これにより、どの単語がどの単語につながるかの単語間
の接続情報が加えられ、単語ネットワークが取得され
る。
【0017】以下の説明では、単語ネットワークの接続
関係をたどって得られる単語のつながりのうち、文頭単
語に始まり文末単語に至る単語のつながりを「(単語)
系列」、単語ネットワークの途中の単語に始まり文末単
語に至る単語のつながりを「半系列」、単語ネットワー
クの途中の単語に始まり当該単語より後ろのネットワー
ク途中の単語に至る単語のつながりを「部分系列」と、
それぞれ呼ぶ。
関係をたどって得られる単語のつながりのうち、文頭単
語に始まり文末単語に至る単語のつながりを「(単語)
系列」、単語ネットワークの途中の単語に始まり文末単
語に至る単語のつながりを「半系列」、単語ネットワー
クの途中の単語に始まり当該単語より後ろのネットワー
ク途中の単語に至る単語のつながりを「部分系列」と、
それぞれ呼ぶ。
【0018】また、部分系列で得点を持つものを「得点
部分系列」と呼び、得点部分系列で特にマイナスの得点
を持つものに対し最後尾の単語を順に1つずつ取り除い
てできる部分系列それぞれを「マイナス小部分系列」と
呼ぶ。例えば、A−B−C−D−Eがマイナスの得点部
分系列のとき、A−B−C−D、A−B−C、A−Bが
マイナス小部分系列となる。
部分系列」と呼び、得点部分系列で特にマイナスの得点
を持つものに対し最後尾の単語を順に1つずつ取り除い
てできる部分系列それぞれを「マイナス小部分系列」と
呼ぶ。例えば、A−B−C−D−Eがマイナスの得点部
分系列のとき、A−B−C−D、A−B−C、A−Bが
マイナス小部分系列となる。
【0019】得点部分系列取得部102は、単語ネット
ワークから得られる部分系列のうち、日本語として、よ
り正しい単語の並び(つながり)であると判断される部
分系列にはプラスの評価得点を、逆に正しくない単語の
並びであると判断される部分系列にはマイナスの評価得
点を、得点ルール記憶部102aに予め記憶されている
所定の得点ルールに従って与え、更に得点を与えた部分
系列を得点部分系列として記憶する。
ワークから得られる部分系列のうち、日本語として、よ
り正しい単語の並び(つながり)であると判断される部
分系列にはプラスの評価得点を、逆に正しくない単語の
並びであると判断される部分系列にはマイナスの評価得
点を、得点ルール記憶部102aに予め記憶されている
所定の得点ルールに従って与え、更に得点を与えた部分
系列を得点部分系列として記憶する。
【0020】なお、単語ネットワークから得られる各系
列または各半系列の評価得点は、当該系列または半系列
に含まれている全ての得点部分系列の得点の和として表
現される。
列または各半系列の評価得点は、当該系列または半系列
に含まれている全ての得点部分系列の得点の和として表
現される。
【0021】得点部分系列以下Nベスト抽出部103
は、得点部分系列以下Nベスト記憶部104、マイナス
小部分系列以下Nベスト記憶部106、及び単語以下N
ベスト記憶部108の各記憶部に記憶されている、前の
段階までに得られている情報をもとに、ある得点部分系
列から始まる全ての半系列(文末単語までつながってい
るもの)の中から、その評価得点(半系列に含まれてい
る全ての得点部分系列の得点の和)が上位番目までの半
系列を判定し抽出する。
は、得点部分系列以下Nベスト記憶部104、マイナス
小部分系列以下Nベスト記憶部106、及び単語以下N
ベスト記憶部108の各記憶部に記憶されている、前の
段階までに得られている情報をもとに、ある得点部分系
列から始まる全ての半系列(文末単語までつながってい
るもの)の中から、その評価得点(半系列に含まれてい
る全ての得点部分系列の得点の和)が上位番目までの半
系列を判定し抽出する。
【0022】得点部分系列以下Nベスト記憶部104
は、ある得点部分系列から始まる全ての半系列のうち、
その評価得点が上位N番目までに入ると得点部分系列以
下Nベスト抽出部103によって判定され抽出された半
系列を全て記憶する。
は、ある得点部分系列から始まる全ての半系列のうち、
その評価得点が上位N番目までに入ると得点部分系列以
下Nベスト抽出部103によって判定され抽出された半
系列を全て記憶する。
【0023】マイナス小部分系列以下Nベスト抽出部1
05は、得点部分系列以下Nベスト抽出部103と同様
に、上記各記憶部104,106,108に記憶されて
いる前の段階までの情報をもとに処理を行い、あるマイ
ナス小部分系列から始まる全ての半系列の中から、その
評価得点(半系列に含まれている全ての得点部分系列の
得点の和)が上位N番目までの半系列を判定し抽出す
る。
05は、得点部分系列以下Nベスト抽出部103と同様
に、上記各記憶部104,106,108に記憶されて
いる前の段階までの情報をもとに処理を行い、あるマイ
ナス小部分系列から始まる全ての半系列の中から、その
評価得点(半系列に含まれている全ての得点部分系列の
得点の和)が上位N番目までの半系列を判定し抽出す
る。
【0024】マイナス小部分系列以下Nベスト記憶部1
06は、あるマイナス小部分系列から始まる全ての半系
列のうち、その評価得点が上位N番目までに入るとマイ
ナス小部分系列以下Nベスト抽出部105によって判定
され抽出された半系列を全て記憶する。
06は、あるマイナス小部分系列から始まる全ての半系
列のうち、その評価得点が上位N番目までに入るとマイ
ナス小部分系列以下Nベスト抽出部105によって判定
され抽出された半系列を全て記憶する。
【0025】得点部分系列以下Nベスト抽出部107
は、得点部分系列以下Nベスト抽出部103及びマイナ
ス小部分系列以下Nベスト抽出部105と同様に、上記
各記憶部104,106,108に記憶されている前の
段階までの情報をもとに処理を行い、単語ネットワーク
中のある単語から始まる全ての半系列の中から、その評
価得点(半系列に含まれている全ての得点部分系列の得
点の和)が上位N番目までの半系列を判定し抽出する。
は、得点部分系列以下Nベスト抽出部103及びマイナ
ス小部分系列以下Nベスト抽出部105と同様に、上記
各記憶部104,106,108に記憶されている前の
段階までの情報をもとに処理を行い、単語ネットワーク
中のある単語から始まる全ての半系列の中から、その評
価得点(半系列に含まれている全ての得点部分系列の得
点の和)が上位N番目までの半系列を判定し抽出する。
【0026】単語以下Nベスト記憶部108は、単語ネ
ットワーク中のある単語から始まる全ての半系列のう
ち、その評価得点が上位N番目までに入ると単語以下N
ベスト抽出部107によって判定され抽出された半系列
を全て記憶する。
ットワーク中のある単語から始まる全ての半系列のう
ち、その評価得点が上位N番目までに入ると単語以下N
ベスト抽出部107によって判定され抽出された半系列
を全て記憶する。
【0027】Nベスト判定順序制御部109は、得点部
分系列以下Nベスト抽出部103、得点部分系列以下N
ベスト抽出部105、及び得点部分系列以下Nベスト抽
出部107の各抽出部が、上位N番目に入る半系列(以
降、Nベストと称する)を判定し抽出する処理で対象と
する(注目する)単語の順序を(したがって、関連する
得点部分系列の順序も)制御する。
分系列以下Nベスト抽出部103、得点部分系列以下N
ベスト抽出部105、及び得点部分系列以下Nベスト抽
出部107の各抽出部が、上位N番目に入る半系列(以
降、Nベストと称する)を判定し抽出する処理で対象と
する(注目する)単語の順序を(したがって、関連する
得点部分系列の順序も)制御する。
【0028】Nベスト系列出力部110は、単語以下N
ベスト記憶部106に、文頭単語以下のNベストが記憶
された段階で、それを日本語文字列としての確からしさ
の第1位から第N位までの単語系列である、Nベスト系
列として出力する。
ベスト記憶部106に、文頭単語以下のNベストが記憶
された段階で、それを日本語文字列としての確からしさ
の第1位から第N位までの単語系列である、Nベスト系
列として出力する。
【0029】次に、図1の形態素解析装置の形態素解析
処理について説明する。まず、全体の処理の流れを図3
のアルゴリズムチャートを参照して説明する。
処理について説明する。まず、全体の処理の流れを図3
のアルゴリズムチャートを参照して説明する。
【0030】単語ネットワーク入手部101は、単語ネ
ットワークの情報を入手する(処理301)。単語ネッ
トワークは、前記したように単語と各単語間の接続関係
の情報とからなる。一般には、この単語ネットワーク
を、文頭単語(仮想的に設けられた単語)からたどって
文末単語(仮想的に設けられた単語)までを展開するこ
とによって、形態素解析の結果の1つの候補を得ること
ができる。ところが、単語ネットワークによっては、総
展開数が数千万系列にも達することが頻繁に生じる。し
たがって、単語ネットワークから展開できる系列全てに
対し得点ルールを検証し系列の評価得点を算出していた
のでは、処理に多大な時間を要する。そこで本実施形態
では、この処理時間を短縮するために、評価得点が最終
的に上位N位までに残る系列(単語系列)、つまりNベ
スト系列を得るのに、以下に述べるように、その可能性
があるもののみに限定して半系列の形式で(即ち単語ネ
ットワークの後方から)展開し続ける手法を適用する。
ットワークの情報を入手する(処理301)。単語ネッ
トワークは、前記したように単語と各単語間の接続関係
の情報とからなる。一般には、この単語ネットワーク
を、文頭単語(仮想的に設けられた単語)からたどって
文末単語(仮想的に設けられた単語)までを展開するこ
とによって、形態素解析の結果の1つの候補を得ること
ができる。ところが、単語ネットワークによっては、総
展開数が数千万系列にも達することが頻繁に生じる。し
たがって、単語ネットワークから展開できる系列全てに
対し得点ルールを検証し系列の評価得点を算出していた
のでは、処理に多大な時間を要する。そこで本実施形態
では、この処理時間を短縮するために、評価得点が最終
的に上位N位までに残る系列(単語系列)、つまりNベ
スト系列を得るのに、以下に述べるように、その可能性
があるもののみに限定して半系列の形式で(即ち単語ネ
ットワークの後方から)展開し続ける手法を適用する。
【0031】そこで、Nベスト判定順序制御部107
は、単語ネットワーク上の各単語に対して、単語開始位
置を基準に昇順に単語番号付け(ナンバリング)を行う
(処理302)。このナンバリングの一例を図7に示
す。このナンバリングにより、得点部分系列以下Nベス
ト抽出部103、及び単語以下Nベスト抽出部105に
てそれぞれのNベストを決定していく順番が制御(決
定)されることになる。
は、単語ネットワーク上の各単語に対して、単語開始位
置を基準に昇順に単語番号付け(ナンバリング)を行う
(処理302)。このナンバリングの一例を図7に示
す。このナンバリングにより、得点部分系列以下Nベス
ト抽出部103、及び単語以下Nベスト抽出部105に
てそれぞれのNベストを決定していく順番が制御(決
定)されることになる。
【0032】Nベスト判定順序制御部107は、処理3
03のループにおいて、処理302のナンバリングで付
与した単語番号の大きい単語から順に(つまり単語ネッ
トワークの後方に位置する単語から順に)単語ネットワ
ークから取り出し、処理304乃至処理312を繰り返
す。
03のループにおいて、処理302のナンバリングで付
与した単語番号の大きい単語から順に(つまり単語ネッ
トワークの後方に位置する単語から順に)単語ネットワ
ークから取り出し、処理304乃至処理312を繰り返
す。
【0033】処理304では、処理303で取り上げる
べき単語ネットワークの単語が尽きた場合、当該処理3
03のループを抜ける。
べき単語ネットワークの単語が尽きた場合、当該処理3
03のループを抜ける。
【0034】処理305では、処理303で取り上げて
いる単語から始まる得点部分系列を処理306で1つず
つ取り上げて、処理307乃至処理310を行う。処理
306乃至310は、処理306で取り上げるべき得点
部分系列が尽きるまで繰り返される。
いる単語から始まる得点部分系列を処理306で1つず
つ取り上げて、処理307乃至処理310を行う。処理
306乃至310は、処理306で取り上げるべき得点
部分系列が尽きるまで繰り返される。
【0035】処理306では、処理303で取り上げら
れている単語から始まる得点部分系列が得点部分系列取
得部102から1つずつ取り出される。この得点部分系
列は、処理303で取り上げられている単語から始まる
部分系列であり、得点ルール記憶部102aに予め用意
されている単語のつながりに関する得点ルールによって
得点が与えられたものである。
れている単語から始まる得点部分系列が得点部分系列取
得部102から1つずつ取り出される。この得点部分系
列は、処理303で取り上げられている単語から始まる
部分系列であり、得点ルール記憶部102aに予め用意
されている単語のつながりに関する得点ルールによって
得点が与えられたものである。
【0036】図4に、得点ルール記憶部102aに記憶
されている単語のつながりに関する得点ルールの一例を
示す。図4では、例えばルール1は、「数字+時(接
尾)+数字+分(接尾)」の4つの単語の並びが部分系
列として存在する場合は、その部分系列に得点としてプ
ラス50点を与えることを表している。
されている単語のつながりに関する得点ルールの一例を
示す。図4では、例えばルール1は、「数字+時(接
尾)+数字+分(接尾)」の4つの単語の並びが部分系
列として存在する場合は、その部分系列に得点としてプ
ラス50点を与えることを表している。
【0037】上記処理306で取り出される得点部分系
列は、処理303で取り上げている単語から単語ネット
ワークをたどって部分系列を展開し、得点部分系列取得
部102にて当該部分系列に得点ルールを適用して得点
を与えたものを得点部分系列として抽出したものであ
る。
列は、処理303で取り上げている単語から単語ネット
ワークをたどって部分系列を展開し、得点部分系列取得
部102にて当該部分系列に得点ルールを適用して得点
を与えたものを得点部分系列として抽出したものであ
る。
【0038】さて図4中の得点ルールには、本実施形態
の特徴である、従来にはなかったマイナス得点を与える
ルール(マイナス得点ルール)も用意されている。ルー
ルnがその例である。このルールnは、「な(終助詞)
+か(終助詞)」の2つの単語の並びが部分系列として
存在する場合は、その部分系列にマイナス得点(ここで
はマイナス50点)を与える。
の特徴である、従来にはなかったマイナス得点を与える
ルール(マイナス得点ルール)も用意されている。ルー
ルnがその例である。このルールnは、「な(終助詞)
+か(終助詞)」の2つの単語の並びが部分系列として
存在する場合は、その部分系列にマイナス得点(ここで
はマイナス50点)を与える。
【0039】ここで、「な(終助詞)」「か(終助
詞)」について述べる。まず、「な(終助詞)」「か
(終助詞)」の例を以下に示す。 な(終助詞) 例 話す/な(終助詞)。 か(終助詞) 例 そう/です/が(終助詞)。
詞)」について述べる。まず、「な(終助詞)」「か
(終助詞)」の例を以下に示す。 な(終助詞) 例 話す/な(終助詞)。 か(終助詞) 例 そう/です/が(終助詞)。
【0040】以下に、日本語文字列が正しい単語単位に
わかち書きがされている系列と誤った単語単位にわかち
書きがされている系列の例を示す。正しい系列には○印
を、誤った系列には×印を付してある。
わかち書きがされている系列と誤った単語単位にわかち
書きがされている系列の例を示す。正しい系列には○印
を、誤った系列には×印を付してある。
【0041】 例1 「子供がなかったら」 ○ 子供/が/なかっ/たら × 子供/が/な/か/ったら 例2 「彼はなかなか良い男」 ○ 彼/は/なかなか/良い/男 × 彼/は/な/か/な/か/良い/男 例3 「彼はなかよしの友達」 ○ 彼/は/なかよし/の/友達 × 彼/は/な/か/よし/の/友達 もし、従来のようにプラス得点のみを与える場合、上記
の各例で○の系列を選ぶためには、「なかっ」「なかな
か」「なかよし」の各単語にプラスの得点を与えるルー
ルを用意する必要がある。これは即ち、「なか」という
文字列を含むあらゆる単語に対し、プラスの得点を与え
るルールを用意する必要があることを意味する。これで
は、ルールの数が著しく増加してしまい、ルールを作成
する手間、ルールを記憶する記憶容量、処理速度の点で
問題となる。
の各例で○の系列を選ぶためには、「なかっ」「なかな
か」「なかよし」の各単語にプラスの得点を与えるルー
ルを用意する必要がある。これは即ち、「なか」という
文字列を含むあらゆる単語に対し、プラスの得点を与え
るルールを用意する必要があることを意味する。これで
は、ルールの数が著しく増加してしまい、ルールを作成
する手間、ルールを記憶する記憶容量、処理速度の点で
問題となる。
【0042】これに対して本実施形態では、上記「な
か」の例では、「な(終助詞)+か(終助詞)」の部分
系列に対しマイナス得点を与える1つのマイナス得点ル
ール(ルールn)だけで、上記の×の系列を選ばないよ
うにすること(したがって○の系列を選ぶようにするこ
と)が可能となる。つまり、マイナス得点ルールは、特
定の系列に対する減点(日本語としての確からしさに欠
ける系列、或いは日本語として正しくない系列を選ばせ
ないようにするための、当該系列に対する減点)を目的
とした得点ルールといえ、当該マイナス得点ルールの適
用により、ルールの総数を節約でき、処理速度の向上が
図れる。
か」の例では、「な(終助詞)+か(終助詞)」の部分
系列に対しマイナス得点を与える1つのマイナス得点ル
ール(ルールn)だけで、上記の×の系列を選ばないよ
うにすること(したがって○の系列を選ぶようにするこ
と)が可能となる。つまり、マイナス得点ルールは、特
定の系列に対する減点(日本語としての確からしさに欠
ける系列、或いは日本語として正しくない系列を選ばせ
ないようにするための、当該系列に対する減点)を目的
とした得点ルールといえ、当該マイナス得点ルールの適
用により、ルールの総数を節約でき、処理速度の向上が
図れる。
【0043】処理307では、処理306で取り出され
る得点部分系列が尽きた場合に処理ループを抜ける。
る得点部分系列が尽きた場合に処理ループを抜ける。
【0044】処理308では、処理306で取り出され
ている得点部分系列から始まる全ての半系列、即ち当該
得点部分系列を先頭とする全ての半系列の中から、得点
が上位N位までのものを抽出する。この処理308は主
として得点部分系列以下Nベスト抽出部103により行
われる。
ている得点部分系列から始まる全ての半系列、即ち当該
得点部分系列を先頭とする全ての半系列の中から、得点
が上位N位までのものを抽出する。この処理308は主
として得点部分系列以下Nベスト抽出部103により行
われる。
【0045】以下、処理308の詳細な処理の流れにつ
いて、図5のアルゴリズムチャートを参照して説明す
る。処理501では、処理306で取り出されている得
点部分系列から始まる全ての半系列のうち、得点が上位
N位までのものを得点部分系列以下Nベスト記憶部10
4に登録する。この処理501は、図6のアルゴリズム
チャートに従って次のように行われる。
いて、図5のアルゴリズムチャートを参照して説明す
る。処理501では、処理306で取り出されている得
点部分系列から始まる全ての半系列のうち、得点が上位
N位までのものを得点部分系列以下Nベスト記憶部10
4に登録する。この処理501は、図6のアルゴリズム
チャートに従って次のように行われる。
【0046】まず処理601では、処理306で取り出
されている得点部分系列(の最後尾の単語)の後方に接
続可能な単語全てを取り上げ、処理602乃至処理60
5を繰り返す。
されている得点部分系列(の最後尾の単語)の後方に接
続可能な単語全てを取り上げ、処理602乃至処理60
5を繰り返す。
【0047】処理602では、処理306で取り出され
ている得点部分系列(の最後尾の単語)に接続可能な単
語を処理601で全て取り上げ終えたとき、処理601
のループを終了する。
ている得点部分系列(の最後尾の単語)に接続可能な単
語を処理601で全て取り上げ終えたとき、処理601
のループを終了する。
【0048】処理603では、単語以下Nベスト記憶部
108を参照しながら、処理306で取り出されている
得点部分系列に、処理601で取り上げている単語から
始まる半系列のうち(単語以下Nベスト抽出部107に
よって抽出されて単語以下Nベスト記憶部108に記憶
されている)得点が上位N位までの半系列(以降、単語
以下Nベスト系列と称する)を接続し、その接続後の半
系列と当該接続後の半系列の得点とを、得点部分系列以
下Nベスト記憶部104に記憶(追加記憶)す。これに
より得点部分系列以下Nベスト記憶部104には、前の
段階(での詳細を後述する処理605)で残された半系
列(及びその得点)と、今回新たに記憶された半系列
(及びその得点)とが存在することになる。
108を参照しながら、処理306で取り出されている
得点部分系列に、処理601で取り上げている単語から
始まる半系列のうち(単語以下Nベスト抽出部107に
よって抽出されて単語以下Nベスト記憶部108に記憶
されている)得点が上位N位までの半系列(以降、単語
以下Nベスト系列と称する)を接続し、その接続後の半
系列と当該接続後の半系列の得点とを、得点部分系列以
下Nベスト記憶部104に記憶(追加記憶)す。これに
より得点部分系列以下Nベスト記憶部104には、前の
段階(での詳細を後述する処理605)で残された半系
列(及びその得点)と、今回新たに記憶された半系列
(及びその得点)とが存在することになる。
【0049】処理604では、得点部分系列以下Nベス
ト記憶部104に記憶されている半系列を得点の昇順で
ソートする。ここでは、処理603でつなげられた半系
列としての得点でソートする。
ト記憶部104に記憶されている半系列を得点の昇順で
ソートする。ここでは、処理603でつなげられた半系
列としての得点でソートする。
【0050】処理605では、処理604でのソートの
結果、得点部分系列以下Nベスト記憶部104に記憶さ
れている半系列のうち、得点が上位N位までの半系列を
残し、それ以外の半系列を当該記憶部104から削除す
る。これにより得点部分系列以下Nベスト記憶部104
には、処理306で取り出されている得点部分系列から
始まる全ての半系列のうち、得点が上位N位までのもの
が登録されることになる。
結果、得点部分系列以下Nベスト記憶部104に記憶さ
れている半系列のうち、得点が上位N位までの半系列を
残し、それ以外の半系列を当該記憶部104から削除す
る。これにより得点部分系列以下Nベスト記憶部104
には、処理306で取り出されている得点部分系列から
始まる全ての半系列のうち、得点が上位N位までのもの
が登録されることになる。
【0051】再び図5を参照すると、処理502では、
処理503乃至処理510を繰り返す。処理503で
は、得点部分系列取得部102を参照して、処理306
で取り出されている得点部分系列に接続可能な得点部分
系列を1つずつ抽出する。ここで「(得点)部分系列に
接続可能な(得点)部分系列」とは、一方の部分系列の
後方部に一致する前方部を有する部分系列をいう。
処理503乃至処理510を繰り返す。処理503で
は、得点部分系列取得部102を参照して、処理306
で取り出されている得点部分系列に接続可能な得点部分
系列を1つずつ抽出する。ここで「(得点)部分系列に
接続可能な(得点)部分系列」とは、一方の部分系列の
後方部に一致する前方部を有する部分系列をいう。
【0052】これを、図7に示した単語番号が付与され
た単語ネットワークの例を参照して説明する。図7の単
語ネットワーク上で、部分系列(No.1−No.3−No.7
−No.9)と部分系列(No.7−No.9−No.12)とは、
前者の後方部(−No.7−No.9)と後者の前方部(No.
7−No.9−)が一致するので接続可能である。また、
部分系列(No.1−No.3−No.7−No.9−No.13)と
部分系列(No.7−No.9−No.12−No.14)とでは、
前者の後方部(−No.7−No.9−No.13)と後者の前
方部(No.7−No.9−No.12−)のように食い違いが
生じるので接続可能ではない。
た単語ネットワークの例を参照して説明する。図7の単
語ネットワーク上で、部分系列(No.1−No.3−No.7
−No.9)と部分系列(No.7−No.9−No.12)とは、
前者の後方部(−No.7−No.9)と後者の前方部(No.
7−No.9−)が一致するので接続可能である。また、
部分系列(No.1−No.3−No.7−No.9−No.13)と
部分系列(No.7−No.9−No.12−No.14)とでは、
前者の後方部(−No.7−No.9−No.13)と後者の前
方部(No.7−No.9−No.12−)のように食い違いが
生じるので接続可能ではない。
【0053】ここで、上記処理503、即ち処理306
で取り出されている得点部分系列に接続可能な得点部分
系列を1つずつ抽出する処理503の詳細な処理の流れ
について、図8のアルゴリズムチャートを参照して説明
する。
で取り出されている得点部分系列に接続可能な得点部分
系列を1つずつ抽出する処理503の詳細な処理の流れ
について、図8のアルゴリズムチャートを参照して説明
する。
【0054】処理801では、処理502のループが初
回であるとき、処理802乃至処理807を行う。処理
802では、静的変数tctを0に初期化する。処理8
03のループは、処理306で取り出されている得点部
分列の先頭単語の次の単語、つまり2番目の単語から順
に最後尾の単語まで1つずつ取り上げて、処理804乃
至処理807を繰り返す。
回であるとき、処理802乃至処理807を行う。処理
802では、静的変数tctを0に初期化する。処理8
03のループは、処理306で取り出されている得点部
分列の先頭単語の次の単語、つまり2番目の単語から順
に最後尾の単語まで1つずつ取り上げて、処理804乃
至処理807を繰り返す。
【0055】この処理803の例として、図7に示した
単語ネットワークを対象にしている場合について説明す
る。今、処理303で、No.5の単語を取り出し、処理
306では得点部分系列として(No.5−No.7−No.1
0−No.12)を取り出しているとする。この場合、処
理803のループでは、得点部分系列の2番目の単語で
あるNo.7の単語から始めて、以下、No.10→No.12
の順に1つずつ単語を取り出す。
単語ネットワークを対象にしている場合について説明す
る。今、処理303で、No.5の単語を取り出し、処理
306では得点部分系列として(No.5−No.7−No.1
0−No.12)を取り出しているとする。この場合、処
理803のループでは、得点部分系列の2番目の単語で
あるNo.7の単語から始めて、以下、No.10→No.12
の順に1つずつ単語を取り出す。
【0056】処理804では、得点部分系列の2番目の
単語から初めて最後の単語まで全て取り上げたとき、処
理803のループを抜ける。処理805では、処理80
3で取り上げている単語から始まる得点部分系列を1つ
ずつ取り上げる。処理806では、処理306で取り出
されている得点部分系列と接続可能な得点部分系列が全
て取り上げ終わったら、処理805のループを抜ける。
単語から初めて最後の単語まで全て取り上げたとき、処
理803のループを抜ける。処理805では、処理80
3で取り上げている単語から始まる得点部分系列を1つ
ずつ取り上げる。処理806では、処理306で取り出
されている得点部分系列と接続可能な得点部分系列が全
て取り上げ終わったら、処理805のループを抜ける。
【0057】処理807では、処理805で取り上げて
いる得点部分系列が処理306で取り出されている得点
部分系列に接続可能か否かを調べ、もし接続可能な場
合、その得点部分系列(処理805で取り上げている得
点部分系列)を記憶する。
いる得点部分系列が処理306で取り出されている得点
部分系列に接続可能か否かを調べ、もし接続可能な場
合、その得点部分系列(処理805で取り上げている得
点部分系列)を記憶する。
【0058】処理808では、処理806で記憶された
得点部分系列のうち変数tct番目の得点部分系列を取
り出す。処理809では、変数tctであるカウンタを
1つインクリメントする。
得点部分系列のうち変数tct番目の得点部分系列を取
り出す。処理809では、変数tctであるカウンタを
1つインクリメントする。
【0059】以上、処理503の詳細について述べた。
この処理503を要約すると、当該処理503のループ
の初回に、処理306で取り出されている得点部分系列
に接続可能な得点部分系列を全て抽出して記憶してお
き、ループを繰り返すたびに1つずつ呼び出す(全て呼
び出した場合は終了を返す)アルゴリズムとなってい
る。
この処理503を要約すると、当該処理503のループ
の初回に、処理306で取り出されている得点部分系列
に接続可能な得点部分系列を全て抽出して記憶してお
き、ループを繰り返すたびに1つずつ呼び出す(全て呼
び出した場合は終了を返す)アルゴリズムとなってい
る。
【0060】さて、処理503の次の処理504では、
処理306で取り出されている得点部分系列に接続可能
な得点部分系列が処理503で全て取り上げられたら、
ループを抜ける。
処理306で取り出されている得点部分系列に接続可能
な得点部分系列が処理503で全て取り上げられたら、
ループを抜ける。
【0061】処理505では、処理502で取り上げた
得点部分系列から始まる半系列のうち、(得点部分系列
以下Nベスト記憶部104を参照して得られる)得点が
上位N位までのものを、処理306で取り出されている
得点部分系列に接続する。そして、この接続後の半系列
と、この時点で得点部分系列以下Nベスト記憶部104
に記憶されている、処理306で取り出されている得点
部分系列から始まる得点が上位N位までの半系列(得点
部分系列以下Nベスト系列)との2N個の半系列の中か
ら、得点が上位N位までのものを、得点部分系列以下N
ベスト記憶部104に残す。
得点部分系列から始まる半系列のうち、(得点部分系列
以下Nベスト記憶部104を参照して得られる)得点が
上位N位までのものを、処理306で取り出されている
得点部分系列に接続する。そして、この接続後の半系列
と、この時点で得点部分系列以下Nベスト記憶部104
に記憶されている、処理306で取り出されている得点
部分系列から始まる得点が上位N位までの半系列(得点
部分系列以下Nベスト系列)との2N個の半系列の中か
ら、得点が上位N位までのものを、得点部分系列以下N
ベスト記憶部104に残す。
【0062】上記処理505及び詳細を後述する処理5
10を繰り返し、処理502のループが終了した時点
で、処理306で取り出されている得点部分列から始ま
る半系列の中で得点が上位N位までのものが、得点部分
系列以下Nベスト記憶部104に残ることになる。ここ
では、処理505及び処理510のたびに、既に得点部
分系列以下Nベスト記憶部104に記憶されているその
時点での、(処理306で取り出されている得点部分列
から始まる半系列の中で得点が)上位N位の半系列(得
点部分系列以下Nベスト系列)と得点による勝ち抜き戦
を行い、その結果の上位N位を得点部分系列以下Nベス
ト記憶部104に登録して残す手法が適用される。
10を繰り返し、処理502のループが終了した時点
で、処理306で取り出されている得点部分列から始ま
る半系列の中で得点が上位N位までのものが、得点部分
系列以下Nベスト記憶部104に残ることになる。ここ
では、処理505及び処理510のたびに、既に得点部
分系列以下Nベスト記憶部104に記憶されているその
時点での、(処理306で取り出されている得点部分列
から始まる半系列の中で得点が)上位N位の半系列(得
点部分系列以下Nベスト系列)と得点による勝ち抜き戦
を行い、その結果の上位N位を得点部分系列以下Nベス
ト記憶部104に登録して残す手法が適用される。
【0063】ここで、得点部分系列以下Nベスト記憶部
104の記憶データ構造について図9を参照して説明す
る。同図に示すように、得点部分系列以下Nベスト記憶
部104は、リスト#1、リスト#2及びリスト#3の
3種のリストからなる記憶データ構造を有している。リ
スト#1は、各単語番号の単語から始まる得点部分系列
(リスト#2)へのポインタの登録リストである。リス
ト#2は、各単語番号の単語から始まる得点部分系列の
リストと、当該得点部分系列から始まる半系列の中で得
点が上位N位までに入る半系列(リスト#3)へのポイ
ンタのリストである。リスト#3は各得点部分系列から
始まる半系列の中で得点が上位N位までに入る半系列、
即ち得点部分系列以下Nベスト系列のリストである。リ
スト#3には半系列の得点が併せて記憶される。
104の記憶データ構造について図9を参照して説明す
る。同図に示すように、得点部分系列以下Nベスト記憶
部104は、リスト#1、リスト#2及びリスト#3の
3種のリストからなる記憶データ構造を有している。リ
スト#1は、各単語番号の単語から始まる得点部分系列
(リスト#2)へのポインタの登録リストである。リス
ト#2は、各単語番号の単語から始まる得点部分系列の
リストと、当該得点部分系列から始まる半系列の中で得
点が上位N位までに入る半系列(リスト#3)へのポイ
ンタのリストである。リスト#3は各得点部分系列から
始まる半系列の中で得点が上位N位までに入る半系列、
即ち得点部分系列以下Nベスト系列のリストである。リ
スト#3には半系列の得点が併せて記憶される。
【0064】したがって、単語番号から図9の構造のリ
ストをポインタに従ってたどることで、対応する単語か
ら始まる得点部分系列、更には当該得点部分系列から始
まる半系列の中で得点が上位N位までに入る半系列を参
照することができる。
ストをポインタに従ってたどることで、対応する単語か
ら始まる得点部分系列、更には当該得点部分系列から始
まる半系列の中で得点が上位N位までに入る半系列を参
照することができる。
【0065】処理506では、処理503で取り上げて
いる得点部分系列の得点がマイナスであるか否かが調べ
られる。マイナスであれば処理507のループに進み、
マイナスでなければ処理502のループに戻る。
いる得点部分系列の得点がマイナスであるか否かが調べ
られる。マイナスであれば処理507のループに進み、
マイナスでなければ処理502のループに戻る。
【0066】処理507では、処理508乃至処理51
0を繰り返す。処理508では、処理503で取り上げ
ている得点部分系列(ループの初回)、または(前回の
処理508で作られた)マイナス小部分系列(ループの
2回目以降)の最後尾の単語を削除したマイナス小部分
系列を作る。
0を繰り返す。処理508では、処理503で取り上げ
ている得点部分系列(ループの初回)、または(前回の
処理508で作られた)マイナス小部分系列(ループの
2回目以降)の最後尾の単語を削除したマイナス小部分
系列を作る。
【0067】処理509では、処理508にて新たにマ
イナス小部分系列が作成できない場合、即ち2単語から
なるマイナス小部分系列まで進み、それ以上短くならな
い場合、処理507のループを抜ける。
イナス小部分系列が作成できない場合、即ち2単語から
なるマイナス小部分系列まで進み、それ以上短くならな
い場合、処理507のループを抜ける。
【0068】処理510では、処理508で作られたマ
イナス小部分系列から始まる半系列のうち(マイナス小
部分系列以下Nベスト記憶部106を参照して得られ
る)得点が上位N位までのものを、処理306で取り出
されている得点部分系列に接続する。そして、この接続
後の半系列と、この時点でマイナス小部分系列以下Nベ
スト記憶部106に記憶されている、処理306で取り
出されている得点部分系列から始まる得点が上位N位ま
での半系列(得点部分系列以下Nベスト系列)との2N
個の半系列の中から、得点が上位N位までのものを、得
点部分系列以下Nベスト記憶部104に残す。以上、処
理308の詳細について説明した。
イナス小部分系列から始まる半系列のうち(マイナス小
部分系列以下Nベスト記憶部106を参照して得られ
る)得点が上位N位までのものを、処理306で取り出
されている得点部分系列に接続する。そして、この接続
後の半系列と、この時点でマイナス小部分系列以下Nベ
スト記憶部106に記憶されている、処理306で取り
出されている得点部分系列から始まる得点が上位N位ま
での半系列(得点部分系列以下Nベスト系列)との2N
個の半系列の中から、得点が上位N位までのものを、得
点部分系列以下Nベスト記憶部104に残す。以上、処
理308の詳細について説明した。
【0069】ところで、処理305のループが終った時
点では、処理303で取り上げた単語を先頭とする処理
306で取り出されている各得点部分系列について、そ
の得点部分系列から始まる全ての半系列のうち、その得
点が上部N位のもの(得点部分系列以下Nベスト系列)
は決まっている。これら上位N位までの半系列は、図8
に示した記憶データ構造の得点部分系列以下Nベスト記
憶部104に登録されている。
点では、処理303で取り上げた単語を先頭とする処理
306で取り出されている各得点部分系列について、そ
の得点部分系列から始まる全ての半系列のうち、その得
点が上部N位のもの(得点部分系列以下Nベスト系列)
は決まっている。これら上位N位までの半系列は、図8
に示した記憶データ構造の得点部分系列以下Nベスト記
憶部104に登録されている。
【0070】さて、上記処理308に続く処理309で
は、処理306で取り出されている得点部分系列の得点
がマイナスであるか否かが調べられる。マイナスであれ
ば処理310に進み、マイナスでなければ処理305の
ループに戻る。
は、処理306で取り出されている得点部分系列の得点
がマイナスであるか否かが調べられる。マイナスであれ
ば処理310に進み、マイナスでなければ処理305の
ループに戻る。
【0071】処理310では、マイナス小部分系列から
始まる半系列のうち得点が上位N位までのもの(以降、
マイナス小部分系列以下Nベスト系列と呼ぶ)を求め
る。この処理310は主としてマイナス小部分系列以下
Nベスト抽出部105により行われる。
始まる半系列のうち得点が上位N位までのもの(以降、
マイナス小部分系列以下Nベスト系列と呼ぶ)を求め
る。この処理310は主としてマイナス小部分系列以下
Nベスト抽出部105により行われる。
【0072】以下、処理310の詳細な処理の流れにつ
いて、図10のアルゴリズムチャートを参照して説明す
る。処理1001は、処理1002乃至処理1013を
繰り返すループである。
いて、図10のアルゴリズムチャートを参照して説明す
る。処理1001は、処理1002乃至処理1013を
繰り返すループである。
【0073】処理1002では、処理306で取り出さ
れている得点部分系列(ループの初回)、またはマイナ
ス小部分系列(ループの2回目以降)の最後尾の単語を
削除したマイナス小部分系列を作る。
れている得点部分系列(ループの初回)、またはマイナ
ス小部分系列(ループの2回目以降)の最後尾の単語を
削除したマイナス小部分系列を作る。
【0074】処理1003では、処理1002にて新た
にマイナス小部分系列が作成できない場合、即ち小部分
系列がそれ以上短くならない場合、処理1001のルー
プを抜ける。
にマイナス小部分系列が作成できない場合、即ち小部分
系列がそれ以上短くならない場合、処理1001のルー
プを抜ける。
【0075】処理1004乃至処理1013は、図5中
の処理501乃至処理510と同様な処理の流れとなる
ため説明を省略する。但し、処理1004、処理100
8及び処理1013での上位N位(マイナス小部分系列
以下Nベスト系列)の登録はマイナス小部分系列以下N
ベスト記憶部106に対して行われる。ここでは、処理
1008及び処理1013のたびに、既にマイナス小部
分系列以下Nベスト記憶部106に記憶されているその
時点での、(処理306で取り出されている得点がマイ
ナスの得点部分列に基づいて作成されたマイナス小部分
系列から始まる半系列の中で得点が)上位N位の半系列
(マイナス小部分系列以下Nベスト系列)と得点による
勝ち抜き戦を行い、その結果の上位N位をマイナス小部
分系列以下Nベスト記憶部106に登録して残す手法が
適用される。このマイナス小部分系列以下Nベスト記憶
部106の記憶データ構造も、図9に示した得点部分系
列以下Nベスト記憶部104と同様の構造である。以
上、処理310の詳細について説明した。
の処理501乃至処理510と同様な処理の流れとなる
ため説明を省略する。但し、処理1004、処理100
8及び処理1013での上位N位(マイナス小部分系列
以下Nベスト系列)の登録はマイナス小部分系列以下N
ベスト記憶部106に対して行われる。ここでは、処理
1008及び処理1013のたびに、既にマイナス小部
分系列以下Nベスト記憶部106に記憶されているその
時点での、(処理306で取り出されている得点がマイ
ナスの得点部分列に基づいて作成されたマイナス小部分
系列から始まる半系列の中で得点が)上位N位の半系列
(マイナス小部分系列以下Nベスト系列)と得点による
勝ち抜き戦を行い、その結果の上位N位をマイナス小部
分系列以下Nベスト記憶部106に登録して残す手法が
適用される。このマイナス小部分系列以下Nベスト記憶
部106の記憶データ構造も、図9に示した得点部分系
列以下Nベスト記憶部104と同様の構造である。以
上、処理310の詳細について説明した。
【0076】さて、処理311では、処理303で取り
上げている単語から始まる半系列のうち得点が上位N位
までのもの(単語以下Nベスト系列)を求める。この処
理311は主として単語以下Nベスト抽出部107によ
り行われる。
上げている単語から始まる半系列のうち得点が上位N位
までのもの(単語以下Nベスト系列)を求める。この処
理311は主として単語以下Nベスト抽出部107によ
り行われる。
【0077】以下、処理311の詳細な処理の流れにつ
いて、図11のアルゴリズムチャートを参照して説明す
る。処理1101では、処理303で取り上げている単
語に接続可能な単語を1つずつ取り出し、処理1102
乃至処理1108を繰り返す。処理1102では、処理
303で取り上げている単語に接続可能な単語が全て取
り出し終えた場合、処理1101のループを終了する。
いて、図11のアルゴリズムチャートを参照して説明す
る。処理1101では、処理303で取り上げている単
語に接続可能な単語を1つずつ取り出し、処理1102
乃至処理1108を繰り返す。処理1102では、処理
303で取り上げている単語に接続可能な単語が全て取
り出し終えた場合、処理1101のループを終了する。
【0078】処理1103では、処理1101のループ
の初回である場合に、処理1108で半系列とその評価
得点の情報の登録(処理303で取り上げている単語か
ら始まる半系列の得点が上位N位までのもの、つまり単
語以下Nベスト系列の登録)に用いる所定のメモリ領域
(図示せず)をゼロクリアする。このメモリ領域は単語
以下Nベスト記憶部108の一部の特定領域を割り当て
ても構わない。
の初回である場合に、処理1108で半系列とその評価
得点の情報の登録(処理303で取り上げている単語か
ら始まる半系列の得点が上位N位までのもの、つまり単
語以下Nベスト系列の登録)に用いる所定のメモリ領域
(図示せず)をゼロクリアする。このメモリ領域は単語
以下Nベスト記憶部108の一部の特定領域を割り当て
ても構わない。
【0079】処理1104では、処理1101で取り出
されている単語から始まる半系列のうち、得点が上位N
位までのものを、単語以下Nベスト記憶部108を参照
しながら1つずつ取り出す。ここで、処理1101で取
り出されている単語(即ち処理303で取り上げている
単語に接続可能な単語)から始まる半系列の得点が上位
N位までのものは、当該単語が処理303で取り上げら
れた際の処理で単語以下Nベスト記憶部108に登録さ
れていることに注意されたい。
されている単語から始まる半系列のうち、得点が上位N
位までのものを、単語以下Nベスト記憶部108を参照
しながら1つずつ取り出す。ここで、処理1101で取
り出されている単語(即ち処理303で取り上げている
単語に接続可能な単語)から始まる半系列の得点が上位
N位までのものは、当該単語が処理303で取り上げら
れた際の処理で単語以下Nベスト記憶部108に登録さ
れていることに注意されたい。
【0080】処理1105では、処理1101で取り出
されている単語から始まる半系列のうち、得点が上位N
位までのものを、処理1104にて全て取り出し終えた
なら、当該処理1104のループを終了する。
されている単語から始まる半系列のうち、得点が上位N
位までのものを、処理1104にて全て取り出し終えた
なら、当該処理1104のループを終了する。
【0081】処理1106では、処理303で取り上げ
ている単語に処理1104で取り出した半系列を接続し
て、その接続後の半系列の総得点を計算し、その半系列
と得点の情報とを、処理1101のループの初回でゼロ
クリアされた、上記所定メモリ領域に追加登録する。こ
れにより、この所定メモリ領域には、ループの2回目以
降の処理1106の終了時には、前回の処理で残された
得点が上位N位までの(処理303で取り上げている単
語から始まる)半系列と、今回追加登録されたN個の
(処理303で取り上げている単語から始まる)半系列
との2N個が存在することになる。
ている単語に処理1104で取り出した半系列を接続し
て、その接続後の半系列の総得点を計算し、その半系列
と得点の情報とを、処理1101のループの初回でゼロ
クリアされた、上記所定メモリ領域に追加登録する。こ
れにより、この所定メモリ領域には、ループの2回目以
降の処理1106の終了時には、前回の処理で残された
得点が上位N位までの(処理303で取り上げている単
語から始まる)半系列と、今回追加登録されたN個の
(処理303で取り上げている単語から始まる)半系列
との2N個が存在することになる。
【0082】処理1107では、上記所定メモリ領域に
登録されている半系列を得点順にソートする。処理11
08では、処理1107でソートされた半系列のうち、
得点が上位N位までのものを残し他は削除する(但し、
処理1101のループの初回では、削除されるものはな
い)。
登録されている半系列を得点順にソートする。処理11
08では、処理1107でソートされた半系列のうち、
得点が上位N位までのものを残し他は削除する(但し、
処理1101のループの初回では、削除されるものはな
い)。
【0083】処理1109では、処理303で取り上げ
ている単語を先頭とする得点部分系列、及びマイナス小
部分系列を1つずつ取り出し、処理1110乃至処理1
115を繰り返す。
ている単語を先頭とする得点部分系列、及びマイナス小
部分系列を1つずつ取り出し、処理1110乃至処理1
115を繰り返す。
【0084】処理1110では、処理303で取り上げ
ている単語を先頭とする得点部分系列及びマイナス小部
分系列が全て取り出し終えた場合、処理1109のルー
プを終了する。
ている単語を先頭とする得点部分系列及びマイナス小部
分系列が全て取り出し終えた場合、処理1109のルー
プを終了する。
【0085】処理1111では、処理1109で取り上
げている単語を先頭とする得点部分系列から始まる半系
列及び同じくマイナス小部分系列から始まる半系列のそ
れぞれについて、得点が上位N位までの半系列を、前者
(得点部分系列から始まる半系列)は得点部分系列以下
Nベスト記憶部104から、後者(マイナス小部分系列
から始まる半系列)はマイナス小部分系列以下Nベスト
記憶部106から、1つずつ取り出す。
げている単語を先頭とする得点部分系列から始まる半系
列及び同じくマイナス小部分系列から始まる半系列のそ
れぞれについて、得点が上位N位までの半系列を、前者
(得点部分系列から始まる半系列)は得点部分系列以下
Nベスト記憶部104から、後者(マイナス小部分系列
から始まる半系列)はマイナス小部分系列以下Nベスト
記憶部106から、1つずつ取り出す。
【0086】処理1112では、処理1109で取り上
げている得点部分系列及びマイナス小部分系列から始ま
る半系列のうち、得点が上位N位までの半系列を全て取
り上げ終えたなら、処理1111のループを終了する。
げている得点部分系列及びマイナス小部分系列から始ま
る半系列のうち、得点が上位N位までの半系列を全て取
り上げ終えたなら、処理1111のループを終了する。
【0087】処理1113では、処理303で取り上げ
ている単語に処理1111で取り出した半系列を接続し
て、その接続後の半系列の総得点を計算し、その半系列
と得点の情報とを、上記所定メモリ領域に追加登録す
る。
ている単語に処理1111で取り出した半系列を接続し
て、その接続後の半系列の総得点を計算し、その半系列
と得点の情報とを、上記所定メモリ領域に追加登録す
る。
【0088】処理1114では、上記所定メモリ領域に
登録されている半系列を得点順にソートする。処理11
15では、処理1114でソートされた半系列のうち、
得点が上位N位までのものを残し他は削除する。
登録されている半系列を得点順にソートする。処理11
15では、処理1114でソートされた半系列のうち、
得点が上位N位までのものを残し他は削除する。
【0089】処理1116では、現在上記所定メモリ領
域に残されている、得点が上位N位までの半系列を、単
語以下Nベスト記憶部108に登録する。以上、図3中
の処理311の詳細について述べた。
域に残されている、得点が上位N位までの半系列を、単
語以下Nベスト記憶部108に登録する。以上、図3中
の処理311の詳細について述べた。
【0090】これにより、上記処理311を含む図3中
の処理303のループが終了して、処理312に入る段
階では、単語以下Nベスト記憶部108には、文頭単語
を先頭とする半系列、つまり系列(単語系列)のうち、
評価得点が上位N位までのものが登録されていることに
なる。
の処理303のループが終了して、処理312に入る段
階では、単語以下Nベスト記憶部108には、文頭単語
を先頭とする半系列、つまり系列(単語系列)のうち、
評価得点が上位N位までのものが登録されていることに
なる。
【0091】よって、処理312では、単語以下Nベス
ト記憶部108に登録されている、文頭単語を先頭とす
る系列(単語系列)の評価得点上位N位までのもの(つ
まり文頭単語を先頭とする単語以下Nベスト系列)を、
Nベスト系列出力部110により出力することができ
る。これらが形態素解析の結果として得られる目的の系
列となる。
ト記憶部108に登録されている、文頭単語を先頭とす
る系列(単語系列)の評価得点上位N位までのもの(つ
まり文頭単語を先頭とする単語以下Nベスト系列)を、
Nベスト系列出力部110により出力することができ
る。これらが形態素解析の結果として得られる目的の系
列となる。
【0092】
【発明の効果】以上詳述したように本発明によれば、形
態素である単語と各単語間の接続関係の情報とからなる
単語ネットワークを展開して得られる単語系列の中から
日本語文字列としてより確からしい単語系列を選択して
形態素解析の結果として出力するのに必要な、評価のた
めの得点ルールとして、日本語としてより確からしい複
数の特定の単語の並びを持つ評価対象ほど高いプラス得
点を与えるプラス得点ルールに加えて、日本語としての
確からしさに欠ける複数の特定の単語の並びに着目し
て、この特定の単語の並びを持つ評価対象にマイナスの
得点を与えるマイナス得点ルールを適用するようにした
ので、この評価対象を排除するのに、1つのマイナス得
点ルールで複数のプラス得点ルールを代用でき、必要な
得点ルールの総数を減らして、処理速度を向上すること
ができる。
態素である単語と各単語間の接続関係の情報とからなる
単語ネットワークを展開して得られる単語系列の中から
日本語文字列としてより確からしい単語系列を選択して
形態素解析の結果として出力するのに必要な、評価のた
めの得点ルールとして、日本語としてより確からしい複
数の特定の単語の並びを持つ評価対象ほど高いプラス得
点を与えるプラス得点ルールに加えて、日本語としての
確からしさに欠ける複数の特定の単語の並びに着目し
て、この特定の単語の並びを持つ評価対象にマイナスの
得点を与えるマイナス得点ルールを適用するようにした
ので、この評価対象を排除するのに、1つのマイナス得
点ルールで複数のプラス得点ルールを代用でき、必要な
得点ルールの総数を減らして、処理速度を向上すること
ができる。
【0093】また本発明によれば、単語ネットワークを
展開する途中の各段階で、最終的に上位N位までに残る
可能性のあるもののみに限定して展開していくことで、
展開する系列の数を減らし、しかも単語系列の評価得点
を、複数の単語の接続に対して、それらの単語が連続し
て現われることの日本語としての確からしさを根拠に定
めたプラスまたはマイナスの数で表される得点を加算し
ていくことで与えるようにしたので、全ての単語系列に
対して評価を行うことなく、効率良く日本語として正し
い組み合わせを抽出でき、高速な形態素解析が実現でき
る。
展開する途中の各段階で、最終的に上位N位までに残る
可能性のあるもののみに限定して展開していくことで、
展開する系列の数を減らし、しかも単語系列の評価得点
を、複数の単語の接続に対して、それらの単語が連続し
て現われることの日本語としての確からしさを根拠に定
めたプラスまたはマイナスの数で表される得点を加算し
ていくことで与えるようにしたので、全ての単語系列に
対して評価を行うことなく、効率良く日本語として正し
い組み合わせを抽出でき、高速な形態素解析が実現でき
る。
【図1】本発明の一実施形態に係る形態素解析装置の構
成を示すのブロック図。
成を示すのブロック図。
【図2】単語ネットワークの一例を示す図。
【図3】同実施形態で適用される形態素解析処理の全体
の処理の流れを説明するためのアルゴリズムチャート。
の処理の流れを説明するためのアルゴリズムチャート。
【図4】同実施形態で適用される得点ルールの一例を示
す図。
す図。
【図5】図3中の処理308の詳細な処理の流れを説明
するためのアルゴリズムチャート。
するためのアルゴリズムチャート。
【図6】図5中の処理501の詳細な処理の流れを説明
するためのアルゴリズムチャート。
するためのアルゴリズムチャート。
【図7】単語ネットワークを構成する各単語に対するナ
ンバリングを説明するための図。
ンバリングを説明するための図。
【図8】図5中の処理503の詳細な処理の流れを説明
するためのアルゴリズムチャート。
するためのアルゴリズムチャート。
【図9】図1中の得点部分系列以下Nベスト記憶部10
4の記憶データ構造の一例を示す図。
4の記憶データ構造の一例を示す図。
【図10】図3中の処理310の詳細な処理の流れを説
明するためのアルゴリズムチャート。
明するためのアルゴリズムチャート。
【図11】図3中の処理311の詳細な処理の流れを説
明するためのアルゴリズムチャート。
明するためのアルゴリズムチャート。
101…単語ネットワーク入手部 102…得点部分系列取得部(評価得点取得手段、得点
部分系列取得手段) 102a…得点ルール記憶部 103…得点部分系列以下Nベスト抽出部(選択・出力
手段、第1の抽出手段) 104…得点部分系列以下Nベスト記憶部(第1の記憶
手段) 105…マイナス小部分系列以下Nベスト抽出部(選択
・出力手段、第2の抽出手段) 106…マイナス小部分系列以下Nベスト記憶部(第2
の記憶手段) 107…単語以下Nベスト抽出部(選択・出力手段、第
3の抽出手段) 108…単語以下Nベスト記憶部(第3の記憶手段) 109…Nベスト判定順序制御部(順序制御手段) 110…Nベスト系列出力部(選択・出力手段、出力手
段)
部分系列取得手段) 102a…得点ルール記憶部 103…得点部分系列以下Nベスト抽出部(選択・出力
手段、第1の抽出手段) 104…得点部分系列以下Nベスト記憶部(第1の記憶
手段) 105…マイナス小部分系列以下Nベスト抽出部(選択
・出力手段、第2の抽出手段) 106…マイナス小部分系列以下Nベスト記憶部(第2
の記憶手段) 107…単語以下Nベスト抽出部(選択・出力手段、第
3の抽出手段) 108…単語以下Nベスト記憶部(第3の記憶手段) 109…Nベスト判定順序制御部(順序制御手段) 110…Nベスト系列出力部(選択・出力手段、出力手
段)
Claims (2)
- 【請求項1】 単語と各単語間の接続関係の情報とから
なる単語ネットワークを展開して得られる単語系列に対
し、単語のつながりに関する得点ルールに従って得点付
けをして評価得点を取得する評価得点取得手段と、 前記評価得点取得手段によって取得された評価得点の高
い単語系列を選択して形態素解析の結果として出力する
選択・出力手段と、 前記評価得点取得手段よる得点付けに用いられる前記得
点ルールの群であって、より確からしい複数の特定の単
語の並びを持つ評価対象ほど高いプラス得点を与えるプ
ラス得点ルールの群と、確かさに欠ける排除すべき複数
の特定の単語の並びを持つ評価対象にマイナス得点を与
えるマイナス得点ルールの群とが記憶された得点ルール
記憶手段とを具備することを特徴とする形態素解析装
置。 - 【請求項2】 形態素解析対象文字列から単語と各単語
間の接続関係の情報とを含む単語ネットワークを入手す
る単語ネットワーク入手手段と、 より確からしい複数の特定の単語の並びを持つ評価対象
ほど高いプラス得点を与えるプラス得点ルールの群と、
確かさに欠ける排除すべき複数の特定の単語の並びを持
つ評価対象にマイナス得点を与えるマイナス得点ルール
の群とが記憶された得点ルール記憶手段と、 前記単語ネットワーク中のある単語から始まる単語のつ
ながりを得点部分系列として抽出し、当該得点部分系列
を評価対象として当該得点部分系列に、前記得点ルール
記憶手段に記憶されている該当する得点ルールに従って
プラスまたはマイナスの数で表される所定の得点を与え
る得点部分系列取得手段と、 前記得点を与えられた得点部分系列から始まり前記単語
ネットワークの最後尾につながる1つの単語列を第1の
半系列とする個々の第1の半系列のうち、当該第1の半
系列に含まれる全ての得点部分系列の和で示される当該
第1の半系列の評価得点が上位N位までの第1の半系列
を記憶する第1の記憶手段と、 前記得点を与えられた得点部分系列でマイナスの得点の
得点部分系列を対象に、当該得点部分系列の最後尾の単
語から1単語単位で削除することで生成される各単語系
列をマイナス小部分系列として、当該各マイナス小部分
系列から始まり前記単語ネットワークの最後尾につなが
る1つの単語列を第2の半系列とする個々の第2の半系
列のうち、当該第2の半系列に含まれる全ての得点部分
系列の和で示される当該第2の半系列の評価得点が上位
N位までの第2の半系列を、対応する前記マイナス小部
分系列毎に記憶する第2の記憶手段と、 前記単語ネットワーク中のある単語から始まり前記単語
ネットワークの最後尾につながる1つの単語列を第3の
半系列とする個々の第3の半系列のうち、当該第3の半
系列に含まれる全ての得点部分系列の和で示される当該
第3の半系列の評価得点が上位N位までの第3の半系列
を記憶する第3の記憶手段と、 前記単語ネットワーク中のある単語を先頭とする得点部
分系列から始まる第1の半系列で評価得点が上位N位ま
での第1の半系列を、当該得点部分系列の最後尾の単語
から始まる第3の半系列であって、前記第3の記憶手段
に記憶されている第3の半系列と、当該得点部分系列に
接続可能な得点部分系列から始まる第1の半系列であっ
て、前記第1の記憶手段に記憶されている第1の半系列
と、当該得点部分系列に接続可能なマイナス小部分系列
から始まる第2の半系列であって、前記第2の記憶手段
に記憶されている第2の半系列とからなる集合の中から
抽出する第1の抽出手段と、 前記単語ネットワーク中のある単語を先頭とするマイナ
ス小部分系列から始まる第1の半系列で評価得点が上位
N位までの第1の半系列を、当該マイナス小部分系列の
最後尾の単語から始まる第3の半系列であって、前記第
3の記憶手段に記憶されている第3の半系列と、当該マ
イナス小部分系列に接続可能な得点部分系列から始まる
第1の半系列であって、前記第1の記憶手段に記憶され
ている第1の半系列と、当該マイナス小部分系列に接続
可能な別のマイナス小部分系列から始まる第2の半系列
であって、前記第2の記憶手段に記憶されている第2の
半系列とからなる集合の中から抽出する第2の抽出手段
と、 前記単語ネットワーク中のある単語から始まる第3の半
系列で評価得点が上位N位までの第3の半系列を、当該
単語に接続可能な別の単語から始まる第3の半系列であ
って、前記第3の記憶手段に記憶されている第3の半系
列と、当該単語から始まる第1の半系列であって、前記
第1の記憶手段に記憶されている第1の半系列と、当該
単語を先頭とするマイナス小部分系列から始まる第2の
半系列であって、前記第2の記憶手段に記憶されている
第2の半系列とからなる集合の中から抽出する第3の抽
出手段と、 前記第1の抽出手段と前記第2の抽出手段と前記第3の
抽出手段とによる抽出処理を前記単語ネットワーク中の
各単語について後方から前方に向けて再帰的に行うよう
に制御する順序制御手段と、 前記順序制御手段により前記単語ネットワークの文頭単
語まで前記抽出処理が行われた後の前記第3の記憶手段
の内容に従い、前記単語ネットワークの文頭単語から始
まり最後尾につながる系列で評価得点が上位N位までの
系列を形態素解析の結果として出力する出力手段とを具
備することを特徴とする形態素解析装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP37087799A JP2001184350A (ja) | 1999-12-27 | 1999-12-27 | 形態素解析装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP37087799A JP2001184350A (ja) | 1999-12-27 | 1999-12-27 | 形態素解析装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001184350A true JP2001184350A (ja) | 2001-07-06 |
Family
ID=18497756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP37087799A Pending JP2001184350A (ja) | 1999-12-27 | 1999-12-27 | 形態素解析装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001184350A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017049930A (ja) * | 2015-09-04 | 2017-03-09 | 株式会社東芝 | 文書解析装置、方法及びプログラム |
-
1999
- 1999-12-27 JP JP37087799A patent/JP2001184350A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017049930A (ja) * | 2015-09-04 | 2017-03-09 | 株式会社東芝 | 文書解析装置、方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5655129A (en) | Character-string retrieval system and method | |
JP4289715B2 (ja) | 音声認識装置及び音声認識方法並びにその方法に用いられる木構造辞書の作成方法 | |
JP3309174B2 (ja) | 文字認識方法及び装置 | |
JP4005477B2 (ja) | 固有表現抽出装置及び方法並びに固有表現抽出プログラム | |
JP2010128774A (ja) | 固有表現抽出装置、その方法およびプログラム | |
JP2001184350A (ja) | 形態素解析装置 | |
CN115244539B (zh) | 单词或词段词元化的推断方法 | |
JP3983000B2 (ja) | 複合語分割装置、及び日本語辞書作成装置 | |
JP4015661B2 (ja) | 固有表現抽出装置、方法、プログラム及びそれを記録した記録媒体 | |
JP7098463B2 (ja) | 単語列修正装置、単語列修正方法及びプログラム | |
CN1208901A (zh) | 汉语多音字的自动分析及处理的方法 | |
KR100484943B1 (ko) | 한국어 텍스트 상의 개체명 인식 방법 | |
JP2001043222A (ja) | 形態素解析装置、形態素解析方法、及び形態素解析プログラムを記録したコンピュータ読取り可能な記憶媒体 | |
JP3166629B2 (ja) | 辞書作成装置と語切り出し装置 | |
JP3628565B2 (ja) | 辞書検索方法、装置、および辞書検索プログラムを記録した記録媒体 | |
JPH08221254A (ja) | マージソート方法及びマージソート装置 | |
JP3291501B2 (ja) | ネットワーク作成装置およびそのネットワーク作成方法 | |
JP3873305B2 (ja) | 仮名漢字変換装置および仮名漢字変換方法 | |
JP3818154B2 (ja) | 音声認識方法 | |
JPH11250063A (ja) | 検索装置及び検索方法 | |
JP2005234800A (ja) | 用例機械翻訳装置及び用例翻訳コンピュータプログラム、並びに用例検索装置及び用例検索コンピュータプログラム | |
JP3035932B2 (ja) | 仮名漢字変換装置 | |
JPS60225273A (ja) | 単語検索方式 | |
JP3048101B2 (ja) | 形態素解析装置 | |
JPS62285189A (ja) | 文字認識後処理方式 |