(57)【要約】【課題】少量の正例から辞書の作成を開始して、効率的に辞書を作成する。【解決手段】単語をクラスに分類する辞書作成方法は、辞書を作成する単語の分散表現をベクトル情報で取得して単語ベクトル情報に格納する分散表現取得ステップと、前記単語を分類するためのクラスと、前記クラスに所属する初期単語を受け付けて、前記初期単語に正例のラベルを付与する初期ラベル付与ステップと、前記初期単語のベクトル情報を前記単語ベクトル情報から取得して、分散表現空間内で前記ベクトル情報を含む領域を設定する初期領域設定ステップと、前記分散表現空間内の前記領域の外周から所定の範囲を縁として設定する縁設定ステップと、前記縁内に含まれる未確定の単語について正例又は負例のいずれかのラベルを付与するラベリングステップと、を含む。【選択図】図８
2020187430.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサとメモリを有する計算機で、単語をクラスに分類する辞書作成方法であって、
前記プロセッサが、辞書を作成する前記単語の分散表現をベクトル情報で取得して単語ベクトル情報に格納する分散表現取得ステップと、
前記プロセッサが、前記単語を分類するためのクラスと、前記クラスに所属する初期単語を受け付けて、前記初期単語に正例のラベルを付与する初期ラベル付与ステップと、
前記プロセッサが、前記初期単語のベクトル情報を前記単語ベクトル情報から取得して、分散表現空間内で前記ベクトル情報を含む領域を設定する初期領域設定ステップと、
前記プロセッサが、前記分散表現空間内の前記領域の外周から所定の範囲を縁として設定する縁設定ステップと、
前記プロセッサが、前記縁内に含まれる未確定の単語について正例又は負例のいずれかのラベルを付与するラベリングステップと、
を含むことを特徴とする辞書作成方法。
【請求項２】
請求項１に記載の辞書作成方法であって、
前記プロセッサが、前記縁に含まれる正例と負例の比率に応じて、前記領域の大きさを拡大又は縮小して再設定する領域再構築ステップを、さらに含むことを特徴とする辞書作成方法。
【請求項３】
請求項２に記載の辞書作成方法であって、
前記プロセッサが、所定の終了条件が成立するまで、前記領域再構築ステップと、縁設定ステップと、前記ラベリングステップとを繰り返すことを特徴とする辞書作成方法。
【請求項４】
請求項１に記載の辞書作成方法であって、
前記初期領域設定ステップでは、
前記正例の初期単語のベクトル情報を含む前記分散表現空間内の閉領域を初期の領域として設定することを特徴とする辞書作成方法。
【請求項５】
請求項２に記載の辞書作成方法であって、
前記領域再構築ステップでは、
前記拡大又は縮小する倍率を正例と負例の比率に応じて離散的に設定することを特徴とする辞書作成方法。
【請求項６】
請求項２に記載の辞書作成方法であって、
前記縁設定ステップでは、
前記再設定された領域の外周から所定の範囲で前記縁を再設定することを特徴とする辞書作成方法。
【請求項７】
請求項２に記載の辞書作成方法であって、
前記領域再構築ステップでは、
前記縁内に含まれる正例の単語のベクトル情報から領域の新たな中心を再設定することを特徴とする辞書作成方法。
【請求項８】
請求項３に記載の辞書作成方法であって、
前記終了条件は、
前記ラベルを付与した単語の数又は拡大縮小の回数が所定の数に達したときに終了条件が成立したと判定することを特徴とする辞書作成方法。
【請求項９】
請求項２に記載の辞書作成方法であって、
前記領域再構築ステップでは、
前記縁内に含まれる正例と負例の比率を算出し、正例の比率が所定の閾値を超えたときには、アクティブラーニングへ移行して単語のクラスを分類させることを特徴とする辞書作成方法。
【請求項１０】
プロセッサとメモリを有して、単語をクラスに分類する辞書作成装置であって、
前記辞書を作成する前記単語の分散表現をベクトル情報で取得して単語ベクトル情報に格納する分散表現取得部と、
前記単語を分類するためのクラスと、前記クラスに所属する初期単語を受け付けて、前記初期単語に正例のラベルを付与する初期ラベル付与部と、
前記初期単語のベクトル情報を前記単語ベクトル情報から取得して、分散表現空間内で前記ベクトル情報を含む領域を設定する初期領域設定部と、
前記分散表現空間内の前記領域の外周から所定の範囲を縁として設定する縁設定部と、
前記縁内に含まれる未確定の単語について正例又は負例のいずれかのラベルを付与するラベリング部と、
を有することを特徴とする辞書作成装置。
【請求項１１】
プロセッサとメモリを有する計算機で、単語をクラスに分類させるためのプログラムを格納した記憶媒体であって、
辞書を作成する前記単語の分散表現をベクトル情報で取得して単語ベクトル情報に格納する分散表現取得ステップと、
前記単語を分類するためのクラスと、前記クラスに所属する初期単語を受け付けて、前記初期単語に正例のラベルを付与する初期ラベル付与ステップと、
前記初期単語のベクトル情報を前記単語ベクトル情報から取得して、分散表現空間内で前記ベクトル情報を含む領域を設定する初期領域設定ステップと、
前記分散表現空間内の前記領域の外周から所定の範囲を縁として設定する縁設定ステップと、
前記縁内に含まれる未確定の単語について正例又は負例のいずれかのラベルを付与するラベリングステップと、
を前記計算機に実行させるためのプログラムを格納した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、言語の辞書を作成する辞書作成装置に関する。
【背景技術】
【０００２】
テキストデータから特定の単語クラスに属する単語を集めて辞書を生成する技術として、特許文献１が知られている。特許文献１には、カテゴリ辞書を用いてテキストデータから未カテゴリ語を抽出して、登録候補を探索する技術が開示されている。
【０００３】
また、近年では類似する単語が、分散表現空間内で近い距離に集まる性質を有する単語の分散表現を用いて単語を分類する技術も知られている（例えば、非特許文献１）。非特許文献１では、ラベルを付与した少量の正例と、負例を用いて機械学習を実施して、分散表現空間内に境界を設定する。そして、非特許文献１では、境界の近傍のサンプルに対して優先的にラベルを付与することにより、効率的に機械学習の精度を上げている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１５７１７８号公報
【非特許文献】
【０００５】
【非特許文献１】D. D. Lewis and J. Catlett  著、“Heterogeneous uncertainty sampling for supervised learning”、in Proceedings of the eleventh international conference on machine learning、1994年
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記非特許文献１では、少量の正例と負例を用いた機械学習によって、分散表現空間内で境界の大まかな位置が推定可能であることが前提となっている。このため、上記非特許文献１では、大量の負例の中に、少量の正例が存在するという状況では、分散表現空間内で境界の大まかな位置を推定することが困難であった。
【０００７】
そこで本発明は、上記問題点に鑑みてなされたもので、少量の正例から辞書の作成を開始して、効率的に辞書を作成する辞書作成装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、プロセッサとメモリを有する計算機で、単語をクラスに分類する辞書作成方法であって、前記プロセッサが、辞書を作成する前記単語の分散表現をベクトル情報で取得して単語ベクトル情報に格納する分散表現取得ステップと、前記プロセッサが、前記単語を分類するためのクラスと、前記クラスに所属する初期単語を受け付けて、前記初期単語に正例のラベルを付与する初期ラベル付与ステップと、前記プロセッサが、前記初期単語のベクトル情報を前記単語ベクトル情報から取得して、分散表現空間内で前記ベクトル情報を含む領域を設定する初期領域設定ステップと、 前記プロセッサが、前記分散表現空間内の前記領域の外周から所定の範囲を縁として設定する縁設定ステップと、前記プロセッサが、前記縁内に含まれる未確定の単語について正例又は負例のいずれかのラベルを付与するラベリングステップと、を含む。
【発明の効果】
【０００９】
したがって、本発明は、領域の縁に含まれる単語についてラベリングを行えばよいので、辞書を作成する際のラベリングに要する労力を大幅に低減して、効率的に辞書を作成することができる。
【００１０】
本明細書において開示される主題の、少なくとも一つの実施の詳細は、添付されている図面と以下の記述の中で述べられる。開示される主題のその他の特徴、態様、効果は、以下の開示、図面、請求項により明らかにされる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施例１を示し、辞書作成装置の一例を示すブロック図である。
【図２】本発明の実施例１を示し、辞書作成装置で行われる処理の一例を示す図である。
【図３】本発明の実施例１を示し、辞書作成装置で行われる処理の一例を示すフローチャートである。
【図４】本発明の実施例１を示し、単語ベクトルテーブルの一例を示す図である。
【図５】本発明の実施例１を示し、ラベルテーブルの一例を示す図である。
【図６】本発明の実施例１を示し、領域の一例を示す図である。
【図７】本発明の実施例１を示し、縁の一例を示す図である。
【図８】本発明の実施例１を示し、縁に含まれる単語のラベル付与画面の一例を示す図である。
【図９】本発明の実施例１を示し、再構築を行った領域及び縁の一例を示す図である。
【図１０】本発明の実施例２を示し、辞書作成装置の一例を示すブロック図である。
【図１１】本発明の実施例２を示し、辞書作成装置で行われる処理の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を添付図面に基づいて説明する。
【実施例１】
【００１３】
図１は、本発明の実施例１を示し、辞書作成装置の一例を示すブロック図である。辞書作成装置１は、プロセッサ２０と、メモリ３０と、ストレージ装置４０と、入力装置５０と、出力装置６０を含む計算機で構成される。
【００１４】
メモリ３０には、単語ベクトル学習プログラム２と、初期ラベル付与プログラム４と、初期領域構築プログラム６と、縁構築プログラム８と、ラベル付与プログラム１０と、領域再構築プログラム１１がロードされてプロセッサ２０によって実行される。
【００１５】
ストレージ装置４０は、不揮発性の記憶媒体で構成され、上記各プログラムで利用されるデータを格納する。ストレージ装置４０に格納されるデータとしては、予め収集された単語を格納するテキストコーパス７０と、単語の分散表現による単語ベクトルを格納する単語ベクトルテーブル３と、単語に付与したラベルを格納するラベルテーブル５と、分散表現空間内に設定された領域を格納する領域情報７と、分散表現空間内に設定された領域の境界（縁）を格納する縁情報９が含まれる。
【００１６】
入力装置５０は、マウスやキーボードやタッチパネルなどで構成される。出力装置６０は、ディスプレイやプロジェクタなどで構成される。
【００１７】
プロセッサ２０は、各機能部のプログラムに従って処理を実行することによって、所定の機能を提供する機能部として稼働する。例えば、プロセッサ２０は、単語ベクトル学習プログラム２に従って処理を実行することで単語ベクトル学習部として機能する。他のプログラムについても同様である。さらに、プロセッサ２０は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
【００１８】
＜概要＞
図２は、辞書作成装置１で行われる処理の一例を示す図である。この処理は、辞書作成装置１のユーザ等が入力装置５０から所定の指令を入力することで実行される。
【００１９】
まず、単語ベクトル学習プログラム２は、テキストコーパス７０から単語を読み込んで、分散表現のベクトルを算出し、単語ベクトルテーブル３に単語毎の分散表現のベクトルを格納する。分散表現のベクトルは、高次元（ｎ次元）の実数ベクトルで構成され、周知又は公知の手法で算出することができる。
【００２０】
単語ベクトル学習プログラム２は、テキストコーパス７０の単語のうち処理対象のデータについてベクトルの演算が完了すると、初期ラベル付与プログラム４を起動する。なお、処理対象のデータは、テキストコーパス７０の全ての単語としてもよいし、指定された範囲の単語であってもよい。
【００２１】
初期ラベル付与プログラム４は、単語を分類するためのクラス（属性）と、当該クラスに所属する少数の単語を受け付けて、ラベルの付与（ラベリング）を実施する。なお、単語クラスと単語は、辞書作成装置１のユーザ等が入力装置５０から受け付ける。また、クラスに所属する単語は、単語ベクトルテーブル３に含まれる単語である。
【００２２】
初期ラベル付与プログラム４が受け付ける少数の単語は、１以上であればよく、好ましくは、数個の単語が入力されればよい。初期ラベル付与プログラム４は、入力された単語が当該単語クラスに該当する単語（初期単語）として「正」のラベルを付与した正例として扱ってラベルテーブル５へ格納する。
【００２３】
なお、後述する処理では、指定された単語クラスに該当しない単語は、「負」のラベルを付与した負例として扱われる。
【００２４】
初期ラベル付与プログラム４が受け付けた単語は、分散表現空間内での開始位置を特定する初期単語となる。初期ラベル付与プログラム４で、初期単語の受け付けが完了すると初期領域構築プログラム６が開始される。
【００２５】
初期領域構築プログラム６は、ラベルテーブル５から初期単語を読み込んで、初期単語のベクトルデータを単語ベクトルテーブル３から取得し、分散表現空間内に初期領域を設定する。
【００２６】
初期領域構築プログラム６は、初期単語のベクトルデータ間の距離に基づいて分散表現空間内に中心を設定し、正例を含む閉領域を初期領域として設定して領域情報７に格納する。なお、閉領域は正例のみを含む例を示すが、これに限定されるものではない。例えば、初期領域構築プログラム６が正例と負例の比率を算出して正例の比率が所定の閾値（正例比率）以上の閉領域を初期領域としてもよい。
【００２７】
また、初期単語が１つの場合は、初期単語のベクトルを閉領域の中心とする球を設定すればよい。また、閉領域の大きさは、当該閉領域の外側で、中心から最も近い未確定の単語又は負例の手前までの半径又は距離とすればよい。
【００２８】
初期領域７１は、例えば、ｎ次元空間の超球面で構成することができる。あるいは、閉領域が確率分布の場合は、パラメータを推定したものでもよい。確率分布がガウス分布の場合は、パラメータとして共分散行列を推定すればよい。
【００２９】
図６は、初期領域構築プログラム６が設定する初期領域７１の一例を示す図である。図６は、分散表現空間（ｎ次元空間）の写像で３つの初期単語のベクトルが同じ単語クラスに含まれる例を示す。この例では、初期領域７１が球で構成される例を示す。
【００３０】
初期領域構築プログラム６は、各初期単語のベクトル（座標）から等距離Ｌの点を中心Ｃとして設定する。初期領域構築プログラム６は、中心Ｃから半径Ｒの領域を設定する。半径Ｒは、初期領域７１が各初期単語のベクトル（座標）を内包する距離よりも外側であればよい。
【００３１】
例えば、中心Ｃから各初期単語のベクトルを通過して、次の未確定の単語のベクトルの手前までの距離を半径Ｒとして設定すればよい。なお、未確定の単語とは、ラベルが付与されていない単語を示す。
【００３２】
なお、初期領域７１は、上述のように正例のみを含む閉領域に限定されるものではなく、初期領域構築プログラム６が正例と負例の比率を算出して、正例の比率が所定の閾値（正例比率）以上の閉領域であってもよい。
【００３３】
初期領域構築プログラム６は、初期領域７１の設定が完了すると、図２の縁構築プログラム８を起動させる。縁構築プログラム８は、初期領域７１の外周から内側へ所定の距離（又は各次元における周縁からの幅）の領域として縁を設定する。図７は、縁構築プログラム８が設定する縁８１の一例を示す図である。図７は、分散表現空間（ｎ次元空間）の写像である。
【００３４】
縁８１は、単語を探索する領域として設定される。縁８１の幅は、初期領域７１が球の場合、例えば、半径Ｒの８０％の位置が縁８１の内周として設定する。そして、縁構築プログラム８は設定された縁の情報を縁情報９へ格納する。
【００３５】
なお、上記では、初期領域７１の外周から内側に縁８１を設定する例を示したが、これに限定されるものでなはく、初期領域７１の外周から外側へ縁８１を所定の幅で設定してもよい。
【００３６】
また、縁８１の幅は、多次元空間内の距離に限定されるものではない。例えば、縁８１に含まれるラベルが不確定の単語の数が所定値（縁用閾値）以上となる幅で設定してもよい。又は、初期領域７１が確率分布で構成される場合には、確率値の閾値で縁８１の幅を決定することができる。
【００３７】
縁構築プログラム８は、縁８１の設定が完了すると、図２のラベル付与プログラム１０を起動させる。ラベル付与プログラム１０は、縁８１に含まれるラベルが不確定の単語を抽出して、ラベルを付与してラベルテーブル５へ格納する。
【００３８】
なお、初回の処理では、初期領域７１内の初期単語は、初期ラベル付与プログラム４で全ての単語にラベルが付与されているため、ラベル付与プログラム１０による処理はスキップする。
【００３９】
ラベル付与プログラム１０は、図８に示すラベル付与画面１００を出力装置６０に表示して、未確定の単語へ付与するラベルを問い合わせる。図８は、ラベル付与画面１００の一例を示す図である。
【００４０】
ラベル付与画面１００は、初期領域７１を拡大又は縮小した後の領域７２の写像と、領域７２内の縁８１に含まれる未確定の単語を表示する領域１１０と、単語にラベルを付与する領域１２０を含む。
【００４１】
領域１１０には、未確定の単語が表示され、確定済みの単語は黒丸印として表示される。領域１２０には、未確定の単語に対する質問文１１１と、「正」又は「負」のラベルを付与するボタン１１２が表示される。
【００４２】
ユーザ等が入力装置５０を操作してボタン１１２から「ＹＥＳ」又は「ＮＯ」を入力する。ラベル付与プログラム１０は、「ＹＥＳ」を受け付けると単語のラベルに「正」（正例）を付与し、「ＮＯ」を受け付けると単語のラベルに「負」（負例）を付与してラベルテーブル５に格納する。
【００４３】
ラベル付与プログラム１０は、縁８１内の全ての未確定の単語についてラベルの付与処理が完了すると、図２の領域再構築プログラム１１を起動させる。領域再構築プログラム１１は、所定の終了条件を満たしたか否かを判定して、終了条件を満たしていなければ、初期領域７１又は領域７２の拡大又は縮小を実行した後に、縁構築プログラム８を起動させて上記処理を繰り返す。なお、領域７２は、初期領域７１を拡大した領域、又は、前回の領域７２を拡大又は縮小した領域である。
【００４４】
所定の終了条件は、ラベルを付与した単語の数が予め設定された閾値（ラベル付与数）を超えていれば、領域再構築プログラム１１は、辞書の作成処理が完了したと判定して処理を終了する。閾値としてのラベル付与数は、例えば、１００回などに設定することができる。
【００４５】
一方、ラベルを付与した単語の数が閾値（ラベル付与数）以下の場合には、領域再構築プログラム１１は、縁８１内の単語のラベルに基づいて、中心Ｃの再設定を実施してから領域７２の大きさを変更する。
【００４６】
領域再構築プログラム１１は、縁８１内で「正」のラベルを付与した正例の単語のベクトルを取得し、正例のベクトルの加重平均を新たな領域７２の中心Ｃ２として設定する。なお、領域再構築プログラム１１は、現在の領域７２内の正例の単語を抽出し、これらの単語のベクトルの加重平均から新たな中心Ｃ２を算出してもよい。
【００４７】
領域再構築プログラム１１は、縁８１内で正例と負例の比率をＳ＝正例の数／負例の数として算出する。次に、領域再構築プログラム１１は、比率Ｓの値と予め設定された３つの閾値Ｔｈ１、Ｔｈ２、Ｔｈ３を比較して、変更する領域７２の大きさを決定する。ただし、閾値の大きさは、
【００４８】
Ｔｈ１＞Ｔｈ２＞Ｔｈ３
【００４９】
である。例えば、Ｔｈ１＝０．９、Ｔｈ２＝０．７、Ｔｈ３＝０．５のように設定することができる。
【００５０】
（１）Ｓ＞Ｔｈ１の場合
縁８１内の単語は大多数が正例であるので、現在の領域７２の外周は、正例と負例を分ける境界から離れていると判定できる。領域再構築プログラム１１は、新たな領域７２を大きく拡大させるため、新たな半径Ｒ２を現在の半径Ｒ×１．４等に設定する。そして、領域再構築プログラム１１は、新たな中心Ｃ２で半径Ｒ２の球を新たな領域として、上記処理を繰り返す。なお、新たな半径Ｒ２の倍率は、１．４に限定されるものではなく、テキストコーパス７０の単語数などに応じて適宜変更することができる。
【００５１】
また、領域再構築プログラム１１は、現在の縁８１内の単語は大多数が正例であるので、ラベルの付与を省略し、縁８１内の全ての単語を正例として扱う。そして、領域再構築プログラム１１は、新たな中心Ｃ２と拡大された半径Ｒ２の球を新たな領域として、上記処理を繰り返す。
【００５２】
（２）Ｔｈ１≧Ｓ＞Ｔｈ２の場合
【００５３】
縁８１内の単語は正例が負例よりもやや多い状態であるので、現在の領域７２の外周は、正例と負例を分ける境界に近付いたと判定できる。領域再構築プログラム１１は、新たな領域７２を徐々に拡大させるため、新たな半径Ｒ２を現在の半径Ｒ×１．２等に設定する。なお、新たな半径Ｒ２の倍率は、１．２に限定されるものではなく、テキストコーパス７０の単語数などに応じて適宜変更することができる。
【００５４】
また、領域再構築プログラム１１は、現在の縁８１内の単語についてラベルの付与を実施して、ラベルテーブル５へ格納する。そして、領域再構築プログラム１１は、新たな中心Ｃ２と若干拡大された半径Ｒ２の球を新たな領域７２として、上記処理を繰り返す。
【００５５】
（３）Ｔｈ２≧Ｓ＞Ｔｈ３の場合
【００５６】
縁８１内の単語は正例と負例の数が、ほぼ同数となる閾値Ｔｈ３（０．５）へ近付いているため、現在の領域７２の外周は、正例と負例を分ける境界にあると判定できる。領域再構築プログラム１１は、領域７２の外周が正例と負例を分ける境界に達したので、終了条件を満たしたと判定して処理を終了する。
【００５７】
なお、閾値Ｔｈ３の値は、正例と負例を分ける境界を識別するため０．５が好ましい。
【００５８】
（４）Ｔｈ３≧Ｓの場合
【００５９】
縁８１内の単語は負例が正例よりも多い状態であるので、現在の領域７２の外周は、正例と負例を分ける境界を超えて負例側に入ったと判定できる。領域再構築プログラム１１は、新たな領域７２を縮小させるため、新たな半径Ｒ２を現在の半径Ｒ×０．８等に設定する。なお、新たな半径Ｒ２の倍率は、０．８に限定されるものではなく、テキストコーパス７０の単語数などに応じて適宜変更することができる。
【００６０】
また、領域再構築プログラム１１は、現在の縁８１内の単語は負例が多いためラベルの付与を省略する。そして、領域再構築プログラム１１は、前回の中心Ｃと縮小した半径Ｒ２の球を新たな領域として、上記処理を繰り返す。
【００６１】
図９は、再構築を行った領域及び縁の一例を示す図である。図９は、分散表現空間（ｎ次元空間）の写像で、前回の領域７２’から拡大された領域７２が再構築された例を示す。
【００６２】
前回の領域７２’は、中心Ｃと半径Ｒの球で構成される。領域再構築プログラム１１は、前回の縁８１内の正例の単語のベクトルの加重平均から新たな中心Ｃ２を算出し、上述の閾値Ｔｈ１〜Ｔｈ３と比率Ｓの比較結果から新たな半径Ｒ２を算出する。
【００６３】
領域再構築プログラム１１は、新たな中心Ｃ２と新たな半径Ｒ２の領域７２を再構築する。その後、縁構築プログラム８によって縁８１が設定され、ラベル付与プログラム１０によって、縁８１内の単語にラベルが設定される。
【００６４】
このように、辞書作成装置１は、初期単語から初期領域７１を設定した後、縁８１内の単語にラベルを付与してから、新たな中心Ｃ２の算出と、正例と負例の比率Ｓに基づく領域の拡大縮小を繰り返す。
【００６５】
辞書作成装置１は、所定の終了条件に達した時点の領域７２内の単語を、与えられた単語クラスに所属する単語として出力する。あるいは、当該領域７２内の単語に「正」のラベルを付与してラベルテーブル５へ格納してもよい。
【００６６】
これにより、領域の中心は、正例となった単語のベクトルに基づいて更新され、縁８１内の比率Ｓによって領域７２の大きさは離散的に変化する。従って、辞書作成装置１では、全ての単語についてラベルを付与することなく、縁８１内の単語について正例と負例を判定すればよく、辞書作成の際のラベリングに要する労力を大幅に低減して、辞書の作成を短時間で行うことが可能となる。
【００６７】
また、比率Ｓ＞閾値Ｔｈ１の場合や、閾値Ｔｈ３≧比率Ｓの場合に縁８１内の単語のラベルの付与を省略することで、辞書の作成を高速に行い、かつ、ユーザの労力を大幅に低減することが可能となる。
【００６８】
なお、上記所定の終了条件は、上述のラベルを付与した単語の数に限定されるものではない。例えば、領域７２の大きさを変更した回数（例えば、１０回）が、予め設定された閾値（変更回数）を超えた場合に領域再構築プログラム１１が終了を判定してもよい。
【００６９】
あるいは、縁８１内の精度が所定の閾値（精度閾値）を超えたら領域再構築プログラム１１が終了を判定してもよい。この場合、精度は負例／正例で表され、例えば、精度閾値を５０％とすると、縁８１内の負例が半数を超えると領域７２の外周は、正例の比率が低下するので、現在の領域７２の外周は正例と負例を分離する境界にあると判定して処理を終了し、現在の領域７２内を正例の単語として扱う。なお、本実施例では、領域７２を高次元の球とした例を示したが、これに限定されるものでなはく、多面体などの任意の立体空間で構成することができる。
【００７０】
＜テーブル＞
図４は、単語ベクトルテーブル３の一例を示す図である。単語ベクトルテーブル３は、単語の識別子を格納する単語ｉｄ３１と、単語を格納する語３２と、単語ベクトル学習プログラム２が演算した分散表現を格納するベクトル３３をひとつのエントリに含む。
【００７１】
単語ｉｄ３１は、辞書作成装置１内でユニークな値であればよい。本実施例では、単語ベクトル学習プログラム２が付与した識別子を用いる。ベクトル３３は、ｎ次元で表現される。
【００７２】
図５は、ラベルテーブル５の一例を示す図である。ラベルテーブル５は、単語の属性（クラス名）を格納する単語クラス５１と、単語の識別子を格納する単語ｉｄ５２と、単語を格納する語５３と、初期ラベル付与プログラム４又はラベル付与プログラム１０によって付与されたラベル５４をひとつのエントリに含む。
【００７３】
単語クラス５１には、初期ラベル付与プログラム４が入力装置５０から受け付けたデータが格納される。単語ｉｄ５２は、辞書作成装置１内でユニークな単語の識別子が格納される。単語ｉｄ５２は、単語ベクトルテーブル３の単語ｉｄ３１と共通の値を用いることができる。ラベル５４は、「正」又は「負」の値を格納する。
【００７４】
＜処理＞
図３は、辞書作成装置１で行われる処理の一例を示すフローチャートである。この処理は、単語ベクトル学習プログラム２による単語ベクトルテーブル３の生成が完了している状態で、ユーザ等が入力装置５０から所定の指令を入力することで開始される。
【００７５】
まず、ステップＳ１では、初期ラベル付与プログラム４が、単語クラスと初期単語を入力装置５０等から受け付けて、ラベルの付与を実施する。初期ラベル付与プログラム４が、受け付ける初期単語の数は上述のように少数でよい。初期ラベル付与プログラム４は、受け付けた初期単語に「正」のラベルを付与して、ラベルテーブル５へ格納する。
【００７６】
ステップＳ２では、初期領域構築プログラム６が、ラベルテーブル５から初期単語を読み込んで、初期単語のベクトルデータを単語ベクトルテーブル３から取得し、分散表現空間内に初期領域を設定する。
【００７７】
初期領域構築プログラム６は、上述のように初期単語のベクトルデータ間の距離に基づいて分散表現空間内に中心を設定し、正例を含む閉領域を初期領域７１として設定して領域情報７に格納する。
【００７８】
次に、ステップＳ３では、縁構築プログラム８は、領域情報７から初期領域７１を読み込んで、上述のように初期領域７１の外周から所定の幅の縁８１を設定する。なお、縁構築プログラム８が領域情報７から読み込むデータは、初回が初期領域７１で、次回のループ以降では領域７２となる。
【００７９】
次に、ステップＳ４では、ラベル付与プログラム１０が、ラベルの付与を実行するか否かを判定する。初期領域７１であれば、初期単語にはラベルが付与済みであるのでステップＳ６へ進む。また、上記領域再構築プログラム１１の判定で、（１）Ｓ＞Ｔｈ１の場合と、（４）Ｔｈ３≧Ｓの場合は、ラベルの付与を省略するのでステップＳ６へ進む。その他の場合は、ステップＳ５へ進む。
【００８０】
次に、ステップＳ５では、ラベル付与プログラム１０が、縁８１内の未確定の単語を取得して、図８に示したラベル付与画面１００を生成して出力装置６０へ表示し、ラベルを問い合わせる。
【００８１】
すなわち、ラベル付与プログラム１０は、単語ベクトルテーブル３を参照してベクトル３３が、縁８１に含まれる単語の単語ｉｄ３１を取得する。ラベル付与プログラム１０は、上記ステップＳ１で受け付けた単語クラスと縁８１内の単語ｉｄ３１で、ラベルテーブル５を参照し、単語クラス５１と単語ｉｄ５２が一致するエントリで、ラベル５４が未確定の単語を取得する。
【００８２】
ラベル付与プログラム１０は、未確定の単語を含む質問文１１１と領域７２を生成して出力装置６０へ表示する。ラベル付与プログラム１０は、領域１２０の質問文１１１に対するラベルを受け付けて、ラベルテーブル５へ格納する。ラベル付与プログラム１０は、領域１２０の全ての質問文１１１についてラベルを受け付けると、ステップＳ６へ進む。
【００８３】
ステップＳ６では、領域再構築プログラム１１が、上述のように正例と負例の比率Ｓを算出して閾値Ｔｈ１〜Ｔｈ３と比較を行い、終了条件を満足したか否かを判定する。終了条件としては、上述したように、ラベルを付与した単語の数が所定の閾値（ラベル付与数）を超えた場合と、上記（３）のＴｈ２≧Ｓ＞Ｔｈ３の場合である。
【００８４】
ラベルを付与した単語の数が閾値を超えるか、比率Ｓが閾値Ｔｈ２以下かつ閾値Ｔｈ３より大であれば、領域再構築プログラム１１は、終了条件を満足したと判定して処理を終了する。
【００８５】
辞書作成装置１は、処理を終了した時点の領域７２内の単語を、単語クラスに含まれる単語として出力することができる。あるいは、処理を終了した時点の領域７２内の単語から負例を除いた結果を単語クラスに含まれる単語として出力することもできる。
【００８６】
一方、ラベルを付与した単語の数が閾値以下、又は、比率Ｓが閾値Ｔｈ２を超え、あるいは、比率Ｓが閾値Ｔｈ３以下の場合には、領域再構築プログラム１１が、領域７２の再設定を行う。領域再構築プログラム１１は、縁８１内の単語のベクトル３３から新たな中心Ｃ２を算出し、半径Ｒを拡大又は縮小する比率を上記（１）、（２）、（４）のいずれかで決定し、新たな領域７２を設定して領域情報７へ格納する。その後、ステップＳ３へ戻って上記処理を終了条件に達するまで繰り返す。
【００８７】
以上の処理によって、辞書作成装置１は、分散表現空間内で少数の初期単語によって初期領域７１を設定し、領域に設定した縁８１内の正例と負例の比率に応じて、領域７２を拡大又は縮小する比率を離散的に変更し、また、領域７２内の単語間の距離から領域７２の中心を再設定する。
【００８８】
分散表現空間内では意味的に近い単語間の距離は小さくなることから、少数の単語によって設定された初期領域７１から領域７２の拡大と縮小を行って、中心Ｃを更新していくことで、最終的に領域７２の外周は正例と負例の境界に近付いていく。
【００８９】
本実施例の辞書作成装置１は、領域７２のうち縁８１内の未確定単語についてラベルの付与を行い、領域７２の拡大縮小の比率を離散的とすることで、ラベルを付与する単語の数を低減しながらも、離散的な変形比率の更新によって迅速に領域７２の外周を境界へ近づけることが可能となる。これによって、少量の正例から辞書の作成を開始して、効率的に辞書を作成することが可能となる。
【実施例２】
【００９０】
図１０は、本発明の実施例２を示し、辞書作成装置の一例を示すブロック図である。本実施例では、前記実施例１の構成にアクティブラーニングプログラム１３を加えて、領域再構築プログラム１１で比率Ｓの判定結果が所定の閾値Ｔｈｓを超えたら、アクティブラーニングプログラム１３によって単語の分類を実行する例を示す。その他の構成は、前記実施例１と同様であるので、重複する説明は省略する。
【００９１】
アクティブラーニングプログラム１３としては、前記非特許文献１の“uncertainty sampling”や“Active Learning with Support Vector Machines”（Andreas Vlachos著、School of Informatics University of Edinburgh、2004）等の従来の技術を適用することができる。
【００９２】
図１１は、本発明の実施例２を示し、辞書作成装置１で行われる処理の一例を示す図である。初期ラベル付与プログラム４〜領域再構築プログラム１１までの処理は、前記実施例１と同様である。
【００９３】
条件分岐１２では、領域再構築プログラム１１が比率Ｓを算出して、比率Ｓが所定の閾値Ｔｈｓを超えていればアクティブラーニングプログラム１３を起動し、領域７２の分類処理を引き継がせる。
【００９４】
非特許文献１では、少量の教師データのみから処理を開始して、分類器の性能向上に最も効果的な単語を選んで、新たにラベルを付与する。新たなラベルを付与済みの単語を用いて分類器を学習し直す。非特許文献１の“Uncertainty Sampling”では、ラベルを付与していない単語のうち、分類器によるラベル付与の不確実性が高い単語から、ラベルを付与することができる。
【００９５】
上記処理により、正例の比率がある程度大きくなるとラベリングの処理をアクティブラーニングプログラム１３へ引き継がせることにより、ユーザによるラベリングの労力を低減して、効率よく辞書の作成を行うことが可能となる。
【００９６】
＜結び＞
以上のように、上記実施例１、２の辞書作成装置は、以下の構成とすることができる。  （１）プロセッサ（２０）とメモリ（３０）を有する計算機（辞書作成装置１）で、単語をクラスに分類する辞書作成方法であって、前記プロセッサ（２０）が、辞書を作成する前記単語の分散表現をベクトル情報（３３）で取得して単語ベクトル情報（単語ベクトルテーブル３）に格納する分散表現取得ステップと、前記プロセッサ（２０）が、前記単語を分類するためのクラス（単語クラス５１）と、前記クラス（５１）に所属する初期単語を受け付けて、前記初期単語に正例のラベル（５４）を付与する初期ラベル付与ステップ（Ｓ１）と、前記プロセッサ（２０）が、前記初期単語のベクトル情報を前記単語ベクトル情報（３）から取得して、分散表現空間内で前記ベクトル情報（３３）を含む領域（初期領域７１）を設定する初期領域設定ステップ（Ｓ２）と、前記プロセッサ（２０）が、前記分散表現空間内の前記領域（７１、７２）の外周から所定の範囲を縁（８１）として設定する縁設定ステップ（Ｓ３）と、前記プロセッサ（２０）が、前記縁（８１）内に含まれる未確定の単語について正例又は負例のいずれかのラベル（５４）を付与するラベリングステップ（Ｓ５）と、を含む。
【００９７】
上記構成により、辞書作成装置１では、領域７２の縁８１に含まれる単語についてラベリングを行えばよいので、辞書を作成する際のラベリングに要する労力を大幅に低減して、効率的に辞書を作成することができる。
【００９８】
（２）上記（１）に記載の辞書作成方法であって、前記プロセッサ（２０）が、前記縁（８１）に含まれる正例と負例の比率に応じて、前記領域の大きさを拡大又は縮小する領域再構築ステップ（Ｓ６）を、さらに含む。
【００９９】
上記構成により、辞書作成装置１では、分散表現空間内では意味的に近い単語間の距離は小さくなることから、少数の単語によって設定された初期領域７１から領域７２の拡大又は縮小を行って、中心Ｃを更新していくことで、最終的に領域７２の外周は正例と負例の境界に近付いていくことになり、単語クラスに所属する正例の境界を迅速に算出することができる。
【０１００】
（３）上記（２）に記載の辞書作成方法であって、前記プロセッサ（２０）が、所定の終了条件が成立するまで、前記領域再構築ステップ（Ｓ６）と、縁設定ステップ（Ｓ３）と、前記ラベリングステップ（Ｓ５）とを繰り返すことを特徴とする辞書作成方法。
【０１０１】
上記構成により、辞書作成装置１では、領域７２の縁８１に含まれる単語についてラベリングを行えばよいので、辞書を作成する際のラベリングに要する労力を大幅に低減して、効率的に辞書を作成することができる。
【０１０２】
（４）上記（１）に記載の辞書作成方法であって、前記初期領域設定ステップ（Ｓ２）では、前記正例の初期単語のベクトル情報（３３）を含む前記分散表現空間内の閉領域を初期の領域（７１）として設定する。
【０１０３】
上記構成により、辞書作成装置１は、少数の初期単語を受け付けて、単語クラスに所属する正例の境界を探索するため、正例のみを含む初期領域７１を設定することができる。
【０１０４】
（５）上記（２）に記載の辞書作成方法であって、前記領域再構築ステップ（Ｓ６）では、前記拡大又は縮小する倍率を正例と負例の比率（Ｓ）に応じて離散的に設定する。
【０１０５】
上記構成により、辞書作成装置１では、領域７２のうち縁８１内の未確定単語についてラベルの付与を行い、領域７２の拡大縮小の比率を離散的とすることで、ラベルを付与する単語の数を低減しながらも、離散的な変形比率の更新によって迅速に領域７２の外周を境界へ近づけることが可能となる。これによって、少量の正例から辞書の作成を開始して、効率的に辞書を作成することが可能となる。
【０１０６】
（６）上記（２）に記載の辞書作成方法であって、前記縁設定ステップ（Ｓ３）では、前記再設定された領域の外周から所定の範囲で縁を再設定する。
【０１０７】
上記構成により、辞書作成装置１では、再設定された領域７２で縁８１を再設定することで、前回とは異なる単語を縁８１内に含むことができ、単語クラスに所属する正例と負例の境界を迅速に算出することができる。
【０１０８】
（７）上記（２）に記載の辞書作成方法であって、前記領域再構築ステップ（Ｓ６）では、前記縁（８１）内に含まれる正例の単語のベクトル情報（３３）から領域の新たな中心（Ｃ２）を再設定する。
【０１０９】
上記構成により、辞書作成装置１では、再設定された領域７２の縁８１に含まれる正例のベクトル３３から中心を再設定することで、単語クラスに所属する正例と負例の境界を迅速に算出することができる。
【０１１０】
（８）上記（３）に記載の辞書作成方法であって、前記終了条件は、前記ラベル（５４）を付与した単語の数（ラベル付与数）又は拡大縮小の回数が所定の数に達したときに終了条件が成立したと判定する。
【０１１１】
上記構成により、辞書作成装置１では、少量の正例から辞書の作成を開始して、効率的に辞書を作成することが可能となる。
【０１１２】
（９）上記（２）に記載の辞書作成方法であって、前記領域再構築ステップ（Ｓ６）では、前記縁（８１）内に含まれる正例と負例の比率（Ｓ）を算出し、正例の比率（Ｓ）が所定の閾値（Ｔｈｓ）を超えたときには、アクティブラーニング（１３）へ移行して単語のクラスを分類させる。
【０１１３】
上記構成により、辞書作成装置１では、正例の比率がある程度大きくなるとラベリングの処理をアクティブラーニングプログラム１３へ引き継がせることにより、ユーザによるラベリングの労力を低減して、効率よく辞書の作成を行うことが可能となる。
【０１１４】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
【０１１５】
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０１１６】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１１７】
１  辞書作成装置
２  単語ベクトル学習プログラム
３  単語ベクトルテーブル
４  初期ラベル付与プログラム
５  ラベルテーブル
６  初期領域構築プログラム
７  領域情報７
８  縁構築プログラム
９  縁情報
１０  ラベル付与プログラム
１１  領域再構築プログラム
１３  アクティブラーニングプログラム
【図１】
2020187430.tif 000003
【図２】
2020187430.tif 000004
【図３】
2020187430.tif 000005
【図４】
2020187430.tif 000006
【図５】
2020187430.tif 000007
【図６】
2020187430.tif 000008
【図７】
2020187430.tif 000009
【図８】
2020187430.tif 000010
【図９】
2020187430.tif 000011
【図１０】
2020187430.tif 000012
【図１１】
2020187430.tif 000013