(57)【特許請求の範囲】
【請求項１】
入力された文書から名詞句を抽出する名詞句抽出手段と、
前記名詞句抽出手段により抽出された名詞句の各々に該名詞句の意味に基づくカテゴリを付与し、前記名詞句の各々に付与されたカテゴリの偏りを示す第１の素性を算出する第１の素性算出手段と、
前記入力された文書に含まれる各文の文字数及び改行数に基づいて、該文書が縦長か横長かを示す第２の素性を算出する第２の素性算出手段と、
前記第１の素性及び前記第２の素性を並べた素性列と、固有表現または具体的な物を示す主題である具体主題が既知の学習用文書の素性列を用いて学習された分類器とに基づいて、前記入力された文書が具体主題を有するか否かを判定する判定手段と、
を含む具体主題の有無判定装置。
【請求項２】
前記第１の素性算出手段は、大量の語彙を該語彙の意味に基づくカテゴリに分類した辞書を用いて前記名詞句にカテゴリを付与し、前記辞書の全カテゴリ数に対する前記名詞句の各々に付与された全カテゴリ数に応じた値を前記第１の素性として算出する請求項１記載の具体主題の有無判定装置。
【請求項３】
前記第２の素性算出手段は、前記各文の文字数の最大値より前記改行数の方が大きい場合には縦長を示す値、前記各文の文字数の最大値より前記改行数の方が小さい場合には横長を示す値を、前記第２の素性として算出する請求項１または請求項２記載の具体主題の有無判定装置。
【請求項４】
入力された文書から名詞句を抽出し、
抽出された名詞句の各々に該名詞句の意味に基づくカテゴリを付与し、前記名詞句の各々に付与されたカテゴリの偏りを示す第１の素性を算出し、
前記入力された文書に含まれる各文の文字数及び改行数に基づいて、該文書が縦長か横長かを示す第２の素性を算出し、
前記第１の素性及び前記第２の素性を並べた素性列と、固有表現または具体的な物を示す主題である具体主題が既知の学習用文書の素性列を用いて学習された分類器とに基づいて、前記入力された文書が具体主題を有するか否かを判定する
具体主題の有無判定方法。
【請求項５】
コンピュータを、請求項１〜請求項３のいずれか１項記載の具体主題の有無判定装置を構成する各手段として機能させるための具体主題の有無判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、具体主題の有無判定装置、方法、及びプログラムに係り、特に、テキストデータとして入力された文書が、固有表現または具体的な物を示す主題である具体主題を有するか否かを判定する具体主題の有無判定装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、文書中の単語の頻度やカテゴリなどを利用し、内容に応じて文書を分類する技術が提案されている（例えば、非特許文献１参照）。従来のシステムでは、単語の頻度やカテゴリなどの情報を利用してベクトルを生成し、コサイン類似度などで内容が類似している文書毎に分類している。
【０００３】
例えば、図９の文書（Ａ）「今日商品Ｚを買いました。マンガビューアとして買ったので、それ以外のことにはほとんど利用していません。ですが、マンガビューアとして利用する点においては現時点で最強のマシンだと思います。」、及び文書（Ｂ）「表参道のＡ社にすごい人だかり！何かと思ったら商品Ｚが売り出されてたのね。ちょっとのぞいてみたけれど、つやつや綺麗で、格好よいマシン。インタフェースは商品Ｙと同じで、サクサク動く。アプリも多そう。」では、「商品Ｚ」や「マシン」など同じ単語が頻出している。同図の文書(Ｃ)「昨日もらったお魚の名前が判明したよ。ドクターフィッシュっていうらしい。足とか指とかつけておくと、古い角質を食べてくれてツルツルになるらしい。痛くないのかな？メダカみたいに見えたんだけどなぁ…。」は他の文書（Ａ）及び（Ｂ）と同じ単語が出現していない。このような場合には、従来のシステムでは、文書（Ａ）、（Ｂ）は同じグループに、文書（Ｃ）は別のグループに分類する。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】成田宏和、太田学、片山薫、石川博、「Ｗｅｂ文書検索のための非排他的クラスタリング手法の提案」ＤＥＷＳ２００３、２−Ｐ−０１、２００３
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、文書がＸについて書かれている場合、Ｘを文書の「主題」と呼び、特に、主題が「固有表現」または「具体的な物」である場合、これを「具体主題」と呼ぶ。また、具体主題は、文書内において名詞句で表記される。例えば、図１０の文書（Ａ）「今日商品Ｚを買いました。マンガビューアとして買ったので、それ以外のことにはほとんど利用していません。ですが、マンガビューアとして利用する点においては現時点で最強のマシンだと思います。」の主題は「商品Ｚ」であり、同図の文書（Ｂ）「今日商品Ｚを買いました。年末セールにはもちろん参戦する予定です。ボーナスでマンガを大人買いしたし、ダウンコート買う予定だし。そうそう、古くなってきたマシンも新しくしたいのですよね。」の主題は「買い物」である。また、「商品Ｚ」は具体的な物を指すため具体主題であるが、「買い物」は場所や物のような具体的な物を指さないため、具体主題ではない。このように、同じような単語が頻出する文書であっても、具体主題を有する文書と有さない文書とがある。例えば、図１０の文書（Ａ）は具体主題を有する文書であり、文書（Ｂ）は具体主題を有さない文書である。文書に同じような単語（例えば、「商品Ｚ」）が含まれているが、具体主題について書かれているのは文書（Ａ）のみである。
【０００６】
しなしながら、従来のシステムのように単語の頻度やカテゴリを利用するだけでは、具体主題を有するか否かで文書を分類することはできない、という問題がある。例えば、図１０の文書の場合、従来システムでは、文書（Ａ）及び文書（Ｂ）は同じグループに分類されてしまい、具体主題の有無という観点で文書（Ａ）及び文書（Ｂ）を別々のグループに分類することができない。
【０００７】
本発明は、上記問題点に鑑みてなされたものであり、文書が具体主題を有するか否かを判定することができる具体主題の有無判定装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の具体主題の有無判定装置は、入力された文書から名詞句を抽出する名詞句抽出手段と、前記名詞句抽出手段により抽出された名詞句の各々に該名詞句の意味に基づくカテゴリを付与し、前記名詞句の各々に付与されたカテゴリの偏りを示す第１の素性を算出する第１の素性算出手段と、前記入力された文書に含まれる各文の文字数及び改行数に基づいて、該文書が縦長か横長かを示す第２の素性を算出する第２の素性算出手段と、前記第１の素性及び前記第２の素性を並べた素性列と、固有表現または具体的な物を示す主題である具体主題が既知の学習用文書の素性列を用いて学習された分類器とに基づいて、前記入力された文書が具体主題を有するか否かを判定する判定手段と、を含んで構成されている。
【０００９】
本発明の具体主題の有無判定装置によれば、名詞句抽出手段が、入力された文書から名詞句を抽出する。そして、第１の素性算出手段が、名詞句抽出手段により抽出された名詞句の各々に該名詞句の意味に基づくカテゴリを付与し、名詞句の各々に付与されたカテゴリの偏りを示す第１の素性を算出する。名詞句の意味に基づくカテゴリの偏りは、話題に一貫性のある文書か否かを表すものであるため、第１の素性は、その文書が具体主題を有するか否かを示す素性となる。
【００１０】
また、第２の素性算出手段が、入力された文書に含まれる各文の文字数及び改行数に基づいて、該文書が縦長か横長かを示す第２の素性を算出する。具体主題を有する文書か否かにより、文書が縦長か横長かという視覚的特徴が異なる傾向があるため、第２の素性は、その文書が具体主題を有するか否かを示す素性となる。
【００１１】
そして、判定手段が、第１の素性及び第２の素性を並べた素性列と、固有表現または具体的な物を示す主題である具体主題が既知の学習用文書の素性列を用いて学習された分類器とに基づいて、入力された文書が具体主題を有するか否かを判定する。
【００１２】
このように、具体主題を有する文書が備える性質を示す素性として、第１の素性及び第２の素性を用いるため、入力された文書が具体主題を有するか否かを適切に判定することができる。
【００１３】
また、前記第１の素性算出手段は、大量の語彙を該語彙の意味に基づくカテゴリに分類した辞書を用いて前記名詞句にカテゴリを付与し、前記辞書の全カテゴリ数に対する前記名詞句の各々に付与された全カテゴリ数に応じた値を前記第１の素性として算出することができる。
【００１４】
また、前記第２の素性算出手段は、前記各文の文字数の最大値より前記改行数の方が大きい場合には縦長を示す値、前記各文の文字数の最大値より前記改行数の方が小さい場合には横長を示す値を、前記第２の素性として算出することができる。
【００１５】
また、本発明の具体主題の有無判定方法は、入力された文書から名詞句を抽出し、抽出された名詞句の各々に該名詞句の意味に基づくカテゴリを付与し、前記名詞句の各々に付与されたカテゴリの偏りを示す第１の素性を算出し、前記入力された文書に含まれる各文の文字数及び改行数に基づいて、該文書が縦長か横長かを示す第２の素性を算出し、前記第１の素性及び前記第２の素性を並べた素性列と、固有表現または具体的な物を示す主題である具体主題が既知の学習用文書の素性列を用いて学習された分類器とに基づいて、前記入力された文書が具体主題を有するか否かを判定する方法である。
【００１６】
また、本発明の具体主題の有無判定プログラムは、コンピュータを、上記具体主題の有無判定装置を構成する各手段として機能させるためのプログラムである。
【発明の効果】
【００１７】
以上説明したように、本発明の具体主題の有無判定装置、方法、及びプログラムによれば、具体主題を有する文書が備える性質を示す素性として、名詞句の意味カテゴリの偏りに基づく第１の素性、及び文書が縦長か横長かという視覚的特徴を示す第２の素性を用いるため、入力された文書が具体主題を有するか否かを適切に判定することができる、という効果が得られる。
【図面の簡単な説明】
【００１８】
【図１】本実施の形態の具体主題の有無判定装置の概略構成を示すブロック図である。
【図２】入力文書の一例を示す図である。
【図３】名詞句抽出部により抽出された名詞句の一例を示す図である。
【図４】意味カテゴリ付与部により付与された意味カテゴリの一例を示す図である。
【図５】エントロピー算出部により算出されたエントロピーの一例を示す図である。
【図６】文書の視覚的特徴を説明するための図である。
【図７】視覚的特徴算出部により算出された素性の一例を示す図である。
【図８】本実施の形態の具体主題の有無判定装置における具体主題の有無判定処理ルーチンの内容を示すフローチャートである。
【図９】具体主題を説明するための文書の一例を示す図である。
【図１０】具体主題の有無を説明するための文書の一例を示す図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００２０】
図１に示すように、本実施の形態の具体主題の有無判定装置１０は、ＣＰＵと、ＲＡＭと、後述する具体主題の有無判定処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することができる。このコンピュータは、機能的には、入力された文書（テキストデータ）から具体主題の候補となる名詞句を抽出する名詞句抽出部１２と、名詞句各々及び文書の特徴である素性を抽出する素性抽出部１６と、予め具体主題が既知の文書を用いて学習された分類器２８と、を含んだ構成で表すことができる。
【００２１】
素性抽出部１６は、具体主題を有する文書が備える性質を示す素性（特徴量）を抽出する。素性抽出部１６は、名詞句各々に意味カテゴリを付与する意味カテゴリ付与部１８と、意味カテゴリの偏りをエントロピーで表した第１の素性を算出するエントロピー算出部２０と、入力された文書の視覚的特徴を示す第２の素性を算出する視覚的特徴算出部２４と、第１の素性及び第２の素性から素性ベクトルを生成する素性ベクトル生成部２６と、を含んだ構成で表すことができる。
【００２２】
なお、意味カテゴリ付与部１８及びエントロピー算出部２０が本発明の第１の素性算出手段の一例であり、視覚的特徴算出部２４が本発明の第２の素性算出手段の一例である。
【００２３】
名詞句抽出部１２は、入力された文書に対して形態素解析を行った上で、所定の名詞句を抽出する。主題は名詞句であるため、入力された文書に含まれる全ての名詞句が、主題の候補となる。ここでは、固有表現を含む名詞句、及び１つ以上の名詞が連続して具体的な物を示す名詞句を、入力された文書の具体主題の候補として抽出する。
【００２４】
固有表現を含む名詞句は、例えば、人名、地名、組織名などの固有物を表す表現であって、既存の固有表現抽出技術により抽出することができる。固有表現抽出技術としては、例えば、「今村賢治、斎藤邦子、浅野久子、「テキストからの知識抽出の基盤となる日本語基本解析技術」、ＮＴＴ技術ジャーナル、社団法人電気通信協会、ｐｐ．２０−２３  （２００８）」等に記載の技術を用いることができる。また、サ変名詞、動作名詞など、名詞の形態素情報も合わせて取得してもよい。
【００２５】
また、１つ以上の名詞が連続して具体的な物を示す名詞句としては、例えば、「マンガ」及び「ビューア」という名詞が連続して、１つの具体的な物を示す名詞句「マンガビューア」等がある。「マンガ」及び「ビューア」も各々具体的な物を示す名詞であるため、この場合、１つ以上の名詞が連続して具体的な物を示す名詞句として、「マンガ」、「ビューア」及び「マンガビューア」が各々抽出される。
【００２６】
図２に示すように、入力されたテキストＡが「今日商品Ｚを買いました。マンガビューアとして買ったので、それ以外のことにはほとんど利用していません。ですが、マンガビューアとして利用する点においては現時点で最強のマシンだと思います。」であった場合には、名詞句抽出部１２において、図３に示すように、「今日」、「商品Ｚ」、「マンガビューア」及び「マシン」が抽出される。
【００２７】
意味カテゴリ付与部１８は、名詞句抽出部１２で抽出された名詞句各々が該当する日本語語彙大系（「日本語語彙大系  ＣＤ−ＲＯＭ版」、岩波書店、１９９９）の意味カテゴリのクラスを抽出する。日本語語彙大系は、日本語の語彙３０万語を３，０００種類の意味属性で分類した日本語辞書である。具体的には、日本語語彙大系を検索して当該名詞句に付与された意味カテゴリのクラス（意味カテゴリの番号（識別ＩＤ））を抽出して名詞句に付与する。図４に、意味カテゴリ付与部１８で付与された意味カテゴリの一例を示す。ここで、「マシン」のように意味カテゴリ欄が空欄になっているものは、該当する意味カテゴリが存在しない（どの意味カテゴリのクラスにも属さない）ことを示す。
【００２８】
エントロピー算出部２０は、名詞句に付与された意味カテゴリの偏りを示す第１の素性を算出する。意味カテゴリの偏りの度合いは、話題に一貫性のある文書かどうかを表す。文書中に出現する日本語語彙大系の意味カテゴリが偏っていれば、具体主題を有する文書である傾向が強く、具体主題を有さない文書では意味カテゴリが分散している傾向が強い。この傾向を利用して、具体主題を有する文書が備える性質を示す素性として、意味カテゴリの偏りを示す第１の素性を算出する。
【００２９】
具体的には、名詞句抽出部１２で抽出された名詞句に付与された意味カテゴリのクラスの総頻度を算出し、下記（１）式によりエントロピーを求め、このエントロピーを第１の素性とする。
【００３０】
【数１】
0005405507.tif 000002
【００３１】
ここで、ｃは日本語語彙大系の意味カテゴリの番号、Ｂは名詞句抽出部１２で抽出された名詞句の総数、ｍは日本語語彙大系の意味カテゴリの総数を表す。図５に、エントロピー算出部２０で算出された文書毎のエントロピーの一例を示す。なお、上記の「マシン」のように該当する意味カテゴリが存在しない名詞句については、抽出された名詞句の総数にはカウントするが、意味カテゴリの頻度Ｐ（ｃ）には反映されない。
【００３２】
視覚的特徴算出部２４は、入力された文書の視覚的特徴を第２の素性として算出する。文書の視覚的特徴は、文書が扱う話題による文書の構造上の特性を表しており、特に書式が定まっていない文書の場合、リストや同じ文の繰り返し、つぶやき等の多い文書は縦長になり易い傾向がある。一方、何か特定の事柄について記述されている文書の場合、横長の文書になり易い傾向がある。例えば、図６に示すように、横長の文書（Ａ）は具体主題「商品Ｚ」について書かれており、縦長の文書（Ｂ）は具体主題を有していない。この傾向を利用して、具体主題を有する文書が備える性質を示す素性として、文書の視覚的特徴を示す第２の素性を算出する。
【００３３】
具体的には、文書の各文の文字数、及び改行数をカウントし、文書に含まれる文のうち、文字数が最大となる最大文を抽出する。そして、文書の最大文の文字数及び改行数が、
（最大文の文字数）＜（改行数）  ならば、縦長
（最大文の文字数）＞（改行数）  ならば、横長
と判定し、縦長（０）か横長（１）かを示す情報を第２の素性として算出する。図７に、視覚的特徴算出部２４で算出された文書毎の視覚的特徴の一例を示す。
【００３４】
素性ベクトル生成部２６は、エントロピー算出部２０で算出された第１の素性と、視覚的特徴算出部２４で算出された第２の素性とを並べた素性ベクトルを生成する。例えば、テキストＡについて、第１の素性であるエントロピーが「０．００１２３」、第２の素性である視覚的特徴が「１」の場合、テキストＡの素性ベクトルは、（０．００１２３，１）となる。なお、素性ベクトルの要素の並び順や構成等はこの例に限定されない。
【００３５】
分類器２８は、素性抽出部１６で抽出した素性ベクトルを入力とし、機械学習により予め定められた分類ルールに基づいて、入力された素性ベクトルに対応する文書が具体主題を有するか否かを判別する。分類ルールは、テキストｍの素性ベクトルα（ｍ）を入力としたときに、テキストｍが具体主題を有する可能性を示す値ｓｃｏｒｅ（ｍ）を返す関数のようなものであり、この関数をｆ（  ）とすると、
ｆ（α（ｍ））＝ｓｃｏｒｅ（ｍ）
となる。
【００３６】
この分類ルールｆ（  ）は、教師あり機械学習法を用いて予め学習しておく。例えば、人手で具体主題を有するか否かを示すラベルを付与するなどした、具体主題の有無が既知の学習用文書について、素性抽出部１６で抽出された素性ベクトルと、文書に付されたラベルとを学習データとして利用し、分類ルールｆ（  ）を構成する関数のパラメタを学習する。例えば、「J． Lafferty, A. McCallum and F. Pereira, Conditional Random Fields：Probabilistic Models for Segmenting and Labeling Sequence Data, In Proc. of ICML-2001, Pages 282-289, 2001」等に記載された既知の機械学習により、入力された文書が具体主題を有するか否かを判定するための分類ルールを学習する。
【００３７】
次に、図８を参照して、本実施の形態の具体主題の有無判定装置１０において実行される具体主題の有無判定処理ルーチンについて説明する。本ルーチンは、予め学習データを用いて分類ルールを学習して分類器が生成された状態でスタートする。
【００３８】
ステップ１００で、文書（テキストデータ）が入力されると、次に、ステップ１０２で、入力された文書に対して形態素解析を行った上で、固有表現を含む名詞句、及び１つ以上の名詞が連続して具体的な物を示す名詞句を、入力された文書の具体主題の候補として抽出する。
【００３９】
次に、ステップ１０４で、上記ステップ１０２で抽出された名詞句について、日本語語彙大系を検索して当該名詞句に付与された意味カテゴリのクラス（意味カテゴリの番号（識別ＩＤ））を抽出して付与する。
【００４０】
次に、ステップ１０６で、上記ステップ１０４で名詞句に付与された意味カテゴリのクラスの総頻度を算出し、第１の素性として、（１）式に従ってエントロピーを算出する。
【００４１】
次に、ステップ１０８で、文書の各文の文字数、及び改行数をカウントし、文書に含まれる文のうち、文字数が最大となる最大文を抽出し、文書の最大文の文字数及び改行数が、（最大文の文字数）＜（改行数） ならば、縦長、（最大文の文字数）＞（改行数）ならば、横長と判定し、縦長（０）か横長（１）かを示す情報を第２の素性として算出する。
【００４２】
次に、ステップ１１０で、上記ステップ１０６で算出した第１の素性と、上記ステップ１０８で算出した第２の素性とを並べた素性ベクトルを生成する。
【００４３】
次に、ステップ１１２で、上記ステップ１１０で生成した素性ベクトルを分類器に入力し、分類器の出力する値ｓｃｏｒｅ（ｍ）に基づいて、入力された文書が具体主題を有するか否かを判定し、判定結果を出力して、処理を終了する。
【００４４】
なお、本ルーチンでは、第１の素性を先に算出してから第２の素性を算出する処理としたが、第２の素性を先に算出してから第１の素性を算出してもよいし、第１の素性の算出と第２の素性の算出とを並行処理するようにしてもよい。
【００４５】
以上説明したように、本実施の形態の具体主題の有無判定装置によれば、具体主題を有する文書が備える性質を示す素性として、名詞句に付与された意味カテゴリの偏りに基づく素性、及び文書が縦長か横長かという視覚的特徴を示す素性を用いるため、入力された文書が具体主題を有するか否かを適切に判定することができる。
【００４６】
また、上記実施の形態で用いた第１の素性及び第２の素性に、各名詞句または名詞句に含まれる名詞の形態素情報を素性として加えてもよい。
【００４７】
また、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００４８】
また、本願明細書中において、プログラムが予めインストールされている実施の形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【００４９】
１０   具体主題の有無判定装置
１２   名詞句抽出部
１６   素性抽出部
１８   意味カテゴリ付与部
２０   エントロピー算出部
２４   視覚的特徴算出部
２６   素性ベクトル生成部
２８   分類器
【図１】
0005405507.tif 000003
【図２】
0005405507.tif 000004
【図３】
0005405507.tif 000005
【図４】
0005405507.tif 000006
【図５】
0005405507.tif 000007
【図６】
0005405507.tif 000008
【図７】
0005405507.tif 000009
【図８】
0005405507.tif 000010
【図９】
0005405507.tif 000011
【図１０】
0005405507.tif 000012