JP7413214B2 - 情報処理装置、情報処理方法及び情報処理プログラム - Google Patents

情報処理装置、情報処理方法及び情報処理プログラム Download PDF

Info

Publication number
JP7413214B2
JP7413214B2 JP2020151010A JP2020151010A JP7413214B2 JP 7413214 B2 JP7413214 B2 JP 7413214B2 JP 2020151010 A JP2020151010 A JP 2020151010A JP 2020151010 A JP2020151010 A JP 2020151010A JP 7413214 B2 JP7413214 B2 JP 7413214B2
Authority
JP
Japan
Prior art keywords
words
word
nodes
cluster
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020151010A
Other languages
English (en)
Other versions
JP2022045417A (ja
Inventor
泰豊 武山
快行 爰島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2020151010A priority Critical patent/JP7413214B2/ja
Priority to US17/186,258 priority patent/US11704491B2/en
Publication of JP2022045417A publication Critical patent/JP2022045417A/ja
Application granted granted Critical
Publication of JP7413214B2 publication Critical patent/JP7413214B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/353Clustering; Classification into predefined classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/355Class or cluster creation or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Description

実施形態は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
プログラム又は装置の動作条件及び動作内容をグラフ構造にまとめる作業は、これらのプログラム又は装置の設計の際に一般的に行われている。これらの動作条件や動作内容は多岐に渡ることが多い。このため、まとめられるグラフ構造は、ノード数が多い大きなものになることが多い。ディスプレイの画面の制限のため、大きすぎるグラフ構造の全体が一度に表示されても、ユーザはそのグラフ構造の内容を読むことができない。一方、大きすぎるグラフ構造の一部だけが拡大表示されると、ユーザはそのグラフ構造の全容を把握することができない。このため、大きすぎるグラフ構造では、概要の把握、抜け又は漏れの確認が困難である。そこで、ノード数が多い大きなグラフ構造を要約することで全容の把握を容易にする技術の需要が高まっている。
従来の技術では、グラフ構造がグラフカットによって複数のクラスタに分けられ、各クラスタを表すテキストがクラスタ内に含まれるノードに現れる頻出単語によって決定される。各クラスタを表すテキストにより、ユーザは、複数のクラスタに分けられた状態であってもグラフ構造の全容を把握しやすくする。
ここで、各クラスタを表すテキストは、グラフ構造によっては似たようなものになる。例えば、プログラムの動作を表すグラフ構造であれば、「データ」、「エラー」、「更新」、「保存」、「表示」等の単語がすべてのクラスタで頻出しやすく、装置の動作を表すグラフ構造であれば、「スイッチ」、「電圧」、「検出」「起動」等の単語がすべてのクラスタで頻出しやすい。この場合、複数のクラスタが同様にこれらの単語で表されることになる。複数のクラスタが同じテキストで表されてしまうと、クラスタ毎の違いがわからなくなる。この場合、ユーザはグラフ構造の全容を把握することが困難である。
特開2013-130929号公報
実施形態は、クラスタを表すテキストを適切に決定することができる情報処理装置、情報処理方法及び情報処理プログラムを提供する。
一態様の情報処理装置は、割当部と、単語分類部と、頻出単語抽出部とを備える。割当部は、テキストを含む複数のノードとノードの間を接続するエッジとを有するグラフ構造の入力を受け、グラフ構造のノードを1以上のクラスタに割り当てる。単語分類部は、各々のクラスタに割り当てられたノードに含まれるテキストを単語に分割し、分割された単語を、動作の主体又は対象を表す単語と、動作の内容又は状態を表す単語と、その他の単語とに分類する。頻出単語抽出部は、各々のクラスタについて、動作の主体又は対象を表す単語に分類された1以上の第1の単語の出現頻度をカウントすることで第1の頻出単語を抽出し、動作の内容又は状態を表す単語に分類された1以上の第2の単語の出現頻度をカウントすることで第2の頻出単語を抽出する。
図1は、各実施形態に係る情報処理装置の一例の構成を示す図である。 図2は、入力されるグラフ構造の例を示す図である。 図3は、情報処理装置のハードウェア構成の一例を示す図である。 図4は、情報処理装置によるグラフ構造の要約の動作を示すフローチャートである。 図5Aは、クラスタへのノードの割り当ての例を示す図である。 図5Bは、要約されたグラフ構造の例を示す図である。 図6は、要約されたグラフ構造の表示例を示す図である。
以下、図面を参照して実施形態を説明する。
[第1の実施形態]
図1は、各実施形態に係る情報処理装置の一例の構成を示す図である。情報処理装置1は、入力部11と、割当部12と、単語分類部13と、頻出単語抽出部14と、グラフ生成部15とを有する。
入力部11は、グラフ構造のデータの入力を受け付ける。グラフ構造は、複数のものの関連をノードとエッジとの組み合わせで表したものである。ノードは、グラフ構造における頂点である。エッジは、ノード間を結ぶ辺である。グラフ構造のデータは、ユーザによって事前に入力され得る。
図2は、入力されるグラフ構造の例を示す図である。実施形態におけるグラフ構造は、例えばプログラム又は装置の動作を表す。このとき、ノードは、テキストを含むノードと論理演算子を含むノードとの2種類のノードを有する。テキストは、プログラム又は装置の動作の内容又は動作の条件を表す。また、論理演算子は、AND、OR、NOTといった論理演算子である。また、ノード間は、有向エッジによって接続されている。有向エッジにより、プログラム又は装置の動作の遷移又は入出力の関係が表される。ここで、図2のグラフ構造は、表示装置に表示された記事に対してユーザがコメントを投稿するコメント投稿処理を実行するためのプログラムの動作を表すグラフ構造である。
グラフ構造のデータは、例えば、インデックス番号と、内容と、接続先インデックス番号とを含む。インデックス番号は、各ノードに割り当てられたインデックス番号である。内容は、各ノードの内容を表すテキストデータ又は論理演算子である。接続先インデックス番号は、対応するインデックス番号のノードの接続先のノードのインデックス番号である。
割当部12は、グラフ構造におけるクラスタの範囲を決定する。このために、割当部12は、入力部11から受け取ったグラフ構造に含まれているノードをクラスタに割り当てる。ここで、割当部12は、1つのグラフ構造が複数のクラスタを含むように割り当てをしてもよいし、1つのクラスタだけを含むように割り当てをしてもよい。クラスタに割り当てるノードは、例えば以下のように決定されてよい。
割当部12は、グラフ構造の中で、接続先のノードがないノード(最終ノードと呼ぶ)を抽出する。最終ノードは、接続先インデックス番号が記録されていないノードである。最終ノードの抽出後、割当部12は、最終ノードからの距離が閾値を超える複数のノードをクラスタ候補ノードとして抽出し、クラスタ候補ノードのうちで互いにエッジで接続されているノード同士を1つのクラスタに割り当てる。例えば、割当部12は、最終ノードから逆方向にノードを遡りながら、遡ったエッジの数をカウントする。そして、割当部12は、遡ったエッジの数が閾値となるエッジに繋がるノード及びそのノードから遡れるノードを1つのクラスタに割り当てる。
このようにしてクラスタにノードが割り当てられたとき、グラフ構造上の近い位置にある複数のノードが1つのクラスタに割り当てられる。プログラム又は装置の動作を表すグラフ構造の場合、グラフ構造上の距離が近いノードの内容は近いか又は関連していることが多い。したがって、このような割り当てでは、比較的に簡易な処理で比較的に適切なクラスタの割り当てが行われる。
単語分類部13は、割当部12からグラフ構造のデータと、各クラスタに属するノードのインデックス番号とを受け取る。そして、単語分類部13は、各クラスタに含まれるノードの中のテキストデータを含むノードについて、テキストデータを単語(形態素)の単位に分割し、分割した単語を種類毎に分類する。単語分類部13は、各々の単語をその品詞に応じて例えば3種類に分類する。実施形態では、単語分類部13は、単語を、動作の主体又は対象を表す単語と、動作の内容又は状態を表す単語と、その他の単語とに分類する。動作の主体又は対象を表す単語は、名詞、代名詞等である。動作の内容又は状態を表す単語は、動詞、形容詞等である。その他の単語は、助詞、助動詞等である。ここで、単語の分割と分類は一般的な日本語向け形態素解析によって実現され得る。勿論、単語の分割と分類は日本語以外の言語向けの形態素解析によって行われてもよい。
頻出単語抽出部14は、単語分類部13からグラフ構造のデータと、各クラスタに属するノードのインデックス番号と、各クラスタに含まれる単語のデータと、各単語の分類結果の情報とを受け取る。そして、頻出単語抽出部14は、各クラスタに含まれる単語のうち、動作の主体又は対象を表す単語のクラスタ内での重複回数と、動作の内容又は状態を表す単語のクラスタ内での重複回数とをカウントする。そして、頻出単語抽出部14は、動作の主体又は対象を表す単語についてカウントされた重複回数の上位の特定数の単語である第1の頻出単語と、動作の内容又は状態を表す単語についてカウントされた重複回数の上位の特定数の単語である第2の頻出単語とを抽出する。つまり、実施形態では、頻出単語抽出部14は、単語の種類毎に頻出単語を抽出する。
ここで、抽出される単語の特定数は、任意に決められてよい。また、抽出される単語の特定数は、すべての種類で同じであってもよいし、種類毎に異なっていてもよい。また、動作の主体又は対象を表す単語と動作の内容又は状態を表す単語との少なくとも何れかの種類において、重複回数の上位の単語が特定数に満たない場合には、頻出単語抽出部14は、対応する種類に分類されるすべての単語を抽出してもよい。逆に、動作の主体又は対象を表す単語と動作の内容又は状態を表す単語との少なくとも何れかの種類において、重複回数の上位の単語が特定数よりも多いときには、頻出単語抽出部14は、重複回数の上位のすべての単語を抽出してもよいし、重複回数の上位の単語の中から特定数だけの単語を抽出してもよい。特定数だけの単語の抽出の仕方は特に限定されない。例えば、ランダムに特定数の単語が抽出されてもよい。
グラフ生成部15は、頻出単語抽出部14からグラフ構造のデータと、クラスタに属するノードの情報と、クラスタで抽出された頻出単語のデータとを受け取る。そして、グラフ生成部15は、グラフ構造のデータから、要約されたグラフ構造のデータを生成する。
具体的には、グラフ生成部15は、クラスタの各々を1つのノードで置き換える。また、グラフ生成部15は、置き換えたノードにクラスタを表すテキストデータを持たせる。クラスタを表すテキストデータは、第1の頻出単語と第2の頻出単語とが列挙されたテキストデータである。
さらに、グラフ生成部15は、クラスタに含まれるノードの接続先インデックス番号がクラスタの外のノードを指定している場合には、置き換えたノードからクラスタの外のノードに向けて有向エッジを接続する。また、グラフ生成部15は、クラスタの外のノードの接続先インデックス番号がクラスタの中のノードを指定している場合には、クラスタの外のノードから置き換えたノードに向けて有向エッジを接続する。
図3は、情報処理装置1のハードウェア構成の一例を示す図である。情報処理装置1は、例えばプロセッサ101と、メモリ102と、入力装置103と、表示装置104と、通信装置105と、ストレージ106とをハードウェアとして有している。プロセッサ101と、メモリ102と、入力装置103と、表示装置104と、通信装置105と、ストレージ106とは、バス107に接続されている。情報処理装置1は、パーソナルコンピュータ(PC)、スマートフォン、タブレット端末といった端末装置であってよい。しかしながら、情報処理装置1は、これに限るものではない。情報処理装置1は、グラフ構造によって規定される動作を実行する任意の装置又はグラフ構造によって規定される動作を実行するためのプログラムを搭載した任意の装置に組み込まれていてもよい。
プロセッサ101は、情報処理装置1の全体的な動作を制御するプロセッサである。プロセッサ101は、例えばストレージ106に記憶されているプログラムを実行することによって、入力部11と、割当部12と、単語分類部13と、頻出単語抽出部14と、グラフ生成部15として動作する。プロセッサ101は、例えばCPUである。プロセッサ101は、MPU、GPU、ASIC、FPGA等であってもよい。プロセッサ101は、単一のCPU等であってもよいし、複数のCPU等であってもよい。
メモリ102は、ROM及びRAMを含む。ROMは、不揮発性のメモリである。ROMは、情報処理装置1の起動プログラム等を記憶している。RAMは、揮発性のメモリである。RAMは、例えばプロセッサ101における処理の際の作業メモリとして用いられる。
入力装置103は、タッチパネル、キーボード、マウス等の入力装置である。入力装置103の操作がされた場合、操作内容に応じた信号がバス107を介してプロセッサ101に入力される。プロセッサ101は、この信号に応じて各種の処理を行う。入力装置103は、例えばグラフ構造のデータの入力に用いられ得る。
表示装置104は、液晶ディスプレイ、有機ELディスプレイ等の表示装置である。表示装置104は、各種の画像を表示する。
通信装置105は、情報処理装置1が外部の機器と通信するための通信装置である。通信装置105は、有線通信のための通信装置であってもよいし、無線通信のための通信装置であってもよい。
ストレージ106は、例えばハードディスクドライブ、ソリッドステートドライブといったストレージである。ストレージ106は、情報処理プログラム等のプロセッサ101によって実行される各種のプログラムを記憶している。また、ストレージ106は、テキストを形態素解析し、単語を分類するための単語辞書1061を記憶している。また、ストレージ106は、グラフ構造のデータ1062を記憶している。グラフ構造のデータ1062は、ユーザによって入力されたグラフ構造のデータを含む。グラフ構造のデータ1062は、ユーザによって入力されたグラフ構造のデータに加えて、ユーザによって入力されたグラフ構造のデータに基づいて要約されたグラフ構造のデータも含んでいてよい。単語辞書1061及びグラフ構造のデータ1062は、必ずしもストレージ106に記憶されている必要はない。例えば、単語辞書1061及びグラフ構造のデータ1062は、情報処理装置1の外部のサーバに記憶されていてもよい。この場合、情報処理装置1は、通信装置105を用いてサーバにアクセスすることで必要な情報を取得する。
バス107は、プロセッサ101と、メモリ102と、入力装置103と、表示装置104と、通信装置105と、ストレージ106との間のデータのやり取りのためのデータ転送路である。
次に情報処理装置1の動作を説明する。図4は、情報処理装置1による情報処理方法としてのグラフ構造の要約の動作を示すフローチャートである。図4の処理は、プロセッサ101によって実行される。
ステップS1において、プロセッサ101は、グラフ構造のデータを取得する。前述したように、グラフ構造のデータは、ユーザによって入力され得る。ユーザは、例えば入力装置103を操作してグラフ構造のデータを入力する。なお、プロセッサ101は、ストレージ106に記憶されているグラフ構造のデータ1062の中からユーザによって選択されたグラフ構造のデータを取得してもよい。
ステップS2において、プロセッサ101は、グラフ構造の各ノードをクラスタに割り当てる。前述したように、プロセッサ101は、グラフ構造の中の最終ノードを抽出する。例えば、図2のグラフ構造のデータが入力された場合、最終ノードは、ノードN12である。最終ノードの抽出後、プロセッサ101は、最終ノードから逆方向にノードを遡りながら遡ったエッジの数が閾値となるエッジに繋がるノード及びそのノードから遡れるノードを1つのクラスタに割り当てる。例えば、距離の閾値が「3」に設定されているとき遡ったエッジの数が閾値となるエッジは、図5Aに示すように、最終ノードN12から3つ目のエッジE1及びE2である。したがって、プロセッサ101は、エッジE1に繋がるノードN7、及びノードN7から遡ることができるノードN6、N5、N4、N3、N2、N1を1つのクラスタCに割り当てる。なお、エッジE2に繋がるノードは、ノードN9だけである。したがって、ノードN9のクラスタへの割り当ては行われなくてよい。
ステップS3において、プロセッサ101は、各クラスタに属するノードのテキストを単語の単位に分割し、分割した単語を種類毎に分類する。図2の例では、動作の主体又は対象を表す単語は、「記事」、「コメント」、「処理」、「ボタン」、「画面」といった単語である。また、動作の内容又は状態を表す単語は、「表示する」、「入力する」、「押す」、「計算する」といった単語である。なお、「AND」、「NOT」といった論理演算子は単語として抽出されなくてもよい。
ステップS4において、プロセッサ101は、種類毎に頻出単語を抽出する。例えば、各々の種類についての特定数が「1」に設定されているとき、プロセッサ101は、動作の主体又は対象を表す単語から重複回数が1位の単語を第1の頻出単語として抽出し、また、動作の内容又は状態を表す単語から重複回数が1位の単語を第2の頻出単語として抽出する。図2の例では、第1の頻出単語は重複回数が2回の「コメント」、「入力」であり、第2の頻出単語は重複回数が2回の「表示する」である。
ステップS5において、プロセッサ101は、第1の頻出単語と第2の頻出単語とを列挙してクラスタを表すテキストデータを生成する。クラスタを表すテキストデータが生成されるのに際して、頻出単語が列挙される順序は限定されない。例えば、第1の頻出単語、第2の頻出単語の順に単語が列挙されてよい。この他、例えば、重複回数の多い順に単語が列挙されてもよい。
ステップS6において、プロセッサ101は、要約されたグラフ構造のデータを生成する。具体的には、プロセッサ101は、クラスタをノードに置き換える。置き換えたノードに含まれるテキストデータは、ステップS5において生成されたテキストデータである。そして、プロセッサ101は、置き換えたノードと他のノードとをエッジで接続する。図5Bは、要約されたグラフ構造の例を示す図である。図5BのノードN13がクラスタの置き換え後のノードである。
ステップS7において、プロセッサ101は、要約されたグラフ構造を表示装置104の画面上に表示させる。図6は、要約されたグラフ構造の表示例を示す図である。図6に示すように、プロセッサ101は、要約されたグラフ構造とともに、スライダー1041と、終了ボタン1042とを表示装置104に表示させてもよい。スライダー1041は、ユーザがクラスタの大きさを指定するためのタッチパネル等で操作可能な指定部としてのユーザインターフェースである。終了ボタン1042は、ユーザが要約されたグラフ構造の表示を終了させる操作をするためのタッチパネル等で操作可能なユーザインターフェースである。
ステップS8において、プロセッサ101は、クラスタの大きさを変更するか否かを判定する。例えば、ユーザによってスライダー1041が操作されたときにクラスタの大きさを変更すると判定される。ステップS8において、クラスタの大きさを変更すると判定されたときには、処理はステップS9に移行する。ステップS8において、クラスタの大きさを変更すると判定されていないときには、処理はステップS10に移行する。
ステップS9において、プロセッサ101は、スライダー1041の操作に応じてクラスタの割り当てのための距離の閾値を変更する。プロセッサ101は、例えば、ノードをクラスタに割り当てるときの最終ノードからの距離の閾値をスライダー1041の操作に応じて変更する。クラスタの大きさが大きくされるようにスライダー1041が操作されたときには、1つのクラスタに割り当てられるノードの数が多くなるように閾値が変更される。つまり、プロセッサ101は、距離の閾値を小さくする。逆に、クラスタの大きさが小さくされるようにスライダー1041が操作されたときには、1つのクラスタに割り当てられるノードの数が少なくなるように閾値が変更される。つまり、プロセッサ101は、距離の閾値を大きくする。距離の閾値の変更の後、処理はステップS2に戻る。この場合、プロセッサ101は、変更した距離の閾値に基づいてクラスタへのノードの割り当てを行う。このようにして、ユーザがクラスタに割り当てられるノードの数を変えることができる。これにより、ユーザは、グラフ構造の複雑さを変えることができる。
ステップS10において、プロセッサ101は、グラフ構造の要約の処理を終了するか否かを判定する。例えば、ユーザによって終了ボタン1042が操作されたときにグラフ構造の要約の処理を終了すると判定される。ステップS10において、グラフ構造の要約の処理を終了すると判定されていないときには、処理はステップS7に戻る。この場合、要約されたグラフ構造の表示が継続される。ステップS10において、グラフ構造の要約の処理を終了すると判定されたときには、プロセッサ101は、図4の処理を終了させる。
以上説明したように第1の実施形態によれば、グラフ構造のノードに含まれるテキストにおける動作の主体又は対象を表す単語から抽出される頻出単語と動作の内容又は状態を表す単語から抽出される頻出単語との各々が列挙されることによってクラスタを表すテキストが生成される。つまり、クラスタを表すテキストは、動作の主体と内容とを含む。したがって、ユーザは、クラスタを表すテキストを見るだけでも「何が」、「どうした」のかを把握することができる。このようにしてクラスタを表すテキストを適切に決定され得る。
また、実施形態ではクラスタへのノードの割り当ての際に、最終ノードからの距離が閾値を超える複数のノードがクラスタ候補ノードとして抽出され、クラスタ候補ノードのうちで互いにエッジで接続されているノード同士が1つのクラスタに割り当てられる。このようにしてクラスタにノードが割り当てられることにより、グラフ構造上の近い位置にある複数のノードが1つのクラスタに割り当てられる。プログラム又は装置の動作を表すグラフ構造の場合、グラフ構造上の距離が近いノードの内容は近いか又は関連していることが多い。したがって、このような割り当てでは、比較的に簡易な処理で比較的に適切なクラスタの割り当てが行われる。
[変形例]
次に、第1の実施形態の変形例を説明する。前述した第1の実施形態では、1つのクラスタに割り当てられるノードの数に制限が設けられていない。このため、最終ノードからの距離が閾値を超える複数のノードがクラスタ候補ノードとして抽出され、クラスタ候補ノードのうちで互いにエッジで接続されているノード同士であればそれらのノードは1つのクラスタに割り当てられる。これに対し、1つのクラスタに割り当てられるノードの数に上限が設けられていてもよい。この場合、割当部12は、クラスタに割り当てられるノードの数が上限に達したときには、残りのノードは別のクラスタに割り当てる。
また、第1の実施形態では、クラスタが置き換えられた後のノードは、通常のノードと同様の形状である。これに対し、クラスタが置き換えられた後のノードは、通常のノードと異なる形状であってもよい。また、クラスタが置き換えられた後のノードは、通常のノードと異なる色であってもよい。さらには、クラスタの大きさに応じてクラスタが置き換えられた後のノードの大きさ、形状、色等が変えられてもよい。
また、第1の実施形態では、情報処理装置1において、要約されたグラフ構造が生成され、生成されたグラフ構造が表示装置に表示される。これに対し、要約されたグラフ構造の生成及び表示は、必ずしも情報処理装置1において行われなくてもよい。この場合、情報処理装置1は、グラフ構造のデータと、クラスタに属するノードの情報と、クラスタで抽出された頻出単語のデータとを例えばストレージ106に記憶しておき、必要なタイミングでこれらの情報を外部に送信する。
[第2の実施形態]
次に、第2の実施形態を説明する。ここで、第1の実施形態で説明した部分については説明を省略する。
第1の実施形態では、クラスタを表すテキストを生成するための単語は、クラスタに割り当てられたノードに含まれるテキストにおける重複回数によって決められる。第2の実施形態では、頻出単語抽出部14は、予め定義された特定の単語については重複回数のカウントを3倍、10倍等に増やす。この場合、特定の単語が頻出単語として抽出されやすくなる。
予め定義される単語は、例えば「非常」、「緊急」といった動作を表す上で重要な単語である。予め定義される単語は、例えば単語辞書1061に予め記憶されていてよい。また、予め定義される単語は、ユーザによって指定されてもよい。
第2の実施形態では、クラスタを表すテキストを生成する際の頻出単語の抽出のときに特定の単語が抽出されやすくなることにより、クラスタを表すテキストにおいて重要な単語が表示されない状況が回避されやすくなる。
[第3の実施形態]
次に、第3の実施形態を説明する。ここで、第1の実施形態で説明した部分については説明を省略する。
第3の実施形態では、部分グラフ構造のデータと、部分グラフ構造のデータに紐づけられたテキストデータとが例えばストレージ106に記憶されている。部分グラフ構造は、複数のノードの配置とノードの間のエッジの接続関係とが予め定義されたものであるグラフ構造である。部分グラフ構造は、「エラー処理」等の典型的で頻出する処理を表すグラフ構造である。このような部分グラフ構造には、「エラー処理」といった部分グラフ構造の内容を表すテキストデータが紐づけられる。この他、例えば、図2のノードN2、N3、N4、N5、N6、N7は、これら全体として「コメントの入力処理」を表す部分グラフ構造であると定義され得る。このような部分グラフ構造に、例えば「コメントの入力処理」といったテキストデータが紐づけられる。
第3の実施形態において、割当部12は、クラスタにノードを割り当てる際に、受け取ったグラフ構造から部分グラフ構造を抽出する。割当部12は、受け取ったグラフ構造から部分グラフ構造を抽出できたときには、部分グラフ構造に相当する複数のノードを1つのノードに置き換える。
頻出単語抽出部14は、部分グラフ構造に相当するノードから抽出される単語については、仮にクラスタに割り当てられたノードであっても頻出単語のカウントを行う対象から除外する。
第3の実施形態では、要約される対象のグラフ構造のデータが予め定義された部分グラフ構造を有しているときには、その部分グラフ構造と一致したノードが1つのノードに置き換えられる。さらに、部分グラフ構造と一致したノードについては重複回数のカウントの対象から除外される。これにより、抽出される頻出単語が典型的な処理を表すもののみになることが防止され得る。
[第4の実施形態]
次に、第4の実施形態を説明する。ここで、第1の実施形態で説明した部分については説明を省略する。
第1の実施形態では、割当部12は、最終ノードからの距離が閾値を超える複数のノードをクラスタ候補ノードとして抽出し、クラスタ候補ノードのうちで互いにエッジで接続されているノード同士を1つのクラスタに割り当てている。ノードのクラスタへの割り当ては、これに限るものではない。割当部12は、例えばspectral clusteringのような、グラフ構造をクラスタで分割した際にクラスタをまたぐエッジの数が少なくなるような手法でノードをクラスタに割り当ててもよい。具体的には、割当部12は、以下のような計算を行ってノードをクラスタに割り当ててよい。ここで、第4の実施形態では、グラフ構造は、有向グラフでなくてもよいし、ループ構造を含んでいてもよい。
割当部12は、グラフ構造のデータからグラフラプラシアン行列Lを作成する。グラフラプラシアン行列Lは、行数と列数の各々がノード数と同じ数の行列である。i,jをノードのインデックス番号とすると、グラフラプラシアン行列Lの対角成分Lij(i=j)はノードiに接続されたエッジの数とする。一方、グラフラプラシアン行列Lの非対角成分Lij(i≠j)はノードiとノードjとの間にエッジがある場合には-1とし、ない場合には0とする。
次に、割当部12は、グラフラプラシアン行列Lの固有値と、固有値に対応する固有ベクトルとを算出する。そして、割当部12は、非ゼロの固有値のうちの最小値を抽出し、この最小値に対応する固有ベクトルAを抽出する。抽出された固有ベクトルAの要素Aは、ノードiと対応している。例えば、割当部12は、要素Aを正負で分ける。この場合、ノードは2個のクラスタに分けられる。また、例えば、割当部12は、要素Aをk-meansを用いて分ける。この場合、ノードは、k個のクラスタに分けられる。
割当部12は、分割したクラスタを1つのグラフ構造とみなし、クラスタの数が所定数になるまで同様の処理を繰り返す。ここで、クラスタの所定数は、各々のクラスタの大きさによって決められ得る。つまり、クラスタの所定数は、図6で示したスライダー1041と同様のユーザインターフェースによってユーザにより指定され得る。
第4の実施形態では、クラスタへのノードの割り当ての際に、クラスタによって分断されるエッジの数が減り、また、クラスタに割り当てられるノードは、より関連のあるもの同士になりやすくなる。
[第5の実施形態]
次に、第5の実施形態を説明する。ここで、第1の実施形態で説明した部分については説明を省略する。
第1の実施形態では、頻出単語抽出部14は、動作の主体又は対象を表す単語と動作の内容又は状態を表す単語との各々について別個に重複回数をカウントしている。これに対し、頻出単語抽出部14は、単語の組み合わせの重複回数をカウントして頻出単語を抽出してもよい。例えば、頻出単語抽出部14は、各ノードに含まれる単語のうち、動作の主体又は対象を表す単語と動作の内容又は状態を表す単語との2つのいずれかに分類される単語を抽出し、抽出した単語のうちの2つを合わせたすべての組み合わせを共起対として生成する。次に、頻出単語抽出部14は、クラスタに割り当てられたノードの各々について生成された共起対の重複回数をカウントし、重複回数が多い共起対の上位の特定数を頻出単語として抽出する。
第5の実施形態では、動作の主体又は対象を表す単語と動作の内容又は状態を表す単語との組み合わせで重複回数がカウントされることにより、動作とその対象或いは動作とその主体といった、意味の繋がりのある単語が抽出され得る。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1 情報処理装置、11 入力部、12 割当部、13 単語分類部、14 頻出単語抽出部、15 グラフ生成部、101 プロセッサ、102 メモリ、103 入力装置、104 表示装置、105 通信装置、106 ストレージ、107 バス。

Claims (11)

  1. テキストを含む複数のノードと前記ノードの間を接続するエッジとを有するグラフ構造の入力を受け、前記グラフ構造の前記ノードを1以上のクラスタに割り当てる割当部と、
    各々の前記クラスタに割り当てられた前記ノードに含まれる前記テキストを単語に分割し、分割された単語を、動作の主体又は対象を表す単語と、前記動作の内容又は状態を表す単語と、その他の単語とに分類する単語分類部と、
    各々の前記クラスタについて、動作の主体又は対象を表す単語に分類された1以上の第1の単語の出現頻度をカウントすることで第1の頻出単語を抽出し、前記動作の内容又は状態を表す単語に分類された1以上の第2の単語の出現頻度をカウントすることで第2の頻出単語を抽出する頻出単語抽出部と、
    を備えた情報処理装置。
  2. 前記クラスタを前記頻出単語抽出部で抽出された前記第1の頻出単語と前記第2の頻出単語とを列挙したテキストを含むノードに置き換えて要約されたグラフ構造を生成するグラフ生成部をさらに備えた請求項1に記載の情報処理装置。
  3. 前記頻出単語抽出部は、前記第1の単語が予め定義された第1の特定単語を含むときには前記第1の特定単語の出現頻度のカウントを他の第1の単語の出現頻度のカウントよりも多くし、前記第2の単語が予め定義された第2の特定単語を含むときには前記第2の特定単語の出現頻度のカウントを他の第2の単語の出現頻度のカウントよりも多くする請求項1に記載の情報処理装置。
  4. 前記割当部は、前記グラフ構造が予め定義された部分グラフ構造を含むときに、前記グラフ構造に含まれる前記部分グラフ構造に相当する前記ノードを1つのノードに割り当て、
    前記頻出単語抽出部は、前記部分グラフ構造に相当するノードについては、前記部分グラフ構造に予め紐づけられた定義済みテキストを抽出し、前記部分グラフ構造に相当するノードから抽出される単語については前記第1の頻出単語及び前記第2の頻出単語を抽出するためのカウントの対象から除外する請求項1に記載の情報処理装置。
  5. 前記エッジは、有向エッジであり、
    前記割当部は、前記ノードの中で前記有向エッジの先が接続されていない最終ノードからの距離が閾値よりも遠い複数の前記ノードをクラスタ候補ノードとして抽出し、前記クラスタ候補ノードのうちで前記有向エッジが接続されているノード同士を1つのクラスタに割り当てる請求項1に記載の情報処理装置。
  6. 前記クラスタの大きさをユーザが指定するための指定部をさらに備え、
    前記割当部は、前記指定部によって指定された大きさに応じて前記閾値を変える請求項5に記載の情報処理装置。
  7. 前記割当部は、複数の前記クラスタの間を接続する前記エッジの数が少なくなるように前記ノードを前記クラスタに割り当てる請求項1に記載の情報処理装置。
  8. 前記頻出単語抽出部は、前記クラスタに割り当てられたノード毎に前記第1の単語と前記第2の単語からなる共起対を生成し、各々の共起対が生成された回数をカウントし、カウントの多い共起対を抽出する請求項1に記載の情報処理装置。
  9. 前記グラフ構造は、プログラム又は装置の動作を表すグラフ構造である請求項1に記載の情報処理装置。
  10. 情報処理装置により、テキストを含む複数のノードと前記ノードの間を接続するエッジとを有するグラフ構造の入力を受け、前記グラフ構造の前記ノードを1以上のクラスタに割り当てることと、
    前記情報処理装置により、各々の前記クラスタに割り当てられた前記ノードに含まれる前記テキストを単語に分割し、分割された単語を、動作の主体又は対象を表す単語と、前記動作の内容又は状態を表す単語と、その他の単語とに分類することと、
    前記情報処理装置により、各々の前記クラスタについて、動作の主体又は対象を表す単語に分類された1以上の第1の単語の出現頻度をカウントすることで第1の頻出単語を抽出し、前記動作の内容又は状態を表す単語に分類された1以上の第2の単語の出現頻度をカウントすることで第2の頻出単語を抽出することと、
    を備えた情報処理方法。
  11. テキストを含む複数のノードと前記ノードの間を接続するエッジとを有するグラフ構造の入力を受け、前記グラフ構造の前記ノードを1以上のクラスタに割り当てることと、
    各々の前記クラスタに割り当てられた前記ノードに含まれる前記テキストを単語に分割し、分割された単語を、動作の主体又は対象を表す単語と、前記動作の内容又は状態を表す単語と、その他の単語とに分類することと、
    各々の前記クラスタについて、動作の主体又は対象を表す単語に分類された1以上の第1の単語の出現頻度をカウントすることで第1の頻出単語を抽出し、前記動作の内容又は状態を表す単語に分類された1以上の第2の単語の出現頻度をカウントすることで第2の頻出単語を抽出することと、
    をプロセッサに実行させるための情報処理プログラム。
JP2020151010A 2020-09-09 2020-09-09 情報処理装置、情報処理方法及び情報処理プログラム Active JP7413214B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020151010A JP7413214B2 (ja) 2020-09-09 2020-09-09 情報処理装置、情報処理方法及び情報処理プログラム
US17/186,258 US11704491B2 (en) 2020-09-09 2021-02-26 Information processing apparatus, information processing method, and storage medium storing information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020151010A JP7413214B2 (ja) 2020-09-09 2020-09-09 情報処理装置、情報処理方法及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2022045417A JP2022045417A (ja) 2022-03-22
JP7413214B2 true JP7413214B2 (ja) 2024-01-15

Family

ID=80470708

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020151010A Active JP7413214B2 (ja) 2020-09-09 2020-09-09 情報処理装置、情報処理方法及び情報処理プログラム

Country Status (2)

Country Link
US (1) US11704491B2 (ja)
JP (1) JP7413214B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004341911A (ja) 2003-05-16 2004-12-02 Sanyo Electric Co Ltd 迷惑メール自動判定機能を有する通信装置
JP2013225251A (ja) 2012-04-23 2013-10-31 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
JP2014106719A (ja) 2012-11-27 2014-06-09 Toshiba Corp 影響関係解析装置
JP2014110026A (ja) 2012-12-04 2014-06-12 Fujitsu Ltd 言語処理装置、言語処理方法、及びプログラム
JP2016134079A (ja) 2015-01-21 2016-07-25 富士通株式会社 分析プログラム、分析方法及び分析装置
JP2019021232A (ja) 2017-07-21 2019-02-07 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2630267B2 (ja) * 1994-08-30 1997-07-16 日本電気株式会社 情報出力履歴提示装置
US7340674B2 (en) * 2002-12-16 2008-03-04 Xerox Corporation Method and apparatus for normalizing quoting styles in electronic mail messages
JP2012233979A (ja) 2011-04-28 2012-11-29 Sanyo Electric Co Ltd 投写型映像表示装置
JP5834883B2 (ja) 2011-12-20 2015-12-24 日本電気株式会社 因果関係要約方法、因果関係要約装置及び因果関係要約プログラム
US8879103B2 (en) * 2013-03-04 2014-11-04 Xerox Corporation System and method for highlighting barriers to reducing paper usage
US9324038B2 (en) * 2013-11-15 2016-04-26 Xerox Corporation Method and system for clustering, modeling, and visualizing process models from noisy logs
RU2586577C2 (ru) * 2014-01-15 2016-06-10 Общество с ограниченной ответственностью "Аби ИнфоПоиск" Фильтрация дуг в синтаксическом графе
JP6583899B1 (ja) * 2018-10-04 2019-10-02 株式会社Fronteo コンピュータ、データ要素提示方法、及びプログラム。

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004341911A (ja) 2003-05-16 2004-12-02 Sanyo Electric Co Ltd 迷惑メール自動判定機能を有する通信装置
JP2013225251A (ja) 2012-04-23 2013-10-31 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
JP2014106719A (ja) 2012-11-27 2014-06-09 Toshiba Corp 影響関係解析装置
JP2014110026A (ja) 2012-12-04 2014-06-12 Fujitsu Ltd 言語処理装置、言語処理方法、及びプログラム
JP2016134079A (ja) 2015-01-21 2016-07-25 富士通株式会社 分析プログラム、分析方法及び分析装置
JP2019021232A (ja) 2017-07-21 2019-02-07 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
桐村 綾子,GUIによる非構造データ統合分析方式,第2回データ工学と情報マネジメントに関するフォーラム-DEIM 2010-論文集 [online],電子情報通信学会データ工学研究専門委員会,2010年05月25日,DEIM Forum 2010 B6-4, Internet<URL:http://db-event.jpn.org/deim2010/proceedings/files/B6-4.pdf>

Also Published As

Publication number Publication date
JP2022045417A (ja) 2022-03-22
US11704491B2 (en) 2023-07-18
US20220075943A1 (en) 2022-03-10

Similar Documents

Publication Publication Date Title
US10831984B2 (en) Web page design snapshot generator
Akimushkin et al. Text authorship identified using the dynamics of word co-occurrence networks
JP7289047B2 (ja) ブロックに基づく文書メタデータの抽出のための方法、コンピュータ・プログラム及びシステム
US9501540B2 (en) Interactive visualization of big data sets and models including textual data
US8762873B2 (en) Graphical user interface component identification
US11880382B2 (en) Systems and methods for generating tables from print-ready digital source documents
AU2015203818B2 (en) Providing contextual information associated with a source document using information from external reference documents
US20150213002A1 (en) Personal emotion state monitoring from social media
US9626353B2 (en) Arc filtering in a syntactic graph
US20110099498A1 (en) Graphical user interface hierarchy generation
JP2004192434A (ja) 文書抽出装置及び文書抽出プログラム並びに文書抽出方法
JP6524790B2 (ja) 情報処理装置及び情報処理プログラム
JP2018112853A (ja) 話題分類装置およびそのプログラム
CN109478191B (zh) 文本挖掘方法、记录介质及文本挖掘装置
Gries Corpus and quantitative methods
JP7413214B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP2006301959A (ja) 文書処理装置、文書処理方法、文書処理プログラムおよびコンピュータに読み取り可能な記録媒体
WO2021106028A1 (ja) 機械学習装置、機械学習方法、及び、機械学習プログラムが格納された記録媒体
JP2009252185A (ja) 情報検索装置、情報検索方法、制御プログラム及び記録媒体
CN111832258A (zh) 文档的分割方法、装置及电子设备
CN111832310B (zh) 一种文本处理方法及装置
JP6496025B2 (ja) 文書処理システム及び文書処理方法
CN117236347B (zh) 交互文本翻译的方法、交互文本的显示方法和相关装置
Brie et al. VisionAPI: An API for Offline and Online Segmentation and Identification of Hand-Sketched Graphical User Interfaces
JP2004318527A (ja) 情報抽出システム、文書抽出システム、情報抽出プログラム及び文書抽出プログラム、並びに情報抽出方法及び文書抽出方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220826

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20230105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230718

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230915

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231114

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231227

R151 Written notification of patent or utility model registration

Ref document number: 7413214

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151