【文献】
森 信介 外3名,点予測による形態素解析,自然言語処理,日本,言語処理学会,2011年 9月30日,第18巻第4号,p.367-381
【文献】
森 信介 外2名,点予測による自動単語分割,情報処理学会論文誌 論文誌ジャーナル Vol.52 No.10 [CD−ROM],日本,一般社団法人情報処理学会,2011年10月15日,第52巻第10号,p.2944-2952
【文献】
森 信介 外1名,3種類の辞書による自動単語分割の精度向上,情報処理学会研究報告 平成21年度3 [CD−ROM],日本,社団法人情報処理学会,2009年10月15日,p.1-6
【文献】
森 信介 外1名,擬似確率的単語分割コーパスによる言語モデルの改良,自然言語処理,日本,言語処理学会,2009年10月10日,第16巻第5号,p.7-21
【文献】
坪井 祐太 外4名,日本語単語分割の分野適応のための部分的アノテーションを用いた条件付き確率場の学習,情報処理学会論文誌 論文誌ジャーナル Vol.50 No.6 [CD−ROM],日本,社団法人情報処理学会,2009年 6月15日,第50巻第6号,p.1622-1635
【文献】
坪井 祐太 外4名,部分的かつ曖昧なラベル付き構造データからのマルコフ条件付確率場の学習,情報処理学会研究報告,日本,社団法人情報処理学会 Information Processing Society of Japan,2007年11月19日,第2007巻第113号,p.67-74
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0020】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【0021】
<本実施の形態の原理>
まず、本実施の形態における原理について説明する。本実施の形態は、特に日本語の単語分割においてカタカナや漢字で構成される複合語における誤りが多いことに注目してなされるものである。本実施の形態は、大規模な対象分野の生コーパスにおいて単語分割の手がかりとなる文字列の統計量を計算し、生コーパス中で単語境界であると期待できる箇所を自動的に判定し、その箇所を単語分割のための追加学習用データとして利用することを特徴とする。
【0022】
本実施の形態で利用する単語分割プログラムは、非特許文献3記載のものと同様の、ある文字間が単語境界であるか否かを二値分類で判定するものであるとする。本実施の形態は、単語分割コーパスと、単語分割コーパスとは別の分野である対象分野の生コーパスを利用して統計モデルを学習し、対象分野の入力文字列に対して単語分割処理を施す機能を有する。
【0023】
次に、本実施の形態において用いる単語分割プログラムについて説明する。単語分割プログラムは、文字間が単語分割する位置であるか否かを、周辺の文字の情報等を素性として二値分類で判定し、その結果に基づいて単語分割した文字列を出力する。素性には非特許文献3記載の、周辺の文字や文字種の情報、周辺の部分文字列が外部の辞書に登録された単語であるか否か、などが利用できる。また、二値分類の方法としては、ロジスティック回帰やサポートベクタマシン(SVM)など既知の統計的手法が適用可能である。二値分類の統計モデルの学習にあたっては、単語分割コーパス、および部分的単語分割コーパスが利用可能である。ここで、単語分割コーパスは文書もしくは文全体に渡って単語分割位置の情報が付与されているもの、部分的単語分割コーパスは単語分割位置の情報が部分的に付与されているものと区別する。二値分類による単語分割方法は、部分的単語分割コーパスによって統計モデルが学習できることが、ごく局所的な情報のみでも統計モデルを強化することができるという面で大きな利点がある。
【0024】
次に、本実施の形態における生コーパスの利用について説明する。生コーパスから得られる特徴量として、非特許文献6記載のAccessor Varietyや、非特許文献7(Zhihui Jin他. Unsupervised Segmentation of Chinese Text by Use of Branching Entropy, Proceedings of the COLING/ACL 2006, pp 428-435, 2006.)記載のBranching Entropyなどがある。Accessor Varietyはある部分文字列両端に接続する文字の異なり数であり、長さnの部分文字列x
n1に対して、下記(1)式で表されるAV(x
n1)の値となる。
【0026】
ここで、AV
L(x
n)は生コーパス中で部分文字列x
nの左側に接続する文字の異なり数、AV
R(x
n)は右側に接続する文字の異なり数である。Branching Entropyはある部分文字列の次に接続する文字のエントロピーであり、長さnの部分文字列x
n1に対して下記(2)式で表されるH(X|X
n1=x
n1)の値である。
【0028】
なお、Xおよびxを部分文字列の前に接続する文字と考えることで、部分文字列の前に接続する文字のエントロピーを計算することも可能である。また、下記(3)式のようにBranching Entropyの差分値を見ることもできる。これは、部分文字列x
n1の次の文字のエントロピーと、x
n−11の次の文字(x
n1の最後の文字に相当)のエントロピーとの差分である。直観的には部分文字列が長い方が次の文字の曖昧性が小さく、エントロピーも小さくなることが予想されるが、x
n1の直後が単語境界である場合は、続いて出現し得る単語の個数分の曖昧性があるためエントロピーが増加する可能性が高いため、単語境界を見つけるための有力な手がかりとなる(非特許文献7)。
【0030】
これらの値が大きい箇所は接続する文字の曖昧性が高い、すなわち前後に様々な単語が接続する単語の境界であることが予想されるため、生コーパスのみを使って単語分割位置を推定することができる。非特許文献6はAccessor Varietyを利用して中国語の単語を発見することを目的としており、非特許文献7はBranching Entropyを利用して、単語分割コーパスを用いずに単語分割を行うことを目的としている。しかし、これらの統計量による単語分割位置の推定のみですべての単語に対して高精度の単語分割をすることは難しいため、本実施の形態のように単語分割コーパスによる統計モデルの学習と合わせて利用することで、単語分割コーパスと合致する分野では高精度だが対象分野の十分な学習が行えない単語分割コーパスのみによる方法と、対象分野の単語分割がある程度可能だが全体的な単語分割精度が十分でない生コーパスのみによる方法を両立させることが重要である。なお、本実施の形態においては、生コーパスからAccessor Varietyの特徴量を取得する場合を例に説明する。
【0031】
本実施の形態では、部分的単語分割コーパスによって学習が可能な二値分類による単語分割方法の利点を、単語分割位置が推定可能な大量の生コーパスを利用することで活用する。つまり、分野の異なる単語分割コーパスのみでは十分に適応できなかった対象分野特有の語彙に対する単語分割を、対象分野の生コーパスの中で自動的に推定された単語分割情報を利用して改善することが本実施の形態のアプローチである。上述したように、生コーパスから得られる統計量はそれだけでは高精度の単語分割精度を達成し得ないが、特に長い複合語においては、通常複合語を構成する単語は異なる文脈でそれぞれ利用されているため、前記文字列の統計量に顕著な違いが現れることが期待でき、本実施の形態の目的に好適である。
【0032】
単語分割位置の推定にあたっては、文字列の統計量に対して閾値を設定して、閾値を超える箇所について「単語分割する位置」を意味するラベルを付し、そうでない箇所については「分割有無不明位置」を意味するラベルを付す。ここでさらに、閾値を下回る箇所、もしくは別のより小さな閾値を下回る箇所について「単語分割しない位置」を意味するラベルを付してもよい。また、元分野の単語分割コーパスとの整合性を保つため、元分野の単語分割コーパスで学習された単語分割プログラムで得られる単語分割有無と一致した箇所のみを保持し、一致しない箇所は「分割有無不明位置」としてもよい。さらに、分野適応における効果が大きいと予想される複合語分割の改善に注力するため、「カタカナとカタカナの間」「漢字と漢字の間」などの特定の対象に絞って「単語分割する位置」「単語分割しない位置」のラベルを付すようにしてもよい。これを生コーパス全体に渡って行うと、「単語分割する位置」「分割有無不明位置」「単語分割しない位置」のラベルが付与されたコーパスが得られる。「分割有無不明位置」のラベルが存在することで、このコーパスは部分的単語分割コーパスとなる。なお、本実施の形態においては、文字列の統計量が閾値を超える箇所について「単語分割する位置」を意味するラベルを付し、第1の閾値以下であって、かつ第2の閾値よりも大きい箇所について「分割有無不明位置」を意味するラベルを付し、第2の閾値以下の箇所について「単語分割しない位置」を意味するラベルを付す。
【0033】
得られた部分的単語分割コーパスは、単語分割の統計モデルの学習に利用できる。学習に当たっては元の単語分割コーパスと組み合わせて統計モデルを始めから学習し直してもよいし、追加された部分的単語分割コーパスから得られるモデルとの混合モデル(混合比は別途定める)を構成してもよい。学習の方法については公知の単語分割プログラムKyTeaで利用している方式等が利用できる。
【0034】
<本発明の第1の実施の形態に係る単語分割装置の構成>
次に、本発明の第1の実施の形態に係る単語分割装置の構成について説明する。
図1に示すように、本発明の第1の実施の形態に係る単語分割装置1は、モデル学習装置100と、単語分割判定装置200とを含んで構成されている。
【0035】
<本発明の第1の実施の形態に係るモデル学習装置の構成>
次に、本発明の第1の実施の形態に係るモデル学習装置の構成について説明する。
図2に示すように、本発明の第1の実施の形態に係るモデル学習装置100は、CPUと、RAMと、後述する部分的単語分割コーパス処理ルーチン及びモデル学習処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。このモデル学習装置100は、機能的には
図2に示すように入力部10と、演算部20と、出力部90とを備えている。
【0036】
入力部10は、対象分野の文字列の集合である生コーパスを受け付け生コーパス記憶部22に記憶する。
【0037】
演算部20は、生コーパス記憶部22と、統計量記憶部24と、追加学習コーパス部30と、部分的単語分割コーパス記憶部40と、単語分割コーパス記憶部42と、単語辞書記憶部44と、統計モデル学習部50と、モデル記憶部60とを備えている。
【0038】
生コーパス記憶部22には、入力部10において受け付けた生コーパスが記憶されている。
【0039】
追加学習コーパス部30は、生コーパス記憶部22に記憶されている生コーパスに含まれる部分文字列の各々の前後に接続される文字の統計量に基づいて、部分的単語分割コーパスを取得し、部分的単語分割コーパス記憶部40に記憶する。また、追加学習コーパス部30は、統計量計算部32と、分割位置推定部34と、コーパス出力部36とを備えている。
【0040】
統計量計算部32は、まず、生コーパス記憶部22に記憶されている生コーパスに含まれる、長さNの部分文字列の各々を取得する。ここでは、文字列に、長さNの窓を走査し、1文字ずつずらしながら長さNの部分文字列を取得する。このとき、同一の文字列から構成される部分文字列は同一の部分文字列として扱う。次に、統計量計算部32は、取得された部分文字列の各々について、当該部分文字列の左側に接続する文字、及び右側に接続する文字を取得する。そして、部分文字列の各々について、当該部分文字列の各々について取得された左側に接続する文字、及び右側に接続する文字の各々に基づいて、上記(1)式に従って、部分文字列両端に接続する文字の異なり数であるAccessor Varietyの統計量を計算し、文字列統計量データとして統計量記憶部24に記憶する。なお、部分文字列と接続する文字の抽出は処理の高速化のために生コーパスを適当なサイズに分割して並列化することが可能であり、部分文字列に対するエントロピーの計算等は処理の高速化のために部分文字列毎に並列化することが可能である。また、部分文字列の長さNは、非特許文献5や非特許文献7で行われているように、複数のものを並行して利用してもよい。
【0041】
分割位置推定部34は、統計量記憶部24に記憶されている部分文字列毎に計算された当該部分文字列の前後に接続される文字の統計量に基づいて、単語分割する位置を推定し、部分文字列毎に、当該部分文字列の前後の文字間に、分割される位置を示すラベル、分割されない位置を示すラベル、又は分割有無不明位置を示すラベルを付与することにより、生コーパスの全ての文字間の各々にラベルを付与する。具体的には、予め定められた第1の閾値及び第2の閾値(第1の閾値>第2の閾値)を定めておき、部分文字列の各々について、当該部分文字列の前後に接続される文字の統計量が、予め定められた第1の閾値よりも大きい場合に、分割される位置を示すラベルを付与し、当該部分文字列の前後に接続される文字の統計量が予め定められた第1の閾値以下であり、かつ予め定められた第2の閾値よりも大きい場合に、分割有無不明位置を示すラベルを付与し、当該部分文字列の前後に接続される文字の統計量が予め定められた第2の閾値以下である場合に、分割されない位置を示すラベルを付与する。
【0042】
コーパス出力部36は、分割位置推定部34においてラベルが付与された生コーパスを、部分的単語分割コーパスとして、部分的単語分割コーパス記憶部40に記憶する。部分的単語分割コーパスの形態としては、例えば、公知の単語分割器KyTeaの部分的単語分割コーパスで利用されている、単語分割される位置は文字間に“|”を、単語分割されない位置は文字間に“-”を、単語分割不明な位置は文字間に空白文字もしくは“?”を、それぞれ挿入した文字列とする。
【0043】
部分的単語分割コーパス記憶部40には、コーパス出力部36において取得された部分的単語分割コーパスを記憶している。
【0044】
単語分割コーパス記憶部42には、上記対象分野とは異なる分野である元分野の文字列の集合であって、かつ、文字間の各々の単語分割する位置を示すラベル及び単語分割しない位置を示すラベルが予め付与された単語分割コーパスが記憶されている。
【0045】
単語辞書記憶部44には、予め定義された複数の単語の各々からなる単語辞書が記憶されている。
【0046】
統計モデル学習部50は、部分的単語分割コーパス記憶部40に記憶されている部分的単語分割コーパスと、単語分割コーパス記憶部42に記憶されている単語分割コーパスと、単語辞書記憶部44に記憶されている単語辞書と、に基づいて、対象分野の文字列について単語分割する位置を判定するための単語分割モデルを学習する。また、統計モデル学習部50は、学習素性抽出部52と、モデル学習部54とを備えている。
【0047】
学習素性抽出部52は、単語辞書記憶部44に記憶されている単語辞書に基づいて、部分的単語分割コーパス記憶部40に記憶されている部分的単語分割コーパスに含まれる文字列の各々に対して、単語分割する位置を示すラベルが付与された文字間の各々についての素性、及び単語分割しない位置を示すラベルが付与された文字間の各々についての素性を抽出し、単語分割コーパス記憶部42に記憶されている単語分割コーパスに含まれる文字列の各々に対して、単語分割する位置を示すラベルが付与された文字間の各々についての素性、及び単語分割しない位置を示すラベルが付与された文字間の各々についての素性を抽出する。例えば、素性として、ある文字間t
iについては、下記(a)〜(c)を抽出する(非特許文献3)。
図3にある文字間t
iの分類に参照する文字を示す。
【0048】
(a)文字n−gram:文字間の位置iの前後の部分文字列であり、窓幅mと長さnのパラメータがある場合、長さ2mの文字列x
i−m+1…x
i−1x
ix
i+1…x
i+mの長さnのすべての部分文字(文字n−gram)からなる素性である。
(b)文字種n−gram:文字間の位置iの前後の部分文字列であり、窓幅mと長さnのパラメータがある場合、長さ2mの文字列x
i−m+1…x
i−1x
ix
i+1…x
i+mの長さnのすべての部分文字(文字n−gram)に含まれる文字種からなる素性である。ここで、文字種は、漢字、片仮名、平仮名、ローマ字、数字、及びその他の6つである。
(c)単語辞書素性:各長さkに対する、文字間の左の部分文字列x
i−k+1x
i−k+2…x
iが単語として単語辞書記憶部44に記憶されている単語辞書に含まれているか否か、文字間の右の部分文字列x
i+1x
i+2…x
i+kが単語として単語辞書記憶部44に記憶されている単語辞書に含まれているか否か、及び文字間をまたぐ部分文字列x
i−j+1x
i−j+2…x
i−j+k
【0050】
が単語として単語辞書記憶部44に記憶されている単語辞書に含まれているか否か、とからなる素性である。
【0051】
モデル学習部54は、部分的単語分割コーパス記憶部40に記憶されている部分的単語分割コーパスに含まれる文字列の各々の文字間毎のラベル及び学習素性抽出部において抽出された素性と、単語分割コーパス記憶部42に記憶されている単語分割コーパスに含まれる文字列の各々の文字間毎のラベル及び学習素性抽出部において抽出された素性と、に基づいて、対象分野の文字列について単語分割する位置を判定するための単語分割モデルを学習し、出力部90に出力すると共に、モデル記憶部60に記憶する。モデルの学習には、ロジスティック回帰又はサポートベクタマシンを用いた分類器の学習を行うLibLinearや、サポートベクタマシンを用いた分類器の学習を行うSVMlightなどを利用する。
【0052】
モデル記憶部60には、モデル学習部54において学習された対象分野の文字列について単語分割する位置を判定するための単語分割モデルが記憶されている。
【0053】
<本発明の第1の実施の形態に係る単語分割判定装置の構成>
次に、本発明の第1の実施の形態に係る単語分割判定装置の構成について説明する。
図4に示すように、本発明の第1の実施の形態に係る単語分割判定装置200は、CPUと、RAMと、後述する単語分割判定処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。この単語分割判定装置200は、機能的には
図4に示すように入力部210と、演算部220と、出力部290とを備えている。
【0054】
入力部210は、対象分野の文字列を受け付ける。
【0055】
演算部220は、単語辞書記憶部230と、モデル記憶部232と、単語分割処理部240と、単語列記憶部250と、を備えている。
【0056】
単語辞書記憶部230には、モデル学習装置100の単語辞書記憶部44と同一の単語辞書が記憶されている。
【0057】
モデル記憶部232には、モデル学習装置100のモデル記憶部60と同一の、対象分野の文字列について単語分割する位置を判定するための単語分割モデルが記憶されている。
【0058】
単語分割処理部240は、入力部210において受け付けた、対象分野の文字列について、単語列に分割する。また、単語分割処理部240は、素性抽出部242と、二値分類部244と、データ変換部246とを備えている。
【0059】
素性抽出部242は、モデル学習装置100の学習素性抽出部52と同様に、入力部210において受け付けた文字列の文字間の各々について、単語辞書記憶部230に記憶されている単語辞書を用いて、素性を抽出する。
【0060】
二値分類部244は、素性抽出部242において抽出した入力部210において受け付けた文字列の文字間の各々の素性と、モデル記憶部232に記憶されている対象分野の文字列について単語分割する位置を判定するための単語分割モデルとに基づいて、文字間の各々が単語分割する位置か否かを判定する。なお、単語分割する位置か否かの判定には、ロジスティック回帰やサポートベクタマシンを代表とする公知の様々な分類器を用いることが可能である。
【0061】
データ変換部246は、二値分類部244において判定された結果に基づいて、入力部210において受け付けた文字列を単語列に分割し、単語列データとして単語列記憶部250に記憶すると共に、出力部290に出力する。なお、出力として端末やファイルに単語列データを出力する際、典型的には分割する位置となる文字間に空白文字を挿入することで分割位置を表すが、データの形式は特に限定しない。
【0062】
<本発明の第1の実施の形態に係るモデル学習装置の作用>
次に、本発明の第1の実施の形態に係るモデル学習装置100の作用について説明する。まず、対象分野の文字列の集合である生コーパスを受け付け、生コーパス記憶部22に記憶する。そして、生コーパス記憶部22から生コーパスを読み出すと、モデル学習装置100は、
図5に示す部分的単語分割コーパス処理ルーチンを実行する。また、部分的単語分割コーパス処理ルーチンが終了すると、モデル学習装置100は、
図6に示すモデル学習処理ルーチンを実行する。
【0063】
まず、
図5に示す部分的単語分割コーパス処理ルーチンについて説明する。
【0064】
ステップS102では、読み込んだ生コーパスに含まれる、文字列を長さNの部分文字列の各々を取得する。
【0065】
次に、ステップS104では、ステップS102において取得した部分文字列の各々について、左側及び右側に接続する文字を取得する。
【0066】
次に、ステップS106では、ステップS102において取得した部分文字列の各々について、ステップS104において取得した当該左側及び右側に接続する文字に基づいて、上記(1)式に従って、当該部分文字列の前後に接続される文字の統計量を計算する。
【0067】
次に、ステップS108では、ステップS102において取得した部分文字列の各々について、ステップS104において取得した当該部分文字列の前後に接続される文字の統計量と、予め定められた第1の閾値及び第2の閾値とに基づいて、当該部分文字列の前後の文字間に、分割される位置を示すラベル、分割されない位置を示すラベル、又は分割有無不明位置を示すラベルを付与することにより、生コーパスの全ての文字間の各々にラベルを付与する。
【0068】
次に、ステップS110では、ステップS108において取得した、文字間の各々にラベルが付与された生コーパスを、部分的単語分割コーパスとして、部分的単語分割コーパス記憶部40に記憶し、部分的単語分割コーパス処理ルーチンを終了する。
【0069】
次に、
図6に示すモデル学習処理ルーチンについて説明する。
【0070】
まず、ステップS200では、単語分割コーパス記憶部42に記憶されている単語分割コーパスを読み込む。
【0071】
次に、ステップS202では、部分的単語分割コーパス記憶部40に記憶されている部分的単語分割コーパスを読み込む。
【0072】
次に、ステップS204では、単語辞書記憶部44に記憶されている単語辞書を読み込む。
【0073】
次に、ステップS206では、ステップS204において取得した単語辞書に基づいて、ステップS202において取得した部分的単語分割コーパスに含まれる文字列の各々に対して、単語分割する位置を示すラベルが付与された文字間の各々についての素性、及び単語分割しない位置を示すラベルが付与された文字間の各々についての素性を抽出し、ステップS200において取得した単語分割コーパスに含まれる文字列の各々に対して、単語分割する位置を示すラベルが付与された文字間の各々についての素性、及び単語分割しない位置を示すラベルが付与された文字間の各々についての素性を抽出する。
【0074】
次に、ステップS208では、ステップS200において取得した単語分割コーパスに含まれる文字列の各々の文字間のラベルと、ステップS202において取得した部分的単語分割コーパスに含まれる文字列の各々の文字間毎のラベルと、ステップS206において取得した、単語分割コーパス及び部分単語分割コーパスに含まれる文字列の各々の文字間について取得した素性の各々とに基づいて、対象分野の文字列について単語分割する位置を判定するための単語分割モデルを学習する。
【0075】
次に、ステップS210では、ステップS208において取得した対象分野の文字列について単語分割する位置を判定するための単語分割モデルを、モデル記憶部60に記憶すると共に、出力部90に出力してモデル学習処理ルーチンを終了する。
【0076】
<本発明の第1の実施の形態に係る単語分割判定装置の作用>
次に、本発明の第1の実施の形態に係る単語分割判定装置200の作用について説明する。まず、入力部210から、モデル学習装置100において学習された対象分野の文字列について単語分割する位置を判定するための単語分割モデルが入力され、モデル記憶部232に記憶される。そして、処理対象となる文字列を受け付けると、単語分割判定装置200は、
図7に示す単語分割判定処理ルーチンを実行する。
【0077】
まず、ステップS300では、単語辞書記憶部230に記憶されている単語辞書を読み込む。
【0078】
次に、ステップS302では、モデル記憶部232に記憶されている対象分野の文字列について単語分割する位置を判定するための単語分割モデルを読み込む。
【0079】
次に、ステップS304では、入力部210において受け付けた文字列の文字間の各々について、ステップS206と同様に、素性の各々を抽出する。
【0080】
次に、ステップS306では、ステップS304において取得した入力部210において受け付けた文字列の文字間の各々の素性の各々と、ステップS302において取得した対象分野の文字列について単語分割する位置を判定するための単語分割モデルとに基づいて、文字間の各々が単語分割される位置か否かを判定する。
【0081】
次に、ステップS308では、ステップS306において取得した文字列の文字間の各々について判定された結果に基づいて、入力部210において受け付けた文字列を単語列に分割し、単語列データとする。
【0082】
次に、ステップS310では、ステップS308において取得した単語列データを、単語列記憶部250に記憶すると共に、出力部290に出力し、単語分割判定処理ルーチンを終了する。
【0083】
<実験例>
本実施の形態で説明した手法を用いた実験において、一般的な日本語書き言葉の単語分割コーパスと、大量の日本語特許生コーパスを利用した場合、日本語特許文を単語分割した時の分割精度(F値)が本実施の形態による分野適応によって96.14%から97.42%に向上した。つまり、エラー率が3.86%から2.58%と約30%軽減されたことになり、この効果は大きい。なお、分割精度(F値)の定義を下記(4)式に示す。
【0085】
以上説明したように、本発明の第1の実施の形態に係る単語分割装置によれば、対象分野の文字列の集合である生コーパスに含まれる文字列の各々に対して、文字間の各々に単語分割する位置を示すラベル、単語分割しない位置を示すラベル、又は分割有無不明位置を示すラベルを付与して、部分的単語分割とし、対象分野とは異なる元分野の単語分割コーパスと、部分的単語分割コーパスとに対して、単語分割する位置を示すラベルが付与された文字間の各々についての素性、及び単語分割しない位置を示すラベルが付与された文字間の各々についての素性を抽出し、対象分野の文字列について単語分割する位置を判定するための単語分割モデルを学習し、学習された対象分野の文字列について単語分割する位置を判定するための単語分割モデルに基づいて、対象分野の文字列の単語分割する位置を判定することにより、対象分野の文字列について精度良く単語分割をすることができる。
【0086】
また、生コーパス中の部分文字列の各々の前後に接続される文字の統計量から、ある部分文字列の文字間が十分に単語分割する位置であると期待できる箇所を自動的に判定し、その結果を単語分割の統計モデルの追加学習データとして利用することで単語分割の分野適応を可能にする。単語分割プログラムが利用する素性に変化はなく、学習データが増加するのみであるので、学習時間の増加は見込まれるものの、単語分割処理自体の時間は大きく変化しないことが期待できる。
【0087】
また、対象分野の大量の生コーパスを利用することで、利用できる単語分割コーパスが対象分野と異なるものであっても、対象分野の単語分割を精度良く行うことができる。
【0088】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【0089】
例えば、第1の実施の形態において、部分文字列の各々について計算したAccessor Varietyの統計量を文字列統計量データとする場合について説明したが、これに限定されるものではなく、部分文字列の各々について、Branching Entropyの統計量を上記(2)式に従って、計算したエントロピーを文字列統計量データとしてもよい。また、部分文字列の各々について、Branching Entropyの差分値を文字列統計量データとしてもよい。この場合、長さN−1の部分文字列についても同様に統計量を計算する必要がある。
【0090】
また、第1の実施の形態においては、部分文字列の前後に接続される文字の統計量に基づいて、分割される位置を示すラベル、分割されない位置を示すラベル、又は分割有無不明位置を示すラベルを付与する場合について説明したが、これに限定されるものではない。例えば、元分野の単語分割コーパスとの整合性を保つ目的で、元分野の単語分割コーパスのみで学習した単語分割器で単語分割した結果と整合する単語分割される/されない位置のみにラベルを付与するようにしてもよい。
【0091】
また、第1の実施の形態においては、学習素性抽出部において、部分的単語分割コーパス記憶部40に記憶されている部分的単語分割コーパスに含まれる文字列の各々に対して、単語分割する位置を示すラベルが付与された文字間の各々についての素性、及び単語分割しない位置を示すラベルが付与された文字間の各々についての素性を抽出する場合について説明したが、これに限定されるものではない。例えば、部分的単語分割コーパス記憶部40に記憶されている部分的単語分割コーパスに含まれる文字列の各々に対して、更に、分割有無不明位置を示すラベルが付与された文字間の各々について素性を抽出してもよい。また、部分的単語分割コーパス記憶部40に記憶されている部分的単語分割コーパスに含まれる文字列の各々に対して、単語分割する位置を示すラベルが付与された文字間の各々についてのみ素性を抽出してもよい。
【0092】
また、第1の実施の形態においては、単語分割装置が、モデル学習装置と、単語分割判定装置の2つの装置とから構成される場合について説明したが、これに限定されるものではない。例えば、追加学習コーパス部30の機能を有する追加学習コーパス装置と、統計モデル学習部50の機能を有する統計モデル学習装置と、単語分割判定装置の3つの装置とから構成されてもよい。また、単語分割装置に、モデル学習装置、及び単語分割判定装置の機能をもたせ、1つの装置として構成してもよい。
【0093】
次に、第2の実施の形態に係る単語分割装置について説明する。
【0094】
第2の実施の形態においては、モデル学習装置100の、追加学習コーパス部30における分割位置推定部34において、部分文字列の前後の文字間に、分割される位置を示すラベル、又は分割有無不明位置を示すラベルを付与する点が第1の実施の形態と異なる。なお、第1の実施の形態に係る単語分割装置1と同様の構成及び作用については、同一の符号を付して説明を省略する。
【0095】
分割位置推定部34は、統計量計算部32において部分文字列毎に計算された当該部分文字列の前後に接続される文字の統計量に基づいて、単語分割する位置を推定し、部分文字列毎に、当該部分文字列の前後の文字間に、分割される位置を示すラベル、又は分割有無不明位置を示すラベルを付与することにより、生コーパスの全ての文字間の各々にラベルを付与する。具体的には、予め閾値を定めておき、部分文字列の各々について、当該部分文字列の前後に接続される文字の統計量が、予め定められた閾値よりも大きい場合に、分割される位置を示すラベルを付与し、当該部分文字列の前後に接続される文字の統計量が予め定められた閾値以下でる場合に、分割有無不明位置を示すラベルを付与する。
【0096】
コーパス出力部36は、分割位置推定部34においてラベルが付与された生コーパスを、部分的単語分割コーパスとして、部分的単語分割コーパス記憶部40に記憶する。
【0097】
以上説明したように、本発明の第2の実施の形態に係る単語分割装置によれば、対象分野の文字列の集合である生コーパスに含まれる文字列の各々に対して、文字間の各々に単語分割する位置を示すラベル、又は分割有無不明位置を示すラベルを付与して、部分的単語分割コーパスとし、対象分野とは異なる元分野の単語分割コーパスと、部分的単語分割コーパスとに対して、単語分割する位置を示すラベルが付与された文字間の各々についての素性、及び単語分割しない位置を示すラベルが付与された文字間の各々についての素性を抽出し、対象分野の文字列について単語分割する位置を判定するための単語分割モデルを学習し、学習された対象分野の文字列について単語分割する位置を判定するための単語分割モデルに基づいて、対象分野の文字列の単語分割する位置を判定することにより、対象分野の文字列について精度良く単語分割をすることができる。
【0098】
次に、第3の実施の形態に係る単語分割装置について説明する。
【0099】
第3の実施の形態においては、モデル学習装置100の、追加学習コーパス部30における分割位置推定部34において、部分文字列の前後の文字間に、分割される位置を示すラベルのみを付与する点が第1の実施の形態と異なる。なお、第1の実施の形態に係る単語分割装置1と同様の構成及び作用については、同一の符号を付して説明を省略する。
【0100】
分割位置推定部34は、統計量計算部32において部分文字列毎に計算された当該部分文字列の前後に接続される文字の統計量に基づいて、単語分割する位置を推定し、部分文字列毎に、当該部分文字列の前後の文字間に、分割される位置を示すラベルを付与することにより、生コーパスの文字間の各々にラベルを付与する。具体的には、予め閾値を定めておき、部分文字列の各々について、当該部分文字列の前後に接続される文字の統計量が、予め定められた閾値よりも大きい場合に、分割される位置を示すラベルを付与する。
【0101】
コーパス出力部36は、分割位置推定部34においてラベルが付与された生コーパスを、部分的単語分割コーパスとして、部分的単語分割コーパス記憶部40に記憶する。
【0102】
以上説明したように、本発明の第3の実施の形態に係る単語分割装置によれば、対象分野の文字列の集合である生コーパスに含まれる文字列の各々に対して、文字間の各々に単語分割する位置を示すラベルを付与して、部分的単語分割コーパスとし、対象分野とは異なる元分野の単語分割コーパスと、部分的単語分割コーパスとに対して、単語分割する位置を示すラベルが付与された文字間の各々についての素性、及び単語分割しない位置を示すラベルが付与された文字間の各々についての素性を抽出し、対象分野の文字列について単語分割する位置を判定するための単語分割モデルを学習し、学習された対象分野の文字列について単語分割する位置を判定するための単語分割モデルに基づいて、対象分野の文字列の単語分割する位置を判定することにより、対象分野の文字列について精度良く単語分割をすることができる。
【0103】
また、第3の実施の形態においては、統計量の値が大きい箇所は単語分割される位置であることが多い反面、特に短い単語の周辺において単語分割される位置であっても統計量の値が比較的小さいことがあるため、単語分割されない位置の推定精度は必ずしも高くないことを鑑みて、単語分割される位置を示すラベルのみを用いている。
【0104】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【0105】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能であるし、ネットワークを介して提供することも可能である。