(57)【要約】【課題】地域予測の精度向上に資する技術を提供する。【解決手段】地域予測支援装置は、地域ラベル付き文章記憶部１と、訓練データ生成部２と、訓練データ記憶部３と、コストデータベース４と、重み行列記憶部５と、重み行列更新部６とを含み、重み行列更新部６は、コストデータベース４に記憶されたコストを用いて、重み行列記憶部５に記憶された重み値を更新する。【選択図】図１
2014174587.tif 000002
【特許請求の範囲】
【請求項１】
複数のユーザのそれぞれにつき、当該ユーザの地域を示す地域ラベルならびに当該ユーザによる文章における複数の単語のそれぞれの出現数からなる特徴ベクトルを含む訓練データレコードを備える訓練データ記憶部（３）と、
前記地域のそれぞれにつき、当該地域を示す地域ラベルならびに当該地域における前記複数の単語のそれぞれの重み値からなる重みベクトルを含む重みレコードを備える重み行列記憶部（５）と、
２つの前記地域ラベルからなる組のそれぞれにつき、当該組の一方の地域ラベルに対応する地域を他方の地域ラベルに対応する地域であると誤認した際のコストを対応づけたコストデータベース（４）と、
前記訓練データ記憶部（３）と前記コストデータベース（４）とを用いて、前記重み行列記憶部（５）の重み値を更新する重み行列更新部（６）と
を備えることを特徴とする地域予測支援装置。
【請求項２】
前記重み行列更新部（６）は、
前記訓練データ記憶部（３）のいずれかの訓練データレコードから地域ラベル（ｃ）と特徴ベクトル（ｘｔ）を読み出し、
前記重み行列記憶部（５）の前記地域ラベル（ｃ）を含む重みレコードから重みベクトル（ｗｔ（ｃ））を読み出し、
（ａ１）前記重み行列記憶部（５）における任意の地域ラベル（ｉ）を含む重みレコード内の重みベクトル（ｗｔ（ｉ））、
（ａ２）前記コストデータベース（４）における前記地域ラベル（ｃ）を一方の地域ラベル（ｊ）とし且つ他方の地域ラベル（ｋ）を前記任意の地域ラベル（ｉ）とした組に対応づけたコスト（ρ（ｃ、ｉ））、
（ａ３）前記重みベクトル（ｗｔ（ｃ））ならびに、
（ａ４）前記特徴ベクトル（ｘｔ）
を入力とする予め定められた損失の式を最大とする前記任意の地域ラベル（ｉ）である地域ラベル（ｃｔ）を求め、
前記重み行列記憶部（５）の前記地域ラベル（ｃｔ）を含む重みレコードから重みベクトル（ｗｔ（ｃｔ））を読み出し、
前記コストデータベース（４）から前記地域ラベル（ｃ）を一方の地域ラベル（ｊ）とし且つ他方の地域ラベル（ｋ）を前記地域ラベル（ｃｔ）とした組に対応づけたコスト（ρ（ｃ、ｃｔ））を読み出し、
前記重みベクトルｗｔ（ｃｔ）、
前記コスト（ρ（ｃ、ｃｔ））、
前記特徴ベクトル（ｘｔ）ならびに、
前記重みベクトルｗｔ（ｃ）
を予め定められた損失の式に入力して損失（ｌｔ）を計算し、
前記損失（ｌｔ）が０より大きいなら、当該損失（ｌｔ）を用いて、前記重み行列記憶部（５）の重み値を更新する
ことを特徴とする請求項１記載の地域予測支援装置。
【請求項３】
請求項１または２記載の地域予測支援装置としてコンピュータを機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、地域予測支援装置およびコンピュータプログラムに関するものである。
【背景技術】
【０００２】
ウェブ上の情報を用いて評判分析などを行う際に、明示的に居住地が記載されていないブログ記事やマイクロブログの著者の居住地情報を推定することで詳細な分析を行うことが可能となり、より精緻な分析が可能となる。ブログ著者の居住地推定としては、たとえば非特許文献１があり、この方法では異なる粒度の地名表現辞書を自動構築し、その地名表現を特徴に用いて判別器を生成することで、ブログ著者の居住地を自動推定していた。  このようにブログ記事など、ユーザが投稿したテキスト情報を用いてユーザの居住地推定を行うことが可能である。この際、たとえばユーザが投稿したテキスト情報を単語に分割し、各単語の出現頻度をユーザの特徴として利用し、非特許文献３のような複数のクラスからひとつのクラスを予測するマルチクラス分類の枠組みを利用し、複数の居住地候補の中からユーザの居住地を予測することによって居住地推定を行うことが可能である。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】安田宜仁, 平尾努, 鈴木潤, 磯崎秀樹, "ブログ作者の居住域の推定", 第12回言語処理学会年次大会論文集, 2006.
【非特許文献２】Takeshi Fuchi, Shinichiro Takagi: Japanese Morphological Analyzerusing Word Co-occurence - JTAG. COLING-ACL, pp.409-413, 1998.
【非特許文献３】Crammer, K., Dekel, O., Keshet, J., Shalev-Shwartz, S. and Singer,Y., \Online Passive-Aggressive Algorithm", Journal of Machine Learning, Vol.7, pp.551585, 2006.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、マルチクラス分類を用いて居住地推定を行う際、予測誤りを全て等しく扱うため、たとえば北海道という正解に対して青森と予測する誤りも，東京と予測する誤りも等しく扱われてしまう。このように従来手法の枠組みでは地理的な関係を無視してモデル構築を行う。このため、地理的な関係に起因するクラスの関係性に基づく情報が失われ、適切に予測モデルを構築することができず、予測精度が低下するという課題があった。
【０００５】
本発明は、上記の課題に鑑みてなされたものであり、その目的とするところは、地域予測の精度向上に資する技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明の地域予測支援装置は、複数のユーザのそれぞれにつき、当該ユーザの地域を示す地域ラベルならびに当該ユーザによる文章における複数の単語のそれぞれの出現数からなる特徴ベクトルを含む訓練データレコードを備える訓練データ記憶部（３）と、前記地域のそれぞれにつき、当該地域を示す地域ラベルならびに当該地域における前記複数の単語のそれぞれの重み値からなる重みベクトルを含む重みレコードを備える重み行列記憶部（５）と、２つの前記地域ラベルからなる組のそれぞれにつき、当該組の一方の地域ラベルに対応する地域を他方の地域ラベルに対応する地域であると誤認した際のコストを対応づけたコストデータベース（４）と、前記訓練データ記憶部（３）と前記コストデータベース（４）とを用いて、前記重み行列記憶部（５）の重み値を更新する重み行列更新部（６）とを備えることを特徴とする。
【０００７】
例えば、前記重み行列更新部（６）は、前記訓練データ記憶部（３）のいずれかの訓練データレコードから地域ラベル（ｃ）と特徴ベクトル（ｘｔ）を読み出し、前記重み行列記憶部（５）の前記地域ラベル（ｃ）を含む重みレコードから重みベクトル（ｗｔ（ｃ））を読み出し、（ａ１）前記重み行列記憶部（５）における任意の地域ラベル（ｉ）を含む重みレコード内の重みベクトル（ｗｔ（ｉ））、（ａ２）前記コストデータベース（４）における前記地域ラベル（ｃ）を一方の地域ラベル（ｊ）とし且つ他方の地域ラベル（ｋ）を前記任意の地域ラベル（ｉ）とした組に対応づけたコスト（ρ（ｃ、ｉ））、（ａ３）前記重みベクトル（ｗｔ（ｃ））ならびに、（ａ４）前記特徴ベクトル（ｘｔ）を入力とする予め定められた損失の式を最大とする前記任意の地域ラベル（ｉ）である地域ラベル（ｃｔ）を求め、前記重み行列記憶部（５）の前記地域ラベル（ｃｔ）を含む重みレコードから重みベクトル（ｗｔ（ｃｔ））を読み出し、前記コストデータベース（４）から前記地域ラベル（ｃ）を一方の地域ラベル（ｊ）とし且つ他方の地域ラベル（ｋ）を前記地域ラベル（ｃｔ）とした組に対応づけたコスト（ρ（ｃ、ｃｔ））を読み出し、前記重みベクトルｗｔ（ｃｔ）、
前記コスト（ρ（ｃ、ｃｔ））、前記特徴ベクトル（ｘｔ）ならびに、前記重みベクトルｗｔ（ｃ）を予め定められた損失の式に入力して損失（ｌｔ）を計算し、前記損失（ｌｔ）が０より大きいなら、当該損失（ｌｔ）を用いて、前記重み行列記憶部（５）の重み値を更新する。
【発明の効果】
【０００８】
本発明によれば、地域予測の精度向上に資する技術を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施の形態に係る地域予測支援装置の概略構成を示すブロック図である。
【図２】地域ラベル付き文章記憶部１の構成の一例を示す図である。
【図３】訓練データ記憶部３の構成の一例を示す図である。
【図４】コストデータベース４の構成の一例を示す図である。
【図５】重み行列記憶部５の構成の一例を示す図である。
【図６】訓練データ生成部２の動作を示すフローチャートである。
【図７】重み行列更新部６の動作を示すフローチャートである。
【図８】本実施の形態と従来の技術の差をイメージで示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について図面を参照して説明する。
【００１１】
図１は、本実施の形態に係る地域予測支援装置の概略構成を示すブロック図である。  
地域予測支援装置は、地域予測に用いる重み行列（後述の重み行列記憶部５）を構成する重み値を、ある地域を別な地域と誤認した場合のコストに応じて更新することで、地域予測の精度向上を図るものである。
【００１２】
具体的には、地域予測支援装置は、地域ラベル付き文章記憶部１と、訓練データ生成部２と、訓練データ記憶部３と、コストデータベース４と、重み行列記憶部５と、重み行列更新部６とを含む。なお、地域ラベル付き文章記憶部１と、訓練データ生成部２は、外部に設けてもよい。
【００１３】
図２は、地域ラベル付き文章記憶部１の構成の一例を示す図である。  
地域ラベル付き文章記憶部１には、複数の文章のそれぞれにつき、当該文章、当該文章を作成したユーザを示すユーザＩＤならびに、当該ユーザの地域を示す地域ラベルを含む地域ラベル付き文章が記憶される。
【００１４】
地域ラベルは、都道府県や市区町村のような各地域に対して一意に付与されたラベルである。地域ラベルは、予めユーザＩＤに付与されている。
【００１５】
図３は、訓練データ記憶部３の構成の一例を示す図である。  
訓練データ記憶部３は、複数のユーザ（ここでは、例として、人数をＮとする）のそれぞれにつき、当該ユーザのユーザＩＤ、当該ユーザの地域を示す地域ラベルならびに、当該ユーザによる文章における複数（ここでは、例としてＭ個とする）の単語のそれぞれの出現数ｘ１、ｘ２、…、ｘＭからなる特徴ベクトルを含む訓練データレコードを備える。
【００１６】
図４は、コストデータベース４の構成の一例を示す図である。  
コストデータベース４は、２つの地域ラベルｊ、ｋからなる組のそれぞれにつき、一方の地域ラベルｊに対応する地域を他方の地域ラベルｋに対応する地域であると誤認した際のコストを対応づけたものである。コストは、例えば、一方の地域と他方の地域が隣接する場合は０．５、一方の地域と他方の地域が１つの地域を挟んで隣接する場合は１．０、それ以外の場合は２．０のように設定することができる。なお、ｊ、ｋが同じ場合は、誤認でないので、コストを０としている。
【００１７】
その他にも、例えば県庁所在地など、当該地域の代表点同士の距離に基づいてコストを設定してもよい。この距離の計算には、ユークリッド距離、マンハッタン距離など、実数ベクトル同士で計算可能なものが利用できる。
【００１８】
なお、図４では、コストは対称的であり、ある地域（地域Ａという）を別の地域（地域Ｂという）であると誤認した際のコストと、地域Ｂを地域Ａであると誤認した際のコストは等しく設定されているが、コストは非対称に設定してもよい。つまり、前者、後者のコストを異ならせてもよい。
【００１９】
図５は、重み行列記憶部５の構成の一例を示す図である。重み行列記憶部５は、単に重み行列、地域推定モデルなどとも称される。
【００２０】
重み行列記憶部５は、地域のそれぞれにつき、当該地域を示す地域ラベルならびに当該地域における前記Ｍ個の単語のそれぞれの重み値ｗ１、ｗ２、…、ｗＭからなる重みベクトルを含む重みレコードを備える。図５では、都道府県を想定し、地域数を４７としている。
【００２１】
なお、１番目の地域ラベルを含む重みレコード内の各重み値をｗ１（１）、ｗ２（１）、…、ｗＭ（１）のように表現すると、重み行列記憶部５には、式（１）に示す重み行列Ｗが記憶されることになる。
【数１】
2014174587.tif 000003
【００２２】
図６は、訓練データ生成部２の動作を示すフローチャートである。  
訓練データ生成部２は、地域ラベル付き文章記憶部１から未処理のユーザＩＤを選択し、当該ユーザＩＤを含む全ての地域ラベル付き文章から文章を取得する（Ｓ１）。
【００２３】
次に、訓練データ生成部２は、ステップＳ１で選択したユーザＩＤを含むいずれかの地域ラベル付き文章から地域ラベル（当該ユーザに対応する地域ラベル）を読み出し、訓練データ記憶部３から、当該ユーザＩＤと当該地域ラベルを含む訓練データレコードを検索する（Ｓ３）。なお、訓練データ生成部２は、当該ユーザＩＤと当該地域ラベルを含む訓練データレコードが訓練データ記憶部３になければ、当該ユーザＩＤと当該地域ラベルと各出現数を０とした特徴ベクトルとを含む訓練データレコードを訓練データ記憶部３に生成する。
【００２４】
次に、訓練データ生成部２は、ステップＳ１で取得した全ての文章を単語に分割し、Ｍ個の各単語につき、当該全て文章における当該単語の出現数を求め、当該出現数を、ステップＳ３で検索した訓練データレコードの特徴ベクトルにおける該当単語の出現数に加算する（Ｓ５）。例えば、文章における単語「東京」の出現数が５であり、特徴ベクトルにおける単語「東京」の出現数が１０であるなら、加算後の出現数は１５となる。
【００２５】
なお、文章を単語に分割する処理としては、非特許文献２に記載のものを用いることができる。  
以上で、当該ユーザＩＤは処理済みとなる。
【００２６】
次に、訓練データ生成部２は、地域ラベル付き文章記憶部１に未処理のユーザＩＤがあるか否かを判定し（Ｓ７）、未処理のユーザＩＤがあれば、ステップＳ１に戻る一方、未処理のユーザＩＤがなければ、処理を終える。
【００２７】
図７は、重み行列更新部６の動作を示すフローチャートである。  
重み行列更新部６は、まず、重み行列記憶部５の各重みレコードにおいて、各重み値ｗ１、ｗ２、…、ｗＭを「０」に初期化するとともに、重み行列記憶部５の更新回数を示す変数ｔを「１」に初期化する（Ｓ１１）。
【００２８】
次に、重み行列更新部６は、訓練データ記憶部３から１つの訓練データレコードを例えばランダムに選択し、訓練データレコードから地域ラベル（以下、地域ラベルｃという）と特徴ベクトル（以下、特徴ベクトルｘｔという）を読み出す（Ｓ１３）。
【００２９】
次に、重み行列更新部６は、重み行列記憶部５の地域ラベルｃを含む重みレコードから重みベクトル（以下、重みベクトルｗｔ（ｃ）という）を読み出す（Ｓ１５）。
【００３０】
次に、重み行列更新部６は、（ａ１）重み行列記憶部５における任意の地域ラベル（地域ラベルｉという）を含む重みレコード内の重みベクトル（重みベクトルｗｔ（ｉ）という）、（ａ２）コストデータベース４における地域ラベルｃを一方の地域ラベルｊとし且つ他方の地域ラベルｋを任意の地域ラベルｉとした組に対応づけたコスト（以下、コストρ（ｃ，ｉ）という）、（ａ３）重みベクトルｗｔ（ｃ）ならびに、（ａ４）特徴ベクトルｘｔ、以上の（ａ１）〜（ａ４）の情報を入力とする予め定められた損失の式を最大とする任意の地域ラベルｉ（地域ラベルｃｔという）を求める（Ｓ１７）。
【００３１】
例えば、ステップＳ１７では、式（２）が用いられる。
【数２】
2014174587.tif 000004
【００３２】
ｗｔ（ｉ）は、上記（ａ１）に示す重みベクトルｗｔ（ｉ）である。  
ρ（ｃ，ｉ）は、上記（ａ２）に示すコストρ（ｃ，ｉ）である。  
ｗｔ（ｃ）は、上記（ａ３）に示す重みベクトルｗｔ（ｃ）である。  
ｘｔは、上記（ａ４）に示す特徴ベクトルｘｔである。  
「・」は、内積を示す。  
argmax{}は、{}内の値を最大とする地域ラベルｉを示す。  
ｉ∈{１，…，４７}は、地域ラベルｉは地域ラベル「１」,…,「４７」からなる集合（全ての地域ラベルからなる集合）に含まれることを示す。これは、都道府県を想定したものであり、地域ラベル数は、４７に限らない。
【００３３】
なお、{}内の１項目の特徴ベクトルｘｔに代えて、所定の特徴関数Φにｘｔ、ｉを入力して得られる値Φ（ｘｔ、ｉ）を用い、２項目の特徴ベクトルｘｔに代えて、特徴関数Φにｘｔ、ｃを入力して得られる値Φ（ｘｔ、ｃ）を用いてもよい。  
また、コストρ（ｃ，ｉ）の平方根の代わりに、コストρ（ｃ，ｉ）を用いてもよい。
【００３４】
次に、重み行列更新部６は、重み行列記憶部５の地域ラベルｃｔを含む重みレコードから重みベクトル（以下、重みベクトルｗｔ（ｃｔ）という）を読み出す（Ｓ１９）。
【００３５】
また、重み行列更新部６は、コストデータベース４から地域ラベルｃを一方の地域ラベルｊとし且つ他方の地域ラベルｋを地域ラベルｃｔとした組に対応づけたコスト（以下、コストρ（ｃ、ｃｔ）という）を読み出す（Ｓ２１）。
【００３６】
次に、重み行列更新部６は、重みベクトルｗｔ（ｃｔ）、コストρ（ｃ、ｃｔ）、特徴ベクトルｘｔならびに、重みベクトルｗｔ（ｃ）を予め定められた損失の式に入力して損失ｌｔを計算する（Ｓ２３）。
【００３７】
例えば、ステップＳ２３では、式（３）が用いられる。  
【数３】
2014174587.tif 000005
【００３８】
ｗｔ（ｃｔ）は、重みベクトルｗｔ（ｃｔ）である。  
ｘｔは、特徴ベクトルｘｔである。  
ｗｔ（ｃ）は、重みベクトルｗｔ（ｃ）である。  
ρ（ｃ、ｃｔ）は、コストρ（ｃ、ｃｔ）である。  
「・」は、内積を示す。
【００３９】
なお、右辺１項目の特徴ベクトルｘｔに代えて、特徴関数Φにｘｔ、ｃｔを入力して得られる値Φ（ｘｔ、ｃｔ）を用い、右辺２項目の特徴ベクトルｘｔに代えて、特徴関数Φにｘｔ、ｃを入力して得られる値Φ（ｘｔ、ｃ）を用いてもよい。  
また、コストρ（ｃ，ｃｔ）の平方根の代わりに、コストρ（ｃ，ｃｔ）を用いてもよい。
【００４０】
次に、重み行列更新部６は、損失ｌｔが０より大きいか否かを判定し（Ｓ２５）、損失ｌｔが０より大きいなら、損失ｌｔを用いて、重み行列記憶部５の重み値を更新する（Ｓ２７）。
【００４１】
ステップＳ２７では、例えば、式（４）により値τｔが計算され、式（５）により、重みベクトルｗｔ（ｃ）が更新される。
【数４】
2014174587.tif 000006
【００４２】
ｗｔ＋１は、更新後の重みベクトルｗｔ（ｃ）である。  
ｗｔは、更新前の重みベクトルｗｔ（ｃ）である。  
ｘｔは、特徴ベクトルｘｔである。  
‖ｘｔ‖２は、特徴ベクトルｘｔにおける各出現数の２乗の総和である。
【００４３】
重み行列更新部６は、損失ｌｔが０以下なら、または、ステップＳ２７を終えたなら、変数ｔに１を加え（Ｓ２９）、変数ｔが予め定めた最大更新回数Ｔ以下であるか否かを判定する（Ｓ３１）。
【００４４】
重み行列更新部６は、変数ｔが最大更新回数Ｔ以下であるなら（Ｓ３１：ＹＥＳ）、ステップＳ１３に戻り、変数ｔが最大更新回数Ｔより大きいなら（Ｓ３１：ＮＯ）、処理を終える。
【００４５】
図８は、本実施の形態と従来の技術の差をイメージで示す図である。  
北海道の識別超平面の例とすると、本実施の形態では、北海道を青森とする誤認を許容してでも、北海道を青森とする誤認の許容を減らすような識別超平面を学習することができる。従来においては、両方の誤認が同等に扱われる。
【００４６】
以上のように、本実施の形態に係る地域予測支援装置によれば、コストデータベース４のコストを用いて、重み行列記憶部５の重み値を更新するので、重み行列記憶部５の重み値を地域予測に用いれば、予測精度を向上させることが可能となる。
【００４７】
すなわち、マルチクラス分類を用いる場合においても、地理的な関係を考慮した損失の計算が可能となるため、地理的な関係を考慮したモデルの構築が可能となり、地理的な関係に起因するクラスの関係性に基づく情報を利用した予測モデルを構築することが可能となり、高精度な予測モデル構築が可能となる。これにより、マルチクラス分類の仕組みを利用し、ユーザの居住地などを精度よく推定することが可能となる。
【００４８】
なお、本実施の形態において、数式は一例であり、これを使用することに限定されない。
【００４９】
また、本実施の形態の地域予測支援装置としてコンピュータを機能させるためのコンピュータプログラムは、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのコンピュータ読み取り可能な記録媒体に記録でき、また、インターネットなどの通信網を介して伝送させて、広く流通させることができる。
【符号の説明】
【００５０】
１…地域ラベル付き文章記憶部
２…訓練データ生成部
３…訓練データ記憶部
４…コストデータベース
５…重み行列記憶部
６…重み行列更新部
【図１】
2014174587.tif 000007
【図２】
2014174587.tif 000008
【図３】
2014174587.tif 000009
【図４】
2014174587.tif 000010
【図５】
2014174587.tif 000011
【図６】
2014174587.tif 000012
【図７】
2014174587.tif 000013
【図８】
2014174587.tif 000014