グラフ表示装置およびプログラム
【課題】分析対象の文単位集合全体における代表的な複数の語およびそれら語の間の関係をグラフ表示して文単位集合全体の傾向を示唆する。
【解決手段】語出現データ記憶部150は、語がどのメッセージで出現するかを示す語出現データを保持する。頻度計算部170は、対象語の各々が出現するメッセージが、対象メッセージ集合内にいくつあるかを計算する。語特定部180は、頻度計算部170で計算された頻度に基づいて、頻度が1位からL位までのL個の語を特定する。部分集合導出部160は、部分集合を導出して対応する語を特定し、ノードデータおよびリンクデータを生成する。グラフ表示部190は部分集合導出部160からノードデータおよびリンクデータを取得してグラフのネットワーク構造を決定しグラフ表示を行う。
【解決手段】語出現データ記憶部150は、語がどのメッセージで出現するかを示す語出現データを保持する。頻度計算部170は、対象語の各々が出現するメッセージが、対象メッセージ集合内にいくつあるかを計算する。語特定部180は、頻度計算部170で計算された頻度に基づいて、頻度が1位からL位までのL個の語を特定する。部分集合導出部160は、部分集合を導出して対応する語を特定し、ノードデータおよびリンクデータを生成する。グラフ表示部190は部分集合導出部160からノードデータおよびリンクデータを取得してグラフのネットワーク構造を決定しグラフ表示を行う。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、文書に含まれる語をグラフ表示する技術に関する。
【背景技術】
【0002】
自由形式で回答するアンケート、苦情文書(メール)等の多量の文書を解析してそれら多量の文書に内在する真実を抽出することが行なわれている。例えば自由回答欄のメッセージを分析して要望、感謝、満足、要求、不満等を抽出して製品開発等にフィードバックすることが望まれる。このような抽出作業は、熟練した作業者が多くの時間をかけて行なわれるのが通常であり、費用または即時性のうえで問題があった。
【0003】
計算機による言語処理を利用してこのような作業を支援することが望まれる。
【0004】
なお、この発明と関連するものとしては特許文献1がある。特許文献1は、検索対象文書全体に表れる頻度に対して検索結果の文書に表れる頻度の割合が大きな特徴語をノードで表し特徴語の共起度に基づいて特徴語ノードの間にリンクを結んでグラフ表示することを開示している。しかしながら、検索を前提とするものであり、一般的な場面で文書を解析するのを支援するものではない。
【0005】
なお、上述の背景技術やその問題点は、この発明の背景の一部を説明するものにすぎず、この発明は上述の背景技術や問題点に限定されるものではないことを理解されたい。
【特許文献1】特開平10−74210号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
この発明は、以上の事情を考慮してなされたものであり、対象文書全体に含まれる語を分析して対象文書全体を分析するのを支援するために語をグラフ表示するグラフ表示技術を提供することを目的としている。
【課題を解決するための手段】
【0007】
この発明によれば、上述の目的を達成するために、特許請求の範囲に記載のとおりの構成を採用している。ここでは、発明を詳細に説明するのに先だって、特許請求の範囲の記載について補充的に説明を行なっておく。
【0008】
すなわち、この発明の一側面によれば、上述の目的を達成するために、複数の文単位を含んでなる解析対象の文単位集合において出現する語をグラフ表示するグラフ表示装置に:文単位に対応づけて当該文単位に出現する語を記憶する記憶手段と;文単位集合中の文単位に出現する語について当該文単位集合における頻度を上記記憶手段を参照して計算する頻度計算手段と;上記頻度計算手段が計算した頻度を参照して、上記文単位集合において頻度が上位のL(2以上の整数)個以下の語を特定する語特定手段と;上記語特定手段で特定された語の各々について、上記文単位集合から、当該語を含む文単位からなる部分集合を導出する部分集合導出手段と;上記部分集合に対応する語および導出元の文単位集合に対応する語から導出先の部分集合に対応する語へのリンクを表示する表示手段とを設け、上記部分集合導出手段は、ルートの文単位集合から開始して繰り返し部分集合を導出するようにしている。
【0009】
グラフ表示装置は、典型的には、スタンドアローンのコンピュータシステム、ネットワークに接続されたコンピュータシステム群(クライアント・サーバシステム)等により構成できるが、これに限定されない。
【0010】
文単位は、1または複数の文からなる一塊の文章であり、以下ではメッセージと呼ぶことがある。文単位は分節等の文の一部であってもよい。語は典型的には名詞であるが、これに限定されない。語を特定の品詞、例えば名詞に限定することによりシンプルな表示が実現可能である。
【0011】
この構成においては、文単位集合から、その文単位集合の局在的な語の頻度に着目して部分集合を順次に導出し、導出した方向および導出した部分集合に対応する語をグラフとして表示し、分析対象の文単位集合全体における代表的な複数の語およびそれら語の間の関係をグラフ表示して文単位集合全体の傾向を示唆することができる。
【0012】
部分集合は、深さ優先探索、幅優先探索で導出して良い。また、導出元の文単位集合中の頻度の大きい順に部分集合を導出してもよい。
【0013】
また、上記記憶手段は、文単位ごとに1または複数の属性を記憶し、属性に応じて解析対象の文単位集合を絞り込むようにしてもよい。属性は典型的には性別、年齢(年齢範囲)であり、属性値に応じて表示を切り替え、または対比させて表示し、属性値の特徴を示唆するようにしても良い。
【0014】
上記語特定手段は、同一の語が所定回数以上特定されるのを禁止してもよい。例えば、同一の語は一度しか特定されないようにしてもよい。
【0015】
また、この発明の他の側面によれば、複数の文単位を含んでなる解析対象の文単位集合において出現する語をグラフ表示するグラフ表示装置に:文単位に対応づけて当該文単位に出現する語を記憶する記憶手段と;上記解析対象の文単位集合中の文単位において対をなす第1の語および第2の語が共起する頻度を上記記憶手段を参照して計算する頻度計算手段と;上記頻度計算手段が計算した頻度が閾値を越える対の各々について、当該対の頻度が、当該対の第1の語を同じくする対のうちで上位L(2以上の整数)位までに含まれない場合を除いて、当該対をなす第1の語および第2の語を特定する語特定手段と;上記語特定手段で特定された第1の語および第2の語、ならびにこれらを連結するリンクからなるグラフを表示する表示手段とを設けるようにしている。
【0016】
この構成においては、対象の文単位集合全体における、語の共起頻度に着目して、語の関連性に基づいて語をグラフ表示できる。共起頻度について閾値を設けてスクリーニングすることにより、グラフの標示が煩雑になるのを防止している。
【0017】
なお、この発明は装置またはシステムとして実現できるのみでなく、方法としても実現可能である。また、そのような発明の一部をソフトウェアとして構成することができることはもちろんである。またそのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品もこの発明の技術的な範囲に含まれることも当然である。
【0018】
この発明の上述の側面および他の側面は特許請求の範囲に記載され以下実施例を用いて詳述される。
【発明の効果】
【0019】
この発明によれば、文単位集合から、その文単位集合の局在的な語の頻度に着目して部分集合を順次に導出し、導出した方向および導出した部分集合に対応する語をグラフとして表示し、分析対象の文単位集合全体における代表的な複数の語およびそれら語の間の関係をグラフ表示して文単位集合全体の傾向を示唆することができる。
【発明を実施するための最良の形態】
【0020】
以下、この発明の実施例について説明する。
【実施例1】
【0021】
図1は、この発明の原理的な構成を説明する実施例1のグラフ表示システム110を全体として示している。この例では、コンピュータ200上のソフトウェアとして実現している。ソフトウェアは周知の手法により記録媒体201を用いたり、通信回線を用いてコンピュータ200にインストールできる。図ではスタンドアローンの構成となっているが、ネットワークにより接続されたサーバ装置およびクライアント装置で構成しても良い。実施例1のグラフ表示システム110の各機能ブロックは、典型的には、ソフトウェアおよびコンピュータ200のハードウェア資源が協働して実現する。
【0022】
グラフ表示システム110は、例えば、アンケートの回答を解析目的として、回答内に含まれる自由形式のメッセージ(1または複数の文からなる文単位)の傾向をメッセージに含まれる語を含むグラフを表示して提示する。固定形式の回答(選択枝、または固定語)を併せて用いてもよい。
【0023】
この実施例では、図2に示すように、表示する語と、語の間の関係(リンク)とを特定する。具体的にはつぎの処理を行う。
【0024】
(1)メッセージ集合に含まれる語の頻度を求める。
(2)頻度の多い順にL個の部分集合を作る。以下ではLを幅と呼ぶことがある。
(3)部分集合の各々について、処理(2)を行う。これをM回繰り返す。以下ではMを深さと呼ぶこともある。
【0025】
このようにして部分集合を幅L、深さMで導出し、導出した部分集合の作成に用いた語を表示対象の語として選択し、導入元の集合から導入先の集合への関係を導入元の集合から特定された語から、導入先の集合から特定された語へのリンクとし、特定した語およびリンクからなるグラフを生成して表示する。
【0026】
図1において、グラフ表示システム110は、語出現データ記憶部150、頻度計算部170、語特定部180、部分集合導出部160、グラフ表示部190等を含んで構成される。
【0027】
語出現データ記憶部150は、例えば、図4に示すようなデータ構造の語出現データを保持する。この例では、語出現データはメッセージ番号、語ID、メッセージ(アンケートの回答)に付与された複数の属性の値を含むが、これに限定されない。属性は、性別、年齢(年齢範囲)、居住地範囲等である。1のメッセージにN個の異なり語が含まれる場合には、N個の語出現データが準備される。準備対象の語を名詞等の品詞で限定してもよい。
語出現データの具体的な例は、これに限定されないが、例えば図5に示すようなものであり、メッセージ番号、述部を受け部とする係り受け関係、メッセージ(文)、メッセージの属性値(「fact」欄)を含んでなる。例えば、最上行のデータは、メッセージ番号が10419で、述部(受け部)が「合う」で名詞部(係り部)が「肌」である。係り部を助詞の「は」、「が」、「を」、「に」、「で」等で区分して表示できるので、係り受け関係を参照するだけで全体としての意味内容の把握が容易になる。
【0028】
頻度計算部170は、対象語の各々が出現するメッセージが、対象メッセージ集合内にいくつあるかを計算するものであり、典型的には、語IDごとに当該語出現データを含む語出現データの個数を計算するけれども、語ごとのメッセージ数のヒストグラムを生成するものであれば、どのような手法を採用してもよい。
【0029】
語特定部180は、頻度計算部170で計算された頻度に基づいて、頻度が1位からL位までのL個の語を特定する。
【0030】
部分集合導出部160は、図2を参照して説明した手順で部分集合を導出していくものであり、その際、頻度計算部170に対して導入元の集合を指定し、語特定部180から特定された語を取得する。部分集合導出部160は、特定した語から図6(a)に示すようなノードデータを取得し、また部分集合の導入元および導入先に基づいて図6(b)に示すようなリンクデータを取得する。ノードデータはノードID、語ID、語(文字列)、ノードに対応する部分集合に含まれるメッセージの個数(要素数)等を含むが、これに限定されない。リンクデータは、リンクID、ソースノード(親、導出元)のノードID、ターゲットノード(子、導出先)のノードID等を含むが、これに限定されない。
グラフ表示部190は部分集合導出部160からノードデータおよびリンクデータを取得してグラフのネットワーク構造を決定しグラフ表示を行う。ネットワーク構造は任意の手法により決定でき、これに限定されないが、「キーグラフ」(http://www2.kke.co.jp/keygraph)や「GraphViz」(http://i.loverruby.net/ja/rhg/cd/graphviz.html)を利用できる。グラフ表示部190の表示例は例えば図9に示すようなものであり、対象となるメッセージ集合全体において出現する語をリンクで結びつけるものである。語(ノード)やリンクの大きさ、太さ、色等をメッセージの頻度に応じて可変させてよい。
【0031】
図3はこの実施例の動作例を示しており、その処理は以下のとおりである。
【0032】
[ステップS10]:メッセージの全体集合を頻度計算の対象にセットする。
[ステップS11]:語の頻度を計算する。
[ステップS12]:頻度が上位のL個以下の語を選択する。例えば、深さ優先(バックトラック法)で部分集合を探索する場合には、図6(a)(L=2の例)に示すように、1〜Nの部分集合を探索し、最上位の1個の語を選択していく。幅優先で部分集合を探索する場合には、図6(b)(L=2の例)に示すように1〜Nの部分集合を探索していく。
[ステップS13]:ノード/リンクデータを生成して記憶する。記憶箇所は、語出現データ記憶部150を用いてもよいし、他の任意の記憶手段を用いてよい。
[ステップS14]:選択語に対応する部分集合を頻度計算の対象にセットする。
[ステップS15]:終了条件が満たされるかどうかを判別し、満たされない場合はステップS11に戻り、満たされた場合にはステップS16へ進む。終了条件は、指定された深さまで語が特定され終わった場合や、上限数の語が特定された場合や、下限数以上のメッセージを含む集合がなくなった場合等であるが、これに限定されない。
[ステップS16]:グラフ表示部190がノードデータおよびリンクデータを用いて所定のグラフ生成手法でグラフデータを生成してグラフを表示する。
【0033】
図8は、メッセージの全体の集合の語ごとのメッセージ頻度を棒グラフで表示し(図8(a)、さらに、これを語のグラフで表示したものである(Mを1とした)。この例では、図2に示すような階層的な処理を行っていないので、どの語が多く出現しているかを示すにすぎない。
【0034】
図9は、この実施例のグラフ表示システム110を用いて、化粧品の自由形式のアンケート(「現在使用しているファウンデーションお好きな点・気に入っている点」)の回答から準備したメッセージ集合から、生成したグラフの表示例を示す。グラフのリンクをたどってどのようなことが語られているかを把握することが可能である。例えば、一塊の語群を部分グラフとして把握してそれぞれから意味合いを抽出する。図9の例では、(1)自分に合った色合い、(2)価格・品質、(3)仕上がり、(4)伸び等が意味合いとして含まれることを把握できる。
【0035】
図10および図11は、年齢範囲で層別したグラフである。図10は、年齢の属性値に基づいて25歳〜29歳の回答者のメッセージを全体集合として生成したグラフであり、図11は、40歳〜49歳の回答者のメッセージを全体集合として生成したグラフである。図10からは、使い心地については、無添加であること、敏感肌であることが語られていることが把握できる。図11からはカバー力・薄付きについては、シミを語っており、またUV効果も語っていることが把握できる。
【0036】
この実施例では、グラフ上に分布される語の配置に基づいてどのような事柄が話題になっているかを把握することが容易になる。
【実施例2】
【0037】
つぎにこの発明を具体的に適用した実施例2のグラフ表示システム100について説明する。
【0038】
図12は、この発明の具体的な実施例2のグラフ表示システム100を全体として示している。この例では、グラフ表示システム100をコンピュータ200上のソフトウェアとして実現している。ソフトウェアは周知の手法により記録媒体201を用いたり、通信回線を用いてコンピュータ200にインストールできる。図ではスタンドアローンの構成となっているが、ネットワークにより接続されたサーバ装置およびクライアント装置で構成しても良い。実施例2のグラフ表示システム110の各機能ブロックは、典型的には、ソフトウェアおよびコンピュータ200のハードウェア資源が協働して実現する。なお、図12において図1と対応する箇所には対応する符号を付した。
【0039】
図12において、グラフ表示システム100は、文書入力部10、形態素解析部11、構文解析部12、構文解析結果データ記憶部13、係り受け関係抽出部14、係り受け関係集合記憶部15、部分集合導出部16、頻度計算部17、語特定部18、グラフ表示部19等を含んで構成されている。この例では、一群の文からなる文書データから係り受け関係の集合を抽出して係り受け関係集合記憶部15に記憶するようにしているけれども、外部から係り受け関係集合を取得して係り受け関係集合記憶部15に記憶するようにしても良い。
【0040】
この実施例では、文書データから抽出した係り受け関係のデータ(以下に述べるように基礎意味チャンクといい、用言節等の受け部分を共通にする範囲で一まとめにされたものである)を、係り受け関係に着目して係り語、受け語、その他の語で検索し、典型的には、係り語や受け語を対比させて表示して、文の把握を支援することも可能である。
【0041】
文書入力部10は、一群のアンケート(自由形式のアンケートの回答。メッセージ)や一群の電子メール等の文書データ(コーパスともいう)を入力するものであり、文書データは後続の形態素解析等を行なうために適宜に前処理されてもよい。文書入力部10は、文書データを入力できるものであればどのようなものでもよく、例えば、ファイルシステム、外部記憶装置、通信回線、I/O装置等から構成される。文書入力部10は、アンケートや電子メール等のメッセージを受信するシステムであってもよいし、文字認識装置、音声認識装置等であってもよい。文書データの例は例えば図14に示すようなものであり、この例では、化粧品のアンケート結果から取得した文が文の番号を割り当てられて管理されている。
【0042】
形態素解析部11は、周知の任意の形態素解析手法で形態素解析辞書を参照して文を形態素に分解するものである。形態素解析は例えば図15に示すように行なわれる。
【0043】
構文解析部12は、周知の任意の構文解析手法で、構文規則に基づいて、形態素解析結果を構文解析する。すなわち、図13に示すように、一群の文のデータ(コーパス)が文書入力部10により入力される(S110)。形態素解析部11は、1つの文のデータを処理対象として取り出し、形態素解析を行い、構文解析部12は形態素解析結果に基づいて構文解析を行なう(S111〜S113)。構文解析結果は構文解析結果データ記憶部13に登録され、すべての文について以上の処理を繰り返す(S114、S115)。構文解析結果は例えば図16に示すようなものであり、理解を容易にするためにこれを木構造で表すと図17に示すようになる。
【0044】
係り受け関係抽出部14は、係り受け関係抽出規則を構文解析結果のデータに適用して係り受け関係集合を抽出して、係り受け関係集合記憶部15に記録するものである。係り受け関係抽出規則は例えば図19に示すようなものであり、図中、「*」は任意個のサブ木(分の構文解析木の部分をなす要素)である。この例では連用の係り受け関係を抽出するものであるが、連体の係り受け関係についても同様である。係り受け関係抽出規則を用いて例えば図20に矢印で示すように係り受け関係を抽出できる。この例では連用の係り受け関係を示している。
【0045】
係り受け関係抽出部14は、図18に示すように、抽出規則を入力し(S120)、該当する係り受け関係を構文解析結果のデータから抽出して(S121)、係り受け関係集合記憶部15に記憶する(S122)。
【0046】
抽出された係り受け関係のデータは、用言節等の受け部分を共通にする範囲で一まとめにされた態様で表現される。係り部は0個または複数個である。以下では、このようなデータを基礎意味チャンクとも呼ぶ。基礎意味チャンクは、例えばプログラミング言語Prologのファクト形式のデータ構造で表され、図21はこのようなデータ構造の例を示す。このデータ構造では、基礎意味チャンクとチャンク述部の2種類のデータからなる。図21の例では、「1」は文番号を示し、「紹介,する,た」は用言節の形態素列を終止形で並べたものであり、「23,31」はその出現位置を示すバイトオフセットであり、「太郎,は」、「5,11」、「花子,を」、「17,23」、「次郎,に」、「11,17」はそれぞれ受け部分の形態素列およびそれぞれの出現位置を示すバイトオフセットである。「3」は係り受けの個数を示す。「紹介_例文」はコーパスの名称である。
【0047】
係り受け関係集合記憶部15は係り受け関係集合(基礎意味チャンク集合)を記憶するものである。係り受け関係集合記憶部15は実施例1の語出現データ記憶部150に対応し、係り受け関係集合は例えば図5に示すようなものと同じである。
【0048】
頻度計算部17、語特定部18、部分集合導出部16、およびグラフ表示部19は、実施例1の頻度計算部170、語特定部180、部分集合導出部160、およびグラフ表示部190と対応するものである。
【0049】
すなわち、頻度計算部17は、対象語の各々が出現するメッセージが対象メッセージ集合内にいくつあるかを計算するものであり、典型的には、語ごとに当該語を含むメッセージの個数を計算する。
【0050】
語特定部18は、頻度計算部17で計算された頻度に基づいて、頻度が1位からL位までのL個の語を特定する。
【0051】
部分集合導出部16は、さきに図2を参照して説明した手順で部分集合を導出していくものであり、その際、頻度計算部17に対して導入元の集合を指定し、語特定部18から特定された語を取得する。部分集合導出部16は、特定した語から、さきに図6(a)に示したようなノードデータを取得し、また部分集合の導入元および導入先に基づいて図6(b)に示したようなリンクデータを取得する。ノードデータはノードID、語ID、語(文字列)、ノードに対応する部分集合に含まれるメッセージの個数(要素数)等を含むが、これに限定されない。リンクデータは、リンクID、ソースノード(親、導出元)のノードID、ターゲットノード(子、導出先)のノードID等を含むが、これに限定されない。
グラフ表示部19は部分集合導出部16からノードデータおよびリンクデータを取得してグラフのネットワーク構造を決定しグラフ表示を行う。ネットワーク構造は任意の手法により決定できる。以下、表示例を説明する。ただし、語(ノード)やリンクの大きさ、太さ、色等をメッセージの頻度に応じて可変させてよい。
【0052】
図22は、この実施例でグラフ表示のパラメータを設定するユーザインタフェース例を示す。この例では、部分集合導出モードをラジオボタンR1、R2を用いて深さ優先および幅優先から選択し、ファンアウト(幅L)、深さMを入力フォームF1、F2に入力し、ファンイン(ノードに入力するリンクの数。同一の語を特定して部分集合を選択できる個数)を指定する。また表示オプションとして全体ノードの表示・非表示や頻度表示をラジオボタンR3、R4で指定できる。なお、パラメータにデフォルト値を設けておいても良い。グラフ表示のパラメータを設定したらグラフ表示ボタンBを操作してグラフ表示処理を開始させる。グラフ表示処理は典型的には図3に示すように実行される。
【0053】
図23は、ファンアウト10、深さ2、ファンイン1、幅優先、全体ノード表示、頻度表示(ターゲットノードのメッセージ数)で設定したときのグラフを示す。この例では、幅優先であるので、頻度の多い語が表示されるので話題の把握が容易である。ただし、話題(頻度の多い語)同士の関係が若干把握しにくい。
【0054】
図24は、ファンアウト10、深さ4、ファンイン1、深さ優先、全体ノード表示、頻度表示で設定したときのグラフを示す。この例では、頻度の多い語(話題)を共起関係で接続していくことができ、話題同士の関係を把握しやすい。ただし、深さを短くした場合、頻度の多い語でも表示されない場合がある(左から探索していく場合、上位階層で、右端の語)。
【0055】
図25は、ファンアウト10、深さ3、ファンイン2、幅優先、全体ノード表示、頻度非表示で設定したときのグラフを示す。この例では、ファンインを多くした分、話題(語)の間の関係を把握しやすくなるが、グラフ表示が煩雑になる。
【0056】
図26は、ファンアウト10、深さ3、ファンイン3、幅優先、全体ノード表示、頻度非表示で設定したときのグラフを示す。この例では、ファンインを多くした分、話題(語)の間の関係を把握しやすくなるが、グラフ表示が一層煩雑になる。
【0057】
図27は、ファンアウト10、深さ5、ファンイン1、幅優先、全体ノード表示、頻度非表示で設定したときのグラフを示す。この例では、深さを大きくした分、話題の関係を広範囲にフォローできる。ただし、その分、話題を把握する上でノイズとなる場合もある。頻度(ターゲットノード中のメッセージの頻度。全体メッセージ集合中の語の頻度ではない)を表示して、あるいは、頻度に応じて色を変えて、重要な話題を強調しても良い。
【0058】
図28は、ファンアウト10、深さ3、ファンイン1、幅優先、全体ノード表示、頻度非表示で設定したときのグラフを示す。この例では、話題を幅広く表示できる。
【0059】
なお、以上の表示例において、図9等に鎖線で囲むようにユーザが着目領域を指定して色属性等で区分けして表示しても良い。
【実施例3】
【0060】
つぎにこの発明の実施例3のグラフ表示システム120について説明する。
【0061】
この実施例のグラフ表示システム120は、深さ優先、幅優先の他に、「エッジ頻度優先」で語を選択表示するものである。ここで、「エッジ頻度」は、対象のメッセージ集合全体の中で、所定の語Vを含むメッセージの集合の中で、他の語Wを含むメッセージの数Xをいう。これをV→W(X)で表す。例えば、携帯電話→子供(100)は、携帯電話という語を含むメッセージ集合の中で、子供という語を含むものは100件ある、ということである。→の元の語をソース、先の語をターゲットと呼ぶ。
【0062】
図29は実施例3のグラフ表示システム120を全体として示しており、この図において、図1と対応する箇所には対応する符号を付した。この例では、コンピュータ200上のソフトウェアとして実現している。ソフトウェアは周知の手法により記録媒体201を用いたり、通信回線を用いてコンピュータ200にインストールできる。図ではスタンドアローンの構成となっているが、ネットワークにより接続されたサーバ装置およびクライアント装置で構成しても良い。実施例1のグラフ表示システム110の各機能ブロックは、典型的には、ソフトウェアおよびコンピュータ200のハードウェア資源が協働して実現する。
【0063】
図29において、グラフ表示システム120は、語出現データ記憶部150、エッジ頻度計算部171、語対特定部181、グラフ表示部190等を含んで構成される。このグラフ表示システム120は図29には示さないが図1に示す構成もあわせ持つ。もちろん、エッジ頻度優先の表示に必要な部分のみから構成しても良い。エッジ頻度計算部151は語出現データ記憶部150を参照して2つの語V、Wについてエッジ頻度V→W(X)を計算するものである。語対特定部181は、エッジ頻度V→W(X)で語の対(V,W)をソートして頻度が設定頻度より大きい語対を特定してノードデータおよびリンクデータを生成する。上位所定数の語対を特定しても良い。グラフ表示部190は語対特定部181から受け取ったノードデータおよびリンクデータに基づいてグラフを表示する。
【0064】
図30はグラフ表示システム120の動作例を説明するものであり、その詳細は以下のとおりである。
【0065】
[ステップS20]:メッセージの全体集合を対象にセットする。
[ステップS21]:エッジ頻度V→W(X)を計算する。
[ステップS22]:エッジ頻度V→W(X)で語対(V,W)をソートする。
[ステップS23]:エッジ頻度が閾値を越える語対(V,W)を特定する。その他の条件、例えば、語対の個数等で、選択しても良い。
[ステップS24]:特定した語対(V,W)からノードデータおよびリンクデータを生成する。
[ステップS25]:ノードおよびリンクを含むグラフを表示する。
【0066】
図31は、グラフ表示のパラメータを設定するユーザインタフェース例を示す。この例では、語探索モード(部分集合導出モード)に、幅優先、深さ優先に加えて、エッジ頻度優先を含めて、ラジオボタンR4で指定し、表示対象のエッジ頻度閾値を入力フォームF4で指定するようになっている。
【0067】
図32は、エッジ頻度優先、ファンイン3、エッジ頻度閾値10、頻度非表示、全体ノード表示で設定したときのグラフを示す。この例でも、エッジ頻度閾値を適切に設定することにより、枝刈りを行って、煩雑でない態様で話題および話題の間の関係を表示できる。表示対象の語数を制限することにより枝刈りを行っても良い。
【0068】
なお、この発明は特許請求の範囲の記載に基づいて決定されるものであり、実施例の具体的な構成、課題、および効果には限定されない。この発明は上述の実施例に限定されるものではなくその趣旨を逸脱しない範囲で種々変更が可能である。例えば、グラフ表示における語のノードをクリック操作等することにより、対応する語を含む係り受け関係やメッセージを図5に示すように表示するようにしても良い。
【図面の簡単な説明】
【0069】
【図1】この発明の実施例1の構成を説明するブロック図である。
【図2】上述実施例1の動作を模式的に説明する図である。
【図3】上述実施例1の動作例を説明するフローチャートである。
【図4】上述実施例1の語出現データを説明する図であるである。
【図5】上述実施例1の係り受け関係の語出現データを説明する図である。
【図6】上述実施例1のノードデータおよびリンクデータを説明する図である。
【図7】上述実施例1の深さ優先および幅優先で部分集合を導出する例を説明する図である。
【図8】従来の表示態様を説明する図である。
【図9】上述実施例1の表示例を説明する図である。
【図10】上述実施例1の属性値で層別した表示例を説明する図である。
【図11】上述実施例1の属性値で層別した他の表示例を説明する図である。
【図12】この発明の実施例2の構成を全体として示すブロック図である。
【図13】上述実施例2の構文解析結果取得動作例を説明するフローチャートである。
【図14】上述実施例2の文書データの例を説明する図である。
【図15】上述実施例2の形態素解析の例を説明する図である。
【図16】上述実施例2の構文解析結果の例を説明する図である。
【図17】上述実施例2の構文解析結果の木構造表現を説明する図である。
【図18】上述実施例2の係り受け関係抽出の動作例を説明するフローチャートである。
【図19】上述実施例2の係り受け関係抽出規則の例を説明する図である。
【図20】上述実施例2の係り受け関係の抽出結果の例を説明する図である。
【図21】上述実施例2の係り受け関係のデータ構造の例を説明する図である。
【図22】上述実施例2のグラフ表示のパラメータを設定するユーザインタフェース例を説明する図である。
【図23】上述実施例2のグラフ表示例を説明する図である。
【図24】上述実施例2の他のグラフ表示例を説明する図である。
【図25】上述実施例2の他のグラフ表示例を説明する図である。
【図26】上述実施例2の他のグラフ表示例を説明する図である。
【図27】上述実施例2の他のグラフ表示例を説明する図である。
【図28】上述実施例2の他のグラフ表示例を説明する図である。
【図29】この発明の実施例3の構成を全体として示すブロック図である。
【図30】上述実施例3の動作例を説明するフローチャートである。
【図31】上述実施例3のグラフ表示のパラメータを設定するユーザインタフェース例を説明する図である。
【図32】上述実施例3のグラフ表示例を説明する図である。
【符号の説明】
【0070】
110 グラフ表示システム
150 語出現データ記憶部
160 部分集合導出部
170 頻度計算部
180 語特定部
190 グラフ表示部
【技術分野】
【0001】
この発明は、文書に含まれる語をグラフ表示する技術に関する。
【背景技術】
【0002】
自由形式で回答するアンケート、苦情文書(メール)等の多量の文書を解析してそれら多量の文書に内在する真実を抽出することが行なわれている。例えば自由回答欄のメッセージを分析して要望、感謝、満足、要求、不満等を抽出して製品開発等にフィードバックすることが望まれる。このような抽出作業は、熟練した作業者が多くの時間をかけて行なわれるのが通常であり、費用または即時性のうえで問題があった。
【0003】
計算機による言語処理を利用してこのような作業を支援することが望まれる。
【0004】
なお、この発明と関連するものとしては特許文献1がある。特許文献1は、検索対象文書全体に表れる頻度に対して検索結果の文書に表れる頻度の割合が大きな特徴語をノードで表し特徴語の共起度に基づいて特徴語ノードの間にリンクを結んでグラフ表示することを開示している。しかしながら、検索を前提とするものであり、一般的な場面で文書を解析するのを支援するものではない。
【0005】
なお、上述の背景技術やその問題点は、この発明の背景の一部を説明するものにすぎず、この発明は上述の背景技術や問題点に限定されるものではないことを理解されたい。
【特許文献1】特開平10−74210号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
この発明は、以上の事情を考慮してなされたものであり、対象文書全体に含まれる語を分析して対象文書全体を分析するのを支援するために語をグラフ表示するグラフ表示技術を提供することを目的としている。
【課題を解決するための手段】
【0007】
この発明によれば、上述の目的を達成するために、特許請求の範囲に記載のとおりの構成を採用している。ここでは、発明を詳細に説明するのに先だって、特許請求の範囲の記載について補充的に説明を行なっておく。
【0008】
すなわち、この発明の一側面によれば、上述の目的を達成するために、複数の文単位を含んでなる解析対象の文単位集合において出現する語をグラフ表示するグラフ表示装置に:文単位に対応づけて当該文単位に出現する語を記憶する記憶手段と;文単位集合中の文単位に出現する語について当該文単位集合における頻度を上記記憶手段を参照して計算する頻度計算手段と;上記頻度計算手段が計算した頻度を参照して、上記文単位集合において頻度が上位のL(2以上の整数)個以下の語を特定する語特定手段と;上記語特定手段で特定された語の各々について、上記文単位集合から、当該語を含む文単位からなる部分集合を導出する部分集合導出手段と;上記部分集合に対応する語および導出元の文単位集合に対応する語から導出先の部分集合に対応する語へのリンクを表示する表示手段とを設け、上記部分集合導出手段は、ルートの文単位集合から開始して繰り返し部分集合を導出するようにしている。
【0009】
グラフ表示装置は、典型的には、スタンドアローンのコンピュータシステム、ネットワークに接続されたコンピュータシステム群(クライアント・サーバシステム)等により構成できるが、これに限定されない。
【0010】
文単位は、1または複数の文からなる一塊の文章であり、以下ではメッセージと呼ぶことがある。文単位は分節等の文の一部であってもよい。語は典型的には名詞であるが、これに限定されない。語を特定の品詞、例えば名詞に限定することによりシンプルな表示が実現可能である。
【0011】
この構成においては、文単位集合から、その文単位集合の局在的な語の頻度に着目して部分集合を順次に導出し、導出した方向および導出した部分集合に対応する語をグラフとして表示し、分析対象の文単位集合全体における代表的な複数の語およびそれら語の間の関係をグラフ表示して文単位集合全体の傾向を示唆することができる。
【0012】
部分集合は、深さ優先探索、幅優先探索で導出して良い。また、導出元の文単位集合中の頻度の大きい順に部分集合を導出してもよい。
【0013】
また、上記記憶手段は、文単位ごとに1または複数の属性を記憶し、属性に応じて解析対象の文単位集合を絞り込むようにしてもよい。属性は典型的には性別、年齢(年齢範囲)であり、属性値に応じて表示を切り替え、または対比させて表示し、属性値の特徴を示唆するようにしても良い。
【0014】
上記語特定手段は、同一の語が所定回数以上特定されるのを禁止してもよい。例えば、同一の語は一度しか特定されないようにしてもよい。
【0015】
また、この発明の他の側面によれば、複数の文単位を含んでなる解析対象の文単位集合において出現する語をグラフ表示するグラフ表示装置に:文単位に対応づけて当該文単位に出現する語を記憶する記憶手段と;上記解析対象の文単位集合中の文単位において対をなす第1の語および第2の語が共起する頻度を上記記憶手段を参照して計算する頻度計算手段と;上記頻度計算手段が計算した頻度が閾値を越える対の各々について、当該対の頻度が、当該対の第1の語を同じくする対のうちで上位L(2以上の整数)位までに含まれない場合を除いて、当該対をなす第1の語および第2の語を特定する語特定手段と;上記語特定手段で特定された第1の語および第2の語、ならびにこれらを連結するリンクからなるグラフを表示する表示手段とを設けるようにしている。
【0016】
この構成においては、対象の文単位集合全体における、語の共起頻度に着目して、語の関連性に基づいて語をグラフ表示できる。共起頻度について閾値を設けてスクリーニングすることにより、グラフの標示が煩雑になるのを防止している。
【0017】
なお、この発明は装置またはシステムとして実現できるのみでなく、方法としても実現可能である。また、そのような発明の一部をソフトウェアとして構成することができることはもちろんである。またそのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品もこの発明の技術的な範囲に含まれることも当然である。
【0018】
この発明の上述の側面および他の側面は特許請求の範囲に記載され以下実施例を用いて詳述される。
【発明の効果】
【0019】
この発明によれば、文単位集合から、その文単位集合の局在的な語の頻度に着目して部分集合を順次に導出し、導出した方向および導出した部分集合に対応する語をグラフとして表示し、分析対象の文単位集合全体における代表的な複数の語およびそれら語の間の関係をグラフ表示して文単位集合全体の傾向を示唆することができる。
【発明を実施するための最良の形態】
【0020】
以下、この発明の実施例について説明する。
【実施例1】
【0021】
図1は、この発明の原理的な構成を説明する実施例1のグラフ表示システム110を全体として示している。この例では、コンピュータ200上のソフトウェアとして実現している。ソフトウェアは周知の手法により記録媒体201を用いたり、通信回線を用いてコンピュータ200にインストールできる。図ではスタンドアローンの構成となっているが、ネットワークにより接続されたサーバ装置およびクライアント装置で構成しても良い。実施例1のグラフ表示システム110の各機能ブロックは、典型的には、ソフトウェアおよびコンピュータ200のハードウェア資源が協働して実現する。
【0022】
グラフ表示システム110は、例えば、アンケートの回答を解析目的として、回答内に含まれる自由形式のメッセージ(1または複数の文からなる文単位)の傾向をメッセージに含まれる語を含むグラフを表示して提示する。固定形式の回答(選択枝、または固定語)を併せて用いてもよい。
【0023】
この実施例では、図2に示すように、表示する語と、語の間の関係(リンク)とを特定する。具体的にはつぎの処理を行う。
【0024】
(1)メッセージ集合に含まれる語の頻度を求める。
(2)頻度の多い順にL個の部分集合を作る。以下ではLを幅と呼ぶことがある。
(3)部分集合の各々について、処理(2)を行う。これをM回繰り返す。以下ではMを深さと呼ぶこともある。
【0025】
このようにして部分集合を幅L、深さMで導出し、導出した部分集合の作成に用いた語を表示対象の語として選択し、導入元の集合から導入先の集合への関係を導入元の集合から特定された語から、導入先の集合から特定された語へのリンクとし、特定した語およびリンクからなるグラフを生成して表示する。
【0026】
図1において、グラフ表示システム110は、語出現データ記憶部150、頻度計算部170、語特定部180、部分集合導出部160、グラフ表示部190等を含んで構成される。
【0027】
語出現データ記憶部150は、例えば、図4に示すようなデータ構造の語出現データを保持する。この例では、語出現データはメッセージ番号、語ID、メッセージ(アンケートの回答)に付与された複数の属性の値を含むが、これに限定されない。属性は、性別、年齢(年齢範囲)、居住地範囲等である。1のメッセージにN個の異なり語が含まれる場合には、N個の語出現データが準備される。準備対象の語を名詞等の品詞で限定してもよい。
語出現データの具体的な例は、これに限定されないが、例えば図5に示すようなものであり、メッセージ番号、述部を受け部とする係り受け関係、メッセージ(文)、メッセージの属性値(「fact」欄)を含んでなる。例えば、最上行のデータは、メッセージ番号が10419で、述部(受け部)が「合う」で名詞部(係り部)が「肌」である。係り部を助詞の「は」、「が」、「を」、「に」、「で」等で区分して表示できるので、係り受け関係を参照するだけで全体としての意味内容の把握が容易になる。
【0028】
頻度計算部170は、対象語の各々が出現するメッセージが、対象メッセージ集合内にいくつあるかを計算するものであり、典型的には、語IDごとに当該語出現データを含む語出現データの個数を計算するけれども、語ごとのメッセージ数のヒストグラムを生成するものであれば、どのような手法を採用してもよい。
【0029】
語特定部180は、頻度計算部170で計算された頻度に基づいて、頻度が1位からL位までのL個の語を特定する。
【0030】
部分集合導出部160は、図2を参照して説明した手順で部分集合を導出していくものであり、その際、頻度計算部170に対して導入元の集合を指定し、語特定部180から特定された語を取得する。部分集合導出部160は、特定した語から図6(a)に示すようなノードデータを取得し、また部分集合の導入元および導入先に基づいて図6(b)に示すようなリンクデータを取得する。ノードデータはノードID、語ID、語(文字列)、ノードに対応する部分集合に含まれるメッセージの個数(要素数)等を含むが、これに限定されない。リンクデータは、リンクID、ソースノード(親、導出元)のノードID、ターゲットノード(子、導出先)のノードID等を含むが、これに限定されない。
グラフ表示部190は部分集合導出部160からノードデータおよびリンクデータを取得してグラフのネットワーク構造を決定しグラフ表示を行う。ネットワーク構造は任意の手法により決定でき、これに限定されないが、「キーグラフ」(http://www2.kke.co.jp/keygraph)や「GraphViz」(http://i.loverruby.net/ja/rhg/cd/graphviz.html)を利用できる。グラフ表示部190の表示例は例えば図9に示すようなものであり、対象となるメッセージ集合全体において出現する語をリンクで結びつけるものである。語(ノード)やリンクの大きさ、太さ、色等をメッセージの頻度に応じて可変させてよい。
【0031】
図3はこの実施例の動作例を示しており、その処理は以下のとおりである。
【0032】
[ステップS10]:メッセージの全体集合を頻度計算の対象にセットする。
[ステップS11]:語の頻度を計算する。
[ステップS12]:頻度が上位のL個以下の語を選択する。例えば、深さ優先(バックトラック法)で部分集合を探索する場合には、図6(a)(L=2の例)に示すように、1〜Nの部分集合を探索し、最上位の1個の語を選択していく。幅優先で部分集合を探索する場合には、図6(b)(L=2の例)に示すように1〜Nの部分集合を探索していく。
[ステップS13]:ノード/リンクデータを生成して記憶する。記憶箇所は、語出現データ記憶部150を用いてもよいし、他の任意の記憶手段を用いてよい。
[ステップS14]:選択語に対応する部分集合を頻度計算の対象にセットする。
[ステップS15]:終了条件が満たされるかどうかを判別し、満たされない場合はステップS11に戻り、満たされた場合にはステップS16へ進む。終了条件は、指定された深さまで語が特定され終わった場合や、上限数の語が特定された場合や、下限数以上のメッセージを含む集合がなくなった場合等であるが、これに限定されない。
[ステップS16]:グラフ表示部190がノードデータおよびリンクデータを用いて所定のグラフ生成手法でグラフデータを生成してグラフを表示する。
【0033】
図8は、メッセージの全体の集合の語ごとのメッセージ頻度を棒グラフで表示し(図8(a)、さらに、これを語のグラフで表示したものである(Mを1とした)。この例では、図2に示すような階層的な処理を行っていないので、どの語が多く出現しているかを示すにすぎない。
【0034】
図9は、この実施例のグラフ表示システム110を用いて、化粧品の自由形式のアンケート(「現在使用しているファウンデーションお好きな点・気に入っている点」)の回答から準備したメッセージ集合から、生成したグラフの表示例を示す。グラフのリンクをたどってどのようなことが語られているかを把握することが可能である。例えば、一塊の語群を部分グラフとして把握してそれぞれから意味合いを抽出する。図9の例では、(1)自分に合った色合い、(2)価格・品質、(3)仕上がり、(4)伸び等が意味合いとして含まれることを把握できる。
【0035】
図10および図11は、年齢範囲で層別したグラフである。図10は、年齢の属性値に基づいて25歳〜29歳の回答者のメッセージを全体集合として生成したグラフであり、図11は、40歳〜49歳の回答者のメッセージを全体集合として生成したグラフである。図10からは、使い心地については、無添加であること、敏感肌であることが語られていることが把握できる。図11からはカバー力・薄付きについては、シミを語っており、またUV効果も語っていることが把握できる。
【0036】
この実施例では、グラフ上に分布される語の配置に基づいてどのような事柄が話題になっているかを把握することが容易になる。
【実施例2】
【0037】
つぎにこの発明を具体的に適用した実施例2のグラフ表示システム100について説明する。
【0038】
図12は、この発明の具体的な実施例2のグラフ表示システム100を全体として示している。この例では、グラフ表示システム100をコンピュータ200上のソフトウェアとして実現している。ソフトウェアは周知の手法により記録媒体201を用いたり、通信回線を用いてコンピュータ200にインストールできる。図ではスタンドアローンの構成となっているが、ネットワークにより接続されたサーバ装置およびクライアント装置で構成しても良い。実施例2のグラフ表示システム110の各機能ブロックは、典型的には、ソフトウェアおよびコンピュータ200のハードウェア資源が協働して実現する。なお、図12において図1と対応する箇所には対応する符号を付した。
【0039】
図12において、グラフ表示システム100は、文書入力部10、形態素解析部11、構文解析部12、構文解析結果データ記憶部13、係り受け関係抽出部14、係り受け関係集合記憶部15、部分集合導出部16、頻度計算部17、語特定部18、グラフ表示部19等を含んで構成されている。この例では、一群の文からなる文書データから係り受け関係の集合を抽出して係り受け関係集合記憶部15に記憶するようにしているけれども、外部から係り受け関係集合を取得して係り受け関係集合記憶部15に記憶するようにしても良い。
【0040】
この実施例では、文書データから抽出した係り受け関係のデータ(以下に述べるように基礎意味チャンクといい、用言節等の受け部分を共通にする範囲で一まとめにされたものである)を、係り受け関係に着目して係り語、受け語、その他の語で検索し、典型的には、係り語や受け語を対比させて表示して、文の把握を支援することも可能である。
【0041】
文書入力部10は、一群のアンケート(自由形式のアンケートの回答。メッセージ)や一群の電子メール等の文書データ(コーパスともいう)を入力するものであり、文書データは後続の形態素解析等を行なうために適宜に前処理されてもよい。文書入力部10は、文書データを入力できるものであればどのようなものでもよく、例えば、ファイルシステム、外部記憶装置、通信回線、I/O装置等から構成される。文書入力部10は、アンケートや電子メール等のメッセージを受信するシステムであってもよいし、文字認識装置、音声認識装置等であってもよい。文書データの例は例えば図14に示すようなものであり、この例では、化粧品のアンケート結果から取得した文が文の番号を割り当てられて管理されている。
【0042】
形態素解析部11は、周知の任意の形態素解析手法で形態素解析辞書を参照して文を形態素に分解するものである。形態素解析は例えば図15に示すように行なわれる。
【0043】
構文解析部12は、周知の任意の構文解析手法で、構文規則に基づいて、形態素解析結果を構文解析する。すなわち、図13に示すように、一群の文のデータ(コーパス)が文書入力部10により入力される(S110)。形態素解析部11は、1つの文のデータを処理対象として取り出し、形態素解析を行い、構文解析部12は形態素解析結果に基づいて構文解析を行なう(S111〜S113)。構文解析結果は構文解析結果データ記憶部13に登録され、すべての文について以上の処理を繰り返す(S114、S115)。構文解析結果は例えば図16に示すようなものであり、理解を容易にするためにこれを木構造で表すと図17に示すようになる。
【0044】
係り受け関係抽出部14は、係り受け関係抽出規則を構文解析結果のデータに適用して係り受け関係集合を抽出して、係り受け関係集合記憶部15に記録するものである。係り受け関係抽出規則は例えば図19に示すようなものであり、図中、「*」は任意個のサブ木(分の構文解析木の部分をなす要素)である。この例では連用の係り受け関係を抽出するものであるが、連体の係り受け関係についても同様である。係り受け関係抽出規則を用いて例えば図20に矢印で示すように係り受け関係を抽出できる。この例では連用の係り受け関係を示している。
【0045】
係り受け関係抽出部14は、図18に示すように、抽出規則を入力し(S120)、該当する係り受け関係を構文解析結果のデータから抽出して(S121)、係り受け関係集合記憶部15に記憶する(S122)。
【0046】
抽出された係り受け関係のデータは、用言節等の受け部分を共通にする範囲で一まとめにされた態様で表現される。係り部は0個または複数個である。以下では、このようなデータを基礎意味チャンクとも呼ぶ。基礎意味チャンクは、例えばプログラミング言語Prologのファクト形式のデータ構造で表され、図21はこのようなデータ構造の例を示す。このデータ構造では、基礎意味チャンクとチャンク述部の2種類のデータからなる。図21の例では、「1」は文番号を示し、「紹介,する,た」は用言節の形態素列を終止形で並べたものであり、「23,31」はその出現位置を示すバイトオフセットであり、「太郎,は」、「5,11」、「花子,を」、「17,23」、「次郎,に」、「11,17」はそれぞれ受け部分の形態素列およびそれぞれの出現位置を示すバイトオフセットである。「3」は係り受けの個数を示す。「紹介_例文」はコーパスの名称である。
【0047】
係り受け関係集合記憶部15は係り受け関係集合(基礎意味チャンク集合)を記憶するものである。係り受け関係集合記憶部15は実施例1の語出現データ記憶部150に対応し、係り受け関係集合は例えば図5に示すようなものと同じである。
【0048】
頻度計算部17、語特定部18、部分集合導出部16、およびグラフ表示部19は、実施例1の頻度計算部170、語特定部180、部分集合導出部160、およびグラフ表示部190と対応するものである。
【0049】
すなわち、頻度計算部17は、対象語の各々が出現するメッセージが対象メッセージ集合内にいくつあるかを計算するものであり、典型的には、語ごとに当該語を含むメッセージの個数を計算する。
【0050】
語特定部18は、頻度計算部17で計算された頻度に基づいて、頻度が1位からL位までのL個の語を特定する。
【0051】
部分集合導出部16は、さきに図2を参照して説明した手順で部分集合を導出していくものであり、その際、頻度計算部17に対して導入元の集合を指定し、語特定部18から特定された語を取得する。部分集合導出部16は、特定した語から、さきに図6(a)に示したようなノードデータを取得し、また部分集合の導入元および導入先に基づいて図6(b)に示したようなリンクデータを取得する。ノードデータはノードID、語ID、語(文字列)、ノードに対応する部分集合に含まれるメッセージの個数(要素数)等を含むが、これに限定されない。リンクデータは、リンクID、ソースノード(親、導出元)のノードID、ターゲットノード(子、導出先)のノードID等を含むが、これに限定されない。
グラフ表示部19は部分集合導出部16からノードデータおよびリンクデータを取得してグラフのネットワーク構造を決定しグラフ表示を行う。ネットワーク構造は任意の手法により決定できる。以下、表示例を説明する。ただし、語(ノード)やリンクの大きさ、太さ、色等をメッセージの頻度に応じて可変させてよい。
【0052】
図22は、この実施例でグラフ表示のパラメータを設定するユーザインタフェース例を示す。この例では、部分集合導出モードをラジオボタンR1、R2を用いて深さ優先および幅優先から選択し、ファンアウト(幅L)、深さMを入力フォームF1、F2に入力し、ファンイン(ノードに入力するリンクの数。同一の語を特定して部分集合を選択できる個数)を指定する。また表示オプションとして全体ノードの表示・非表示や頻度表示をラジオボタンR3、R4で指定できる。なお、パラメータにデフォルト値を設けておいても良い。グラフ表示のパラメータを設定したらグラフ表示ボタンBを操作してグラフ表示処理を開始させる。グラフ表示処理は典型的には図3に示すように実行される。
【0053】
図23は、ファンアウト10、深さ2、ファンイン1、幅優先、全体ノード表示、頻度表示(ターゲットノードのメッセージ数)で設定したときのグラフを示す。この例では、幅優先であるので、頻度の多い語が表示されるので話題の把握が容易である。ただし、話題(頻度の多い語)同士の関係が若干把握しにくい。
【0054】
図24は、ファンアウト10、深さ4、ファンイン1、深さ優先、全体ノード表示、頻度表示で設定したときのグラフを示す。この例では、頻度の多い語(話題)を共起関係で接続していくことができ、話題同士の関係を把握しやすい。ただし、深さを短くした場合、頻度の多い語でも表示されない場合がある(左から探索していく場合、上位階層で、右端の語)。
【0055】
図25は、ファンアウト10、深さ3、ファンイン2、幅優先、全体ノード表示、頻度非表示で設定したときのグラフを示す。この例では、ファンインを多くした分、話題(語)の間の関係を把握しやすくなるが、グラフ表示が煩雑になる。
【0056】
図26は、ファンアウト10、深さ3、ファンイン3、幅優先、全体ノード表示、頻度非表示で設定したときのグラフを示す。この例では、ファンインを多くした分、話題(語)の間の関係を把握しやすくなるが、グラフ表示が一層煩雑になる。
【0057】
図27は、ファンアウト10、深さ5、ファンイン1、幅優先、全体ノード表示、頻度非表示で設定したときのグラフを示す。この例では、深さを大きくした分、話題の関係を広範囲にフォローできる。ただし、その分、話題を把握する上でノイズとなる場合もある。頻度(ターゲットノード中のメッセージの頻度。全体メッセージ集合中の語の頻度ではない)を表示して、あるいは、頻度に応じて色を変えて、重要な話題を強調しても良い。
【0058】
図28は、ファンアウト10、深さ3、ファンイン1、幅優先、全体ノード表示、頻度非表示で設定したときのグラフを示す。この例では、話題を幅広く表示できる。
【0059】
なお、以上の表示例において、図9等に鎖線で囲むようにユーザが着目領域を指定して色属性等で区分けして表示しても良い。
【実施例3】
【0060】
つぎにこの発明の実施例3のグラフ表示システム120について説明する。
【0061】
この実施例のグラフ表示システム120は、深さ優先、幅優先の他に、「エッジ頻度優先」で語を選択表示するものである。ここで、「エッジ頻度」は、対象のメッセージ集合全体の中で、所定の語Vを含むメッセージの集合の中で、他の語Wを含むメッセージの数Xをいう。これをV→W(X)で表す。例えば、携帯電話→子供(100)は、携帯電話という語を含むメッセージ集合の中で、子供という語を含むものは100件ある、ということである。→の元の語をソース、先の語をターゲットと呼ぶ。
【0062】
図29は実施例3のグラフ表示システム120を全体として示しており、この図において、図1と対応する箇所には対応する符号を付した。この例では、コンピュータ200上のソフトウェアとして実現している。ソフトウェアは周知の手法により記録媒体201を用いたり、通信回線を用いてコンピュータ200にインストールできる。図ではスタンドアローンの構成となっているが、ネットワークにより接続されたサーバ装置およびクライアント装置で構成しても良い。実施例1のグラフ表示システム110の各機能ブロックは、典型的には、ソフトウェアおよびコンピュータ200のハードウェア資源が協働して実現する。
【0063】
図29において、グラフ表示システム120は、語出現データ記憶部150、エッジ頻度計算部171、語対特定部181、グラフ表示部190等を含んで構成される。このグラフ表示システム120は図29には示さないが図1に示す構成もあわせ持つ。もちろん、エッジ頻度優先の表示に必要な部分のみから構成しても良い。エッジ頻度計算部151は語出現データ記憶部150を参照して2つの語V、Wについてエッジ頻度V→W(X)を計算するものである。語対特定部181は、エッジ頻度V→W(X)で語の対(V,W)をソートして頻度が設定頻度より大きい語対を特定してノードデータおよびリンクデータを生成する。上位所定数の語対を特定しても良い。グラフ表示部190は語対特定部181から受け取ったノードデータおよびリンクデータに基づいてグラフを表示する。
【0064】
図30はグラフ表示システム120の動作例を説明するものであり、その詳細は以下のとおりである。
【0065】
[ステップS20]:メッセージの全体集合を対象にセットする。
[ステップS21]:エッジ頻度V→W(X)を計算する。
[ステップS22]:エッジ頻度V→W(X)で語対(V,W)をソートする。
[ステップS23]:エッジ頻度が閾値を越える語対(V,W)を特定する。その他の条件、例えば、語対の個数等で、選択しても良い。
[ステップS24]:特定した語対(V,W)からノードデータおよびリンクデータを生成する。
[ステップS25]:ノードおよびリンクを含むグラフを表示する。
【0066】
図31は、グラフ表示のパラメータを設定するユーザインタフェース例を示す。この例では、語探索モード(部分集合導出モード)に、幅優先、深さ優先に加えて、エッジ頻度優先を含めて、ラジオボタンR4で指定し、表示対象のエッジ頻度閾値を入力フォームF4で指定するようになっている。
【0067】
図32は、エッジ頻度優先、ファンイン3、エッジ頻度閾値10、頻度非表示、全体ノード表示で設定したときのグラフを示す。この例でも、エッジ頻度閾値を適切に設定することにより、枝刈りを行って、煩雑でない態様で話題および話題の間の関係を表示できる。表示対象の語数を制限することにより枝刈りを行っても良い。
【0068】
なお、この発明は特許請求の範囲の記載に基づいて決定されるものであり、実施例の具体的な構成、課題、および効果には限定されない。この発明は上述の実施例に限定されるものではなくその趣旨を逸脱しない範囲で種々変更が可能である。例えば、グラフ表示における語のノードをクリック操作等することにより、対応する語を含む係り受け関係やメッセージを図5に示すように表示するようにしても良い。
【図面の簡単な説明】
【0069】
【図1】この発明の実施例1の構成を説明するブロック図である。
【図2】上述実施例1の動作を模式的に説明する図である。
【図3】上述実施例1の動作例を説明するフローチャートである。
【図4】上述実施例1の語出現データを説明する図であるである。
【図5】上述実施例1の係り受け関係の語出現データを説明する図である。
【図6】上述実施例1のノードデータおよびリンクデータを説明する図である。
【図7】上述実施例1の深さ優先および幅優先で部分集合を導出する例を説明する図である。
【図8】従来の表示態様を説明する図である。
【図9】上述実施例1の表示例を説明する図である。
【図10】上述実施例1の属性値で層別した表示例を説明する図である。
【図11】上述実施例1の属性値で層別した他の表示例を説明する図である。
【図12】この発明の実施例2の構成を全体として示すブロック図である。
【図13】上述実施例2の構文解析結果取得動作例を説明するフローチャートである。
【図14】上述実施例2の文書データの例を説明する図である。
【図15】上述実施例2の形態素解析の例を説明する図である。
【図16】上述実施例2の構文解析結果の例を説明する図である。
【図17】上述実施例2の構文解析結果の木構造表現を説明する図である。
【図18】上述実施例2の係り受け関係抽出の動作例を説明するフローチャートである。
【図19】上述実施例2の係り受け関係抽出規則の例を説明する図である。
【図20】上述実施例2の係り受け関係の抽出結果の例を説明する図である。
【図21】上述実施例2の係り受け関係のデータ構造の例を説明する図である。
【図22】上述実施例2のグラフ表示のパラメータを設定するユーザインタフェース例を説明する図である。
【図23】上述実施例2のグラフ表示例を説明する図である。
【図24】上述実施例2の他のグラフ表示例を説明する図である。
【図25】上述実施例2の他のグラフ表示例を説明する図である。
【図26】上述実施例2の他のグラフ表示例を説明する図である。
【図27】上述実施例2の他のグラフ表示例を説明する図である。
【図28】上述実施例2の他のグラフ表示例を説明する図である。
【図29】この発明の実施例3の構成を全体として示すブロック図である。
【図30】上述実施例3の動作例を説明するフローチャートである。
【図31】上述実施例3のグラフ表示のパラメータを設定するユーザインタフェース例を説明する図である。
【図32】上述実施例3のグラフ表示例を説明する図である。
【符号の説明】
【0070】
110 グラフ表示システム
150 語出現データ記憶部
160 部分集合導出部
170 頻度計算部
180 語特定部
190 グラフ表示部
【特許請求の範囲】
【請求項1】
複数の文単位を含んでなる解析対象の文単位集合において出現する語をグラフ表示するグラフ表示装置において、
文単位に対応づけて当該文単位に出現する語を記憶する記憶手段と、
文単位集合中の文単位に出現する語について当該文単位集合における頻度を上記記憶手段を参照して計算する頻度計算手段と、
上記頻度計算手段が計算した頻度を参照して、上記文単位集合において頻度が上位のL(2以上の整数)個以下の語を特定する語特定手段と、
上記語特定手段で特定された語の各々について、上記文単位集合から、当該語を含む文単位からなる部分集合を導出する部分集合導出手段と、
上記部分集合に対応する語および導出元の文単位集合に対応する語から導出先の部分集合に対応する語へのリンクを表示する表示手段とを有し、
上記部分集合導出手段は、ルートの文単位集合から開始して繰り返し部分集合を導出することを特徴とするグラフ表示装置。
【請求項2】
上記部分集合導出手段は、深さ優先探索で部分集合を導出する請求項1記載のグラフ表示装置。
【請求項3】
上記部分集合導出手段は、幅優先探索で部分集合を導出する請求項1記載のグラフ表示装置。
【請求項4】
複数の文単位を含んでなる解析対象の文単位集合において出現する語をグラフ表示するグラフ表示装置において、
文単位に対応づけて当該文単位に出現する語を記憶する記憶手段と、
上記解析対象の文単位集合中の文単位において対をなす第1の語および第2の語が共起する頻度を上記記憶手段を参照して計算する頻度計算手段と、
上記頻度計算手段が計算した頻度が閾値を越える対の各々について、当該対の頻度が、当該対の第1の語を同じくする対のうちで上位L(2以上の整数)位までに含まれない場合を除いて、当該対をなす第1の語および第2の語を特定する語特定手段と、
上記語特定手段で特定された第1の語および第2の語、ならびにこれらを連結するリンクからなるグラフを表示する表示手段とを有することを特徴とするグラフ表示装置。
【請求項5】
上記部分集合導出手段は、当該部分集合中の対応する語の頻度が大きい順に部分集合を導出する請求項1記載のグラフ表示装置。
【請求項6】
上記記憶手段は、文単位ごとに1または複数の属性を記憶し、属性に応じて解析対象の文単位集合を絞り込む請求項1〜5のいずれかに記載のグラフ表示装置。
【請求項7】
文単位は、1または複数の文から構成される請求項1〜6のいずれかに記載のグラフ表示装置。
【請求項8】
上記語は名詞である請求項1〜7のいずれかに記載のグラフ表示装置。
【請求項9】
上記語特定手段は、同一の語が所定回数以上特定されるのを禁止する請求項1〜7のいずれかに記載のグラフ表示装置。
【請求項10】
上記語特定手段は、同一の語が複数回特定されるのを禁止する請求項9に記載のグラフ表示装置。
【請求項11】
複数の文単位を含んでなる解析対象の文単位集合において出現する語をグラフ表示するグラフ表示用プログラムにおいて、
文単位に対応づけて当該文単位に出現する語を記憶する記憶手段、
文単位集合中の文単位に出現する語について当該文単位集合における頻度を上記記憶手段を参照して計算する頻度計算手段、
上記頻度計算手段が計算した頻度を参照して、上記文単位集合において頻度が上位のL(2以上の整数)個以下の語を特定する語特定手段、
上記語特定手段で特定された語の各々について、上記文単位集合から、当該語を含む文単位からなる部分集合を導出する部分集合導出手段、
上記部分集合に対応する語および導出元の文単位集合に対応する語から導出先の部分集合に対応する語へのリンクを表示する表示手段として、
コンピュータを機能させ、さらに、上記部分集合導出手段が、ルートの文単位集合から開始して繰り返し部分集合を導出するように機能させることを特徴とするグラフ表示用プログラム。
【請求項1】
複数の文単位を含んでなる解析対象の文単位集合において出現する語をグラフ表示するグラフ表示装置において、
文単位に対応づけて当該文単位に出現する語を記憶する記憶手段と、
文単位集合中の文単位に出現する語について当該文単位集合における頻度を上記記憶手段を参照して計算する頻度計算手段と、
上記頻度計算手段が計算した頻度を参照して、上記文単位集合において頻度が上位のL(2以上の整数)個以下の語を特定する語特定手段と、
上記語特定手段で特定された語の各々について、上記文単位集合から、当該語を含む文単位からなる部分集合を導出する部分集合導出手段と、
上記部分集合に対応する語および導出元の文単位集合に対応する語から導出先の部分集合に対応する語へのリンクを表示する表示手段とを有し、
上記部分集合導出手段は、ルートの文単位集合から開始して繰り返し部分集合を導出することを特徴とするグラフ表示装置。
【請求項2】
上記部分集合導出手段は、深さ優先探索で部分集合を導出する請求項1記載のグラフ表示装置。
【請求項3】
上記部分集合導出手段は、幅優先探索で部分集合を導出する請求項1記載のグラフ表示装置。
【請求項4】
複数の文単位を含んでなる解析対象の文単位集合において出現する語をグラフ表示するグラフ表示装置において、
文単位に対応づけて当該文単位に出現する語を記憶する記憶手段と、
上記解析対象の文単位集合中の文単位において対をなす第1の語および第2の語が共起する頻度を上記記憶手段を参照して計算する頻度計算手段と、
上記頻度計算手段が計算した頻度が閾値を越える対の各々について、当該対の頻度が、当該対の第1の語を同じくする対のうちで上位L(2以上の整数)位までに含まれない場合を除いて、当該対をなす第1の語および第2の語を特定する語特定手段と、
上記語特定手段で特定された第1の語および第2の語、ならびにこれらを連結するリンクからなるグラフを表示する表示手段とを有することを特徴とするグラフ表示装置。
【請求項5】
上記部分集合導出手段は、当該部分集合中の対応する語の頻度が大きい順に部分集合を導出する請求項1記載のグラフ表示装置。
【請求項6】
上記記憶手段は、文単位ごとに1または複数の属性を記憶し、属性に応じて解析対象の文単位集合を絞り込む請求項1〜5のいずれかに記載のグラフ表示装置。
【請求項7】
文単位は、1または複数の文から構成される請求項1〜6のいずれかに記載のグラフ表示装置。
【請求項8】
上記語は名詞である請求項1〜7のいずれかに記載のグラフ表示装置。
【請求項9】
上記語特定手段は、同一の語が所定回数以上特定されるのを禁止する請求項1〜7のいずれかに記載のグラフ表示装置。
【請求項10】
上記語特定手段は、同一の語が複数回特定されるのを禁止する請求項9に記載のグラフ表示装置。
【請求項11】
複数の文単位を含んでなる解析対象の文単位集合において出現する語をグラフ表示するグラフ表示用プログラムにおいて、
文単位に対応づけて当該文単位に出現する語を記憶する記憶手段、
文単位集合中の文単位に出現する語について当該文単位集合における頻度を上記記憶手段を参照して計算する頻度計算手段、
上記頻度計算手段が計算した頻度を参照して、上記文単位集合において頻度が上位のL(2以上の整数)個以下の語を特定する語特定手段、
上記語特定手段で特定された語の各々について、上記文単位集合から、当該語を含む文単位からなる部分集合を導出する部分集合導出手段、
上記部分集合に対応する語および導出元の文単位集合に対応する語から導出先の部分集合に対応する語へのリンクを表示する表示手段として、
コンピュータを機能させ、さらに、上記部分集合導出手段が、ルートの文単位集合から開始して繰り返し部分集合を導出するように機能させることを特徴とするグラフ表示用プログラム。
【図1】
【図3】
【図4】
【図6】
【図7】
【図9】
【図10】
【図11】
【図12】
【図13】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図2】
【図5】
【図8】
【図14】
【図3】
【図4】
【図6】
【図7】
【図9】
【図10】
【図11】
【図12】
【図13】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図2】
【図5】
【図8】
【図14】
【公開番号】特開2009−128949(P2009−128949A)
【公開日】平成21年6月11日(2009.6.11)
【国際特許分類】
【出願番号】特願2007−299854(P2007−299854)
【出願日】平成19年11月19日(2007.11.19)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
【公開日】平成21年6月11日(2009.6.11)
【国際特許分類】
【出願日】平成19年11月19日(2007.11.19)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
[ Back to top ]