説明

特徴量算出装置、品詞推定装置およびプログラム

【課題】高い信頼性で未知文字列から単語を特定する技術を提供する。
【解決手段】特徴量算出装置1は、文章データ内において単語の境界を推定し、該境界によって特定される各単語の品詞を推定し、各単語と各単語の品詞を示す品詞ラベルとから構成されるラベル付データを生成するラベル付データ生成部110と、文字、単語および品詞を数値に変換するための変換テーブルを記憶する変換テーブル記憶部104と、上記ラベル付データと上記変換テーブルとを用いて、文章データ内の一の単語の特徴量を示す特徴量データを生成する特徴量データ生成部130とを備え、特徴量データ生成部130は、文章データ内において、一の単語の出現位置の前後所定個数迄の各位置に出現する文字、単語、単語の品詞の種類毎の出現回数を集計し、各集計結果を特徴量として含む特徴量データを生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特徴量算出装置、品詞推定装置およびプログラムに関する。
【背景技術】
【0002】
現在、単語の品詞を推定する技術が知られている(非特許文献1参照)。非特許文献1に記載の技術は、品詞推定の対象である英単語における、数字の有無、大文字の有無、ハイフンの有無などの特徴量に基づいて、英単語の品詞を推定するというものである。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】“Support Vector Machineを用いた未知語の品詞推定”,中川 哲治, 工藤 拓,松本 裕治,情報処理学会研究報告 自然言語処理研究会報告 IPSJ SIG Notes 2001(9) pp.77-82 20010125.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、非特許文献1に記載の技術では、日本語の単語の品詞を推定することができないという問題がある。英単語と日本語の単語とでは特徴が異なるため、英単語の品詞推定に用いる特徴量が、日本語の単語には適用できないからである。また、非特許文献1に記載の技術では、品詞や単語の出現回数などの定量的な数値を特徴量としていないため、出現回数が高い事例と少ない事例とが対等に扱われる。これにより、出現頻度が高い事例に対する信頼性が出現回数の少ない事例と対等になってしまい、品詞の推定精度が低下するという問題がある。
【0005】
本発明は、上述した課題に鑑みてなされたものであって、日本語の品詞推定を高精度に行うことができる技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記問題を解決するために、本発明の一態様である特徴量算出装置は、学習データである文章データ内において単語の境界を推定するとともに、境界によって特定される各単語の品詞を推定して、各単語と各単語の品詞を示す品詞ラベルとから構成されるラベル付データを生成するラベル付データ生成部と、文字、単語および品詞を数値に変換するための変換テーブルを記憶する変換テーブル記憶部と、ラベル付データ生成部によって生成されたラベル付データと変換テーブル記憶部に記憶された変換テーブルとを用いて、文章データ内の一の単語の特徴量を示す特徴量データを生成する特徴量データ生成部とを備え、特徴量データ生成部は、文章データ内において、一の単語の出現位置の前後所定個数迄の各位置に出現する文字、単語、単語の品詞の種類毎の出現回数を集計し、各集計結果を特徴量として含む特徴量データを生成することを特徴とする。
【0007】
上記特徴量算出装置において、特徴量データ生成部は、一の単語が、小文字の平仮名、小文字の片仮名、所定の記号のそれぞれを含むか否かを判定し、各判定結果を特徴量として更に含む特徴量データを生成するようにしてもよい。
【0008】
上記特徴量算出装置は、ラベル付データを用いて変換テーブルを生成する変換テーブル生成部を更に備えるようにしてもよい。
【0009】
上記問題を解決するために、本発明の他の態様である特徴量算出装置は、学習データである文章データ内において単語の境界を推定するとともに、境界によって特定される各単語の品詞を推定して、各単語と各単語の品詞を示す品詞ラベルとから構成されるラベル付データを生成するラベル付データ生成部と、文字、単語および品詞を数値に変換するための変換テーブルを記憶する変換テーブル記憶部と、ラベル付データ生成部によって生成されたラベル付データと変換テーブル記憶部に記憶された変換テーブルとを用いて、文章データ内の一の単語の特徴量を示す特徴量データを生成する特徴量データ生成部とを備え、特徴量データ生成部は、文章データ内において、一の単語の出現位置の前後所定個数迄の各位置に出現する文字、単語、単語の品詞の種類を判定するとともに、一の単語が、小文字の平仮名、小文字の片仮名、所定の記号のそれぞれを含むか否かを判定し、各判定結果を特徴量として含む特徴量データを生成することを特徴とする。
【0010】
上記特徴量算出装置は、ラベル付データを用いて変換テーブルを生成する変換テーブル生成部を更に備えるようにしてもよい。
【0011】
上記問題を解決するために、本発明の他の態様である品詞推定装置は、学習データである文章データ内において単語の境界を推定するとともに、境界によって特定される各単語の品詞を推定して、各単語と各単語の品詞を示す品詞ラベルとから構成されるラベル付データを生成するラベル付データ生成部と、文字、単語および品詞を数値に変換するための変換テーブルを記憶する変換テーブル記憶部と、ラベル付データ生成部によって生成されたラベル付データと変換テーブル記憶部に記憶された変換テーブルとを用いて、文章データ内の一の単語の特徴量を示す特徴量データを生成する特徴量データ生成部と、特徴量データ生成部によって生成された特徴量データを用いて、品詞が未知である単語の品詞を推定する品詞特定部とを備え、特徴量データ生成部は、文章データ内において、一の単語の出現位置の前後所定個数迄の各位置に出現する文字、単語、単語の品詞の種類毎の出現回数を集計し、各集計結果を特徴量として含む特徴量データを生成することを特徴とする。
【0012】
上記問題を解決するために、本発明の他の態様であるプログラムは、文字、単語および品詞を数値に変換するための変換テーブルを記憶する特徴量算出装置のコンピュータに、 学習データである文章データ内において単語の境界を推定するとともに、境界によって特定される各単語の品詞を推定して、各単語と各単語の品詞を示す品詞ラベルとから構成されるラベル付データを生成するラベル付データ生成ステップと、ラベル付データ生成ステップによって生成されたラベル付データと変換テーブルとを用いて、文章データ内の一の単語の特徴量を示す特徴量データを生成する特徴量データ生成ステップとを実行させるプログラムであって、特徴量データ生成ステップは、文章データ内において、一の単語の出現位置の前後所定個数迄の各位置に出現する文字、単語、単語の品詞の種類毎の出現回数を集計し、各集計結果を特徴量として含む特徴量データを生成することを特徴とする。
【発明の効果】
【0013】
本発明によれば、日本語の品詞推定を高精度に行うことができるようになる。
【図面の簡単な説明】
【0014】
【図1】本発明の一実施形態による品詞推定装置1の機能ブロック図の一例である。
【図2】学習データである文章データの一例である。
【図3】ラベル付データの一例である。
【図4】変換データ(文字IDテーブル、単語IDテーブル、品詞IDテーブル)の一例である。
【図5】変換データ(文字IDテーブル、単語IDテーブル、品詞IDテーブル)の他の一例である。
【図6】特徴量データの項目の一例である。
【図7】特徴量データの一例である。
【図8】品詞推定装置1の動作の一例を示すフローチャートである。
【図9】品詞推定装置1の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【0015】
以下、本発明の一実施形態について図面を参照して詳細に説明する。本発明の一実施形態による品詞推定装置1は、図1に示すように、特徴量算出部10、未知語データ記憶部108および品詞推定部140を備える。特徴量算出部10は、学習データ記憶部100、ラベル付データ記憶部102、変換テーブル記憶部104、特徴量データ記憶部106、ラベル付データ生成部110、変換テーブル生成部120および特徴量データ生成部130を備える。
【0016】
品詞推定装置1は、学習データ(後述)から得られた特徴量データ(後述)を用いて品詞が未知である単語(以下、「未知語」という)の品詞を推定する装置(例えば、ラベル付データ生成部110、変換テーブル生成部120および特徴量データ生成部130および品詞推定部140の各機能(後述)を実行するプログラムを実行するコンピュータ)である。
【0017】
学習データ記憶部100は、学習データである文章データ(即ち、テキスト形式のデータ)である記憶する。例えば、学習データ記憶部100は、図2に示すように、『私は中村です』という文章データ、『マリナーズのイチローは9日、エンゼルス戦に「1番・右翼」で出場し、4打数無安打だった。第1、2打席は空振り三振、第3打席は遊ゴロ、第4打席は右飛。チームは0―3で敗れた。』という文章データを記憶する。なお、上記文章データに係る文章は、例えば、新聞記事やウェブ上の文章である(つまり、学習データ記憶部100は、新聞記事やウェブ上の文章を複製した文章データを記憶する)。
【0018】
なお、上記文章データは、文章データ内の単語の境界および単語の品詞などのラベル情報を有しないデータである。また、上記文章データは、後段の品詞推定部140による品詞推定の精度を考慮し、正規化処理(例えば、予め「コンピユーター」から「コンピュータ」へ変換する処理)を施す前の文章データであることが好ましい。特徴量データ(後述)に係る単語数は、正規化処理を施す前の方が正規化処理を施した後よりも多いため、品詞推定部140による品詞推定の精度が高くなるからである。
【0019】
ラベル付データ生成部110は、学習データ記憶部100に記憶されている文章データ内において単語の境界を推定するとともに、当該境界によって特定される各単語の品詞を推定して、各単語と各単語の品詞を示す品詞ラベルとから構成されるラベル付データを生成する。
【0020】
より詳細には、ラベル付データ生成部110は、形態素解析機能を備え、文章データ内の単語の境界を推定することによって文章データ内の単語を抽出し、抽出した各単語の品詞を推定する。そして、ラベル付データ生成部110は、単語毎に品詞ラベルを付したラベル付データを生成する。但し、ラベル付データ生成部110は、単語の境界または品詞が推定できなかった文字列に対しては、所定のラベル(例えば、「未知語」というラベル)を付与したラベル付データを生成する。なお、ラベル付データ生成部110が備える形態素解析機能は、例えば、形態素解析用辞書を利用して形態素解析を実行する既知の形態素解析器(例えば、Mecab、Chasen)により実現してもよい。
【0021】
例えば、ラベル付データ生成部110は、図2に示す『私は中村です』という文章データを入力し、図3(a)に示す、当該文章データ内の各単語(未知語の場合、文字列)にラベルを付与したラベル付データを生成する。また、例えば、ラベル付データ生成部110は、図2に示す『マリナーズのイチローは9日、エンゼルス戦に「1番・右翼」で出場し、4打数無安打だった。』という文章データを入力し、図3(b)に示す、当該文章データ内の各単語(未知語の場合、文字列)にラベルを付与したラベル付データを生成する。なお、図3(a)(b)に品詞ラベルのデータ形式(構造)は、例えば、既知の形態素解析器(例えば、Mecab)の出力形式に従ったものであって、アスタリスク「*」は、該当する値が存在しないことを表している。
【0022】
ラベル付データ生成部110は、生成したラベル付データをラベル付データ記憶部102に記憶する。つまり、ラベル付データ記憶部102は、ラベル付データ生成部110によって生成されたラベル付データを記憶する。
【0023】
変換テーブル生成部120は、ラベル付データ記憶部102に記憶されているラベル付データを用いて、文字、単語および品詞を数値に変換するための変換テーブルを生成する。当該変換テーブルは、具体的には、文字の種類を数値化(ID化)した文字IDテーブル、単語の種類を数値化(ID化)した単語IDテーブル、品詞の種類を数値化(ID化)した品詞IDテーブルである。
【0024】
変換テーブル生成部120は、生成した変換テーブル(文字IDテーブル、単語IDテーブルおよび品詞IDテーブル)を変換テーブル記憶部104に記憶する。つまり、変換テーブル記憶部104は、変換テーブル生成部120によって生成された変換テーブルを記憶する。
【0025】
なお、変換テーブル生成部120によって生成され、変換テーブル記憶部104に記憶される変換テーブル(文字IDテーブル、単語IDテーブル、品詞IDテーブル)は、特徴量データ生成部130が特徴量データ(後述)を生成するときに文字、単語、品詞を数値(ID)に変換するために参照される。従って、変換テーブル生成部120は、特徴量データ生成部130が文字、単語、品詞を高速にかつ一意に数値(ID)に変換できるように、変換テーブルをハッシュテーブルとして生成することが好ましい。
【0026】
例えば、変換テーブル生成部120は、各文字をキーとしIDを値とするハッシュテーブルを文字IDテーブルとして生成し、各単語をキーとしIDを値とするハッシュテーブルを単語IDテーブルとして生成し、各単語の品詞をキーとしIDを値とするハッシュテーブルを品詞IDテーブルとして生成する。なお、文字IDテーブル、単語IDテーブル、品詞IDテーブルにおいて、キーは引数、値はキーを渡された場合の返り値である。
【0027】
以下、具体例として、変換テーブル生成部120が、図2に示す『私は中村です』という文章データを元に生成された図3(a)に示すラベル付データを用いて、図4に示す変換テーブル(文字IDテーブル、単語IDテーブル、品詞IDテーブル)を生成する例を説明する。なお、説明の便宜上、図4に示す変換テーブルの生成前においては、変換テーブル記憶部104には、キーおよび値が何も記憶されていない変換テーブル、即ち初期化された変換テーブルが記憶されているものとする。
【0028】
変換テーブル生成部120は、ラベル付データの第1項目(単語(文字列)「私」、および、ラベル「名詞,代名詞,一般,・・・」)を抽出する。変換テーブル生成部120は、変換テーブル記憶部104内の文字IDテーブルにキー「私」が登録されていないと判断し、図4(a)に示すように、文字IDテーブルに、キー「私」と値(文字ID)「1」とを対応付けて登録する。なお、キー「私」が既に登録されていた場合には登録は行わない。同様に、変換テーブル生成部120は、変換テーブル記憶部104内の単語IDテーブルにキー「私」が登録されていないと判断し、図4(b)に示すように、単語IDテーブルに、キー「私」と値(単語ID)「1」とを対応付けて登録する。なお、キー「私」が既に登録されていた場合には登録は行わない。同様に、変換テーブル生成部120は、変換テーブル記憶部104内の品詞IDテーブルにキー「名詞・代名詞」が登録されていないと判断し、図4(c)に示すように、単語IDテーブルに、キー「名詞・代名詞」と値(品詞ID)「1」とを対応付けて登録する。なお、キー「名詞・代名詞」が既に登録されていた場合には登録は行わない。
【0029】
続いて、変換テーブル生成部120は、ラベル付データの第2項目(単語(文字列)「は」、および、ラベル「助詞,係助詞,*,・・・」)を抽出する。変換テーブル生成部120は、変換テーブル記憶部104内の文字IDテーブルにキー「は」が登録されていないと判断し、図4(a)に示すように、文字IDテーブルに、キー「は」と値(文字ID)「2」とを対応付けて登録する。なお、キー「は」が既に登録されていた場合には登録は行わない。同様に、変換テーブル生成部120は、変換テーブル記憶部104内の単語IDテーブルにキー「は」が登録されていない判断し、図4(b)に示すように、単語IDテーブルに、キー「は」と値(単語ID)「2」とを対応付けて登録する。なお、キー「は」が既に登録されていた場合には登録は行わない。同様に、変換テーブル生成部120は、変換テーブル記憶部104内の品詞IDテーブルにキー「助詞・係助詞」が登録されていないと判断し、図4(c)に示すように、単語IDテーブルに、キー「助詞・係助詞」と値(品詞ID)「2」とを対応付けて登録する。なお、キー「助詞・係助詞」が既に登録されている場合には登録は行わない。
【0030】
続いて、変換テーブル生成部120は、ラベル付データの第3項目(単語(文字列)「中村」、および、ラベル「未知語」)を抽出する。「中村」は「中」と「村」の2文字より構成されているため、変換テーブル生成部120は、文字IDテーブルの登録に関しては、「中」と「村」とを別々に処理する。即ち、変換テーブル生成部120は、変換テーブル記憶部104内の文字IDテーブルにキー「中」が登録されていないと判断し、図4(a)に示すように、文字IDテーブルに、キー「中」と値(文字ID)「3」とを対応付けて登録し、また、キー「村」が登録されていないと判断し、図4(a)に示すように、文字IDテーブルに、キー「村」と値(文字ID)「4」とを対応付けて登録する。なお、キー「中」が既に登録されていた場合には登録は行わない(キー「村」についても同様である)。一方、変換テーブル生成部120は、単語IDテーブルおよび品詞IDテーブルの登録に関しては、「中村」として処理する。即ち、変換テーブル生成部120は、変換テーブル記憶部104内の単語IDテーブルにキー「中村」が登録されていない判断し、図4(b)に示すように、単語IDテーブルに、キー「中村」と値(単語ID)「3」とを対応付けて登録する。なお、キー「中村」が既に登録されていた場合には登録は行わない。同様に、変換テーブル生成部120は、変換テーブル記憶部104内の品詞IDテーブルにキー「未知語」が登録されていないと判断し、図4(c)に示すように、単語IDテーブルに、キー「未知語」と値(品詞ID)「3」とを対応付けて登録する。なお、キー「未知語」が既に登録されている場合には登録は行わない。
【0031】
続いて、変換テーブル生成部120は、ラベル付データの第4項目(単語(文字列)「です」、および、ラベル「助動詞,*,*,・・・」)を抽出し、図4(a)に示すように、文字IDテーブルに、キー「で」と値(文字ID)「5」とを対応付けて登録し、キー「す」と値(文字ID)「6」とを対応付けて登録し、図4(b)に示すように、単語IDテーブルに、キー「です」と値(単語ID)「4」とを対応付けて登録し、図4(c)に示すように、文字IDテーブルに、キー「助動詞」と値(品詞ID)「4」とを対応付けて登録する。
【0032】
また、他の例として図5は、変換テーブル生成部120が、図2に示す『マリナーズのイチローは9日、エンゼルス戦に「1番・右翼」で出場し、4打数無安打だった。』いう文章データを元に生成された図3(b)に示すラベル付データを用いて生成した変換テーブル(文字IDテーブル、単語IDテーブル、品詞IDテーブル)である。なお、説明の便宜上、図5に示す変換テーブルの生成前においては、変換テーブル記憶部104には、キーおよび値が何も記憶されていない変換テーブル、即ち初期化された変換テーブルが記憶されているものとする。
【0033】
なお、上記具体例では、キーに対応付ける値(文字ID、単語ID、品詞ID)は、未使用分について昇順に登録(付与)しているが、つまり、文章データの先頭から出現の早い順に値を割り振っているが、キーに対して値が一意に定まるのであれば、他の登録方法であってもよい。
【0034】
特徴量データ生成部130は、ラベル付データ記憶部102に記憶されているラベル付データと変換テーブル記憶部104に記憶されている変換テーブルとを用いて、学習データ記憶部100に記憶されている文章データ内の一の単語の特徴量を示す特徴量データを生成する。具体的には、特徴量データ生成部130は、文章データ内において、当該一の単語の出現位置の前後所定個数迄の各位置に出現する文字、単語、単語の品詞の種類を判定し、各判定結果(判定データ)を特徴量として含む特徴量データを生成する。
【0035】
例えば、特徴量データ生成部130は、図6に示すように、特徴量を算出するために選択した一の単語(以下、「対象単語」という)に文章データ内において隣接する前後4個迄の各位置に出現する文字の種類(文字ID)に係る特徴量データとして(a−string1、a−string2、a−string3、a−string4、b−string1、b−string2、b−string3、b−string4)を生成する。ここでa−stringNs(Ns=1,2,3,4)は対象単語のNs個後(うしろ)の文字の種類、b−stringNs(Ns=1,2,3,4)は対象単語のNs個前の文字の種類である。なお、図6に示すa−wordNw(Nw=1,2,3)は対象単語のNw個後の単語の種類、b−wordNw(Nw=1,2,3)は対象単語のNw個前の単語の種類である。また、a−partNp(Np=1,2,3)は対象単語のNp個後の単語の品詞の種類、b−partNp(Np=1,2,3)は対象単語のNw個前の単語の品詞の種類である。
【0036】
また、特徴量データ生成部130は、上述の如く判定した文字、単語、単語の品詞の種類毎の出現回数を集計し、各集計結果(集計データ)を特徴量として含む特徴量データを生成する。換言すれば、特徴量データ生成部130は、文章データ内において、当該一の単語の出現位置の前後所定個数迄の各位置に出現する文字、単語、単語の品詞の種類毎の出現回数を集計し、各集計結果(集計データ)を特徴量として含む特徴量データを生成する。
【0037】
例えば、特徴量データ生成部130は、図6に示すように、対象単語に文章データ内において隣接する前後4個迄の各位置に出現する文字の種類(文字ID)毎の出現回数に係る特徴量データとして(a−string1−num、a−string2−num、a−string3−num、a−string4−num、b−string1−num、b−string2−num、b−string3−num、b−string4−num)を生成する。ここでa−stringNs−num(Ns=1,2,3,4)は対象単語のNs個後の文字の種類毎の出現回数、b−stringNs−num(Ns=1,2,3,4)は対象単語のNs個前の文字の種類毎の出現回数である。また、図6に示すa−wordNw−num(Nw=1,2,3)は対象単語のNw個後の単語の種類毎の出現回数、b−wordNw−num(Nw=1,2,3)は対象単語のNw個前の単語の種類毎の出現回数である。また、a−partNp−num(Np=1,2,3)は対象単語のNp個後の単語の品詞の種類毎の出現回数、b−partNp−num(Np=1,2,3)は対象単語のNw個前の単語の品詞の種類毎の出現回数である。
【0038】
なお、上述の如く、文字に係る上記前後所定個数(上記Ns)と、単語に係る上記前後所定個数(上記Nw)と、単語の品詞に係る上記前後所定個数(上記Np)とは、異なる個数であってもよい。図6に示す例では、特徴量データ生成部130は、文字の種類の判定および種類毎の出現回数の集計については、前後4個迄の8つの位置(つまり、1個後の位置、2個後の位置、3個後の位置、4個後の位置、1個前の位置、2個前の位置、3個前の位置、4個前の位置)を対象とし、単語の種類の判定および種類毎の出現回数の集計、並びに、単語の品詞の種類の判定および種類毎の出現回数の集計については、前後3個迄の6つの位置(つまり、1個後の位置、2個後の位置、3個後の位置、1個前の位置、2個前の位置、3個前の位置)を対象としている。
【0039】
また、特徴量データ生成部130は、当該一の単語が、数字、小文字の平仮名または小文字の片仮名、所定の記号のそれぞれを含むか否かを判定し、各判定結果(判定データ)を特徴量として含む特徴量データを生成する。なお、上記有無は、有を「1」、無を「0」とすることによって数値化する。
【0040】
例えば、特徴量データ生成部130は、図6に示すように、対象単語内の数字の有無に係る特徴量データとして(f−num)を生成し、対象単語内の小文字の平仮名または小文字の片仮名の有無に係る特徴量データとして(f−cap)を生成し、対象単語内の所定の記号の有無に係る特徴量データとして(f−fig)を生成する。
【0041】
なお、上記小文字の平仮名の一例は「ぁ」「ゃ」、上記小文字の片仮名の一例は「ッ」「ャ」、上記所定の記号の一例は、ハイフン「−」、中黒「・」、マル「○」などである。また、特徴量データ生成部130は、例えば、所定の記号を定義する定義情報を保持または参照し、対象単語内の所定の記号の有無を判定する。
【0042】
以上のように特徴量データ生成部130は、対象単語の出現位置の前後所定個数迄の各位置に出現する文字、単語、単語の品詞の種類の判定結果、当該種類毎の出現回数の集計結果、対象単語自体が数字、小文字の平仮名または小文字の片仮名、所定の記号のそれぞれを含むか否かの判定結果を特徴量の各項目とする特徴量データを生成するが、上述の如く、ラベル付データ記憶部102に記憶されているラベル付データと変換テーブル記憶部104に記憶されている変換テーブルとを参照して、学習データ記憶部100に記憶されている文章データ内の対象単語に係る上記各項目の値を算出する。
【0043】
例えば、特徴量データ生成部130は、図2に示す『マリナーズのイチローは9日、エンゼルス戦に「1番・右翼」で出場し、4打数無安打だった。』いう文章データ内の「エンゼルス」を対象単語とし、ラベル付データ記憶部102には図3(b)に示すラベル付データが記憶され、変換テーブル記憶部104には図5に示す変換テーブルが記憶されているとした場合、図7に示す特徴量データ(項目、値)を生成する。
【0044】
一例として例えば、特徴量データ生成部130は、上記文章において、対象文字である「エンゼルス」の1個後の文字「戦」は、図5(a)に示す変換テーブル(文字IDテーブル)から値が19であると判断することによって、図7に示すように、項目「a−string1」の値「19」を算出(取得)し、「エンゼルス」の1個後の単語「戦」は、図5(b)に示す変換テーブル(単語IDテーブル)から値が9であると判断することによって、図7に示すように、項目「a−word1」の値「9」を算出(取得)し、「エンゼルス」の1個後の単語「線」の品詞は、図3(b)に示すラベル付データから「名詞・接尾」であると判断し、更に、図5(c)に示す変換テーブル(品詞IDテーブル)から「名詞・接尾」の値が6であると判断することによって、図7に示すように、項目「a−part1」の値「6」を算出(取得)する。また、例えば、特徴量データ生成部130は、対象文字である「エンゼルス」は、数字を含まないと判定し、図7に示すように、項目「f−num」の値「0」を算出(取得)し、小文字の平仮名または小文字の片仮名を含まないと判定し、図7に示すように、項目「f−cap」の値「0」を算出(取得)し、所定の記号を含まないと判定し、図7に示すように、項目「f−fig」の値「0」を算出(取得)する。
【0045】
なお、図7に示す例では、X−num(X=a(b)−stringNs,a(b)−wordNw,a(b)−partNp)の項目、つまり出現回数に係る各項目については、対象文字である「エンゼルス」の出現位置が1箇所であったため全て1となったが、1または2以上の文章データ内において、対象文字である「エンゼルス」の出現位置が2箇所以上であった場合、適宜カウントアップされることになる。例えば、『マリナーズのイチローは9日、エンゼルス戦に「1番・右翼」で出場し、4打数無安打だった。』いう文章データの他に、『エンゼルス戦は今回で2回目である。』という文章データも学習データ記憶部100に記憶されている場合、2つの文章とも対象文字である「エンゼルス」の1個後の単語「戦」であるため、図7に示すa−string−numの値は1+1=2となる。
【0046】
また、仮に、対象単語の出現位置が文章データの先頭であった場合など、特定の項目((当該場合には、対象文字の前の文字、単語、単語の品詞に係る項目)が取得できない場合には、当該特定の項目の値は空のままにしてもよい。
【0047】
なお、特徴量データ生成部130は、所定の順番(例えば、文章データ同士については学習データ記憶部に記憶した記憶日時順または文章データを識別するID順、文章データ内については先頭からの出現順)で、対象単語を学習データ記憶部100から取得してもよいし、文章データ内の特定の単語を対象単語として指定して学習データ記憶部100から取得してもよい。
【0048】
特徴量データ生成部130は、生成した特徴量データを特徴量データ記憶部106に記憶する。つまり、特徴量データ記憶部106は、特徴量データ生成部130によって生成された特徴量データを記憶する。
【0049】
特徴量データ記憶部106の実装、即ち特徴量データの記憶方法は、例えば、固定長の配列(array)を用いる。以下、多くの計算機上で利用可能なinteger配列による特徴量データの記憶方法について説明する。
【0050】
(1)integer配列を初期化する。
(2)上記の特徴量を配列の仕様に変換する。具体的には特徴量の項目を示す項目IDと、配列の管理用IDである配列IDを特徴量の先頭に加え、integer配列に登録する。
例えば、上述の「エンゼルス」の例に含まれる44個(配列ID数1個+項目数43個)の値を、integer配列に仕様にあわせて変換する。このときの配列の値の数は値の数である44個以外に、配列を管理するためのIDなどを表す値を所持することができる。例えば、以下のinteger配列の例では、品詞IDテーブルから得られる「エンゼルス」の「名詞・固有名詞」に対する品詞IDと、「1つめのinteger配列」を示す配列IDとして、配列そのものに1というIDとを割り当てている。
つまり、{品詞ID,配列ID,項目の値1,項目の値2,・・・,項目の値43}としている。
(integer配列の例)
{1,1,19,1,20,1,21,1,22,1,13,1,12,1,11,1,10,1,9,1,10,1,11,1,7,1,6,1,5,1,6,1,8,1,9,1,7,1,6,1,5,1,0,0,0}
「エンゼルス」と同一の品詞ID「名詞・固有名詞」において新たなinteger配列が出現した場合、即ち、同一の品詞の他の対象単語が出現した場合には{1,2,…}、{1,3,…}とし、「エンゼルス」と異なる品詞IDが出現した場合、つまり異なる品詞の他の対象単語が出現した場合には、{2,1,…}、{3,1,…}としている。
【0051】
未知語データ記憶部108は、品詞が未知である単語(品詞無単語)、即ち未知語に係る未知語文字列を記憶する。未知語文字列は、例えば、非図示の未知語取得部によって外部から取得され未知語データ記憶部108に記憶される。
【0052】
品詞推定部140は、特徴量データ記憶部106に記憶されている特徴量データを用いて、未知語の品詞を推定する。未知語の品詞を推定した品詞推定部140は、当該未知語に推定した品詞を付した品詞付単語データを外部に出力する。
【0053】
(識別器への仕様変換)
品詞推定の機能を実現する際には、識別器と呼ばれる技術が使われることが多い。識別器の代表例として、SVM(Support Vector Machine)と呼ばれる技術が用いられることが多い。SVMは、判定対象となるデータが特定のクラスに該当するか否かを判定するための機能を提供する。本実施形態に適用する場合、クラスは特定の品詞を指し、「入力データが特定の品詞に該当するか否か」という判定となる。
【0054】
以下、特徴量データ記憶部106に記憶されている特徴量データをSVMの実装例であるlibsvmの入力データに変換する例を記載する。
(1)品詞IDテーブルに登録されている品詞の種類から、クラスの数Cを決定する。
(2)クラスCのうち、「名詞・固有名詞」(例えば、品詞ID=1)の識別器を作成する。
(3)入力データとして、例えば、上記配列ID=1のinteger配列を用いる。
{1,1,19,1,20,1,21,1,22,1,13,1,12,1,11,1,10,1,9,1,10,1,11,1,7,1,6,1,5,1,6,1,8,1,9,1,7,1,6,1,5,1,0,0,0}
(4)libsvmでは「データがクラスCに該当する場合は+1、クラスCに該当しない場合は−1」というラベルが必要となる。本データは「名詞・固有名詞」を表すものであるため、ラベルとして「+1」を付与する。
+1
(5)次に、各integer配列の値をlibsvmの特徴量に変換する(:で区切る)。例えば、上記例では、1つめの値はa−string1の値となり、2つの目の値はa−string1−numの値となる。以下同様に繰り返す。
{+1 1:1 2:1 3:19 4:1 5:20 6:1 7:21 8:1 9:22 10:1 11:13 12:1 13:12 14:1 15:11 16:1 17:10 18:1 19:9 20:1 21:10 22:1: 23:7 24:1 25:6 … 43:0}
なお、integer配列内の品詞IDテーブルが「名詞・固有名詞」の品詞ID:1でない場合は、ラベルとして「−1」を付与する。
(6)以上の作業をinteger配列に対して繰り返すことで、「名詞・固有名詞」を判定するためのSVMの入力データが完成する。
(7)他の品詞が存在した場合は、同様に処理し、SVM用の入力データを生成する。
【0055】
続いて、図8および図9を用いて操作支援装置1の動作を説明する。図8は文章データを入力し特徴量データを出力する迄の全体のフローチャート、図9は特徴量データの生成に係るフローチャートである。
【0056】
まず、図8を用いて操作支援装置1の全体の流れについて説明する。図8において、ラベル付データ生成部110は、学習データ記憶部100に記憶されている文章データ内において単語の境界を推定するとともに、当該境界によって特定される各単語の品詞を推定して、各単語と各単語の品詞を示す品詞ラベルとから構成されるラベル付データを生成する(ステップS100)。ラベル付データを生成したラベル付データ生成部110は、生成したラベル付データをラベル付データ記憶部102に記憶する。
【0057】
続いて、変換テーブル生成部120は、ラベル付データ記憶部102に記憶されているラベル付データを用いて変換テーブル(文字IDテーブル、単語IDテーブルおよび品詞IDテーブル)を生成する(ステップS200)。変換テーブルを生成した変換テーブル生成部120は、生成した変換テーブルを変換テーブル記憶部104に記憶する。
【0058】
続いて、特徴量データ生成部130は、ラベル付データ記憶部102に記憶されているラベル付データと変換テーブル記憶部104に記憶されている変換テーブルとを用いて、学習データ記憶部100に記憶されている文章データ内の対象単語の特徴量を示す特徴量データを生成する(ステップS300)。換言すれば、特徴量データ生成部130は、特徴量データとして、対象単語の近傍の文字、単語、品詞の出現頻度に係る統計情報および対象単語の構成(例えば、小文字の平仮名または小文字の片仮名の有無)に係る統計情報からなる文字列集計データを生成する。特徴量データを生成した特徴量データ生成部130は、生成した特徴量データを特徴量データ記憶部106に記憶する。
【0059】
続いて、品詞推定部140は、特徴量データ記憶部106に記憶されている特徴量データを用いて、未知語の品詞を推定する(ステップS400)。未知語の品詞を推定した品詞推定部140は、当該未知語に推定した品詞を付した品詞付単語データを外部に出力する。
【0060】
続いて、図9を用いて特徴量データの生成の流れについて説明する。なお、特徴量データ生成部130は、文字の種類の判定および種類毎の出現回数の集計については前後4個迄の8つの位置を対象とし(上記Ns=4)、単語の種類の判定および種類毎の出現回数の集計、並びに、単語の品詞の種類の判定および種類毎の出現回数の集計については、前後3個迄の6つの位置を対象とするものとする(上記Nw=3、上記Np=3)。なお、図9に示すフローチャートは対象単語の選択により開始する。
【0061】
図9において、特徴量データ生成部130は、対象単語内の数字、小文字、記号の有無を判定し、各判定結果に係る特徴量データ(f−num、f−cap、f−fig)を生成する(ステップS310)。
【0062】
続いて、特徴量データ生成部130は、学習データ記憶部100に記憶されている文章データ内において対象単語を探索する(ステップS320)。次いで、特徴量データ生成部130は、特徴量データの算出の基礎とした出現位置(以下、「基礎出現位置」という)以外の出現位置があるか否かを判断する(ステップS330)。即ち、特徴量データ生成部130は、ステップS320の探索の結果、基礎出現位置以外の出現位置を見つけたか否かを判断する。特徴量データ生成部130は、基礎出現位置以外の出現位置がないと判断した場合(ステップS330:No)、本フローチャートは終了する。
【0063】
一方、特徴量データ生成部130は、基礎出現位置以外の出現位置があると判断した場合(ステップS330:Yes)、当該出現位置(基礎出現位置以外の出現位置が複数ある場合はうち1つ)を基礎出現位置として設定する(ステップS340)。特徴量データ生成部130は、基礎出現位置として他の出現位置を設定中の場合、当該他の出現位置に代えて当該出現位置を基礎出現位置として再設定する。つまり、特徴量データ生成部130は、基礎出現位置を更新する。なお、対象単語は文章データ内から選択するため、最初に実行するステップ330においては、特徴量データ生成部130は基礎出現位置以外の出現位置がある(ステップS330:Yes)と判断する。
【0064】
ステップS340に続いて、特徴量データ生成部130は、当該基礎出現位置の前後4個迄の各文字の文字IDを取得し、出現回数を集計し、特徴量データ(a−string1,a−string1−num,a−string2,a−string2−num,・・・,b−string3,b−string3−num,b−string4,b−string4−num)を生成する(ステップS350)。
【0065】
ステップS350に続いて、特徴量データ生成部130は、当該基礎出現位置の前後3個迄の各単語の単語IDを取得し、出現回数を集計し、特徴量データ(a−word1,a−word1−num,a−word2,a−word2−num,・・・,b−word2,b−word2−num,b−word3,b−word3−num)を生成する(ステップS360)。次いで、特徴量データ生成部130は、上記各単語について、品詞IDを取得し、出現回数を集計し、特徴量データ(a−part1,a−part1−num,a−part2,a−part2−num,・・・,b−part2,b−part2−num,b−part3,b−part3−num)を生成する(ステップS370)。そして、ステップS320に戻って、特徴量データ生成部130は、基礎出現位置以外の出現位置がないと判断する迄(ステップS330:No)、つまり対象単語の全出現位置についてステップS340からステップS370の処理を実行し終わる迄、ステップS320からステップS370を繰り返し実行する。
【0066】
以上、本実施形態によれば、日本語の品詞推定を高精度に行うことができるようになる。具体的には、対象単語内の数字の有無に係る特徴量データに加え、日本語に馴染む小文字の平仮名または小文字の片仮名の有無に係る特徴量データおよび所定の記号の有無に係る特徴量データを用いることによって、日本語の品詞推定を行うことができるようにしている。
【0067】
また、定量的な数値として、文字、単語および品詞の出現回数に係る特徴量データを用いることによって、品詞推定を高精度に行うことができるようにしている。即ち、対象単語の出現位置の前後所定個数迄の各位置に同一の文字、同一の単語、または、同一の品詞が出現したときは、定量的な数値として出現回数を累積し、累積値を特徴量データとすることによって、品詞推定を高精度に行うことができるようにしている。
【0068】
なお、本実施形態において、特徴量算出部10は変換テーブルを生成する変換テーブル生成部120を備える構成として説明したが、特徴量算出部10は変換テーブル生成部120を備えない構成であってもよい。特徴量算出部10が変換テーブル生成部120を備えない構成である場合、必要とされる変換テーブルを予め変換テーブル記憶部104に記憶しておくか、または、適宜、必要とされる変換テーブルを外部から取得して変換テーブル記憶部104に記憶する。
【0069】
また、本実施形態において、特徴量算出部10は品詞推定装置1の構成要素として説明したが、特徴量算出部10はある装置の構成要素ではなく独立した装置(特徴量算出装置10)であってもよい。当該特徴量算出装置10は、図1に示すように、学習データ記憶部100、ラベル付データ記憶部102、変換テーブル記憶部104、特徴量データ記憶部106、ラベル付データ生成部110、変換テーブル生成部120および特徴量データ生成部130を備え、品詞を推定する他の装置に特徴量データを供給する。なお、当該特徴量算出装置10は、上述の如く変換テーブル生成部120を備えない構成であってもよい。
【0070】
なお、本発明の一実施形態による品詞推定装置1の各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、本発明の一実施形態による品詞推定装置1に係る上述した種々の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0071】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0072】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0073】
1 品詞推定装置 10 特徴量算出部(特徴量算出装置) 100 学習データ記憶部 102 ラベル付データ記憶部 104 変換テーブル記憶部 106 特徴量データ記憶部 108 未知語データ記憶部 110 ラベル付データ生成部 120 変換テーブル生成部 130 特徴量データ生成部 140 品詞推定部

【特許請求の範囲】
【請求項1】
学習データである文章データ内において単語の境界を推定するとともに、前記境界によって特定される各単語の品詞を推定して、各単語と各単語の品詞を示す品詞ラベルとから構成されるラベル付データを生成するラベル付データ生成部と、
文字、単語および品詞を数値に変換するための変換テーブルを記憶する変換テーブル記憶部と、
前記ラベル付データ生成部によって生成された前記ラベル付データと前記変換テーブル記憶部に記憶された前記変換テーブルとを用いて、前記文章データ内の一の単語の特徴量を示す特徴量データを生成する特徴量データ生成部と
を備え、
前記特徴量データ生成部は、
前記文章データ内において、前記一の単語の出現位置の前後所定個数迄の各位置に出現する文字、単語、単語の品詞の種類毎の出現回数を集計し、各集計結果を前記特徴量として含む前記特徴量データを生成することを特徴とする特徴量算出装置。
【請求項2】
学習データである文章データ内において単語の境界を推定するとともに、前記境界によって特定される各単語の品詞を推定して、各単語と各単語の品詞を示す品詞ラベルとから構成されるラベル付データを生成するラベル付データ生成部と、
文字、単語および品詞を数値に変換するための変換テーブルを記憶する変換テーブル記憶部と、
前記ラベル付データ生成部によって生成された前記ラベル付データと前記変換テーブル記憶部に記憶された前記変換テーブルとを用いて、前記文章データ内の一の単語の特徴量を示す特徴量データを生成する特徴量データ生成部と
を備え、
前記特徴量データ生成部は、
前記文章データ内において、前記一の単語の出現位置の前後所定個数迄の各位置に出現する文字、単語、単語の品詞の種類を判定するとともに、前記一の単語が、小文字の平仮名、小文字の片仮名、所定の記号のそれぞれを含むか否かを判定し、各判定結果を前記特徴量として含む前記特徴量データを生成することを特徴とする特徴量算出装置。
【請求項3】
前記特徴量データ生成部は、
前記一の単語が、小文字の平仮名、小文字の片仮名、所定の記号のそれぞれを含むか否かを判定し、各判定結果を前記特徴量として更に含む前記特徴量データを生成することを特徴とする請求項1に記載の特徴量算出装置。
【請求項4】
前記ラベル付データを用いて前記変換テーブルを生成する変換テーブル生成部を更に備える請求項1から請求項3の何れか1項に記載の特徴量算出装置。
【請求項5】
学習データである文章データ内において単語の境界を推定するとともに、前記境界によって特定される各単語の品詞を推定して、各単語と各単語の品詞を示す品詞ラベルとから構成されるラベル付データを生成するラベル付データ生成部と、
文字、単語および品詞を数値に変換するための変換テーブルを記憶する変換テーブル記憶部と、
前記ラベル付データ生成部によって生成された前記ラベル付データと前記変換テーブル記憶部に記憶された前記変換テーブルとを用いて、前記文章データ内の一の単語の特徴量を示す特徴量データを生成する特徴量データ生成部と、
前記特徴量データ生成部によって生成された特徴量データを用いて、品詞が未知である単語の品詞を推定する品詞特定部と
を備え、
前記特徴量データ生成部は、
前記文章データ内において、前記一の単語の出現位置の前後所定個数迄の各位置に出現する文字、単語、単語の品詞の種類毎の出現回数を集計し、各集計結果を前記特徴量として含む前記特徴量データを生成することを特徴とする品詞推定装置。
【請求項6】
文字、単語および品詞を数値に変換するための変換テーブルを記憶する特徴量算出装置のコンピュータに、
学習データである文章データ内において単語の境界を推定するとともに、前記境界によって特定される各単語の品詞を推定して、各単語と各単語の品詞を示す品詞ラベルとから構成されるラベル付データを生成するラベル付データ生成ステップと、
前記ラベル付データ生成ステップによって生成された前記ラベル付データと前記変換テーブルとを用いて、前記文章データ内の一の単語の特徴量を示す特徴量データを生成する特徴量データ生成ステップと
を実行させるプログラムであって、
前記特徴量データ生成ステップは、
前記文章データ内において、前記一の単語の出現位置の前後所定個数迄の各位置に出現する文字、単語、単語の品詞の種類毎の出現回数を集計し、各集計結果を前記特徴量として含む前記特徴量データを生成することを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2011−81627(P2011−81627A)
【公開日】平成23年4月21日(2011.4.21)
【国際特許分類】
【出願番号】特願2009−233757(P2009−233757)
【出願日】平成21年10月7日(2009.10.7)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成21年度、独立行政法人情報通信研究機構「高度通信・放送研究開発委託研究/インターネット上の違法・有害情報検出技術の研究開発」、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(599108264)株式会社KDDI研究所 (233)
【Fターム(参考)】