(57)【要約】【課題】高い信頼性で未知文字列から単語を特定する技術を提供する。【解決手段】形態素解析用辞書を具備する形態素解析装置１は、文章に係る文章データを含む学習データを用いて、文章から１以上の文字から構成される文字列を抽出し、文章内において文字列の前後に出現する１以上の文字から構成される文字列の分布を集計した文字集計データを生成する文字列集計部１１０と、文字列集計部１１０によって生成された文字列集計データに基づいて、未知の文字列である未知文字列を２以上の単語に分割する際の境界を推定するとともに、境界にて未知文字列を分割した各単語を抽出する単語境界推定部２０と、単語境界推定部２０によって抽出された各単語の品詞を推定し、品詞属性を有する品詞付単語を生成する品詞推定部２０と、品詞推定部２０によって生成された品詞付単語を形態素解析用辞書に登録する辞書登録部３０とを備える【選択図】図１
2010224887.tif 000002
【特許請求の範囲】
【請求項１】
文章に係る文章データを含む学習データを用いて、前記文章から１以上の文字から構成される文字列を抽出し、前記文章内において前記文字列の前後に出現する１以上の文字から構成される文字列の分布を集計した文字集計データを生成する文字列集計部と、
前記文字列集計部によって生成された前記文字列集計データに基づいて、未知の文字列である未知文字列を２以上の単語に分割する際の境界を推定する単語境界推定部と
を備えることを特徴とする単語境界決定装置。
【請求項２】
前記文字列集計部は、
前記文章から抽出した文字列である抽出文字列と、前記抽出文字列の前後に出現する文字列である出現文字列とから構成される組別に、前記出現文字列の出現回数を集計し、前記組別の前記出現回数に基づいて、前記抽出文字列と前記出現文字列との結合の程度を示す結合度を前記組別に算出し、前記組別の前記結合度を前記文字列集計データとして生成する
ことを特徴とする請求項１に記載の単語境界決定装置。
【請求項３】
前記単語境界推定部は、
前記未知文字列の一部である部分文字列と前記未知文字列内において前記部分文字列の前後の文字列とから構成される組別の前記結合度を前記文字列集計データから取得し、前記結合度が所定の閾値以上であるときは前記部分文字列と前記部分文字列の前後の文字列との間に前記境界が存在しないと推定する一方、前記結合度が所定の閾値未満であるときは前記部分文字列と前記部分文字列の前後の文字列との間に前記境界が存在すると推定する
ことを特徴とする請求項１に記載の単語境界決定装置。
【請求項４】
前記単語境界推定部は、
前記未知文字列の一部である第１の部分文字列を要素とする第１の組の前記結合度、前記未知文字列の一部である部分文字列であって前記第１の部分文字列の末尾に１文字付加した第２の部分文字列を要素とする第２の組の前記結合度、前記第１の部分文字列の末尾の１文字が不足する第３の部分文字列を要素とする第３の組の前記結合度を前記文字列集計データから取得し、前記第１の組の前記結合度が、前記第２の組の前記結合度および前記第３の組の前記結合度よりも何れよりも所定の基準値を超えて小さいときは、前記第１の部分文字列と前記第１の部分文字列の後ろの文字列との間に境界が存在すると推定する
ことを特徴とする請求項１に記載の単語境界決定装置。
【請求項５】
識別器を構成するラベル付特徴量データを生成するための学習データを用いて、前記ラベル付特徴量データを生成するラベル生成部と、
前記ラベル生成部によって生成された前記ラベル付特徴量データと、未知の文字列である未知文字列から、未知文字列を２以上の単語に分割する際の境界を推定する単語境界推と
を備えることを特徴とする単語境界決定装置。
【請求項６】
形態素解析用辞書を用いて形態素解析をする形態素解析エンジンを具備する形態素解析装置であって、
文章に係る文章データを含む学習データを用いて、前記文章から１以上の文字から構成される文字列を抽出し、前記文章内において前記文字列の前後に出現する１以上の文字から構成される文字列の分布を集計した文字集計データを生成する文字列集計部と、
前記文字列集計部によって生成された前記文字列集計データに基づいて、未知の文字列である未知文字列を２以上の単語に分割する際の境界を推定するとともに、前記境界にて前記未知文字列を分割した各単語を抽出する単語境界推定部と、
前記単語境界推定部によって抽出された前記各単語の品詞を推定し、品詞属性を有する品詞付単語を生成する品詞推定部と、
前記品詞推定部によって生成された前記品詞付単語を前記形態素解析用辞書に登録する辞書登録部と
を備えることを特徴とする形態素解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、単語境界決定装置および形態素解析装置に関する。
【背景技術】
【０００２】
形態素解析において、単語として特定できない文字列（以降、「未知文字列」と呼ぶ）が出力されることが多い。一般に、形態素解析装置の主部（以下、「形態素解析エンジン」という）によって参照される辞書（以下、「形態素解析用辞書」という）に登録されていない文字列が未知文字列として出力される。
【０００３】
文字列から単語を正しく特定するための技術に関し、n-gramの統計情報を用いて、未知文字列のうち、単語となる境界を推定し、単語と推定した箇所に対し、品詞を推定する方式も考えられる（非特許文献１参照）。例えば、非特許文献１に係る論文における方法では、n-gramの統計情報を用いて、文字の出現頻度から計算した確率を基にした文字間の関連度を元に、文字列から単語を生成する。その後は閾値を用いることで、単語の品詞を推定するという方式を採る。また、この他に、閾値はデータによって異なることが多いため、入力データを変更する都度、閾値を再調整する。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】「nグラム統計によるコーパスからの未知語抽出」  著者  森 信介、長尾 眞、情報処理学会論文誌、Vol.95,No.168,pp.7-12,1998
【非特許文献２】Kazunori Matsumoto, Kazuo Hashimoto, "Schema Design for Causal Law Mining from Incomplete Database", Discovery Science, Second International Conference, DS '99, Tokyo, Japan, December, 1999, Proceedings. Lecture Notes in Computer Science 1721 Springer, pp.92-102, 1999.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、非特許文献１に係る論文における方法には、以下の問題がある。統計情報は確率によって表現されるが、確率を用いる場合、もともと保持していた情報量の信頼性が破棄されてしまうという問題がある。例えば、１００文中１０回登場した単語は、１０文中１回登場した単語に比べ、情報量の観点から言えば信頼性が高いが、確率を用いる場合、共に単に確率「０．１」として取り扱われ、情報量の信頼性が破棄される。さらに、非特許文献１では、任意の文字列に後続する文字との関連を検証するが、文字列の前に存在する文字との関連も同時に検証する場合と比べ、精度が落ちてしまう欠点が挙げられる。また、閾値を使う場合では線形的に境界を判別することになるため、精度のことを踏まえ、非線形的な判別が可能な単語境界の推定方式を利用することが望ましい。
【０００６】
本発明は、上述した課題に鑑みてなされたものであって、高い信頼性で未知文字列から単語を特定する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記問題を解決するために、本発明の一態様である単語境界決定装置は、文章に係る文章データを含む学習データを用いて、文章から１以上の文字から構成される文字列を抽出し、文章内において文字列の前後に出現する１以上の文字から構成される文字列の分布を集計した文字集計データを生成する文字列集計部と、文字列集計部によって生成された文字列集計データに基づいて、未知の文字列である未知文字列を２以上の単語に分割する際の境界を推定する単語境界推定部とを備えることを特徴とする。即ち、上記単語境界決定装置は、文字列集計部によって生成された文字列集計データと未知文字列とから、当該未知文字列が尤もらしい単語を構成するように分割すべき境界を推定する。
【０００８】
上記単語境界決定装置において、文字列集計部は、文章から抽出した文字列である抽出文字列と、抽出文字列の前後に出現する文字列である出現文字列とから構成される組別に、出現文字列の出現回数を集計し、組別の出現回数に基づいて、抽出文字列と出現文字列との結合の程度を示す結合度を組別に算出し、組別の結合度を文字列集計データとして生成するようにしてもよい。換言すれば、文字列集計部は、文章から抽出した文字列の出現回数と、その文字列に後方に出現する文字の出現した回数と出現しなかった回数、および、前方に出現する文字の出現した回数と出現しなかった回数のそれぞれの要素を用いて、単語を構成すべきかについての程度を示す結合度を組別に算出し、組別の結合度を文字列集計データとして生成するようにしてもよい。
【０００９】
上記単語境界決定装置において、単語境界推定部は、未知文字列の一部である部分文字列と未知文字列内において部分文字列の前後の文字列とから構成される組別の結合度を文字列集計データから取得し、結合度が所定の閾値以上であるときは部分文字列と部分文字列の前後の文字列との間に境界が存在しないと推定する一方、結合度が所定の閾値未満であるときは部分文字列と部分文字列の前後の文字列との間に境界が存在すると推定するようにしてもよい。
【００１０】
上記単語境界決定装置において、単語境界推定部は、未知文字列の一部である第１の部分文字列を要素とする第１の組の結合度、未知文字列の一部である部分文字列であって第１の部分文字列の末尾に１文字付加した第２の部分文字列を要素とする第２の組の結合度、第１の部分文字列の末尾の１文字が不足する第３の部分文字列を要素とする第３の組の結合度を文字列集計データから取得し、第１の組の結合度が、第２の組の結合度および第３の組の結合度よりも何れよりも所定の基準値を超えて小さいときは、第１の部分文字列と第１の部分文字列の後ろの文字列との間に境界が存在すると推定するようにしてもよい。
【００１１】
上記問題を解決するために、本発明の他の態様である単語境界決定装置は、識別器を構成するラベル付特徴量データを生成するための学習データを用いて、ラベル付特徴量データを生成するラベル生成部と、ラベル生成部によって生成されたラベル付特徴量データと、未知の文字列である未知文字列から、未知文字列を２以上の単語に分割する際の境界を推定する単語境界推とを備えることを特徴とする。
【００１２】
上記問題を解決するために、本発明の他の態様である形態素解析装置は、形態素解析用辞書を用いて形態素解析をする形態素解析エンジンを具備する形態素解析装置であって、  文章に係る文章データを含む学習データを用いて、文章から１以上の文字から構成される文字列を抽出し、文章内において文字列の前後に出現する１以上の文字から構成される文字列の分布を集計した文字集計データを生成する文字列集計部と、文字列集計部によって生成された文字列集計データに基づいて、未知の文字列である未知文字列を２以上の単語に分割する際の境界を推定するとともに、境界にて未知文字列を分割した各単語を抽出する単語境界推定部と、単語境界推定部によって抽出された各単語の品詞を推定し、品詞属性を有する品詞付単語を生成する品詞推定部と、品詞推定部によって生成された品詞付単語を形態素解析用辞書に登録する辞書登録部とを備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、高い信頼性で未知文字列から単語を特定（抽出）することができるようになる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態による形態素解析装置１の機能ブロック図の一例である。
【図２】文字列集計部１１０による文字列集計データの生成過程を説明する図である。
【図３】文字列集計データ記憶部１９０に記憶される情報の一例である。
【図４】形態素解析装置１の動作を示すフローチャートである。
【図５】本発明の第２の実施形態による形態素解析装置２の機能ブロック図の一例である。
【発明を実施するための形態】
【００１５】
（第１の実施形態）
以下、本発明の第１の実施形態について図面を参照して詳細に説明する。本発明の第１の実施形態による形態素解析装置１は、図１に示すように、単語境界決定部１０、品詞推定部２０、辞書登録部３０、形態素解析エンジン４０、未知文字列記憶部９０、学習データ記憶部９１、品詞無単語データ記憶部９３、品詞推定用データ記憶部９４、品詞付単語データ記憶部９５、辞書登録用データ記憶部９６および形態素解析用辞書データ記憶部９７を備える。単語境界決定部１０は、文字列集計部１１０、単語境界推定部１２０および文字列集計データ記憶部１９０を備える。
【００１６】
形態素解析用辞書データ記憶部９７は、形態素解析装置１の主部である形態素解析を実行するために参照する形態素解析用辞書データを記憶する。形態素解析用辞書データは、例えば、単語、当該単語の品詞、品詞別のコストなどに関するデータから構成される。
【００１７】
形態素解析エンジン４０は、形態素解析を実行する対象の文章に係る文章データを入力し、形態素解析用辞書データ記憶部９７内の形態素解析用辞書データを参照して形態素解析を実行し、実行結果を外部に出力する。また、形態素解析エンジン４０は、未知文字列記憶部９０を更新する。例えば、形態素解析エンジン４０は、形態素解析の実行時に、形態素解析用辞書データに登録されていない文字列に係る文字列データを未知文字列データ記憶部９０に追加する。また、形態素解析エンジン４０は、形態素解析用辞書データに登録されていなかった文字列が新たに登録されていた場合に、当該文字列に係る文字列データを未知文字列記憶部９０から削除する。
【００１８】
未知文字列記憶部９０は、形態素解析エンジン４０から出力される文字列データを未知文字列として記憶する。換言すれば、未知文字列記憶部９０は、形態素解析エンジン４０にとって未知の文字列から構成される未知文字列に係る未知文字列を記憶する。
【００１９】
学習データ記憶部９１は、文章（テキスト）に係る文章データ（即ち、テキスト形式のデータ）を含む学習データを記憶する。なお、当該文章は、正規化処理（例えば、予め「コンピユーター」から「コンピュータ」へ変換する処理）を施した文章であることが好ましい。また、当該文章は、未知文字列記憶部９０内の未知文字列に係る未知文字列を多く含む文章であることが好ましい。
【００２０】
文字列集計部１１０は、学習データ記憶部９１内の学習データ（文章データ）を用いて、文字列集計データを生成し、文字列集計データ記憶部１９０に出力する。文字列集計データとは、学習データとして与えられる文章に含まれる文字列（１以上の文字から構成される文字列）を対象として、対象とする文字列に当該文章中において前後に出現する文字の分布を集計した集計データである。なお、文字列集計部１１０の集計機能および文字列集計データの詳細は後述する。文字列集計データ記憶部１９０は、文字列集計部１１０から出力される文字集計データを記憶する。
【００２１】
単語境界推定部１２０は、文字列集計部１１０によって生成された文字列集計データ（即ち、文字列集計データ記憶部１９０内の文字集計データ）と、未知文字列記憶部９０内の未知文字列とから、当該未知文字列に係る未知文字列を単語毎に分割する際の文字列の境界を推定し、当該境界にて当該未知文字列を分割した各単語を抽出し、品詞無単語データ記憶部９３に出力する。なお、単語境界推定部１２０の単語の境界推定機能の詳細は後述する。
【００２２】
品詞無単語データ記憶部９３は、単語境界推定部１２０から出力される単語を品詞無単語データとして記憶する。品詞推定用データ記憶部９４は、単語の品詞を推定するために参照する品詞推定用データを記憶する。
【００２３】
品詞推定部２０は、品詞推定用データ記憶部９４内の品詞推定用データを用いて、単語境界推定部１２０によって抽出された単語データ（即ち、品詞無単語データ記憶部９３内の品詞無単語データ）に係る各単語の品詞を推定し、品詞属性を有する単語である品詞付単語データを生成し、品詞付単語データ記憶部９５に出力する。品詞付単語データ記憶部９５は、品詞推定部２０から出力される品詞付単語データを記憶する。
【００２４】
辞書登録用データ記憶部９６は、品詞付単語データを形態素解析用辞書データに登録するために参照する辞書登録用データを記憶する。
【００２５】
辞書登録部３０は、辞書登録用データ記憶部９６内の辞書登録用データを用いて、品詞推定部２０によって生成された品詞付単語データ（即ち、品詞付単語データ記憶部９５内の品詞付単語データ）を形態素解析用辞書データ記憶部９７に登録する。
【００２６】
以下、文字列集計部１１０の集計機能について詳細に説明する。文字列集計部１１０は、モデル検定による評価手法を活用し、文字（列）間の関連度（後述する結合度）を計測する。具体的には、まず、文字列集計部１１０は、学習データ記憶部９１内の学習データ（文章データ）から抽出した文字列である抽出文字列と、抽出文字列の前後に出現する文字列である出現文字列とから構成される組別に、出現文字列の出現回数を集計する。具体的には、文字列集計部１１０は、図２（ａ）に示すように、組別に出現回数を集計する。
【００２７】
図２（ａ）において、「ｋ−ｓｔｒｉｎｇ」はＮ−ｇｒａｍであって上述の「一の文字列」に該当し、「ｖ−ｓｔｒｉｎｇ」はｋ−ｓｔｒｉｎｇに対し、接合すべきかの判定対象である文字列であって上述の一の文字列の前後に出現する文字に該当し、「ｋ−ｓｔｒｉｎｇ」と「ｖ−ｓｔｒｉｎｇ」の組が上述の抽出文字列と出現文字列とから構成される組に該当する。図２（ｂ）においても同様である。
【００２８】
「ａ１１」「ａ１２」「ａ２１」「ａ２２」は何れも組別の出現回数に該当する。具体的には、「ａ１１」は「ｋ−ｓｔｒｉｎｇ」に「ｖ−ｓｔｒｉｎｇ」が隣接して出現した出現回数である。例えば、ｋ−ｓｔｒｉｎｇ「本」であってｖ−ｓｔｒｉｎｇ「気」である場合、学習データ内の文字列「本気」の出現回数が１回であるとき、図２（ａ）の如くａ１１「１」となる。「ａ１２」は「ｋ−ｓｔｒｉｎｇ」に「ｖ−ｓｔｒｉｎｇ」が隣接して出現しなかった数、即ち、「ｋ−ｓｔｒｉｎｇ」に「ｖ−ｓｔｒｉｎｇ」以外の任意の文字が隣接して出現した出現回数である。例えば、ｋ−ｓｔｒｉｎｇ「本」であってｖ−ｓｔｒｉｎｇ「気」である場合、学習データ内の文字列「本を」「本日」などの出現回数が３００回であるとき、図２（ａ）の如くａ１２「３００」となる。「ａ２１」は「ｖ−ｓｔｒｉｎｇ」が「ｋ−ｓｔｒｉｎｇ」に隣接しなかった数、即ち、「ｖ−ｓｔｒｉｎｇ」が「ｋ−ｓｔｒｉｎｇ」以外の任意の文字列に隣接して出現した出現回数である。例えば、ｋ−ｓｔｒｉｎｇ「本」であってｖ−ｓｔｒｉｎｇ「気」である場合、学習データ内の文字列「天気」「元気」などの出現回数が１回であるとき、図２（ａ）の如くａ２１「１」となる。「ａ２２」は「ｋ−ｓｔｒｉｎｇ」でも「ｖ−ｓｔｒｉｎｇ」でもない数、即ち、「ｖ−ｓｔｒｉｎｇ」以外の任意の文字列が「ｖ−ｓｔｒｉｎｇ」以外の任意の文字に隣接して出現した出現回数である。例えば、ｋ−ｓｔｒｉｎｇ「本」であってｖ−ｓｔｒｉｎｇ「気」である場合、学習データ内の文字列「私は」「明日」などの出現回数が３００回であるとき、図２（ａ）の如くａ２２「３００」となる。
【００２９】
組別に出現回数を集計した文字列集計部１１０は、当該組別の出現回数に基づいて各組を構成する抽出文字列と出現文字列との結合の程度を示す結合度を組別に算出する。具体的には、文字列集計部１１０は、図２（ｂ）に示すように、組別に結合度を算出する。
【００３０】
図２（ｂ）において、「ａｉｃ（ＩＭ）」は、ａ１１、ａ１２、ａ２１、ａ２２を独立現象と仮定し、算出したスコアである。具体的には、ａ１１＋ａ１２をｈ、ａ１１＋ａ２１をｋ、ａ１１＋ａ１２＋ａ２１＋ａ２２をｎとしたとき、次式（１）により算出する。
【００３１】
【数１】
2010224887.tif 000003
【００３２】
「ａｉｃ（ＤＭ）」は、ａ１１、ａ１２、ａ２１、ａ２２を独立現象と仮定し、算出したスコアである。具体的には、ａ１１をａ、ａ１１をｂ、ａ１２をｃ、ａ２２をｄ、ａ１１＋ａ１２＋ａ２１＋ａ２２をｎとしたとき、次式（２）により算出する。
【００３３】
【数２】
2010224887.tif 000004
【００３４】
「ｓｃｏｒｅ」は、上述の結合度に該当し、「ａｉｃ（ＩＭ）」および「ａｉｃ（ＤＭ）」から算出する。具体的には、ａ１１／（ａ１１＋ａ１２）＞ａ２１／（ａ２１＋ａ２２）のとき、次式（３）により算出し、ａ１１／（ａ１１＋ａ１２）＜ａ２１／（ａ２１＋ａ２２）のとき、次式（４）により算出する。
【００３５】
【数３】
2010224887.tif 000005
【００３６】
組別の結合度を算出した文字列集計部１１０は、当該組別の結合度を文字列集計データとして生成する。具体的には、文字列集計部１１０は、図２（ｃ）に示す文字列集計データを生成する。なお、文字列集計部１１０は、生成した文字列集計データを文字列集計データ記憶部１９０に出力する。文字列集計データ記憶部１９０には、例えば、図３に示すような、文字列集計データが記憶される。
【００３７】
以下、単語境界推定部１２０の単語の境界推定機能について詳細に説明する。単語境界推定部１２０は、未知文字列の一部である部分文字列と未知文字列内において部分文字列の前後の文字列とから構成される組別の結合度を文字列集計データから取得し、結合度が所定の閾値以上であるときは部分文字列と部分文字列の前後の文字列との間に境界が存在しないと推定する一方、結合度が所定の閾値未満であるときは部分文字列と部分文字列の前後の文字列との間に境界が存在すると推定する。具体的には、単語境界推定部１２０は、文字列集計部１１０がモデル検定による評価手法を活用して測定した文字（列）間の関連度（結合度）を利用して、文字（列）間の境界の有無を推定（判断）する。具体的には、まず、単語境界推定部１２０は、文字列集計データ記憶部１９０を参照し、未知文字列記憶部９０内の未知文字列を構成する文字列と当該文字列に隣接する文字とから構成される各組の結合度を取得する。例えば、単語境界推定部１２０は、未知文字列記憶部９０から未知文字列「マジでヤバい」を取得し、文字列集計データ記憶部１９０から図３に示す未知文字列「マジでヤバい」に係る各組の結合度を取得する。
【００３８】
未知文字列に係る各組の結合度を取得した単語境界推定部１２０は、一の組の結合度が所定の閾値以上であるときは当該組内の文字列（ｋ−ｓｔｒｉｎｇ）と当該文字列に隣接する文字（ｖ−ｓｔｒｉｎｇ）との間に境界が存在しないと推定（判断）し、閾値未満であるときは境界が存在すると推定（判断）する。
【００３９】
例えば、閾値α（値「５０００」）において、未知文字列「マジでヤバい」に係る図３に示す各組の結合度を取得した単語境界推定部１２０は、ｋ−ｓｔｒｉｎｇ「マ」、ｖ−ｓｔｒｉｎｇ「ジ」の組のｓｃｏｒｅ「２２２９５」が閾値α「５０００」以上であるため、文字列「マ」と文字「ジ」の間には境界が存在しないと判断する。換言すれば、単語境界推定部１２０は、文字列「マ」と文字「ジ」は接合するべきであると判断する
【００４０】
続いて、単語境界推定部１２０は、ｋ−ｓｔｒｉｎｇ「マジ」、ｖ−ｓｔｒｉｎｇ「で」の組のｓｃｏｒｅ「６４７」が閾値α「５０００」未満であるため、文字列「マジ」と文字「で」の間には境界が存在すると判断する。換言すれば、単語境界推定部１２０は、文字列「マジ」と文字「で」は接合するべきでないと判断する。
【００４１】
続いて、単語境界推定部１２０は、ｋ−ｓｔｒｉｎｇ「で」、ｖ−ｓｔｒｉｎｇ「ヤ」の組のｓｃｏｒｅ「４０６１」が閾値α「５０００」未満であるため、文字列「で」と文字「ヤ」の間には境界が存在すると判断する。換言すれば、単語境界推定部１２０は、文字列「で」と文字「ヤ」は接合するべきでないと判断する。
【００４２】
続いて、単語境界推定部１２０は、ｋ−ｓｔｒｉｎｇ「ヤ」、ｖ−ｓｔｒｉｎｇ「バ」の組のｓｃｏｒｅ「４３０３０」が閾値α「５０００」以上であるため、文字列「ヤ」と文字「バ」の間には境界が存在しないと判断する。換言すれば、単語境界推定部１２０は、文字列「ヤ」と文字「バ」は接合するべきであると判断する。
【００４３】
続いて、単語境界推定部１２０は、ｋ−ｓｔｒｉｎｇ「ヤバ」、ｖ−ｓｔｒｉｎｇ「い」の組のｓｃｏｒｅ「１４３」が閾値α「５０００」未満であるため、文字列「ヤバ」と文字「い」の間には境界が存在すると判断する。換言すれば、単語境界推定部１２０は、文字列「ヤバ」と文字「い」は接合するべきでないと判断する。
【００４４】
以上のように、単語境界推定部１２０は、未知文字列「マジでヤバい」を単語毎に分割する際の文字列の境界が、文字列「マジ」と文字「で」の間、文字列「で」と文字「ヤ」の間、文字列「ヤバ」と文字「い」の間に存在すると判断する。なお、単語境界推定部１２０は、文字「い」のあとには文字がないため、独立した単語であると判断する。
【００４５】
未知文字列「マジでヤバい」を単語毎に分割する際の境界を推定した単語境界推定部１２０は、未知文字列「マジでヤバい」を各境界にて分割した各単語（単語「マジ」、単語「で」、単語「ヤバ」、単語「い」）の単語データ（品詞無単語データ）を未知文字列から抽出し、品詞無単語データ記憶部９３に出力する。
【００４６】
なお、上記例は、未知文字列「マジでヤバい」の左端の文字「マ」から結合度の比較を開始しているが、結合度の比較は左側から開始しなくてもよい。例えば、未知文字列「マジでヤバい」の中央の文字「で」から開始する場合、ｋ−ｓｔｒｉｎｇ「ジ」、ｖ−ｓｔｒｉｎｇ「で」の組のｓｃｏｒｅ「１３９６」が閾値α「５０００」未満、ｋ−ｓｔｒｉｎｇ「で」、ｖ−ｓｔｒｉｎｇ「ヤ」の組のｓｃｏｒｅ「４０６１」が閾値α「５０００」未満であるため、文字列「で」は、文字列「ジ」にも文字列「ヤ」にも結合すべきでないと判断することができる。
【００４７】
以下、図４を用いて形態素解析装置１の動作を説明する。図４（ａ）に示すフローチャートは文字列集計データ記憶部１９０内に文字列集計データが記憶（蓄積）される迄の動作、図４（ｂ）に示すフローチャートは未知文字列記憶部９０内の未知文字列が単語（品詞）に分解されて消去される迄の動作である。
【００４８】
図４（ａ）において、文字列集計部１１０は、学習データ記憶部９１内の学習データから、各文字列と各文字列に隣接する文字とから構成される組別に、各文字列に隣接する各文字の出現回数（ａ１１、ａ１２、ａ２１、ａ２２）を集計する（ステップＳ１００）。各文字列に隣接する各文字の出現回数を組別に集計した文字列集計部１１０は、各組を構成する文字列と文字との結合度（ｓｃｏｒｅ）を組別に算出する（ステップＳ１１０）。組別の結合度を算出した文字列集計部１１０は、当該組別の結合度を文字列集計データとして生成し、文字列集計データ記憶部１９０に出力（記憶）する（ステップＳ１２０）。そして図４（ａ）に示すフローチャートは終了する。なお、文字列集計部１１０によるステップＳ１００の開始タイミングは、特に限定しないが、例えば、文字列集計部１１０は、学習データ記憶部９１内の学習データを更新する学習データ更新部（非図示）から学習データの更新が完了した旨の更新完了通知を受信したときに、上記出現回数を集計してもよい。
【００４９】
図４（ｂ）において、単語境界推定部１２０は、未知文字列記憶部９０から未知文字列を取得する（ステップＳ２００）。単語境界推定部１２０は、文字列集計データ記憶部１９０を参照し、当該未知文字列を構成する文字列と当該文字列に隣接する文字とから構成される各組の結合度（ｓｃｏｒｅ）を取得し、当該各組の結合度と所定の閾値とを比較することによって、当該未知文字列を単語毎に分割する際の文字列の境界を推定し（ステップＳ２１０）、未知文字列から当該未知文字列を当該境界にて分割した各単語の品詞無単語データを抽出する（ステップＳ２２０）。単語境界推定部１２０は、抽出した品詞無単語データを品詞無単語データ記憶部９３に出力（記憶）する。
【００５０】
品詞推定部２０は、品詞推定用データ記憶部９４内の品詞推定用データを用いて、品詞無単語データ記憶部９３内の品詞無単語データに係る各単語の品詞を推定し、品詞付単語データを生成する（ステップＳ２３０）。品詞推定部２０は、生成した品詞付単語データを品詞付単語データ記憶部９５に出力（記憶）する。辞書登録部３０は、辞書登録用データ記憶部９６内の辞書登録用データを用いて、品詞付単語データ記憶部９５内の品詞付単語データを形態素解析用辞書データ記憶部９７に登録する（ステップＳ２４０）。形態素解析エンジン４０は、形態素解析用辞書データ記憶部９７を参照し、新たに登録された品詞付単語データに対応する未知文字列を未知文字列記憶部９０から削除する（ステップＳ２５０）。そして図４（ｂ）に示すフローチャートは終了する。なお、形態素解析エンジン４０によるステップＳ２５０の開始タイミングは、特に限定しないが、例えば、辞書登録部３０から品詞付単語データの登録が完了した旨の更新完了通知を受信したときに、未知文字列記憶部９０から上記未知文字列を削除してもよい。また、形態素解析エンジン４０は、形態素解析の実行時に、未知文字列記憶部９０から上記未知文字列を削除してもよい。
【００５１】
以上、本発明の第１の実施形態による形態素解析装置１によれば、高い信頼性で未知文字列から単語を特定（抽出）することができるようになる。即ち、形態素解析装置１を用いれば、文字（列）間の境界の有無を推定（判断）する際に、モデル検定による評価手法を活用して測定した文字（列）間の関連度（結合度）を利用しているため、未知文字列からの単語の特定（抽出）時における、信頼性が向上するようになる。
【００５２】
なお、上記実施形態では、単語境界推定部１２０は、文字列と文字の組の結合度と、閾値とを比較して、文字列と文字との間の境界の有無を推定（判断）しているが、これに変えて、単語境界推定部１２０は、各組の結合度の変化に着目し、文字列と文字との間の境界の有無を推定（判断）してもよい。即ち、単語境界推定部１２０は、未知文字列の一部である第１の部分文字列を要素とする第１の組の結合度、未知文字列の一部である部分文字列であって第１の部分文字列の末尾に１文字付加した第２の部分文字列を要素とする第２の組の結合度、第１の部分文字列の末尾の１文字が不足する第３の部分文字列を要素とする第３の組の結合度を文字列集計データから取得し、第１の組の結合度が、第２の組の結合度および第３の組の結合度よりも何れよりも所定の基準値を超えて小さいときは、第１の部分文字列と第１の部分文字列の後ろの文字列との間に境界が存在すると推定する。換言すれば、単語境界推定部１２０は、一の文字数を有する第１の文字列と第１の文字列に隣接する文字の組の結合度（第１の結合度）が、第１の文字列に対、後ろに１文字付加した第２の文字列と第２の文字列に隣接する文字の組の結合度（第２の結合度）、および、第１の文字列に対し上記一端の１文字が不足する第３の文字列と第３の文字列に隣接する文字の組の結合度（第３の結合度）の何れよりも所定の基準値を超えて小さいときは、第１の文字列と第１の文字列に隣接する文字との間に境界が存在すると推定する。
【００５３】
例えば、基準値β（値「５０」）において、文字列集計データ記憶部１９０から図３に示す未知文字列「マジでヤバい」に係る各組の結合度を取得した単語境界推定部１２０は、文字数「２」を有する第１の文字列「マジ」と第１の文字列「マジ」の後に出現する文字「で」の組の結合度である第１の結合度「６４７」が、第１の文字列「マジ」に対し一端（右側）に１文字「で」を付加した第２の文字列「マジで」と第２の文字列「マジで」の後に出現する文字「ヤ」の組の結合度である第２の結合度「７０２」、および、第１の文字列「マジ」に対し当該一端（右側）の１文字「ジ」が不足する第３の文字列「マ」と第３の文字列の後に出現する文字「ジ」の組の結合度である第３の結合度「２２２９５」の何れよりも基準値β「５０」を超えて小さいため、第１の文字列「マジ」と第１の文字列の後に出現する文字「で」との間に境界が存在すると推定（判断）する。
【００５４】
なお、第１の実施形態において、単語境界決定部１０は形態素解析装置１の構成要素であるが、単語境界決定部１０は、ある装置の構成要素ではなく独立した装置（単語境界決定装置１０）であってもよい。独立した単語境界決定装置１０は、図１に示すように、文字列集計部１１０、単語境界推定部１２０および文字列集計データ記憶部１９０を備え、外部（例えば、辞書機能を有する種々の装置）から未知文字列を入力し、未知文字列から抽出した単語を外部に出力する。
【００５５】
（第２の実施形態）
以下、本発明の第２の実施形態について説明する。本発明の第２の実施形態による形態素解析装置２は、本発明の第１の実施形態による形態素解析装置１と単語の境界推定機能を異にする。具体的には、形態素解析装置１における境界推定機能は、文字（列）間の結合度（関連度）に着目し、単語の境界を推定するのに対して、形態素解析装置２における境界推定機能は、ラベル付特徴量データを用いて、ｎ文字の未知文字列があったとき、未知文字列内のｎ−１個の文字間の区切位置が単語の境界となるか否かを識別（推定）する。なお、ラベルとは、単語の境界となるか否かの判定結果を示す情報である。形態素解析装置２においては、単語の境界となる旨を示す判定結果を示すラベルとして「＋１」、単語の境界とならない旨の判定結果を示すラベルとして「−１」を用いるが、他のラベルを用いてもよい。
【００５６】
形態素解析装置２は、図５に示すように、単語境界決定部１２、品詞推定部２０、辞書登録部３０、形態素解析エンジン４０、未知文字列記憶部９０、ラベル付与用データ記憶部９２、品詞無単語データ記憶部９３、品詞推定用データ記憶部９４、品詞付単語データ記憶部９５、辞書登録用データ記憶部９６および形態素解析用辞書データ記憶部９７を備える。単語境界決定部１２は、ラベル生成部１１２、単語境界推定部１２２およびラベル付特徴量データ記憶部１９２を備える。品詞推定部２０、辞書登録部３０、形態素解析エンジン４０、未知文字列記憶部９０、品詞無単語データ記憶部９３、品詞推定用データ記憶部９４、品詞付単語データ記憶部９５、辞書登録用データ記憶部９６および形態素解析用辞書データ記憶部９７は、本発明の第２の実施形態による形態素解析装置１と同様であるため、説明の一部または全部を省略する。
【００５７】
ラベル付与用データ記憶部９２は、識別器（例えば、ＳＶＭ（Support Vector Machine）を構成するラベル付特徴量データを生成するための学習データ（以下、「ラベル付与用データ」）を記憶する。
【００５８】
ラベル生成部１１２は、ラベル付与用データ記憶部９２内のラベル付与用データを用いて、ラベル付特徴量データを生成し、ラベル付特徴量データ記憶部１９２に出力する。ラベル付特徴量データ記憶部１９２は、ラベル生成部１１２から出力されるラベル付特徴量データを記憶する。即ち、ラベル生成部１１２は、識別器を構成するラベル付特徴量データを学習（ラベル付特徴量データ記憶部１９２に記憶）する。なお、ラベル生成部１１２は、単語境界推定部１２２から文字列（具体的には未知文字列に係る他の文字列）を取得した場合に、当該文字列（未知文字列）用のラベル付特徴量データを生成する。
【００５９】
例えば、ラベル生成部１１２は、単語境界推定部１２２から６文字の未知文字列「マジでヤバい」を取得した場合、６文字の未知文字列の文字間は５箇所であるため、合計５個のＳＶＭ（１文字目「マ」と２文字目「ジ」の間が単語の境界となるか否かを識別するＳＶＭ、２文字目「ジ」と３文字目「で」の間が単語の境界となるか否かを識別するＳＶＭ、…、５文字目「バ」と６文字目「い」の間が単語の境界となるか否かを識別するＳＶＭ）を作成する必要があるため、各ＳＶＭに対応する５個のラベル付特徴量データを生成する。
【００６０】
ＳＶＭなどのような識別器を使った単語境界の推定方式では、予め用意した学習データであるラベル付特徴量データを学習し、ベクトル化された未知文字列を与えることで、単語境界が推定される手順を取る。例えば、先の１文字目「マ」と２文字目「ジ」の間が単語の境界となるか否かを識別するＳＶＭの場合、以下の学習データ（ラベル付特徴量データ）を用意する。
＋１：ａ（Ｄ１）１１１，ａ（Ｄ１）１１２，ａ（Ｄ１）１２１，ａ（Ｄ１）１２２，  …，ａ（Ｄ１）６２１，ａ（Ｄ１）６２２
−１：ａ（Ｄ２）１１１，ａ（Ｄ２）１１２，ａ（Ｄ２）１２１，ａ（Ｄ２）１２２，  ａ（Ｄ２）２１１，ａ（Ｄ２）２１２，…，ａ（Ｄ２）６２１
当該ラベル付特徴量データにおいて、各値は、文字列集計部１１０にて集計される出現回数（ａ１１〜ａ２２）の値であり、特定のドキュメント集合であるＤ１が存在したとき、１文字目のａ（Ｄ１）１１の値をａ（Ｄ１）１１１、１文字目のａ（Ｄ１）１２の値をａ（Ｄ１）１１２、…６文字目のａ（Ｄ１）２２の値をａ（Ｄ１）６２２のベクトルとして表す。さらに、このベクトルに対し、１文字目と２文字目の間が単語の境界とすべき場合は、ラベル「＋１」を、単語の境界とすべきでない場合はラベル「−１」を付加する。以下、２文字目と３文字目の間、３文字目と４文字目の間、…とＳＶＭの数分、同様の処理を行う。
【００６１】
単語境界推定部１２２は、識別器（ラベル付特徴量データ）を用いて未知文字列内の各文字間が境界となるか否かを識別（推定）し、当該未知文字列データから当該境界にて分割した各単語の単語データを抽出し、品詞無単語データ記憶部９３に出力する。即ち、単語境界推定部１２２は、ラベル生成部１１２によって生成されたラベル付特徴量データ（即ち、ラベル付特徴量データ記憶部１９２内のラベル付特徴量データ）と、未知文字列文字列記憶部９０内の未知文字列とから、当該データに係る未知文字列を単語毎に分割する際の文字列の境界を推定し、当該未知文字列から当該未知文字列を当該境界にて分割した各単語の単語データを抽出し、品詞無単語データ記憶部９３に出力する。
【００６２】
例えば、単語境界推定部１２２は、未知文字列「マジでヤバい」について単語の境界推定をする場合、ベクトル（ａ１１１，  ａ１１２，  ａ１２１，  ａ１２２，ａ２１１，ａ２１２，…，ａ６２１，ａ６２２）を作成し、ＳＶＭ（ラベル付特徴量データ）に入力すれば、「＋１」又は「−１」の何れか一方のラベルが出力される。
【００６３】
なお、第２の実施形態において、単語境界決定部１２は形態素解析装置２の構成要素であるが、単語境界決定部１２は、ある装置の構成要素ではなく独立した装置（単語境界決定装置１２）であってもよい。独立した単語境界決定装置１２は、図５に示すように、ラベル生成部１１２、単語境界推定部１２２およびラベル付特徴量データ記憶部１９２を備え、外部（例えば、辞書機能を有する種々の装置）から未知文字列を入力し、未知文字列から抽出した単語を外部に出力する。
【００６４】
なお、本発明の一実施形態による形態素解析装置１（２）の各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、本発明の一実施形態による形態素解析装置１（２）に係る上述した種々の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００６５】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００６６】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００６７】
１、２  形態素解析装置  １０、１２  単語境界決定部（単語境界決定装置）  ２０  品詞推定部  ３０  辞書登録部  ４０  形態素解析エンジン  ９０  未知文字列記憶部  ９１  学習データ記憶部  ９２  ラベル付与用データ記憶部  ９３  品詞無単語データ記憶部  ９４  品詞推定用データ記憶部  ９５  品詞付単語データ記憶部  ９６  辞書登録用データ記憶部  ９７  形態素解析用データ記憶部  １１０  文字列集計部  １１２  ラベル生成部  １２０、１２２  単語境界推定部  １９０  文字列集計データ記憶部  １９２  ラベル付特徴量データ記憶部  
【図１】
2010224887.tif 000006
【図２】
2010224887.tif 000007
【図３】
2010224887.tif 000008
【図４】
2010224887.tif 000009
【図５】
2010224887.tif 000010