(57)【要約】【課題】文字列にタグを付与するための知識を学習するタグ付与知識学習装置を提供する。【解決手段】タグ付与知識学習装置１は、文書を分割した文字列と当該文字列に予め付与されたタグとを組とする分割単位を入力し、分割単位とその頻度とを項目とする多項分布頻度表を、多項分布モデルとして学習する多項分布モデル学習手段２１と、分割単位の多項分布モデルを事前知識とする従属ディリクレ過程のモデルであるＤＤＰモデルとして、重複した項目を許した分割単位とその頻度と生存確率とを項目とする分割単位ＤＤＰ表を学習する分割単位ＤＤＰモデル学習手段２２と、を備えることを特徴とする。【選択図】図１
2015170151.tif 000002
【特許請求の範囲】
【請求項１】
文字列にタグを付与するための知識を学習するタグ付与知識学習装置であって、
文書を分割した文字列と当該文字列に予め付与されたタグとを組とする分割単位を入力し、前記分割単位とその頻度とを項目とする多項分布頻度表を、多項分布モデルとして学習する多項分布モデル学習手段と、
前記分割単位の前記多項分布モデルを事前知識とする従属ディリクレ過程のモデルであるＤＤＰモデルとして、重複した項目を許した分割単位とその頻度と生存確率とを項目とする分割単位ＤＤＰ表を学習する分割単位ＤＤＰモデル学習手段と、を備え、
前記分割単位ＤＤＰモデル学習手段は、
前記文書が入力されるたびに、前記生存確率を予め定めた割合で低下させる生存確率更新手段と、
前記分割単位ＤＤＰ表における全分割単位の頻度と生存確率との積の総和である総頻度、および、前記多項分布頻度表における入力された分割単位の頻度から、前記ＤＤＰモデルにおいて、当該分割単位が新規項目として生起する期待確率を算出する新規学習項目生起確率算出手段と、
前記分割単位ＤＤＰ表における全分割単位の前記総頻度、前記分割単位ＤＤＰ表の項目の頻度と生存確率の積、および、入力された分割単位が既存の分割単位を予め定めた規則により置換する確率から、前記ＤＤＰモデルにおいて、当該分割単位が既存項目として生起する期待確率を算出する既存学習項目生起確率算出手段と、
前記新規項目として生起する期待確率と、前記既存項目として生起する期待確率との確率比に応じて、前記分割単位ＤＤＰ表の項目を更新する学習項目更新手段と、
を備えることを特徴とするタグ付与知識学習装置。
【請求項２】
コンピュータを、請求項１に記載のタグ付与知識学習装置の各手段として機能させるためのタグ付与知識学習プログラム。
【請求項３】
請求項１に記載のタグ付与知識学習装置で学習した、重複した項目を許した分割単位とその頻度と生存確率とを項目とする分割単位ＤＤＰ表を参照して、入力文字列を分割し、その分割した文字列にタグを付与するタグ付与装置であって、
前記入力文字列を任意の文字列に分割して、部分文字列を生成する部分文字列生成手段と、
前記部分文字列生成手段で分割された部分文字列に対応する分割単位を前記分割単位ＤＤＰ表において探索する分割単位探索手段と、
前記分割単位ＤＤＰ表を参照して、前記分割単位の生起確率を算出する生起確率算出手段と、
前記生起確率に基づいて、前記入力文字列に対する最尤な分割単位列を探索する最尤分割単位探索手段と、
を備えることを特徴とするタグ付与装置
【請求項４】
コンピュータを、請求項３に記載のタグ付与装置の各手段として機能させるためのタグ付与プログラム。
【請求項５】
文字列にタグを付与するための知識を学習するタグ付与知識学習装置であって、
文書を分割した文字列と当該文字列に予め付与されたタグとを組とする分割単位を入力し、前記分割単位とその頻度とを項目とする多項分布頻度表を、多項分布モデルとして学習する多項分布モデル学習手段と、
前記分割単位の前記多項分布モデルを事前知識とする従属ディリクレ過程のモデルであるＤＤＰモデルとして、重複した項目を許した１以上の分割単位からなる記憶単位とその頻度と生存確率とを項目とする記憶単位ＤＤＰ表を学習する記憶単位ＤＤＰモデル学習手段と、を備え、
前記記憶単位ＤＤＰモデル学習手段は、
前記文書が入力されるたびに、前記生存確率を予め定めた割合で低下させる生存確率更新手段と、
前記記憶単位ＤＤＰ表における全記憶単位の頻度と生存確率との積の総和である総頻度に対する、前記入力された分割単位列に含まれる記憶単位の頻度に応じて、分割された記憶単位の列を生成する記憶単位生成手段と、
前記分割単位ＤＤＰ表における全記憶単位の頻度と生存確率との積の総和である総頻度、および、前記記憶単位生成手段で生成された記憶単位の頻度から、前記ＤＤＰモデルにおいて、当該記憶単位が新規項目として生起する期待確率を算出する新規学習項目生起確率算出手段と、
前記分割単位ＤＤＰ表における全記憶単位の前記総頻度、前記記憶単位ＤＤＰ表の項目の頻度と生存確率の積、および、前記記憶単位生成手段で生成された記憶単位が既存の記憶単位を予め定めた規則により置換する確率から、前記ＤＤＰモデルにおいて、当該記憶単位が既存項目として生起する期待確率を算出する既存学習項目生起確率算出手段と、
前記新規項目として生起する期待確率と、前記既存項目として生起する期待確率との確率比に応じて、前記記憶単位ＤＤＰ表の項目を更新する学習項目更新手段と、
を備えることを特徴とするタグ付与知識学習装置。
【請求項６】
コンピュータを、請求項５に記載のタグ付与知識学習装置の各手段として機能させるためのタグ付与知識学習プログラム。
【請求項７】
請求項６に記載のタグ付与知識学習装置で学習した、重複した項目を許した記憶単位とその頻度と生存確率とを項目とする記憶単位ＤＤＰ表を参照して、入力文字列を分割し、その分割した文字列にタグを付与するタグ付与装置であって、
前記入力文字列を任意の文字列に分割して、部分文字列を生成する部分文字列生成手段と、
前記部分文字列生成手段で分割された部分文字列に対応する記憶単位を前記記憶単位ＤＤＰ表において探索する記憶単位探索手段と、
前記記憶単位ＤＤＰ表を参照して、前記記憶単位の生起確率を算出する生起確率算出手段と、
前記生起確率に基づいて、前記入力文字列に対する最尤な記憶単位列を探索する最尤分割単位探索手段と、
を備えることを特徴とするタグ付与装置
【請求項８】
コンピュータを、請求項７に記載のタグ付与装置の各手段として機能させるためのタグ付与プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書の各文を構成する語彙、表現等の構成要素に、タグを付与するためのタグ付与知識学習装置およびそのプログラム、ならびに、タグ付与装置およびそのプログラムに関する。
【背景技術】
【０００２】
ある文書の各文に対して、それらを何らかの有意味な単位に区切り、その各々にそのタグ（単語の品詞やルビ（読み）、語釈等）を付与する処理は、自然言語処理の最も基本的な技術の１つである。例えば、日本語のように単語が区切りなく記される言語を処理する場合、通常、まず最初に、形態素解析と呼ばれる、各文を形態素と呼ばれる単位に分割してその各々に品詞等の情報を付与する処理を行った後に、各種の自然言語処理技術を用いた処理が行われる。
【０００３】
形態素解析には様々な手法が存在するが、非特許文献１で用いているような、統計的な手法を用いることが一般的である。これは、形態素、すなわち＜分割単位の表層文字列×付与される各種情報＞の生起を確率モデル化し、これを用いて、各文の生起を形態素列の生起としてモデル化する手法である。
このモデル化には様々な手法を用いることができる（非特許文献２参照）が、最も簡易な形態素ｕｎｉｇｒａｍモデルについて説明すると、各形態素のｕｎｉｇｒａｍ生起確率がわかっているとき、ある入力文字列に対する最適な形態素解析の結果は、１個以上の形態素を並べてちょうどその表層文字列が入力文字列と一致するような形態素列の候補のうち、その形態素列生起確率＝各形態素のｕｎｉｇｒａｍ生起確率の総積が最大となる形態素列として得ることができる。
また、各形態素のｕｎｉｇｒａｍ生起確率は、形態素タグが付与された文の集合である学習データを予め用意することで、自動的に学習することができる。形態素生起モデルには様々な手法を用いることが可能であるが、最も簡易な多項分布モデル（非特許文献３参照）について説明すると、各形態素の生起確率は、学習データに当該形態素が出現した頻度に比例した値を与えればよい。
このように、従来の統計的なタグ付与手法は、予め与えられたタグ付与済データから学習した確率モデルを用いることで、この学習データにおける分割・タグ付与方針を模した処理を実現するものである。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“MeCab:Yet Another Part-of-Speech and Morphological Analyzer”、［online］、２００６年３月２６日Initial release、［平成２６年２月２５日検索］、インターネット＜URL：http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html＞
【非特許文献２】“Language model”、［online］、［平成２６年２月２５日検索］、インターネット＜URL：http://en.wikipedia.org/wiki/Language＿model＞
【非特許文献３】“多項分布”、［online］、［平成２６年２月２５日検索］、インターネット＜URL：http://ja.wikipedia.org/wiki/多項分布＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前記した従来手法は、人手などで作成した予めあるまとまった分量の学習データが存在する時に、新たな入力文字列に対して学習データと同じ方針のタグ付与を実現する手法であった。また、学習データには、その全体を通して一貫した方針のタグが付与されていることが必要であった。
これに対して、以下のような事例を考える。すなわち、学習事例は時系列に沿って少量ずつ作成されており、またそのタグ付与方針は試行錯誤を経て変遷している、すなわち同じ言語現象に対するタグ付与のやり方がある時点以降異なるものになっている可能性があるものとする。このような形で一連の学習データが得られた場合に、現時点において最も尤もらしいタグ付与を実現するための学習を行うには、従来手法のように、これまでに得られた学習データを、古いものも新しいものも一様に扱うやり方では問題がある。
【０００６】
本発明は、このような問題に鑑みてなされたものであり、ある時刻に１つのタグ付き文書が与えられるたびに、確率的に既学習知識の忘却・変更と新たな知識の学習とを行うことで、最新のタグ付け方針に沿ってタグ付けを行うことを可能にしたタグ付与知識学習装置およびそのプログラム、ならびに、タグ付与装置およびそのプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００７】
前記課題を解決するため、本発明に係るタグ付与知識学習装置は、文字列にタグを付与するための知識を学習するタグ付与知識学習装置であって、多項分布モデル学習手段と、分割単位ＤＤＰ（Ｄｅｐｅｎｄｅｎｔ  Ｄｉｒｉｃｈｅｔ  Ｐｒｏｃｅｓｓ：従属ディリクレ過程）モデル学習手段と、を備え、前記分割単位ＤＤＰモデル学習手段は、新規学習項目生起確率算出手段と、既存学習項目生起確率算出手段と、学習項目更新手段と、を備える構成とした。
【０００８】
かかる構成において、タグ付与知識学習装置は、多項分布モデル学習手段によって、文書を分割した文字列と当該文字列に予め付与されたタグとを組とする分割単位を入力し、分割単位とその頻度とを項目とする多項分布頻度表を生成する。これによって、分割単位の多項分布モデルが学習されることになる。なお、文字列は、どのような単位で分割されていてもよく、例えば、語彙（形態素等）、表現等である。また、タグは、文字列に付与する情報であれば何でもよく、例えば、語釈、読み等である。
そして、タグ付与知識学習装置は、生存確率更新手段によって、文書が入力されるたびに、生存確率を予め定めた割合で低下させる。
これによって、タグ付与知識学習装置は、文書が入力されるたびに、以前に学習した知識を徐々に忘却させる方向に作用させる。
【０００９】
そして、タグ付与知識学習装置は、新規学習項目生起確率算出手段によって、分割単位ＤＤＰ表における全分割単位の頻度と生存確率との積の総和である総頻度、および、多項分布頻度表における入力された分割単位の頻度を用いて、ＤＤＰモデルにおいて、当該分割単位が事前知識である多項分布モデルより生起する期待確率を算出する。
【００１０】
また、タグ付与知識学習装置は、既存学習項目生起確率算出手段によって、分割単位ＤＤＰ表における全分割単位の前記総頻度、分割単位ＤＤＰ表のある項目の頻度と生存確率の積、および、入力された分割単位が既存の分割単位を予め定めた規則により置換する確率から、ＤＤＰモデルにおいて、当該分割単位が既存のある項目を知識として生起する期待確率を算出する。
【００１１】
そして、タグ付与知識学習装置は、学習項目更新手段によって、事前知識より生起する期待確率と、既存知識より生起する期待確率との確率比に応じて、分割単位ＤＤＰ表の項目を更新する。
これによって、タグ付与知識学習装置は、ＤＤＰモデルにおいて、事前知識より生起する期待確率が高ければ、新たな分割単位を学習し、既存知識より生起する期待確率が高ければ、既存の分割単位を再学習することになる。
【００１２】
また、前記課題を解決するため、本発明に係るタグ付与装置は、タグ付与知識学習装置で学習した、重複した項目を許した分割単位とその頻度と生存確率とを項目とする分割単位ＤＤＰ表を参照して、入力文字列を任意の文字列に分割し、その分割した文字列にタグを付与するタグ付与装置であって、部分文字列生成手段と、分割単位探索手段と、生起確率算出手段と、最尤分割単位探索手段と、を備える構成とした。
【００１３】
かかる構成において、タグ付与装置は、部分文字列生成手段によって、入力文字列を任意の文字数で分割して、部分文字列を生成する。そして、タグ付与装置は、分割単位探索手段によって、部分文字列生成手段で分割された部分文字列に対応する分割単位を分割単位ＤＤＰ表において探索する。
【００１４】
そして、タグ付与装置は、最尤分割単位探索手段によって、生起確率により、入力文字列に対する最尤な分割単位列を探索する。
これによって、タグ付与装置は、入力文字列を、最尤な文字列に分割し、それに対応するタグを付与することができる。
なお、学習を行う知識の単位は、前記した分割単位の代わりに、１つ以上の分割単位の列をまとめた単位としてもよい。以後、これを「記憶単位」と呼ぶ。
【発明の効果】
【００１５】
本発明は、以下に示す優れた効果を奏するものである。
本発明によれば、新たな文書の入力のたびに、確率的に既学習知識の忘却・変更を行って、新たな知識の学習を行うことで、最新のタグ付与方針に沿った分割・タグ付与に対してより高確率を与えるようなモデルを学習することができる。
これによって、文字列に対するタグ付けの方針が頻繁に変更される場合でも、本発明によれば、最新の方針に沿って、文字列の分割とタグ付けとを行うことが可能になる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１実施形態に係るタグ付与知識学習装置の構成を示すブロック構成図である。
【図２】本発明の第１実施形態に係るタグ付与知識学習装置の動作を示すフローチャートである。
【図３】本発明の第１実施形態に係るタグ付与装置の構成を示すブロック構成図である。
【図４】本発明の第１実施形態に係るタグ付与装置の動作を示すフローチャートである。
【図５】本発明の第２実施形態に係るタグ付与知識学習装置の構成を示すブロック構成図である。
【図６】本発明の第２実施形態に係るタグ付与知識学習装置の動作を示すフローチャートである。
【図７】図６の記憶単位列を生成する動作を示すフローチャート（１／２）である。
【図８】図６の記憶単位列を生成する動作を示すフローチャート（１／２）である。
【図９】本発明の第２実施形態に係るタグ付与装置の構成を示すブロック構成図である。
【図１０】本発明の第２実施形態に係るタグ付与装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態について図面を参照して説明する。
≪第１実施形態≫
まず、本発明の第１実施形態に係るタグ付与知識学習装置１（図１参照）およびタグ付与装置３（図３参照）について説明する。
【００１８】
タグ付与知識学習装置１は、タグ付与装置３が入力された文字列を分割し、分割文字列に各種情報（タグ）を付与するための知識を、逐次入力されるタグ付き文書から学習するものである。
タグ付与装置３は、タグ付与知識学習装置１で学習された知識に基づいて、入力される文字列を分割し、分割文字列にタグを付与するものである。
【００１９】
［タグ付与知識学習装置の構成］
最初に、図１を参照して、タグ付与知識学習装置１の構成について説明する。
図１に示すように、タグ付与知識学習装置１は、記憶部１０と制御部２０とを備える。
【００２０】
記憶部１０は、タグ付与知識学習装置１が学習を行う際の情報を記憶するものである。ここでは、記憶部１０は、多項分布頻度表記憶手段１１と、分割単位ＤＤＰ表記憶手段１２と、を備える。
【００２１】
多項分布頻度表記憶手段１１は、ある分割された１単位の文字列と、その文字列に付与された各種情報（タグ）の組に対して、出現頻度を対応付けた多項分布頻度表１１ａを記憶するものである。この多項分布頻度表記憶手段１１は、半導体メモリ等の一般的な記憶媒体で構成される。
【００２２】
以下、ある分割された１単位の文字列ｗとタグｔとの組を分割単位ｕ＝＜ｗ，ｔ＞と呼ぶこととする。すなわち、多項分布頻度表記憶手段１１には、分割単位とその頻度とが対応付けられた一覧（多項分布頻度表１１ａ）が、分割単位の多項分布モデルの学習知識として記憶される。
【００２３】
なお、この多項分布頻度表１１ａは、後記する多項分布モデル学習手段２１によって更新される。また、多項分布頻度表１１ａは、後記する分割単位ＤＤＰモデル学習手段２２によって、多項分布ユニグラム（ｕｎｉｇｒａｍ）生起確率を算出する際に参照される。
【００２４】
分割単位ＤＤＰ表記憶手段１２は、分割単位ごとに、頻度と生存確率とを対応付けた分割単位ＤＤＰ表１２ａを記憶するものである。この分割単位ＤＤＰ表記憶手段１２は、半導体メモリ等の一般的な記憶媒体で構成される。
【００２５】
この分割単位ＤＤＰ表１２ａは、多項分布モデルを事前知識として持つ「Ｄｅｐｅｎｄｅｎｔ  Ｄｉｒｉｃｈｅｔ  Ｐｒｏｃｅｓｓ（ＤＤＰ：従属ディリクレ過程）」（Dehua Lin and Eric Grimson and John Fisher."Construction of Dependent Dirichlet Processes based on Poisson Processes." In proceedings of NIPS 2010.）を分割単位に適用したモデルの学習知識である。すなわち、分割単位ＤＤＰ表１２ａは、タグ付与装置３（図３参照）において、分割文字列にタグを付与するための知識となる。
【００２６】
ここでは、分割単位ＤＤＰ表記憶手段１２には、分割単位ｕに、分割単位の頻度ｆおよび生存確率ｅが対応付けられた＜分割単位ｕ，頻度ｆ，生存確率ｅ＞を組とする一覧（分割単位ＤＤＰ表１２ａ）が、分割単位のＤＤＰモデルの学習知識として記憶される。
ここで、「分割単位ｕ」は、多項分布頻度表記憶手段１１に記憶される分割単位と同じものである。また、「頻度ｆ」は、分割単位ｕの出現頻度（個数）である。また、「生存確率ｅ」は、分割単位ｕが分割単位ＤＤＰ表（ＤＤＰモデル）１２ａに存在する確率である。また、分割単位ＤＤＰ表１２ａでは、同じ分割単位の組が複数存在してもよい。
【００２７】
この分割単位ＤＤＰ表１２ａは、後記する分割単位ＤＤＰモデル学習手段２２によって更新される。なお、分割単位ＤＤＰ表１２ａにおいて、同じ分割単位が複数生成される過程については、分割単位ＤＤＰモデル学習手段２２の説明において行うこととする。
【００２８】
制御部２０は、外部から入力される文書に基づいて、文字列を分割しタグを付与するための知識を学習するものである。ここでは、制御部２０は、多項分布モデル学習手段２１と、分割単位ＤＤＰモデル学習手段２２と、を備える。
【００２９】
多項分布モデル学習手段２１は、外部から入力される文書に含まれている分割単位から、多項分布モデルの学習知識として、多項分布頻度表記憶手段１１に記憶されている多項分布頻度表１１ａを更新するものである。なお、入力される文書は、予め分割された文字列にタグが付与された分割単位の列として入力される。
【００３０】
この多項分布モデル学習手段２１は、入力された文書に含まれる分割単位が、多項分布頻度表記憶手段１１に記憶されている多項分布頻度表１１ａの分割単位ｕと一致する頻度ｃに“１”を加算する。また、入力された文書に含まれる分割単位が、多項分布頻度表１１ａに存在しなければ、多項分布頻度表１１ａに新たな分割単位を付加し、頻度ｃを“１”に設定する。
これによって、多項分布頻度表１１ａには、分割単位の多項分布ユニグラム（ｕｎｉｇｒａｍ）生起確率を算出するためのデータが学習されることになる。
この多項分布モデル学習手段２１は、入力された文書のすべての分割単位について、多項分布頻度表１１ａへの更新が完了した段階で、その旨（更新完了）と、入力された文書（分割単位の列）とを分割単位ＤＤＰモデル学習手段２２に出力する。
【００３１】
分割単位ＤＤＰモデル学習手段２２は、多項分布頻度表１１ａに基づいて、分割単位のＤＤＰモデルを学習するものである。この分割単位ＤＤＰモデル学習手段２２は、多項分布モデル学習手段２１から、多項分布頻度表１１ａの更新完了が通知され、入力文書の分割単位が入力されることで動作する。
ここでは、分割単位ＤＤＰモデル学習手段２２は、生存確率更新手段２２０と、生起期待確率算出手段２２１と、学習項目更新手段２２２と、生存学習項目更新手段２２３と、を備える。
【００３２】
生存確率更新手段２２０は、分割単位ＤＤＰ表記憶手段１２に記憶されている分割単位ＤＤＰ表１２ａの生存確率ｅを、予め定めた確率値（例えば、０．９９）で低下させるものである。
この生存確率更新手段２２０は、多項分布モデル学習手段２１から、多項分布頻度表１１ａの更新完了が通知された段階、すなわち、以前に更新された時点から、今回の更新時点になった段階で、分割単位ＤＤＰ表１２ａのすべての生存確率ｅに予め定めた確率値を乗算する。
これによって、生存確率更新手段２２０は、タグ付与知識学習装置１に学習対象の文書が入力されるたびに、以前学習した分割単位を一旦忘却する方向に作用させる。
この生存確率更新手段２２０は、生存確率を更新した段階で、生起期待確率算出手段２２１を動作させる。
【００３３】
生起期待確率算出手段２２１は、入力された文書の分割単位が現時点の分割単位ＤＤＰモデル（分割単位ＤＤＰ表１２ａ）より生起する期待確率を算出するものである。ここでは、生起期待確率算出手段２２１は、新規学習項目生起期待確率算出手段２２１ａと、既存学習項目生起期待確率算出手段２２１ｂと、備える。
【００３４】
新規学習項目生起期待確率算出手段２２１ａは、入力された分割単位が、分割単位ＤＤＰモデルの事前知識である多項分布モデルより生起する期待確率を算出するものである。
ここでは、新規学習項目生起期待確率算出手段２２１ａは、分割単位ＤＤＰ表１２ａにおける全分割単位の総頻度に対する、多項分布頻度表１１ａにおける算出対象である分割単位の多項分布生起確率から求められる事前知識頻度を求めることで、当該分割単位が事前知識より新規に生起する期待確率を算出する。なお、ここでは、頻度として、頻度ｆに生存確率ｅを乗算した実効頻度を用いる。
【００３５】
具体的には、入力される文書がｍ個の分割単位ｖｋ（ｋ＝１〜ｍ）であり、多項分布頻度表１１ａにおける各分割単位ｖｋに対する頻度が各々ｃｋ（ｋ＝１〜ｍ）であるとき、新規学習項目生起期待確率算出手段２２１ａは、分割単位ＤＤＰ表１２ａにおける全分割単位の頻度ｆおよび生存確率ｅと、分割単位ｖｋの多項分布ユニグラム（ｕｎｉｇｒａｍ）生起確率ＰＭＤ（ｖｋ）とから、以下の式（１）により、期待確率ａ０を算出する。ここで、ｎは分割単位ＤＤＰ表１２ａに存在する分割単位の総項目数である。また、αは予め定めた正値である。
【００３６】
【数１】
2015170151.tif 000003
【００３７】
ここで、分割単位ｖｋの多項分布ユニグラム生起確率ＰＭＤ（ｖｋ）は、多項分布頻度表１１ａに記憶されている全項目の頻度の総和をＣとして、以下の式（２）により求められる。
【００３８】
【数２】
2015170151.tif 000004
【００３９】
なお、分割単位ＤＤＰ表１２ａは、後記する学習項目更新手段２２２の処理によって、分割単位の総数が変化する場合がある。そこで、新規学習項目生起期待確率算出手段２２１ａは、入力される文書の分割単位に対して期待確率ａ０を算出する場合、逐次、学習項目更新手段２２２から、次分割単位の処理指示を指示されるたびに、１つずつ分割単位の期待確率ａ０を算出して、学習項目更新手段２２２に出力する。
【００４０】
既存学習項目生起期待確率算出手段２２１ｂは、入力された分割単位が、分割単位ＤＤＰモデルの既存の学習知識より生起する期待確率を算出するものである。
ここでは、既存学習項目生起期待確率算出手段２２１ｂは、分割単位ＤＤＰ表１２ａにおける全分割単位の総頻度に対する、既存の各項目が、その分割単位が置換された結果、当該の入力された分割単位となる期待頻度を求めることで、算出対象である分割単位が既存の分割単位より生起する期待確率を算出する。なお、ここでは、頻度として、頻度ｆに生存確率ｅを乗算した実効頻度を用いる。
【００４１】
具体的には、入力される文書がｍ個の分割単位ｖｋ（ｋ＝１〜ｍ）であるとき、既存学習項目生起期待確率算出手段２２１ｂは、分割単位ＤＤＰ表１２ａに記憶している各分割単位ｕｉの頻度ｆｉおよび生存確率ｅｉと、分割単位ｕｉが分割単位ｖｋに置換される確率Ｔ（ｕｉ，ｖｋ）とから、以下の式（３）により、期待確率ａｉ（ｉ＝１〜ｎ）を算出する。ここで、ｎは分割単位ＤＤＰ表１２ａに存在する分割単位の総数である。また、αは予め定めた正値である。
【００４２】
【数３】
2015170151.tif 000005
【００４３】
ここで、置換確率Ｔは、予め定めた規則により算出される確率値である。具体的には、分割単位ｕを分割単位ｖ置き換える置換確率Ｔ（ｕ，ｖ）は、以下の（規則ａ）〜（規則ｃ）により算出される。
ここでは、分割単位ｕに含まれる文字列をｗ、タグをｔ、分割単位ｖに含まれる文字列をｓ、タグをｇとする。すなわち、置換確率Ｔ（ｕ＝＜ｗ，ｔ＞，ｖ＝＜ｓ，ｇ＞）として以下説明する。なお、以下の説明で、ｒは予め定めた確率値である。
【００４４】
（規則ａ）
文字列ｗと文字列ｓとが異なる（ｗ≠ｓ）とき、置換確率Ｔ（ｕ，ｖ）＝０とする。
（規則ｂ）
文字列ｗと文字列ｓとが等しく（ｗ＝ｓ）、かつ、タグｔとタグｇとが等しい（ｔ＝ｇ）とき、すなわち、分割単位ｕと分割単位ｖとが等しい（ｕ＝ｖ）とき、これは置換されない確率を表すが、この確率は、入力された文書の分割単位のいずれかが＜ｗ，¬ｔ＞であれば、置換確率Ｔ（ｕ，ｖ）＝１−ｒとし、いずれも＜ｗ，¬ｔ＞でなければ、置換確率Ｔ（ｕ，ｖ）＝１とする。なお、「¬ｔ」はｔ以外を示す。
（規則ｃ）
文字列ｗと文字列ｓとが等しく（ｗ＝ｓ）、かつ、タグｔとタグｇとが異なる（ｔ≠ｇ）ときに、入力された文書の他の分割単位のいずれかが＜ｓ，ｇ＞であれば、置換確率Ｔ（ｕ，ｖ）＝ｒ、いずれも＜ｓ，ｇ＞でなければ、置換確率Ｔ（ｕ，ｖ）＝０とする。
【００４５】
なお、分割単位ＤＤＰ表１２ａは、後記する学習項目更新手段２２２の処理によって、分割単位ｕの総数が変化する場合がある。そこで、既存学習項目生起期待確率算出手段２２１ｂは、入力される文書の分割単位に対して期待確率ａｉ（ｉ＝１〜ｎ）を算出する場合、逐次、学習項目更新手段２２２から、次分割単位の処理指示を指示されるたびに、１つずつ分割単位の期待確率ａｉ（ｉ＝１〜ｎ）を算出して、学習項目更新手段２２２に出力する。また、分割単位ＤＤＰ表１２ａに初期値として分割単位が存在しない場合、既存学習項目生起期待確率算出手段２２１ｂは、動作を行わないこととする。
【００４６】
学習項目更新手段２２２は、生起期待確率算出手段２２１で算出された、入力された分割単位ｖｋが生起する期待確率に基づいて、分割単位ＤＤＰ表１２ａとして学習されている項目を更新するものである。
この学習項目更新手段２２２は、分割単位ｖｋが生起する期待確率の確率比に応じてランダムに、新たに分割単位ｖｋの項目を追加するか、既存の分割単位ｕの項目を新たな分割単位ｖｋの項目に置き換えるかいずれかの処理を行う。
【００４７】
具体的には、学習項目更新手段２２２は、新規学習項目生起期待確率算出手段２２１ａで算出された期待確率ａ０と、既存学習項目生起期待確率算出手段２２１ｂで算出された期待確率ａｉ（ｉ＝１〜ｎ）において、期待確率ａｃ（ｃ＝０〜ｎ）の確率比に応じて、項目を更新する対象となる分割単位を示すｃを１つ選択する。
【００４８】
ここで、ｃ＝０を選択した場合、学習項目更新手段２２２は、分割単位ＤＤＰ表１２ａに新たな“ｎ＋１”番目の項目として分割単位ｕｎ＋１＝分割単位ｖｋ、頻度ｆｎ＋１＝１、生存確率ｅｎ＋１＝１を追加する。
また、ｃ≧１を選択した場合、学習項目更新手段２２２は、分割単位ＤＤＰ表１２ａのｃ番目の項目＜ｕｃ，ｆｃ，ｅｃ＞において、分割単位ｕｃを分割単位ｖｋに、頻度ｆｃをｆｃ＋１に、生存確率ｅｃを“１”にそれぞれ更新する。
【００４９】
これによって、生存確率更新手段２２０において、以前学習した分割単位を一旦忘却する方向に作用させた分割単位ＤＤＰ表１２ａに対して、新たに入力された分割単位を記憶に定着させる方向に作用させることになる。
この学習項目更新手段２２２は、入力された分割単位ｖｋをすべて処理していない場合、生起期待確率算出手段２２１に次分割単位の期待確率の算出を指示し、すべて処理した場合、生存学習項目更新手段２２３を動作させる。
【００５０】
生存学習項目更新手段２２３は、分割単位ＤＤＰ表１２ａの生存確率に基づいて、分割単位ＤＤＰ表１２ａの分割単位を、入力された分割単位に更新するものである。
この生存学習項目更新手段２２３は、分割単位ＤＤＰ表１２ａに存在する、生存確率ｅが“１”未満の各項目に対して、その分割単位ｕが置換されない確率Ｔ（ｕ，ｕ）と、入力された各分割単位ｖｋに置換される各確率Ｔ（ｕ，ｖｋ）との確率比に応じてランダムに、置換しない、もしくは、ある分割単位ｖｋへの置換を１つ選択し、置換が選択された場合には、当該項目に記憶されている分割単位をｕから分割単位ｖｋに置換する。なお、置換確率Ｔ（ｕ，ｕ）およびＴ（ｕ，ｖｋ）は、既存学習項目生起期待確率算出手段２２１ｂで説明した（規則ａ）〜（規則ｃ）により算出される。
これによって、学習項目更新手段２２２によって更新されなかった（生存確率が“１”未満の）すべての項目に対して、置換確率Ｔに基づく確率的な記憶の更新が行われることになる。
【００５１】
以上説明したように、タグ付与知識学習装置１を構成することで、タグ付与知識学習装置１は、適宜、分割単位で区分された文書を入力されることで、分割単位ＤＤＰモデルを構築するための知識（分割単位ＤＤＰ表１２ａ）を学習することができる。
なお、タグ付与知識学習装置１は、一般的なコンピュータを、制御部２０の各手段として機能させるためのタグ付与知識学習プログラムによって動作させることができる。
【００５２】
［タグ付与知識学習装置の動作］
次に、図２を参照（構成については、適宜図１参照）して、第１実施形態に係るタグ付与知識学習装置１の動作について説明する。
まず、タグ付与知識学習装置１は、多項分布モデル学習手段２１によって、外部から、文書として、文字列にタグが付与された分割単位（ここでは、ｍ個とする）を入力する（ステップＳ１）。そして、タグ付与知識学習装置１は、多項分布モデル学習手段２１によって、多項分布頻度表記憶手段１１に記憶されている多項分布頻度表１１ａを更新する（ステップＳ２）。
これによって、多項分布頻度表１１ａには、分割単位の多項分布ユニグラム生起確率を算出するためのデータが学習される。
【００５３】
その後、タグ付与知識学習装置１は、分割単位ＤＤＰモデル学習手段２２によって、分割単位ＤＤＰモデルを学習する。
すなわち、タグ付与知識学習装置１は、生存確率更新手段２２０によって、分割単位ＤＤＰ表１２ａの生存確率に予め定めた確率値を乗算して、分割単位ＤＤＰ表１２ａを更新する（ステップＳ３）。
そして、タグ付与知識学習装置１は、生起期待確率算出手段２２１によって、変数ｎ′に分割単位ＤＤＰ表１２ａの項目数ｎを設定し、入力された分割単位の数を計数するための変数ｋに初期値（“１”）を設定する（ステップＳ４）。
【００５４】
そして、タグ付与知識学習装置１は、生起期待確率算出手段２２１によって、入力された分割単位ｖｋが分割単位ＤＤＰモデルより生起する期待確率を算出する（ステップＳ５）。
具体的には、タグ付与知識学習装置１は、新規学習項目生起期待確率算出手段２２１ａによって、前記式（１）により、入力された分割単位ｖｋが分割単位ＤＤＰモデルの事前知識より生起する期待確率ａ０を算出する。
また、タグ付与知識学習装置１は、既存学習項目生起期待確率算出手段２２１ｂによって、前記式（３）により、入力された分割単位ｖｋが分割単位ＤＤＰモデルの既存知識より生起する期待確率ａｉ（ｉ＝１〜ｎ′）を算出する。
【００５５】
そして、タグ付与知識学習装置１は、学習項目更新手段２２２によって、ステップＳ５で算出された期待確率ａｃ（ｃ＝０〜ｎ′）の確率比に応じて、項目を更新する対象となる分割単位を示すｃを１つ選択する（ステップＳ６）。
【００５６】
ここで、ｃ＝０を選択した場合（ステップＳ７でＹｅｓ）、学習項目更新手段２２２は、分割単位ＤＤＰ表１２ａに新たな“ｎ＋１”番目の項目として分割単位ｕｎ′＋１＝分割単位ｖｋ、頻度ｆｎ′＋１＝１、生存確率ｅｎ′＋１＝１を追加する（ステップＳ８）。さらに、学習項目更新手段２２２は、ｎ′に“１”を加算する（ステップＳ９）。
【００５７】
一方、ｃ≧１を選択した場合（ステップＳ７でＮｏ）、学習項目更新手段２２２は、分割単位ＤＤＰ表１２ａのｃ番目の項目＜ｕｃ，ｆｃ，ｅｃ＞において、分割単位ｕｃを分割単位ｖｋに、頻度ｆｃをｆｃ＋１に、生存確率ｅｃを“１”にそれぞれ更新する（ステップＳ１０）。
【００５８】
そして、タグ付与知識学習装置１は、学習項目更新手段２２２によって、変数ｋの値と、ステップＳ１で入力された分割単位の数（ここではｍ）とを比較する（ステップＳ１１）。
そして、変数ｋの値がｍ未満であれば（ステップＳ１１でＹｅｓ）、タグ付与知識学習装置１は、学習項目更新手段２２２によって、変数ｋに“１”を加算し（ステップＳ１２）、ステップＳ５に動作を戻す。
【００５９】
一方、変数ｋの値がｍ以上であれば（ステップＳ２２でＮｏ）、タグ付与知識学習装置１は、生存学習項目更新手段２２３によって、分割単位ＤＤＰ表１２ａの項目のうち生存確率ｅｉが“１”未満の各ｉについて、その分割単位ｕｉが置換されない確率Ｔ（ｕｉ，ｕｉ）、および、入力された各分割単位ｖｌ（１≦ｌ≦ｍ）への置換確率Ｔ（ｕｉ，ｖｌ）の確率比に応じてランダムに、置換しない、もしくは、分割単位ｖｌへの置換を１つ選択し、置換を選択した場合には当該項目の分割単位ｕｉを分割単位ｖｌに置換する（ステップＳ１３）。
以上の動作によって、タグ付与知識学習装置１は、適宜、分割単位で区分された文書を入力されることで、分割単位ＤＤＰモデルを構築するための知識（分割単位ＤＤＰ表１２ａ）を学習することができる。
【００６０】
［タグ付与装置の構成］
次に、図３を参照して、タグ付与装置３の構成について説明する。
図３に示すように、タグ付与装置３は、記憶部３０と制御部４０とを備える。
記憶部３０は、タグ付与知識学習装置１で学習された情報を記憶するものである。ここでは、記憶部３０は、分割単位ＤＤＰ表記憶手段３１を備える。
【００６１】
分割単位ＤＤＰ表記憶手段３１は、分割単位ごとに、頻度と生存確率とを対応付けた分割単位ＤＤＰ表３１ａを記憶するものである。この分割単位ＤＤＰ表記憶手段３１は、半導体メモリ等の一般的な記憶媒体で構成される。
【００６２】
分割単位ＤＤＰ表３１ａは、図１のタグ付与知識学習装置１における学習結果として生成された分割単位ＤＤＰ表記憶手段１２の分割単位ＤＤＰ表１２ａと同じものである。よって、その内容については、説明を省略する。
このように、分割単位ＤＤＰ表３１ａは、分割単位ＤＤＰ表１２ａと同じものであるため、タグ付与装置３は、タグ付与知識学習装置１との間で、ネットワークを介して、分割単位ＤＤＰ表を共有する構成としても構わない。
【００６３】
制御部４０は、分割単位ＤＤＰ表３１ａを参照して、外部から入力される文字列を分割して、タグを付与するものである。ここでは、制御部４０は、部分文字列生成手段４１と、分割単位探索手段４２と、生起確率算出手段４３と、最尤分割単位探索手段４４と、を備える。
【００６４】
部分文字列生成手段４１は、外部から入力される文字列を任意の文字列に分割して、部分文字列を生成するものである。この部分文字列生成手段４１は、文字数ｎの文字列Ｓ＝ｓ１ｓ２…ｓｎに対して、部分文字列Ｓ′＝ｓｋ…ｓｋ＋ｍ−１（１≦ｋ≦ｎ、１≦ｍ≦ｎ−ｋ＋１）を、ｋ，ｍを順次変えて生成する。なお、ｋ，ｍは、それぞれ初期値を“１”として、最尤分割単位探索手段４４からの指示に基づいて変化させる。
この部分文字列生成手段４１は、生成した部分文字列を、分割単位探索手段４２に出力し、分割単位探索手段４２から、対応する分割単位を取得する。
また、部分文字列生成手段４１は、分割単位探索手段４２で探索された部分文字列ごとの分割単位を、最尤分割単位探索手段４４に出力する。
【００６５】
分割単位探索手段４２は、部分文字列生成手段４１で生成された部分文字列と一致する文字列を有する分割単位を、分割単位ＤＤＰ表記憶手段３１に記憶されている分割単位ＤＤＰ表３１ａから探索するものである。この分割単位探索手段４２は、探索された分割単位を、部分文字列生成手段４１に出力する。
なお、分割単位探索手段４２は、部分文字列と一致する文字列を有する分割単位を、分割単位ＤＤＰ表３１ａから探索することができなかった場合、当該部分文字列にダミー（ｄｕｍｍｙ）のタグを付加した分割単位を、部分文字列生成手段４１に出力する。
これによって、たとえ、入力された文字列の部分文字列が、分割単位ＤＤＰ表３１ａに存在しなくても、分割単位として処理することが可能になる。
【００６６】
生起確率算出手段４３は、最尤分割単位探索手段４４から通知される分割単位の生起確率（分割単位ユニグラム生起確率）を算出するものである。
ここでは、生起確率算出手段４３は、分割単位ＤＤＰ表３１ａにおける全分割単位の総頻度に対する、最尤分割単位探索手段４４から通知される分割単位の頻度を求めることで、分割単位の生起確率を算出する。
【００６７】
具体的には、生起確率算出手段４３は、分割単位ＤＤＰ表３１ａにおける全分割単位の頻度ｆおよび生存確率ｅと、最尤分割単位探索手段４４から通知される分割単位ｕの頻度ｆおよび生存確率ｅとから、以下の式（４）により、生起確率ＰＵ（ｕ）を算出する。ここで、ｎは分割単位ＤＤＰ表３１ａに存在する項目の総数である。
【００６８】
【数４】
2015170151.tif 000006
【００６９】
この式（４）において、分子は、同じ分割単位が複数存在する場合、その分割単位の生存確率ｅと頻度ｆの積の総和である。
この生起確率算出手段４３は、算出した生起確率ＰＵ（ｕ）を最尤分割単位探索手段４４に出力する。
なお、生起確率算出手段４３は、最尤分割単位探索手段４４から通知される分割単位が、分割単位ＤＤＰ表３１ａに存在しない場合、予め定めた確率値ｄを最尤分割単位探索手段４４に出力する。この確率値ｄは、非常に小さな値とし、分割単位ＤＤＰ表３１ａにおける分割単位のすべての生起確率よりも小さな値とすることが好ましい。
【００７０】
最尤分割単位探索手段４４は、外部から入力される文字列において、最尤な分割単位の列を探索するものである。
ここでは、最尤分割単位探索手段４４は、部分文字列生成手段４１に対して、入力された文字列の文字数ｎを基に、その文字列を、ｋ，ｍを順次変えて、部分文字列Ｓ′＝ｓｋ…ｓｋ＋ｍ−１（１≦ｋ≦ｎ、１≦ｍ≦ｎ−ｋ＋１）として分割する指示を行う。
そして、最尤分割単位探索手段４４は、部分文字列生成手段４１から出力される複数の分割単位を生起確率算出手段４３に出力し、対応する生起確率を取得する。
そして、最尤分割単位探索手段４４は、複数の分割単位における生起確率の総積が最大となる分割単位の列を特定し、分割結果として出力する。
【００７１】
なお、分割結果となる分割単位の列のいずれかに、ダミーのタグが付与されている場合、タグ付与装置３の操作者が、当該分割単位の文字列には、タグが存在しないと認識することとしてもよいし、最尤分割単位探索手段４４が、予めダミーのタグを削除し、空文字列を設定することとしてもよい。
【００７２】
以上説明したように、タグ付与装置３を構成することで、タグ付与装置３は、分割単位ＤＤＰモデルの学習結果（分割単位ＤＤＰ表３１ａ）を参照して、入力文字列から、最尤な部分文字列にタグを付した分割単位の列を生成することができる。
なお、タグ付与装置３は、一般的なコンピュータを、制御部４０の各手段として機能させるためのタグ付与プログラムによって動作させることができる。
【００７３】
［タグ付与装置の動作］
次に、図４を参照（構成については、適宜図３参照）して、第１実施形態に係るタグ付与装置３の動作について説明する。なお、タグ付与装置３には、文字数ｎの文字列Ｓ＝ｓ１ｓ２…ｓｎが入力されることとする。
【００７４】
まず、タグ付与装置３は、最尤分割単位探索手段４４によって、図示を省略したメモリ上に、計算過程を保持する領域＜Ｕ１，ｐ１＞〜＜Ｕｎ，ｐｎ＞を確保する（ステップＳ２１）。ここで、＜Ｕｉ，ｐｉ＞は、分割単位列Ｕｉおよびその生起確率ｐｉを示し、入力文字列の１〜ｉ文字目からなる部分文字列に対する最尤な分割単位列の割り当て結果となる。そして、最尤分割単位探索手段４４は、初期状態として、分割単位列Ｕｉをφ（空列）、生起確率ｐｉを“０”にそれぞれ設定しておく（ステップＳ２２）。
【００７５】
そして、タグ付与装置３は、最尤分割単位探索手段４４によって、部分文字列を抽出する変数として、入力文字列の先頭から何番目の文字かを示す変数ｋを初期値“１”に設定し（ステップＳ２３）、ｋ番目の文字からの文字数を示す変数ｍを初期値“１”に設定する（ステップＳ２４）。
【００７６】
そして、タグ付与装置３は、最尤分割単位探索手段４４によって、ｋ番目からｍ文字分の部分文字列を文字列として有する分割単位ｕの生起確率ＰＵ（ｕ）が最大となる分割単位ｕ′を探索する（ステップＳ２５）。
具体的には、最尤分割単位探索手段４４は、設定した変数ｋ，ｍの値を部分文字列生成手段４１に通知する。そして、部分文字列生成手段４１は、入力文字列Ｓのｋ番目からｍ文字分の部分文字列Ｓ′を生成し、分割単位探索手段４２に通知する。さらに、分割単位探索手段４２は、分割単位ＤＤＰ表３１ａから、部分文字列Ｓ′と一致する文字列を有する分割単位ｕを探索する。
【００７７】
そして、最尤分割単位探索手段４４は、生起確率算出手段４３に対して、分割単位ｕを通知して、生起確率ＰＵ（ｕ）を算出させる。そして、最尤分割単位探索手段４４は、部分文字列Ｓ′を文字列として有する分割単位の中で生起確率が最大となる分割単位ｕ′を特定する。
【００７８】
そして、最尤分割単位探索手段４４は、Ｕｋ−１にステップＳ２５で探索された分割単位ｕ′を連結した新たな分割単位列Ｕ′を生成し、ｐｋ−１に生起確率ＰＵ（ｕ′）を乗算した分割単位列Ｕ′に対応する生起確率ｐ′を生成する（ステップＳ２６）。ただし、Ｕ０＝φ、ｐ０＝１とする。
【００７９】
このステップＳ２６で生成された生起確率ｐ′が生起確率ｐｋ＋ｍ−１よりも大きければ（ステップＳ２７でＹｅｓ）、最尤分割単位探索手段４４は、分割単位列Ｕｋ＋ｍ−１をステップＳ２６で生成された分割単位列Ｕ′とし、生起確率ｐｋ＋ｍ−１をステップＳ２６で生成された生起確率ｐ′とする（ステップＳ２８）。一方、ステップＳ２６で生成された生起確率ｐ′が生起確率ｐｋ＋ｍ−１以下であれば（ステップＳ２７でＮｏ）、ステップＳ２９に動作を進める。
【００８０】
そして、最尤分割単位探索手段４４は、入力文字列の最後まで処理が完了していない場合、すなわち、“ｋ＋ｍ−１”の値が入力された文字数ｎよりも小さい場合（ステップＳ２９でＹｅｓ）、変数ｍに“１”を加算し（ステップＳ３０）、ステップＳ２５に動作を戻す。
一方、“ｋ＋ｍ−１”の値が入力された文字数ｎとなった場合（ステップＳ２９でＮｏ）、最尤分割単位探索手段４４は、さらに、部分文字列の先頭文字の位置を判定する（ステップＳ３１）。ここで、部分文字列の先頭文字が入力文字列Ｓの最終文字に到達していない場合、すなわち、変数ｋの値がｎよりも小さい場合（ステップＳ３１でＹｅｓ）、最尤分割単位探索手段４４は、変数ｋに“１”を加算し（ステップＳ３２）、ステップＳ２４に動作を戻す。
一方、変数ｋの値がｎとなった場合（ステップＳ３１でＮｏ）、最尤分割単位探索手段４４は、分割単位列Ｕｎを最尤分割単位列として出力する（ステップＳ３３）。
【００８１】
以上の動作によって、タグ付与装置３は、分割単位ＤＤＰモデルの学習結果（分割単位ＤＤＰ表３１ａ）を参照して、入力文字列から、最尤な部分文字列にタグを付した分割単位の列を生成することができる。
【００８２】
≪第２実施形態≫
次に、本発明の第２実施形態に係るタグ付与知識学習装置１Ｂ（図５参照）およびタグ付与装置３Ｂ（図９参照）について説明する。
第１実施形態では、ＤＤＰを用いて、分割単位のユニグラム生起確率をモデル化することで、文字列の分割、タグ付けを行った。
しかし、学習知識（分割単位ＤＤＰ表）中に、例えば、分割単位＝＜文字列：レース、タグ：（意味）競走＞が多数存在する一方で、分割単位＝＜文字列：レース、タグ：（意味）薄い布＞が少数しか存在しない場合、入力文字列「レースの洋服を買った。」に対して、「レース」に対する最尤なタグは「（意味）競走」となってしまう。
【００８３】
そこで、第２実施形態では、１つの分割単位ではなく、１つ以上の分割単位の列（「記憶単位」）を単位としたユニグラム生起確率をモデル化する。
すなわち、タグ付与知識学習装置１Ｂは、タグ付与装置３Ｂが入力された文字列を分割し、分割文字列に各種情報（タグ）を付与するための「記憶単位」を単位とした知識を、逐次入力される文書から学習するものである。
タグ付与装置３Ｂは、タグ付与知識学習装置１Ｂで学習された知識に基づいて、入力される文字列を分割し、１以上の分割文字列にタグを付与するものである。
【００８４】
［タグ付与知識学習装置の構成］
最初に、図５を参照して、タグ付与知識学習装置１Ｂの構成について説明する。
図５に示すように、タグ付与知識学習装置１Ｂは、記憶部１０Ｂと制御部２０Ｂとを備える。
【００８５】
記憶部１０Ｂは、タグ付与知識学習装置１Ｂが学習を行う際の情報を記憶するものである。ここでは、記憶部１０Ｂは、多項分布頻度表記憶手段１１と、記憶単位ＤＤＰ表記憶手段１２Ｂと、を備える。なお、多項分布頻度表記憶手段１１は、図１で説明したタグ付与知識学習装置１の構成と同じものであるため、同一の符号を付して説明を省略する。
【００８６】
記憶単位ＤＤＰ表記憶手段１２Ｂは、１つ以上の分割単位からなる分割単位列として構成される記憶単位ごとに、頻度と生存確率とを対応付けた記憶単位ＤＤＰ表１２Ｂａを記憶するものである。この記憶単位ＤＤＰ表記憶手段１２Ｂは、半導体メモリ等の一般的な記憶媒体で構成される。
この記憶単位ＤＤＰ表１２Ｂａは、多項分布モデルを事前知識として持つ「Ｄｅｐｅｎｄｅｎｔ  Ｄｉｒｉｃｈｅｔ  Ｐｒｏｃｅｓｓ（ＤＤＰ）」の学習知識である。すなわち、記憶単位ＤＤＰ表１２Ｂａは、タグ付与装置３Ｂ（図９参照）において、分割単位列を記憶単位として分割文字列にタグを付与するための知識となる。
【００８７】
ここでは、記憶単位ＤＤＰ表記憶手段１２Ｂには、記憶単位Ｕに、記憶単位の頻度ｆおよび生存確率ｅが対応付けられた＜記憶単位Ｕ，頻度ｆ，生存確率ｅ＞を組とする一覧（記憶単位ＤＤＰ表１２Ｂａ）が、記憶単位のＤＤＰモデルの学習知識として記憶される。
ここで、「記憶単位Ｕ」は、多項分布頻度表記憶手段１１に記憶される分割単位の１つ以上の列として構成したものである。また、「頻度ｆ」は、記憶単位Ｕの出現頻度（個数）である。また、「生存確率ｅ」は、記憶単位Ｕが記憶単位ＤＤＰ表（ＤＤＰモデル）１２Ｂａに存在する確率である。また、記憶単位ＤＤＰ表１２Ｂａでは、同じ記憶単位の組が複数存在してもよい。
【００８８】
この記憶単位ＤＤＰ表１２Ｂａは、後記する記憶単位ＤＤＰモデル学習手段２２Ｂによって更新される。なお、記憶単位ＤＤＰ表１２Ｂａにおいて、同じ記憶単位が複数生成される過程については、記憶単位ＤＤＰモデル学習手段２２Ｂの説明において行うこととする。
【００８９】
制御部２０Ｂは、外部から入力される文書に基づいて、分割文字列にタグを付与するための知識を学習するものである。ここでは、制御部２０Ｂは、多項分布モデル学習手段２１と、記憶単位ＤＤＰモデル学習手段２２Ｂと、を備える。
なお、多項分布モデル学習手段２１は、多項分布頻度表１１ａの更新完了と、入力された文書の分割単位とを記憶単位ＤＤＰモデル学習手段２２Ｂに出力する以外は、図１で説明したタグ付与知識学習装置１の構成と同じものであるため、同一の符号を付して説明を省略する。
【００９０】
記憶単位ＤＤＰモデル学習手段２２Ｂは、多項分布頻度表１１ａに基づいて、記憶単位のＤＤＰモデルを学習するものである。この記憶単位ＤＤＰモデル学習手段２２Ｂは、多項分布モデル学習手段２１から、多項分布頻度表１１ａの更新完了が通知され、入力文書の分割単位が入力されることで動作する。
ここでは、記憶単位ＤＤＰモデル学習手段２２Ｂは、生存確率更新手段２２０Ｂと、記憶単位生成手段２２４と、生起期待確率算出手段２２１Ｂと、学習項目更新手段２２２Ｂと、生存学習項目更新手段２２３Ｂと、を備える。
【００９１】
生存確率更新手段２２０Ｂは、記憶単位ＤＤＰ表記憶手段１２Ｂに記憶されている記憶単位ＤＤＰ表１２Ｂａの生存確率ｅを、予め定めた確率値（例えば、０．９９）で低下させるものである。
この生存確率更新手段２２０Ｂは、多項分布モデル学習手段２１から、多項分布頻度表１１ａの更新完了が通知された段階、すなわち、以前に更新された時点から、今回の更新時点になった段階で、記憶単位ＤＤＰ表１２Ｂａのすべての生存確率ｅに予め定めた確率値を乗算する。
これによって、生存確率更新手段２２０Ｂは、タグ付与知識学習装置１Ｂに学習対象の文書が入力されるたびに、以前学習した記憶単位を徐々に忘却する方向に作用させる。
この生存確率更新手段２２０Ｂは、生存確率を更新した段階で、記憶単位生成手段２２４を動作させる。
【００９２】
記憶単位生成手段２２４は、入力された分割単位の列から、１つ以上の分割単位を１つのまとまりとした列（記憶単位の列）を生成（推定）するものである。例えば、文字列「レースの洋服です」として、分割単位ｕ１＜文字列：レース、タグ：（意味）薄い布＞、分割単位ｕ２＜文字列：の、タグ：φ＞、分割単位ｕ３＜文字列：洋服、タグ：（読み）ようふく＞、分割単位ｕ４＜文字列：です、タグ：なし＞が入力された場合、記憶単位生成手段２２４は、一例として、ｕ１，ｕ２，ｕ３を１つの記憶単位とし、また、ｕ４を１つの記憶単位とした２つの記憶単位の列“［ｕ１，ｕ２，ｕ３］，［ｕ４］”を生成する。
この記憶単位生成手段２２４は、記憶単位の生起確率に基づいて、入力された分割単位列を記憶単位に分割する。
【００９３】
なお、記憶単位生成手段２２４は、以下の式（５）により、現時点での記憶単位ＤＤＰ表１２Ｂａに基づく記憶単位Ｕの生起確率ＰＵＬ（Ｕ）を算出する。ここで、ｎは記憶単位ＤＤＰ表１２Ｂａに存在する記憶単位の総数である。また、αは予め定めた正値、ｅは予め定めた確率値、｜Ｕ｜は記憶単位Ｕに含まれる分割単位の数である。また、ＰＭＤ（ｕ）は、前記式（２）と同様の分割単位ｕの多項分布ユニグラム生起確率である。
【００９４】
【数５】
2015170151.tif 000007
【００９５】
ここで、置換確率Ｔは、予め定めた規則により算出される確率値である。具体的には、記憶単位Ｕを記憶単位Ｕ′に置き換える置換確率Ｔ（Ｕ，Ｕ′）は、以下の（規則Ａ）〜（規則Ｃ）により算出される。なお、以下の説明で、ｒは予め定めた確率値である。
【００９６】
（規則Ａ）
文字列ｗ（Ｕ）と文字列ｗ（Ｕ′）とが異なる（ｗ（Ｕ）≠ｗ（Ｕ′））とき、置換確率Ｔ（Ｕ，Ｕ′）＝０とする。なお、ｗ（Ｕ）は、分割単位列のすべての文字列を結合した文字列を示す。
（規則Ｂ）
記憶単位Ｕと記憶単位Ｕ′とが等しいとき（Ｕ＝Ｕ′）、これは置換されない確率を表すが、この確率は、分割単位列ｖ１…ｖｍの部分列ｖｊ…ｖｋ（１≦ｊ≦ｍ，１≦ｋ≦ｍ）のうちｗ（ｖｊ…ｖｋ）＝ｗ（Ｕ）となるｊ，ｋが存在し、かつ、ｖｊ…ｖｋ≠Ｕであれば、置換確率Ｔ（Ｕ，Ｕ′）＝１−ｒとし、それ以外の場合は、置換確率Ｔ（Ｕ，Ｕ′）＝１とする。
（規則Ｃ）
記憶単位Ｕと記憶単位Ｕ′とが異なり（Ｕ≠Ｕ′）、かつ、文字列ｗ（Ｕ）と文字列ｗ（Ｕ′）とが等しい（ｗ（Ｕ）＝ｗ（Ｕ′））とき、分割単位列ｖ１…ｖｍの部分列ｖｊ…ｖｋ（１≦ｊ≦ｍ，１≦ｋ≦ｍ）のうちｖｊ…ｖｋ＝Ｕとなるｊ，ｋが存在すれば、置換確率Ｔ（Ｕ，Ｕ′）＝ｒとし、それ以外の場合は、置換確率Ｔ（Ｕ，Ｕ′）＝０とする。
【００９７】
この記憶単位生成手段２２４は、記憶単位Ｕごとに生起確率ＰＵＬ（Ｕ）を計算して、入力された分割単位の列を、最尤な記憶単位に分割する。
なお、記憶単位生成手段２２４の生起確率ＰＵＬ（Ｕ）を用いた分割の詳細な処理内容については、動作の説明において行うこととする。
この記憶単位生成手段２２４は、生成した記憶単位を、生起期待確率算出手段２２１Ｂに出力する。
【００９８】
生起期待確率算出手段２２１Ｂ、学習項目更新手段２２２Ｂおよび生存学習項目更新手段２２３Ｂは、図１で説明した生起期待確率算出手段２２１、学習項目更新手段２２２および生存学習項目更新手段２２３が、分割単位ＤＤＰモデル（分割単位ＤＤＰ表１２ａ）の学習を分割単位で行うのに対し、記憶単位ＤＤＰモデル（記憶単位ＤＤＰ表１２Ｂａ）の学習を記憶単位で行う点が異なっている。
【００９９】
生起期待確率算出手段２２１Ｂは、記憶単位生成手段２２４で生成された記憶単位が記憶単位ＤＤＰモデル（記憶単位ＤＤＰ表１２Ｂａ）より生起する期待確率を算出するものである。ここでは、生起期待確率算出手段２２１Ｂは、新規学習項目生起期待確率算出手段２２１Ｂａと、既存学習項目生起期待確率算出手段２２１Ｂｂと、備える。
【０１００】
新規学習項目生起期待確率算出手段２２１Ｂａは、記憶単位生成手段２２４で生成された記憶単位が、事前知識である分割単位多項分布ユニグラムモデルより生起する期待確率を算出するものである。
ここでは、新規学習項目生起期待確率算出手段２２１Ｂａは、記憶単位ＤＤＰ表１２Ｂａにおける全記憶単位の総頻度、および、多項分布頻度表１１ａにおける算出対象である記憶単位に含まれる各分割単位の多項分布生起確率を用いることで、当該記憶単位が新規に生起する期待確率を算出する。なお、ここでは、頻度として、頻度ｆに生存確率ｅを乗算した実効頻度を用いる。
【０１０１】
具体的には、新規学習項目生起期待確率算出手段２２１Ｂａは、記憶単位ＤＤＰ表１２Ｂａにおける全記憶単位の頻度ｆおよび生存確率ｅと、記憶単位に含まれる各分割単位ｕの多項分布ユニグラム（ｕｎｉｇｒａｍ）生起確率ＰＭＤ（ｕ）とから、以下の式（６）により、期待確率ａ０を算出する。ここで、ｎは記憶単位ＤＤＰ表１２Ｂａに存在する記憶単位の総数である。また、αは予め定めた正値、ｅは予め定めた確率値である。また、｜Ｕ｜は記憶単位Ｕに含まれる分割単位の数である。また、ＰＭＤ（ｕ）は、前記式（２）と同様の分割単位ｕの多項分布ユニグラム生起確率である。
【０１０２】
【数６】
2015170151.tif 000008
【０１０３】
なお、記憶単位ＤＤＰ表１２Ｂａは、後記する学習項目更新手段２２２Ｂの処理によって、記憶単位の総数が変化する場合がある。そこで、新規学習項目生起期待確率算出手段２２１Ｂａは、生成された記憶単位に対して期待確率ａ０を算出する場合、逐次、学習項目更新手段２２２Ｂから、次記憶単位の処理指示を指示されるたびに、１つずつ記憶単位の期待確率ａ０を算出して、学習項目更新手段２２２Ｂに出力する。
【０１０４】
既存学習項目生起期待確率算出手段２２１Ｂｂは、記憶単位生成手段２２４で生成された記憶単位が、記憶単位ＤＤＰモデルの既存の学習知識より生起する期待確率を算出するものである。
ここでは、既存学習項目生起期待確率算出手段２２１Ｂｂは、記憶単位ＤＤＰ表１２Ｂａにおける全記憶単位の総頻度に対する、既存の各項目が、その記憶単位が置換された結果、記憶単位生成手段２２４で生成された当該の記憶単位となる期待頻度を求めることで、算出対象である記憶単位が既存の記憶単位より生起する期待確率を算出する。なお、ここでは、頻度として、頻度ｆに生存確率ｅを乗算した実効頻度を用いる。
【０１０５】
具体的には、既存学習項目生起期待確率算出手段２２１Ｂｂは、記憶単位ＤＤＰ表１２Ｂａに記憶している各記憶単位Ｕｉの頻度ｆｉおよび生存確率ｅｉと、記憶単位Ｕｉが生成された記憶単位Ｕに置換される確率Ｔ（Ｕｉ，Ｕ）とから、以下の式（７）により、期待確率ａｉ（ｉ＝１〜ｎ）を算出する。ここで、ｎは記憶単位ＤＤＰ表１２Ｂａに存在する記憶単位の総数である。また、αは予め定めた正値である。
【０１０６】
【数７】
2015170151.tif 000009
【０１０７】
ここで、置換確率Ｔ（Ｕｉ，Ｕ）は、記憶単位生成手段２２４で説明した（規則Ａ）〜（規則Ｃ）により算出される。
なお、記憶単位ＤＤＰ表１２Ｂａは、後記する学習項目更新手段２２２Ｂの処理によって、記憶単位の総数が変化する場合がある。そこで、既存学習項目生起期待確率算出手段２２１Ｂｂは、生成された記憶単位に対して期待確率ａｉ（ｉ＝１〜ｎ）を算出する場合、逐次、学習項目更新手段２２２Ｂから、次記憶単位の処理指示を指示されるたびに、１つずつ記憶単位の期待確率ａｉ（ｉ＝１〜ｎ）を算出して、学習項目更新手段２２２Ｂに出力する。また、記憶単位ＤＤＰ表１２Ｂａに初期値として記憶単位が存在しない場合、既存学習項目生起期待確率算出手段２２１Ｂｂは、動作を行わないこととする。
【０１０８】
学習項目更新手段２２２Ｂは、生起期待確率算出手段２２１Ｂで算出された、記憶単位が生起する期待確率に基づいて、記憶単位ＤＤＰ表１２Ｂａとして学習されている項目を更新するものである。
この学習項目更新手段２２２Ｂは、記憶単位Ｕが生起する期待確率の確率比に応じてランダムに、新たに記憶単位の項目を追加するか、既存の記憶単位の項目を新たな記憶単位の項目に置き換えるかいずれかの処理を行う。
【０１０９】
具体的には、学習項目更新手段２２２Ｂは、新規学習項目生起期待確率算出手段２２１Ｂａで算出された期待確率ａ０と、既存学習項目生起期待確率算出手段２２１Ｂｂで算出された期待確率ａｉ（ｉ＝１〜ｎ）において、期待確率ａｃ（ｃ＝０〜ｎ）の確率比に応じて、項目を更新する対象となる記憶単位を示すｃを１つ選択する。
【０１１０】
ここで、ｃ＝０を選択した場合、学習項目更新手段２２２Ｂは、記憶単位ＤＤＰ表１２Ｂａに新たな“ｎ＋１”番目の項目として記憶単位Ｕｎ＋１＝記憶単位Ｕ、頻度ｆｎ＋１＝１、生存確率ｅｎ＋１＝１を追加する。
また、ｃ≧１を選択した場合、学習項目更新手段２２２Ｂは、記憶単位ＤＤＰ表１２Ｂａのｃ番目の項目＜Ｕｃ，ｆｃ，ｅｃ＞において、記憶単位Ｕｃを記憶単位Ｕに、頻度ｆｃをｆｃ＋１に、生存確率ｅｃを“１”にそれぞれ更新する。
【０１１１】
これによって、生存確率更新手段２２０Ｂにおいて、以前学習した記憶単位を一旦忘却する方向に作用させた記憶単位ＤＤＰ表１２Ｂａに対して、新たに入力された記憶単位を記憶に定着させる方向に作用させることになる。
この学習項目更新手段２２２Ｂは、入力された記憶単位をすべて処理していない場合、生起期待確率算出手段２２１Ｂに次記憶単位の期待確率の算出を指示し、すべて処理した場合、生存学習項目更新手段２２３Ｂを動作させる。
【０１１２】
生存学習項目更新手段２２３Ｂは、記憶単位ＤＤＰ表１２Ｂａの生存確率に基づいて、記憶単位ＤＤＰ表１２Ｂａの記憶単位を、入力された記憶単位に更新するものである。
この生存学習項目更新手段２２３Ｂは、記憶単位ＤＤＰ表１２Ｂａの項目のうち生存確率ｅが“１”未満の各ｉについて、その記憶単位Ｕｉが置換されない確率Ｔ（Ｕｉ，Ｕｉ）と、入力された各記憶単位Ｕｌとの置換確率Ｔ（Ｕｉ，Ｕｌ）の確率比に応じてランダムに、置換しない、もしくは、記憶単位Ｕｌへの置換を１つ選択し、置換が選択された場合には、当該項目の記憶単位Ｕｉを記憶単位Ｕｌに置換する。なお、置換確率Ｔ（Ｕｉ，Ｕｌ）は、記憶単位生成手段２２４で説明した（規則Ａ）〜（規則Ｃ）により算出される。
これによって、学習項目更新手段２２２によって更新されなかった（生存確率が“１”未満の）すべての項目に対して、置換確率Ｔに基づく確率的な記憶の更新が行われることになる。
【０１１３】
以上説明したように、タグ付与知識学習装置１Ｂを構成することで、タグ付与知識学習装置１Ｂは、適宜、分割単位で区分された文書を入力されることで、分割単位の１個以上の列である記憶単位のＤＤＰモデルを構築するための知識（記憶単位ＤＤＰ表１２Ｂａ）を学習することができる。
なお、タグ付与知識学習装置１Ｂは、一般的なコンピュータを、制御部２０Ｂの各手段として機能させるためのタグ付与知識学習プログラムによって動作させることができる。
【０１１４】
［タグ付与知識学習装置の動作］
次に、図６を参照（構成については、適宜図５参照）して、第２実施形態に係るタグ付与知識学習装置１Ｂの動作について説明する。
なお、図６のステップＳ４１からＳ４３までの動作は、図２で説明したタグ付与知識学習装置１と同じ動作であるため説明を省略する。
【０１１５】
ステップＳ４３の後、タグ付与知識学習装置１Ｂは、記憶単位生成手段２２４によって、入力された分割単位の列から、１つ以上の分割単位を１つのまとまりとした列（記憶単位）の列を生成（推定）する（ステップＳ４４）。
このステップＳ４４の動作については、図７，図８を参照して詳細に説明する。
ここでは、前回の文書の入力によって、記憶単位ＤＤＰ表１２Ｂａには、ｎ組の記憶単位の項目（＜Ｕ１，ｆ１，ｅ１＞〜＜Ｕｎ，ｆｎ，ｅｎ＞）が記憶されているものとする。また、今回入力された文書は、ｍ個の分割単位の列ｖ１…ｖｍであったとする。
【０１１６】
図７に示すように、記憶単位生成手段２２４は、図示を省略したメモリ上に、計算過程を保持する領域ｐｉ：ｊ（１≦ｉ≦ｍ，１≦ｊ≦ｍ）を確保する（ステップＳ４４１）。ここで、ｐｉ：ｊは、分割単位列ｖｉ…ｖｊがなんらかの記憶単位に分割されたときのそれぞれの記憶単位が生起する確率の総和を記憶する領域である。
また、記憶単位生成手段２２４は、初期状態として、領域ｐｉ：ｊをすべて“０”に設定するとともに、分割結果となる記憶単位の列の集合（記憶単位列）ＵＡをφ（空列）に設定する（ステップＳ４４２）。
【０１１７】
そして、記憶単位生成手段２２４は、分割単位を抽出する変数として、入力文書の先頭から何番目の分割単位かを示す変数ｋを初期値“１”に設定し（ステップＳ４４３）、ｋ番目の分割単位からの分割単位の数を示す変数ｗを初期値“１”に設定する（ステップＳ４４４）。
【０１１８】
また、記憶単位生成手段２２４は、ｋ番目の分割単位から、“ｋ＋ｗ−１”個分の分割単位で構成される記憶単位の生起確率ＰＵＬ（Ｖｋ：ｋ＋ｗ−１）を前記式（５）により算出する（ステップＳ４４５）。
ここで、記憶単位生成手段２２４は、入力文書の先頭から何番目の分割単位かを示す他の変数ｋ′を初期値“１”に設定する（ステップＳ４４６）。
そして、記憶単位生成手段２２４は、ｋ′の値に“１”を加算しながら、ｋの値になるまで、以下の式（８）により、領域ｐｋ′：ｋ＋ｗ−１に生起確率を加算していく。（ステップＳ４４７〜Ｓ４４９）。なお、ｐ１：０の値は“１”とする。
【０１１９】
【数８】
2015170151.tif 000010
【０１２０】
そして、ｋ′の値がｋの値になった段階で（ステップＳ４４８でＮｏ）、“ｋ＋ｗ−１”が、入力された分割単位の数ｍに到達していない場合、すなわち、“ｋ＋ｗ−１”の値がｍよりも小さい場合（ステップＳ４５０でＹｅｓ）、記憶単位生成手段２２４は、変数ｍに“１”を加算し（ステップＳ４５１）、ステップＳ４４５に動作を戻す。
【０１２１】
一方、“ｋ＋ｗ−１”の値が入力された分割単位の数ｍとなった場合（ステップＳ４５０でＮｏ）、記憶単位生成手段２２４は、さらに、ｋの値が入力された分割単位の数ｍよりも小さければ（ステップＳ４５２でＹｅｓ）、変数ｋに“１”を加算し（ステップＳ４５３）、ステップＳ４４４に動作を戻す。
【０１２２】
そして、ｋの値が入力された分割単位の数ｍとなった場合（ステップＳ４５２でＮｏ）、記憶単位生成手段２２４は、ステップＳ４５４（図８参照）に動作を進める。
なお、この段階で、領域ｐｉ：ｊ（１≦ｉ≦ｍ，１≦ｊ≦ｍ）には、入力文書が、記憶単位に分割されたときのそれぞれの記憶単位が生起する確率の総和が記憶されていることになる。
【０１２３】
ここで、図８に示すように、記憶単位生成手段２２４は、変数ｋに“ｍ＋１”を設定する（ステップＳ４５４）。
そして、記憶単位生成手段２２４は、１以上ｋ未満の各ｋ′（１≦ｋ′＜ｋ）に対して、以下の式（９）により、分割単位列Ｖ１：ｋ−１が分割単位列Ｖｋ′：ｋ−１を１つの記憶単位とする記憶単位列として生起する確率Ｐ１：ｋ′：ｋ−１を算出する（ステップＳ４５５）。
【０１２４】
【数９】
2015170151.tif 000011
【０１２５】
その後、記憶単位生成手段２２４は、確率Ｐ１：ｋ′：ｋ−１の比に応じて、ｋ′を１つランダムに選択し、記憶単位列ＵＡの先頭に記憶単位Ｖｋ′：ｋ−１を追加して新たな記憶単位列ＵＡを生成する（ステップＳ４５６）。
そして、記憶単位生成手段２２４は、ステップＳ４５６で選択したｋ′の値を変数ｋに設定する（ステップＳ４５７）。
ここで、変数ｋの値が“１”より大きければ（ステップＳ４５８でＹｅｓ）、記憶単位生成手段２２４は、ステップＳ４５５に動作を戻す。
【０１２６】
一方、変数ｋの値が“１”となった場合（ステップＳ４５８でＮｏ）、記憶単位生成手段２２４は、図６のステップＳ４４以降に動作を戻す。
この結果、記憶単位列ＵＡには、入力された文書の複数の分割単位が、記憶単位に分割された状態で保持されることになる。
図６に戻って、タグ付与知識学習装置１Ｂの動作の説明を続ける。
【０１２７】
図２で説明したタグ付与知識学習装置１のステップＳ５〜Ｓ１３の動作は、分割単位を基準として分割単位ＤＤＰ表１２ａを更新するものであった。しかし、図６のタグ付与知識学習装置１ＢのステップＳ４５〜Ｓ５３の動作は、記憶単位を基準として記憶単位ＤＤＰ表１２Ｂａを更新するものである。
すなわち、ステップＳ４５以降の動作と、ステップＳ５（図２）以降の動作は、処理対象となる基準単位が、記憶単位であるか、分割単位であるかの相違であって、基本的な流れは同様である。そこで、ここでは、詳細な説明は省略する。
【０１２８】
以上の動作によって、タグ付与知識学習装置１Ｂは、適宜、分割単位で区分された文書を入力されることで、記憶単位ＤＤＰモデルを構築するための知識（記憶単位ＤＤＰ表１２Ｂａ）を学習することができる。
【０１２９】
［タグ付与装置の構成］
次に、図９を参照して、タグ付与装置３Ｂの構成について説明する。
図９に示すように、タグ付与装置３Ｂは、記憶部３０Ｂと制御部４０Ｂとを備える。
記憶部３０Ｂは、タグ付与知識学習装置１Ｂで学習された情報を記憶するものである。ここでは、記憶部３０Ｂは、記憶単位ＤＤＰ表記憶手段３１Ｂを備える。
【０１３０】
記憶単位ＤＤＰ表記憶手段３１Ｂは、記憶単位ごとに、頻度と生存確率とを対応付けた記憶単位ＤＤＰ表３１Ｂａを記憶するものである。この記憶単位ＤＤＰ表記憶手段３１Ｂは、半導体メモリ等の一般的な記憶媒体で構成される。
【０１３１】
記憶単位ＤＤＰ表３１Ｂａは、図５のタグ付与知識学習装置１Ｂにおける学習結果として生成された記憶単位ＤＤＰ表記憶手段１２Ｂの記憶単位ＤＤＰ表１２Ｂａと同じものである。よって、その内容については、説明を省略する。
このように、記憶単位ＤＤＰ表３１Ｂａは、記憶単位ＤＤＰ表１２Ｂａと同じものであるため、タグ付与装置３Ｂは、タグ付与知識学習装置１Ｂとの間で、ネットワークを介して、記憶単位ＤＤＰ表を共有する構成としても構わない。
【０１３２】
制御部４０Ｂは、記憶単位ＤＤＰ表３１Ｂａを参照して、外部から入力される文字列を分割して、タグを付与するものである。ここでは、制御部４０Ｂは、部分文字列生成手段４１Ｂと、記憶単位探索手段４２Ｂと、生起確率算出手段４３Ｂと、最尤分割単位探索手段４４Ｂと、を備える。
【０１３３】
部分文字列生成手段４１Ｂは、外部から入力される文字列を任意の文字列に分割して、部分文字列を生成するものである。この部分文字列生成手段４１Ｂは、文字数ｎの文字列Ｓ＝ｓ１ｓ２…ｓｎに対して、部分文字列Ｓ′＝ｓｋ…ｓｋ＋ｍ−１（１≦ｋ≦ｎ、１≦ｍ≦ｎ−ｋ＋１）を、ｋ，ｍを順次変えて生成する。なお、ｋ，ｍは、それぞれ初期値を“１”として、最尤分割単位探索手段４４Ｂからの指示に基づいて変化させる。
この部分文字列生成手段４１Ｂは、生成した部分文字列を、記憶単位探索手段４２Ｂに出力し、記憶単位探索手段４２Ｂから、対応する記憶単位を取得する。
また、部分文字列生成手段４１Ｂは、記憶単位探索手段４２Ｂで探索された部分文字列ごとの記憶単位を、最尤分割単位探索手段４４Ｂに出力する。
【０１３４】
記憶単位探索手段４２Ｂは、部分文字列生成手段４１Ｂで生成された部分文字列と一致する文字列を有する記憶単位を、記憶単位ＤＤＰ表記憶手段３１Ｂに記憶されている記憶単位ＤＤＰ表３１Ｂａから探索するものである。この記憶単位探索手段４２Ｂは、探索された記憶単位を、部分文字列生成手段４１Ｂに出力する。
なお、記憶単位探索手段４２Ｂは、部分文字列と一致する文字列を有する記憶単位を、記憶単位ＤＤＰ表３１Ｂａから探索することができなかった場合、当該部分文字列を１つの分割単位とし、そのタグがダミー（ｄｕｍｍｙ）であるような分割単位を記憶単位として、部分文字列生成手段４１Ｂに出力する。
これによって、たとえ、入力された文字列の部分文字列が、記憶単位ＤＤＰ表３１Ｂａに存在しなくても、記憶単位として処理することが可能になる。
【０１３５】
生起確率算出手段４３Ｂは、最尤分割単位探索手段４４Ｂから通知される記憶単位の生起確率（記憶単位ユニグラム生起確率）を算出するものである。
ここでは、生起確率算出手段４３Ｂは、記憶単位ＤＤＰ表３１Ｂａにおける全記憶単位の総頻度に対する、最尤分割単位探索手段４４Ｂから通知される記憶単位の頻度を求めることで、記憶単位の生起確率を算出する。
具体的には、生起確率算出手段４３Ｂは、記憶単位ＤＤＰ表３１Ｂａにおける全記憶単位の頻度ｆおよび生存確率ｅと、最尤分割単位探索手段４４Ｂから通知される記憶単位Ｕの頻度ｆおよび生存確率ｅとから、以下の式（１０）により、生起確率ＰＵＬ（Ｕ）を算出する。ここで、ｎは記憶単位ＤＤＰ表３１Ｂａに存在する項目の総数である。
【０１３６】
【数１０】
2015170151.tif 000012
【０１３７】
この式（１０）において、分子は、同じ記憶単位が複数存在する場合、その記憶単位の生存確率ｅと頻度ｆの積の総和である。
この生起確率算出手段４３Ｂは、算出した生起確率ＰＵＬ（Ｕ）を最尤分割単位探索手段４４Ｂに出力する。
なお、生起確率算出手段４３Ｂは、最尤分割単位探索手段４４Ｂから通知される記憶単位が、記憶単位ＤＤＰ表３１Ｂａに存在しない場合、予め定めた確率値ｄを最尤分割単位探索手段４４Ｂに出力する。この確率値ｄは、非常に小さな値とし、記憶単位ＤＤＰ表３１Ｂａにおける記憶単位のすべての生起確率よりも小さな値とすることが好ましい。
【０１３８】
最尤分割単位探索手段４４Ｂは、外部から入力される文字列において、最尤な記憶単位の列を探索するものである。
ここでは、最尤分割単位探索手段４４Ｂは、部分文字列生成手段４１Ｂに対して、入力された文字列の文字数ｎを基に、その文字列を、ｋ，ｍを順次変えて、部分文字列Ｓ′＝ｓｋ…ｓｋ＋ｍ−１（１≦ｋ≦ｎ、１≦ｍ≦ｎ−ｋ＋１）として分割する指示を行う。
そして、最尤分割単位探索手段４４Ｂは、部分文字列生成手段４１Ｂから出力される複数の記憶単位を生起確率算出手段４３Ｂに出力し、対応する生起確率を取得する。
そして、最尤分割単位探索手段４４Ｂは、複数の記憶単位における生起確率の総積が最大となる記憶単位の列を特定し、その記憶単位列を構成する分割単位の列を、分割結果として出力する。
【０１３９】
なお、分割結果となる分割単位のいずれかに、ダミーのタグが付与されている場合、タグ付与装置３の操作者が、当該分割単位の文字列には、タグが存在しないと認識することとしてもよいし、最尤分割単位探索手段４４Ｂが、予めダミーのタグを削除し、空文字列を設定することとしてもよい。
【０１４０】
以上説明したように、タグ付与装置３Ｂを構成することで、タグ付与装置３Ｂは、記憶単位ＤＤＰモデルの学習結果（記憶単位ＤＤＰ表３１Ｂａ）を参照して、入力文字列から、最尤な部分文字列にタグを付した分割単位の列を生成することができる。
なお、タグ付与装置３Ｂは、一般的なコンピュータを、制御部４０Ｂの各手段として機能させるためのタグ付与プログラムによって動作させることができる。
【０１４１】
［タグ付与装置の動作］
次に、図１０を参照（構成については、適宜図９参照）して、第２実施形態に係るタグ付与装置３Ｂの動作について説明する。なお、タグ付与装置３Ｂには、文字数ｎの文字列Ｓ＝ｓ１ｓ２…ｓｎが入力されることとする。
【０１４２】
まず、タグ付与装置３Ｂは、最尤分割単位探索手段４４Ｂによって、図示を省略したメモリ上に、計算過程を保持する領域＜ＵＬ（１），ｐ１＞〜＜ＵＬ（１），ｐｎ＞を確保する（ステップＳ６１）。ここで、＜ＵＬ（ｉ），ｐｉ＞は、記憶単位列ＵＬ（ｉ）およびその生起確率ｐｉを示し、入力文字列の１〜ｉ文字目からなる部分文字列に対する最尤な記憶単位列の割り当て結果となる。そして、最尤分割単位探索手段４４Ｂは、初期状態として、記憶単位列ＵＬ（ｉ）をφ（空列）、生起確率ｐｉを“０”にそれぞれ設定しておく（ステップＳ６２）。
【０１４３】
そして、タグ付与装置３Ｂは、最尤分割単位探索手段４４Ｂによって、部分文字列を抽出する変数として、入力文字列の先頭から何番目の文字かを示す変数ｋを初期値“１”に設定し（ステップＳ６３）、ｋ番目の文字からの文字数を示す変数ｍを初期値“１”に設定する（ステップＳ６４）。
【０１４４】
そして、タグ付与装置３Ｂは、最尤分割単位探索手段４４Ｂによって、ｋ番目からｍ文字分の部分文字列を文字列として有する記憶単位Ｕの生起確率ＰＵＬ（Ｕ）が最大となる記憶単位Ｕ′を探索する（ステップＳ６５）。
具体的には、最尤分割単位探索手段４４Ｂは、設定した変数ｋ，ｍの値を部分文字列生成手段４１Ｂに通知する。そして、部分文字列生成手段４１Ｂは、入力文字列Ｓのｋ番目からｍ文字分の部分文字列Ｓ′を生成し、記憶単位探索手段４２Ｂに通知する。さらに、記憶単位探索手段４２Ｂは、記憶単位ＤＤＰ表３１Ｂａから、部分文字列Ｓ′と一致する文字列を有する記憶単位Ｕを探索する。
【０１４５】
そして、最尤分割単位探索手段４４Ｂは、生起確率算出手段４３Ｂに対して、記憶単位Ｕを通知して、生起確率ＰＵＬ（Ｕ）を算出させる。そして、最尤分割単位探索手段４４Ｂは、部分文字列Ｓ′を文字列として有する記憶単位の中で生起確率が最大となる記憶単位Ｕ′を特定する。
そして、最尤分割単位探索手段４４Ｂは、ＵＬ（ｋ−１）にステップＳ６５で探索された記憶単位Ｕ′を連結した新たな記憶単位列ＵＬ′を生成し、ｐｋ−１に生起確率ＰＵＬ（Ｕ′）を乗算した記憶単位Ｕ′に対応する生起確率ｐ′を生成する（ステップＳ６６）。ただし、ＵＬ（０）＝φ、ｐ０＝１とする。
【０１４６】
このステップＳ６６で生成された生起確率ｐ′が生起確率ｐｋ＋ｍ−１よりも大きければ（ステップＳ６７でＹｅｓ）、最尤分割単位探索手段４４Ｂは、記憶単位列ＵＬ（ｋ＋ｍ−１）をステップＳ６６で生成された記憶単位列ＵＬ′とし、生起確率ｐｋ＋ｍ−１をステップＳ６６で生成された生起確率ｐ′とする（ステップＳ６８）。一方、ステップＳ６６で生成された生起確率ｐ′が生起確率ｐｋ＋ｍ−１以下であれば（ステップＳ６７でＮｏ）、ステップＳ６９に動作を進める。
【０１４７】
そして、最尤分割単位探索手段４４Ｂは、入力文字列の最後まで処理が完了していない場合、すなわち、“ｋ＋ｍ−１”の値が入力された文字数ｎよりも小さい場合（ステップＳ６９でＹｅｓ）、変数ｍに“１”を加算し（ステップＳ７０）、ステップＳ６５に動作を戻す。
一方、“ｋ＋ｍ−１”の値が入力された文字数ｎとなった場合（ステップＳ６９でＮｏ）、最尤分割単位探索手段４４Ｂは、さらに、部分文字列の先頭文字を位置を判定する（ステップＳ７１）。ここで、部分文字列の先頭文字が入力文字列Ｓの最終文字に到達していない場合、すなわち、変数ｋの値がｎよりも小さい場合（ステップＳ７１でＹｅｓ）、最尤分割単位探索手段４４Ｂは、変数ｋに“１”を加算し（ステップＳ７２）、ステップＳ６４に動作を戻す。
一方、変数ｋの値がｎとなった場合（ステップＳ７１でＮｏ）、最尤分割単位探索手段４４Ｂは、分割単位列ＵＬ（ｎ）を最尤分割単位列として出力する（ステップＳ７３）。
【０１４８】
以上の動作によって、タグ付与装置３Ｂは、記憶単位ＤＤＰモデルの学習結果（記憶単位ＤＤＰ表３１Ｂａ）を参照して、入力文字列から、最尤な部分文字列にタグを付した分割単位の列を生成することができる。
【符号の説明】
【０１４９】
１      タグ付与知識学習装置
１１    多項分布頻度記憶手段
１２    分割単位ＤＤＰ表記憶手段
１２Ｂ  記憶単位ＤＤＰ表記憶手段
２１    多項分布モデル学習手段
２２    分割単位ＤＤＰモデル学習手段
２２Ｂ  記憶単位ＤＤＰモデル学習手段
２２０  生存確率更新手段
２２１  生起期待確率算出手段
２２２  学習項目更新手段
２２３  生存学習項目更新手段
２２４  記憶単位生成手段
３      タグ付与装置
３１    分割単位ＤＤＰ表記憶手段
３１Ｂ  記憶単位ＤＤＰ表記憶手段
４１    部分文字列生成手段
４２    分割単位探索手段
４２Ｂ  記憶単位探索手段
４３    生起確率算出手段
４４    最尤分割単位探索手段
【図１】
2015170151.tif 000013
【図２】
2015170151.tif 000014
【図３】
2015170151.tif 000015
【図４】
2015170151.tif 000016
【図５】
2015170151.tif 000017
【図６】
2015170151.tif 000018
【図７】
2015170151.tif 000019
【図８】
2015170151.tif 000020
【図９】
2015170151.tif 000021
【図１０】
2015170151.tif 000022