JP4879800B2 - 2次元マップ上における表示要素間の重複回避プログラム - Google Patents

2次元マップ上における表示要素間の重複回避プログラム Download PDF

Info

Publication number
JP4879800B2
JP4879800B2 JP2007090414A JP2007090414A JP4879800B2 JP 4879800 B2 JP4879800 B2 JP 4879800B2 JP 2007090414 A JP2007090414 A JP 2007090414A JP 2007090414 A JP2007090414 A JP 2007090414A JP 4879800 B2 JP4879800 B2 JP 4879800B2
Authority
JP
Japan
Prior art keywords
keyword
tag
map
relevance
area
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.)
Expired - Fee Related
Application number
JP2007090414A
Other languages
English (en)
Other versions
JP2008250624A (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.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute Ltd
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 Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2007090414A priority Critical patent/JP4879800B2/ja
Publication of JP2008250624A publication Critical patent/JP2008250624A/ja
Application granted granted Critical
Publication of JP4879800B2 publication Critical patent/JP4879800B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は2次元マップ上における表示要素間の重複回避プログラムに係り、特に、面積が限定された2次元マップ上に所定の面積を備えた複数の表示要素を配置する際に、各表示要素間の重複を解消させ、視認性を高める技術に関する。
例えば、検索結果として抽出した複数のキーワードを表すタグを、検索対象語との関係に基づいて算出された所定の位置に配置させた2次元マップを生成するに際し、各タグが重なり合ってしまうことがある。
このような場合、2次元マップの視認性を高めるため、各タグの位置を必要最小限移動させて重複状態を解消させることが望ましい。
この点に関し、これまでは非特許文献1に示すように、分子間力モデルやバネモデルといった力学モデルを用いて解決しようと試みられてきた。
力学モデルを用いたグラフデータの視覚化手法の改良[平成19年3月15日検索] インターネットURL:http://www.trl.ibm.com/projects/webvis/graph1/index.htm
しかしながら、このようなアプローチでは、1) 計算量が膨大になりすぎる、2) 力学的なシミュレーションを行いながら計算をループさせるので、計算が収束しない、という問題点があった。
この発明は上記の問題点を解決するために案出されたものであり、2次元マップ上における表示要素間の重複状態を、非常に少ない計算量で高速に解消可能な技術を提供することを目的としている。
上記の目的を達成するため、この発明に係る2次元マップ上における表示要素間の重複回避プログラムは、面積が設定された2次元マップ上に、それぞれ固有の面積を備えた複数の表示要素を、各表示要素固有の座標値に基づいて配置するに際し、面積の大きい順に各表示要素の位置を固定していくものとし、その過程で表示要素間重複が探知された場合には、重複している表示要素の中で最も面積の大きな表示要素以外の表示要素については、以下のルールに従い面積の大きい順に上下左右の何れかの方向に移動させて、既に位置が固定された表示要素との重複を回避する処理をコンピュータに実行させることを特徴としている。
(1) 原則として最も移動距離が短くて済む方向を優先的に選択する。
(2) 原則として既に固定済みの表示要素と重複する方向は選択しない。
(3) 何れの方向においても固定済みの表示要素と重複する場合には、最も重複面積が小さくて済む方向を選択する。
(4) 2次元マップの全体枠を超える方向は選択できない。
(5) 現在位置に移動してくる前の位置に戻ることになる方向への移動は選択できない。

この発明に係る表示要素間の重複回避プログラムによれば、複雑な計算を要する力学モデルを用いることなく、基本的には各表示要素をそれぞれの面積に応じて順番に上下左右方向に移動させるという単純処理を所定のルールに従って繰り返すだけで済むため、少ない計算量で極めて高速に表示要素間の重複状態を解消することが可能となる。
図1は、この発明を適用した検索システム10の機能構成を示すブロック図であり、文書DB12と、キーワード抽出部14と、キーワードDB16と、関連度算出部18と、キーワード共起頻度表20と、キーワード組合せ頻度総和表22と、キーワード頻度総和表24と、キーワード関連度表26と、マップ生成部28とを備えている。
このシステム10にはWebサーバ32が接続されており、このWebサーバ32はインターネットやイントラネット等のネットワーク34を介して複数のクライアント36と接続されている。
上記のキーワード抽出部14、関連度算出部18及びマップ生成部28は、サーバコンピュータのCPUが、OS及び専用のアプリケーションプログラムに従い、必要な処理を実行することによって実現される。
上記の文書DB12、キーワードDB16、キーワード共起頻度表20、キーワード組合せ頻度総和表22、キーワード頻度総和表24、及びキーワード関連度表26は、同サーバコンピュータのハードディスクに格納されている。
文書DB12には、新聞記事や学術雑誌、論文等の電子データ(テキストデータ)が予め多数蓄積されている。
上記のキーワード抽出部14は、図2に示すように、係り受け表現抽出フィルタ14a、区切り文字抽出フィルタ14b、文字列頻度統計フィルタ14c、TermExtractフィルタ14d、多数決フィルタ14eを備えている。
つぎに、図3のフローチャートに従い、キーワード抽出部14によるキーワード抽出工程について説明する。
まずキーワード抽出部14は、文書DB12内に蓄積された各文書データに係り受け表現抽出フィルタ14aを適用し、各文書データから所定の係り受け表現を備えた文字列を抽出する(S10)。
すなわち、係り受け表現抽出フィルタ14aには、「○○メーカー」、「○○が主力」、「○○を生産」という係り受け表現パターンが予め多数用意されており、キーワード抽出部14は、これに当てはまる表現パターンを検出した後、「○○」に相当する文字列をキーワード候補として抽出する。
つぎにキーワード抽出部14は、各文書データに区切り文字抽出フィルタ14bを適用し、「○○」、"○○"、(○○)、[○○]、,○○,のように、カンマや括弧、スペース、タブ等の区切り文字で囲まれた○○の部分をキーワード候補として抽出する(S12)。
つぎにキーワード抽出部14は、各文書データに文字列頻度統計フィルタ14cを適用し、各文書データに含まれる各文字列が他の文書も含めて何回登場するのかを集計し、一定範囲の出現頻度を備えた文字列をキーワード候補として抽出する(S14)。
まず文字列頻度統計フィルタ14cは、図4に示すように、文書中の名詞(ここでは「DVD」)に注目し、このDVDという注目語が文書DB12内に蓄積された各文書データ中に出現する数を集計する。つぎに、文字列頻度統計フィルタ14cは、この注目語の前後の形態素に範囲を拡張し、それぞれの全文書中に登場する頻度を集計し、出現頻度が一定以下(例えば20以下)となった時点で文字範囲拡張を停止する。
例えば、DVDの一つ前の形態素を含む「したDVD」の出現頻度は「2」と低いため、これ以上前の形態素に範囲が拡張されることはない。これに対し、DVDの一つ後の形態素を含む「DVDレコーダー」の出現頻度は「862」と多いため、その一つ後の形態素を含む「DVDレコーダーでは」の出現頻度を集計する。そして、この出現頻度は「5」と低いため、これ以降の形態素に範囲を拡張することが停止される。
上記の「形態素」とは、意味を有する最小の言語単位を指す。例えば、「私の名前は鈴木です」を形態素に分解すると、「私(代名詞)」「の(助詞)」「名前(一般名詞)」「は(係助詞)」「鈴木(固有名詞)」「です(助動詞)」となる。
つぎに文字列頻度統計フィルタ14cは、「DVD」及び「DVDレコーダー」が所定範囲(例えば20〜5,000)内の出現頻度を備えていることを理由にキーワード候補として抽出する。これに対し、「したDVD」及び「DVDレコーダーでは」は上記の範囲外であるため、キーワード候補から除外される。
全文書中における出現頻度が20未満のものはそもそも重要語とはいえず、また5,000を越えるものは逆に特徴のない汎用語あるいは一般語と考えられるからであるが、この範囲設定は文書データの分量や検索システムの使用目的に応じて適宜調整される。
ところで、文書DB12内に蓄積された多量の文書データに含まれる各文字列に関して、それぞれの出現頻度を集計するには膨大な時間を要するため、図5に示すように、文書DB12内には予め全文書データに登場する各形態素が、個々の文書データ中に存在しているか否かを一覧表にまとめたインデックス(所謂転置インデックス)が生成されている。このため、キーワード抽出部14はこのインデックスを参照することにより、比較的短時間でその出現頻度を取得することが可能となる。
つぎにキーワード抽出部14は、文書DB12内に蓄積された文書データにTermExtractフィルタ14dを適用し、各文書データから所定以上のスコアを備えた文字列をキーワード候補として抽出する(S16)。
このTermExtractフィルタ14dは、専門分野のコーパス(主として研究目的で収集され、電子化された自然言語の文章からなる巨大なテキストデータ)から専門用語を自動抽出するために案出された文字列抽出アルゴリズムであり、文書データ中から単名詞及び複合名詞を候補語として抽出し、各候補語の出現頻度と連接頻度に基づいてそれぞれの重要度を算出する機能を備えている。このTermExtractフィルタ14d自体は公知技術であるため、これ以上の説明は省略する。
つぎにキーワード抽出部14は、係り受け表現抽出フィルタ14a、区切り文字抽出フィルタ14b、文字列頻度統計フィルタ14c、TermExtractフィルタ14dによって抽出された各キーワード候補を多数決フィルタ14eに入力し、キーワードを絞り込む。
多数決フィルタ14eでは、各フィルタによってリストアップされたキーワード候補同士をマッチングし、2以上のフィルタによってキーワード候補として挙げられているものを最終的なキーワードと認定し、キーワードDB16に格納する(S18)。
このように、係り受け表現抽出フィルタ14a、区切り文字抽出フィルタ14b、文字列頻度統計フィルタ14c、TermExtractフィルタ14dの4つのフィルタを用いることにより、文書データからキーワードを抽出する際に重要語が漏れ落ちることを防止すると共に、多数決フィルタ14eを用いて絞り込むことにより、不要なキーワード(ノイズ)が混入することを防止できる。
上記のように4つのフィルタ中の2以上のフィルタによって選別されたキーワード候補を正式なキーワードと認定するのは一例であり、3以上のフィルタによって選別されることをキーワード認定の要件とすることもできる。
また、フィルタの数も上記に限定されるものではなく、他の有効なキーワード候補抽出フィルタをキーワード抽出部14に設けることもできる。
つぎに、図6のフローチャートに従い、関連度算出部18による各キーワード間の関連度算出工程について説明する。
まず関連度算出部18は、各キーワードの各文書データ中における共起頻度を集計し、キーワード共起頻度表20を生成する(S20)。
図7は、このキーワード共起頻度表20の具体例を示すものであり、文書DB12に格納された各文書D1〜Dnごとに、各キーワードKW-1〜nの出現頻度が記述されている。
ここで、あるキーワードXとYとの間の関連度は、数1のiにキーワード共起頻度表20に記載されたXとYの出現頻度を代入することにより、理論的には算出可能である。
Figure 0004879800
ただし、文書データの分量及びキーワードの総数が多い場合には膨大な計算量が発生し、多くの処理時間を要することとなる。
そこで、この実施の形態では、キーワード共起頻度表20に基づいてキーワード組合せ頻度総和表22及びキーワード頻度総和表24を生成することにより、計算工程の簡素化を図っている。
図8は、その要領を例示するものである。この場合、キーワード共起頻度表20にはキーワードKW-1〜KW-5の文書D1における出現頻度が記載されているが、この中KW-3及びKW-4の出現頻度は0であるため、実際に関連度を算出すべきキーワードの組合せは以下の3パターンで済むこととなる。
(KW-1, KW-2)、(KW-1, KW-5)、(KW-2, KW-5)
つぎに関連度算出部18は、各組合せ毎に出現頻度を乗じた値を記述したキーワード組合せ頻度総和表22と、各キーワードの出現頻度を二乗した値を記述したキーワード頻度総和表24を生成する(S22、S24)。
図8のキーワード組合せ頻度総和表では、文書D1についての値のみが記述されているが、同様の処理を各文書毎に実行し、その結果に基づいて値を加算していくことにより、各キーワードの値が数1の分子に相当する結果となる。
同じく、図8のキーワード頻度総和表では、文書D1についての値のみが記述されているが、各文書における各キーワードの出現頻度を二乗した値を足し込んでいき、各キーワードの最終的な値の平方根を求めることにより、数1の分母に相当する値が得られることになる。
この結果、図9に示すように、各キーワード間の関連度が比較的容易に算出でき、その値がキーワード関連度表26に記述される(S26)。
上記のように、文書毎に各キーワード間の組合せパターンを抽出し、それぞれの積及び各キーワードの二乗値を求めた上で、各文書の値を加算していくことにより、値が0のキーワードに係る計算処理を省くことが可能となる。
このため、特許文献1の検索システムのように企業名に限定することなく、全キーワード間における関連度を算出することが現実的になる。
また、文書DB12に新規の文書データが追加された場合には、この新規文書データ中の各キーワードに係るデータをキーワード組合せ頻度総和表22及びキーワード頻度総和表24に追加し、既存の集計値に追加分の値を加算することによって、簡単にキーワード間の関連度が再計算可能となる。
古くなった文書データの影響を排除する場合にも、当該文書データ中の各キーワードに係るデータをキーワード組合せ頻度総和表22及びキーワード頻度総和表24から削除し、既存の集計値から削除分の値を減算することによって、簡単にキーワード間の関連度を最新の状態に維持することが可能となる。
つぎに、図10のフローチャートに従い、このシステム10における検索処理の手順について説明する。
まずユーザがクライアント36から検索対象となる文字列を入力すると、これを受け付けたマップ生成部28は(S30)、キーワード関連度表26を参照し、当該文字列と同一または一定範囲内の類似性を有するキーワードを検索語として認定すると共に、当該キーワードに対して関連度の高いキーワードを関連語として所定数抽出する(S32)。
例えば、図11に示すように、クライアント36から検索対象として平仮名の「ひまん」が与えられた場合、マップ生成部28はキーワードとして登録されている漢字の「肥満」を検索語と認定した後、これと関連度が高い関連語として「脂肪」、「糖尿病」、「糖尿」、…「子」の各キーワードを選定する。
関連語として選定されるキーワードの数について特に限定はないが、ここでは関連度が上位50位までのキーワードを選定している。
つぎにマップ生成部28はキーワード共起頻度表20を参照し、検索語及び抽出した50の関連語の出現文書ID及び各文書毎の出現頻度を取得する(S34)。
図12は、その抽出結果を示すテーブルであり、行項目として文書IDが設定され、列項目として検索語及び各関連語が設定されている。また、各セル内には、各キーワードの対応文書中における出現頻度が記述されている。
例えば、文書ID:13691の文書においては、肥満:3回、脂肪:13回、糖尿病:0回、糖尿:0回、習慣:0回、…が出現したことが示されている。
つぎにマップ生成部28は、図12のテーブルに示した各文書毎の各キーワードの出現頻度を変量とする多変量データに対して主成分分析を施し(S36)、図13に示すように、分析結果として各キーワードの第1主成分の値及び第2主成分の値を算出する(S38)。
つぎにマップ生成部28は、各キーワードの第1主成分値及び第2主成分値に基づき、各キーワードを所定の面積を備えた2次元平面上に配置するための座標値を算出する(S40)。
以下に、座標算出の具体例を示す。
・座標平面のサイズ:横740ドット×縦500ドットに設定
・X座標変換比=座標平面の横幅÷(第1主成分の最大値−第1主成分の最小値)
・Y座標変換比=座標平面の縦幅÷(第2主成分の最大値−第2主成分の最小値)
・キーワードAのX座標=(キーワードAの第1主成分値−第1主成分の最小値)*X座標変換比
・キーワードAのY座標=(キーワードAの第2主成分値−第2主成分の最小値)*Y座標変換比
以上の計算により、各キーワードの第1主成分値及び第2主成分値を、X軸が0〜740の間でY軸が0〜500の間の数値に変換でき、上記の2次元平面上に後述の各タグを配置可能となる。
図14に、上記の変換法則に従って算出した各キーワードの座標値を例示する。
つぎにマップ生成部28は、各キーワードの存在を示すタグを生成する(S42)。
すなわち、図15に示す通り、このタグ40は長方形状を備えており、各キーワード(検索語及び関連語)の文字列と、これを取り囲む余白部分を備えている。
また、関連語と区別するため、検索語には各関連語とは異なる文字色及び背景色が割り当てられている。
このタグ40の面積は、キーワードのフォントサイズ及び文字数に応じて自動的に決定される。そして、キーワードのフォントサイズとしては、検索語との関連度が大きいほど大きなフォントサイズが割り当てられている。
以下に、各キーワードのフォントサイズ割当方法を説明する。
・最大フォントサイズ=36ポイント
・最小フォントサイズ=12ポイント
・フォントサイズ変換比=(最大フォントサイズ−最小フォントサイズ)÷(関連度の最大値−関連度の最小値)
・キーワードAのフォントサイズ={(キーワードAの関連度−関連度の最小値)*フォントサイズ変換比
※小数点以下切り捨て
つぎにマップ生成部28は、上記の各タグ40を上記の2次元平面上にそれぞれ配置し、第1の関連度マップを生成する(S44)。
この際、各タグ40の中心点が上記で求めた2次元平面上の座標点に重なるように配置される。
この第1の関連度マップは、Webサーバ32によってWebファイルに加工され、クライアント36に送信される(S46)。
この結果、クライアント36のWebブラウザ上には、図16に示すように、第1の関連度マップ42が表示される。
この第1の関連度マップ42上では、各タグ40のフォントサイズが上記の通り検索語との関連度の強さを表しているため、検索語「肥満」に最も関連性の強いキーワードが「脂肪」であることが理解できる。また、「糖尿病」、「糖尿」、「習慣」などのキーワードも、「肥満」と比較的強い関連性を有していることが理解できる。
また、各タグ40の位置(座標)は、検索語及び各関連語間の共起性に基づく関連の強さを反映しており、タグ40間の距離が近いほど相互の関連性が強いことを示している。
例えば、「脂肪」というキーワードの近傍に「アディポネクチン(注:脂肪細胞から分泌されるホルモン)」、「内蔵脂肪」、「心筋梗塞」、「メタボリックシンドローム」等のタグ40が集まっているため、脂肪とこれらのキーワードとが強い関連性を備えていることが読み取れる。
このように、ユーザはキーワードが表記されたタグ40の集積具合を観察することにより、各キーワード間の類似性やカテゴリーを認識することが可能となる。
図17は、検索語としてユーザが「環境技術」を入力した場合の関連度マップ42を示しており、上記のS30〜S46のステップを経ることにより、マップ生成部28によって生成されたものである。
この場合では、「地球環境」のキーワードが最もフォントサイズが大きく、したがって検索語である「環境技術」との関連性が強いことを示している。また、「地球温暖化」や「ハイブリッド」なども「環境技術」と比較的強い関連性を有していることが理解できる。
ここでユーザが「燃料電池」のタグ40にマウスポインタを合わせてクリックすると、JavaScript等によってWebページに組み込まれた制御プログラムが機能し、吹きだしメニュー44が展開される。
そして、このメニュー44中からユーザが「Go to "燃料電池"」を選択すると、クライアント36から新たな検索語として「燃料電池」の文字列がWebサーバ32に送信される。
これを受けたマップ生成部28は、上記のS30〜S46の処理を実行することにより、燃料電池を検索語に設定した新たな関連度マップ42を生成し、クライアント36に送信する。
この結果、図18に示すように、クライアント36のWebブラウザ上に燃料電池を検索語に設定した第1の関連度マップ42が表示される。
この第1の関連度マップ42上では、検索語である「燃料電池」と関連性の強いキーワードが記述されたタグ42が配置されている。
このようにユーザは、第1の関連度マップ42上に表示されるタグ40を次から次へと選択し、そのキーワードを検索語に設定していくことにより、恰も連想の旅を続けるようにして視野を広げていき、その課程で新しい発見や意外な気付きを体験することができる。
つぎに、ユーザが関連度マップ42上の特定のタグ40、例えば「都市ガス」をクリックし、展開された吹きだしメニュー44中から「関連性の確認1(サイト内)」を選択すると、クライアント36からWebサーバ32に対し、燃料電池と都市ガスを関連付ける根拠の提示リクエストが送信される。
これを受け付けたマップ生成部28は、図19に示すように、検索語である「燃料電池」及び選択された「都市ガス」に基づいてキーワード共起頻度表20を検索し、両者間で共起の生じている文書番号のリストを生成する。
つぎにマップ生成部28は、この文書番号リストに基づいて文書DB12を検索し、文書本文のリストを生成した後、Webサーバ32経由でクライアント36に送信する。
この結果、クライアント36のディスプレイには、燃料電池と都市ガスとが同時に出現している文書の番号、タイトル、抄録、年月日等がリスト表示される。
また、この中の一つをユーザが選択すると、マップ生成部28は該当の文書データを文書DB12から抽出し、クライアント36に送信する。
この結果ユーザは、当該文書データの内容を閲覧し、「燃料電池」と「都市ガス」との関連性を個別に確認することが可能となる。
一方、ユーザが図18の吹きだしメニュー44中で「関連性の確認2(Web上)」を選択すると、Webファイルに組み込まれた制御プログラムにより、予め設定された検索サイトに接続するための新しいウィンドウあるいはタグがWebブラウザ上に起動し、当該検索サイトに対して「燃料電池」及び「都市ガス」をアンド条件で結んだ検索クエリが送信される。
この結果、燃料電池と都市ガスの両者を含むWebサイトの情報がWebブラウザ上にリストアップされることとなり、ユーザは「燃料電池」と「都市ガス」との関係性について、インターネットのWebサイトを通じて確認することが可能となる。
これに対し、ユーザが図18の吹きだしメニュー44中で「Web上で検索」を選択すると、予め設定された検索サイトに接続するための新しいWebブラウザが起動し、当該検索サイトに対して「都市ガス」のみが検索語として送信される。
この結果、「都市ガス」に関するWebサイトの情報を確認することが可能となる。
またユーザが、図18の吹きだしメニュー44中で「関連性を否定」を選択した場合、「燃料電池」と「都市ガス」間の関連性を否定する情報がサーバ上の所定の記憶手段に蓄積される。
そして、この情報が一定数(例えば10件以上)を超えた時点で、キーワード関連度表20におけるデータが修正され、「燃料電池」と「都市ガス」間の関連度が所定ポイント分減算され、あるいは0にリセットされる。
ところで、各タグ40をそれぞれの座標に基づいて所定の面積を備えた二次元平面上に配置するに際しては、図20に示すように、タグ同士が重複する可能性がある。
このような場合、ユーザの視認性を重視し、タグ同士の重複を解いて文字を認識し易いように調整することが望ましいが、各タグ間の関係性を尊重する立場からは、移動距離を最小限に抑えることが重要となる。
そこで、このシステム10では、各タグの移動距離を最小限に抑えつつ、重複関係を解消するために、以下のアルゴリズムを採用している。
以下、図21のフローチャートに従い、その手順を説明する。
まず、マップ生成部28は、各タグの面積を比較し、面積の大きい順番に位置を固定する(S50)。各タグの面積は、上記の通り、キーワードのフォントサイズ及び文字数によって大小が決定される。
また、この過程でタグ間の重複が探知された場合には(S52:Yes)、重複タグ同士の面積を比較し(S54)、最も面積の大きなタグの位置を固定する(S56)。
つぎにマップ生成部28は、重複タグ中で2番目に面積の大きなタグを上下左右の何れかの方向に移動させ、面積が最も大きなタグとの重複状態を解消させる(S58)。
この際、マップ生成部28は以下のルールに拘束される。
(1) 原則として、最も移動距離が短くて済む方向を優先的に選択する。
(2) 原則として、既に固定済みのタグと重複する方向は選択できない。
(3) 何れの方向においても固定済みのタグと重複する場合には、最も重複面積が小さくて済む方向を選択する。
(4) 全体枠αを超える方向は選択できない。
(5) 戻り方向への移動は選択できない。
移動先において他のタグとの重複が発生した場合(S60:Yes)、マップ生成部28はS54〜S58のステップを繰り返し、重複状態の回避を図る。
全てのタグについて重複回避のための調整処理が完了するまで、マップ生成部28はS54〜S60の処理を繰り返す(S62)。
図22は、タグ間の重複解消処理の具体例を示すものであり、全体枠αの近傍において、「ABC」タグ40a、「DEF」タグ40b、「GHI」タグ40c、「JKLMNO」タグ40d間に重複が生じている状態を示している。
この場合、まずマップ生成部28は各重複タグ間の面積を比較し(S54)、最も面積の大きな「ABC」タグ40aを現在位置に固定する(S56)。
つぎにマップ生成部28は、「ABC」タグ40aの次に面積の大きな「DEF」タグ40bの位置を上下左右の何れかの方向に移動させ、「ABC」タグ40aとの重複を解消する(S58)。
この場合、移動距離が最も短くて済むのは上方向であり、他の固定済みのタグと重複したり、全体枠αに抵触することもないため、図23に示すように、マップ生成部28は「DEF」タグ40bを上方向に移動させる。
つぎにマップ生成部28は、「DEF」タグ40bの次に面積の大きな「GHI」タグ40cの位置を上下左右の何れかの方向に移動させ、「ABC」タグ40aとの重複を解消する。
この場合、全体枠αとの抵触が生じるため、上記(4)のルールにより、左方向は移動先として除外される。また、上方向への移動は固定済みの「DEF」タグ40bと重複し、右方向も固定済みの「STUV」タグ40fとの重複が生じ、下方向も固定済みの「PQR」タグ40eとの重複が生じるため、上記(2)のルールからすれば選択できないこととなる。そこで、マップ生成部28は上記(3)のルールを適用し、図24に示すように、最も重複面積が小となる下方向を「GHI」タグ40cの移動先として選択する。
この結果、「GHI」タグ40cと「PQR」タグ40eとの重複関係が新たに発生することとなるため、マップ生成部28は引き続き「GHI」タグ40cを移動対象とする。
この場合、左方向及び下方向への移動は全体枠αとの抵触が発生し(上記(4)のルール違反)、また上方向は戻り方向となるため(上記(5)のルール違反)、図25に示すように、マップ生成部28は「GHI」タグ40cを右方向に移動させ、「PQR」タグ40eとの重複を解消する。
この結果、「GHI」タグ40cと「STUV」タグ40fとの重複関係が発生することとなるため、マップ生成部28は再度「GHI」タグ40cを移動対象とする。
この場合は、下方向が最も短い移動距離で「STUV」タグ40fとの重複を回避でき、固定済みのタグと重複することも全体枠αと抵触することもないため、図26に示すように、マップ生成部28は「GHI」タグ40cを下方向に移動させる。
つぎにマップ生成部28は、残された「JKLMNO」タグ40dの位置を上下左右の何れかの方向に移動させ、「ABC」タグ40aとの重複を解消する。
この場合、全体枠αとの抵触が生じるため、上記(4)のルールにより、左方向は移動先として除外される。また、上下方向及び右方向への移動は何れも固定済みのタグと重複が生じるため、マップ生成部28は上記(3)のルールに従い、図27に示すように、重複面積が最も小さくて済む下方向への移動を選択し、「ABC」タグ40aとの重複関係を解消させる。
この結果、「JKLMNO」タグ40dと「PQR」タグ40eとの重複関係が新たに発生するため、マップ生成部28は「JKLMNO」タグ40dを再度移動対象とする。
この場合、下方向に移動すれば他の固定済みタグとの重複が発生せず、全体枠αとの抵触も生じないため、図28に示すように、マップ生成部28は「「JKLMNO」タグ40dを下方向に移動させる。
これにより、タグ間の重複状態が全て解消されることとなる。
上記においては、全体枠αを固定するという前提に立っているため、(2)のルールを設定し、全体枠αに抵触する方向への移動は選択できないものとしたが、この発明はこれに限定されるものではない。
例えば、タグの配置平面を上下左右にスクロール可能とすることにより、あるいは配置画面全体をズームイン/ズームアウト可能に構成することにより、全体枠αを越えた移動を許容することもできる。
また、上記においては、タグの重複を一切排除する方法について説明したが、若干の重複を許容するように、柔軟に調整することもできる。
例えば、各タグの面積の5%以内の重複を許容するというように設定しておけば、タグの視認性を比較的良好に維持したまま、その移動距離を短く抑えることが可能となる。
上記の第1の関連度マップ42は、検索語に対して関連度の高い上位50位内のキーワードを関連語として抽出し、検索語も含めた各キーワードの文書データ毎の共起頻度に対して主成分分析を施し、その結果導かれた第1主成分値及び第2主成分値に基づいて各キーワードのタグ40を座標平面上に配置することによって生成された。
したがって、第1の関連度マップ42上の各タグ40の配置にはキーワード相互間の関連性が反映されており、このためユーザはタグ40同士の位置関係や集積度によって、キーワード間のカテゴリを把握することも可能となる利点がある。
その反面、タグ40の位置関係から直接的に検索語との関係性を読み取ることができなかった。もちろん、タグ40に表記されたフォントサイズの大小が検索語との関連性の強さを表現しているのではあるが、検索語を2次元平面の中心に配置し、これとの関連性の強さを直接タグ40の位置関係によって表現した関連度マップを生成することも可能である。
以下、図29のフローチャートに従い、このような関連度マップの生成手順について説明する。
まずユーザがクライアント36から検索対象となる文字列を入力すると、これを受け付けたマップ生成部28は(S70)、キーワード関連度表26を参照し、当該文字列と同一または一定範囲内の類似性を有するキーワードを検索語として認定すると共に、当該キーワードに対して関連度の高いキーワードを関連語として所定数抽出する(S72)。
例えば、検索語として「環境技術」が与えられ、これに関連した上位50位以内の関連語が抽出される。図30に抽出例を示す。
つぎにマップ生成部28は、各関連語の順位データを数2に示す螺旋方程式に代入し、それぞれのX値とY値を算出する(S74)。
Figure 0004879800
ここで、「0.05」は螺旋の広がり度合を決定する固定値の係数を意味している。
「n」は関連度の順位を意味し、螺旋の中心が1、すなわち検索語に該当するため、関連語の第1位についてはn=2が代入されることとなる。
また、「e」は自然対数を意味している。
以上の結果、図31に示すように、各関連語のX値及びY値がマップ生成部28によって導かれる。
つぎにマップ生成部28は、各関連語のX値及びY値に基づいて、所定平面上における座標値を算出する(S76)。
以下に、座標算出の具体例を示す。
・座標平面のサイズ:横740ドット×縦500ドットに設定
・X座標変換比=座標平面の横幅÷(X値の最大値−X値の最小値)
・Y座標変換比=座標平面の縦幅÷(Y値の最大値−Y値の最小値)
・キーワードAのX座標=(キーワードAのX値−X値の最小値)*X座標変換比
・キーワードAのY座標=(キーワードAのY値−Y値の最小値)*Y座標変換比
以上の計算により、各キーワードのX値及びY値を、X軸が0〜740の間でY軸が0〜500の間の数値に変換でき、上記の2次元平面上に各タグ40を配置可能となる。
図32に、上記の変換法則に従って算出した各キーワードの座標値を例示する。
つぎにマップ生成部28は、各キーワードの存在を示すタグを生成する(S78)。
図15に示した通り、このタグ40は長方形状を備えており、各キーワードの文字列と、これを取り囲む余白部分を備えている。
また、関連語と区別するため、検索語には各関連語とは異なる文字色及び背景色が割り当てられている。
このタグ40の面積も、上記と同様、キーワードのフォントサイズ及び文字数に応じて自動的に決定される。そして、キーワードのフォントサイズは、上記と同じ要領で、検索語との関連度が大きいほど大きなフォントサイズが割り当てられている。
つぎにマップ生成部28は、上記の各タグ40を上記の2次元平面上にそれぞれ配置し、第2の関連度マップを生成する(S80)。
この際、各タグ40の中心点が上記で求めた平面上の座標点に重なるように配置される。また、検索語に対応したタグ40は、2次元平面の中心に配置される。
この第2の関連度マップは、Webサーバ32によってWebファイルに加工され、クライアント36に送信される(S82)。
この結果、クライアント36のWebブラウザ上には、図33に示すように、第2の関連度マップ46が表示される。
この第2の関連度マップ46上では、各タグ40のフォントサイズが上記の通り検索語との関連度の強さを表しているため、検索語「環境技術」に最も関連性の強いキーワードが「地球環境」であることが理解できる。また、「ハイブリッド」、「地球温暖化」、「温暖化」などのキーワードも、「環境技術」と比較的強い関連性を有していることが理解できる。
さらに、この第2の関連度マップ46においては、2次元平面の中心に検索語のタグ40が配置され、他のタグ40はそれぞれの関連度に応じてこれを螺旋状に取り囲むように配置されているため、各タグ40の配置(検索語のタグとの距離)によって、検索語との関連度を読み取ることが可能となる。
この第2の関連度マップ46の生成に際しては、各キーワードの順位に基づいてタグ40の座標が求められるため、一度順位と座標値との対応関係を計算しておけば、2次元平面の大きさ及び抽出する関連語の数に変更がない限り、再計算することなく直ちにタグ40を2次元平面上に配置でき、システム10の演算量を低減できる利点がある。
この第2の関連度マップ46上の任意のタグ40を選択した状態でユーザがクリックすると、上記した第1の関連度マップ42の場合と同様、吹きだしメニュー44が展開される。
そして、このメニュー44中からユーザが「Go to "トヨタ"」を選択すると、クライアント36から新たな検索語として「トヨタ」の文字列がWebサーバ32に送信される。
これを受けたマップ生成部28は、上記のS70〜S80の処理を実行することにより、トヨタを検索語に設定した新たな第2の関連度マップ46を生成し、クライアント36に送信する(S82)。
この結果、図示は省略したが、クライアント36のWebブラウザ上にトヨタを検索語に設定した第2の関連度マップ46が表示される。
このようにユーザは、第2の関連度マップ46上に表示されるタグ40を次から次へと選択し、そのキーワードを検索語に設定していくことにより、恰も連想の旅を続けるようにして視野を広げていき、その課程で新しい発見や意外な気付きを体験することができる。
また、ユーザが吹きだしメニュー44中から「関連性の確認1(サイト内)」を選択すると、クライアント36からWebサーバ32に対し、環境技術とトヨタを関連付ける根拠の提示リクエストが送信される。
これを受け付けたマップ生成部28は、図19に示したように、検索語である「環境技術」及び選択された「トヨタ」に基づいてキーワード共起頻度表20を検索し、両者間で共起の生じている文書番号のリストを生成する。
つぎにマップ生成部28は、この文書番号リストに基づいて文書DB12を検索し、文書本文のリストを生成した後、Webサーバ32経由でクライアント36に送信する。
この結果、クライアント36のディスプレイには、環境技術とトヨタとが同時に出現している文書の番号、タイトル、抄録、年月日等がリスト表示される。
また、この中の一つをユーザが選択すると、マップ生成部28は該当の文書データを文書DB12から抽出し、クライアント36に送信する。
この結果ユーザは、当該文書データの内容を閲覧し、「環境技術」と「トヨタ」との関連性を個別に確認することが可能となる。
一方、ユーザが上記の吹きだしメニュー44中で「関連性の確認2(Web上)」を選択すると、Webファイルに組み込まれた制御プログラムにより、予め設定された検索サイトに接続するための新しいウィンドウあるいはタグがWebブラウザ上に起動し、当該検索サイトに対して「環境技術」及び「トヨタ」をand条件で結んだ検索語が送信される。
この結果、環境技術とトヨタの両者を含むWebサイトの情報がWebブラウザ上にリストアップされることとなり、ユーザは「環境技術」と「トヨタ」との関係性について、インターネットのWebサイトを通じて確認することが可能となる。
これに対し、ユーザが吹きだしメニュー44中で「Web上で検索」を選択すると、予め設定された検索サイトに接続するための新しいウィンドウあるいはタグがWebブラウザ上に起動し、当該検索サイトに対して「トヨタ」のみが検索語として送信される。
この結果、「トヨタ」に関するWebサイトの情報を確認することが可能となる。
またユーザが、吹きだしメニュー44中で「関連性を否定」を選択した場合、「環境技術」と「トヨタ」間の関連性を否定する情報がサーバ上の所定の記憶手段に蓄積される。
そして、この情報が一定数(例えば10件以上)を超えた時点で、キーワード関連度表20におけるデータが修正され、「環境技術」と「トヨタ」間の関連度が所定ポイント分減算され、あるいは0にリセットされる。
この第2の関連度マップ46を生成するに際してタグ40間の重複が生じた場合、マップ生成部28は上記と同様のルールに従ってタグ40間の重複を解消させる。
この発明に係る検索システムの機能構成を示すブロック図である。 キーワード抽出部の機能構成を示すブロック図である。 キーワード抽出工程を示すフローチャートである。 文字列頻度統計フィルタの動作を示す説明図である。 文書DB内に形態素インデックスが形成されている様子を示す説明図である。 キーワード間の関連度算出工程を示すフローチャートである。 キーワード共起頻度表の一例を示す説明図である。 関連度算出処理を簡略化する方法を示す説明図である。 キーワード組合せ頻度総和表及びキーワード頻度総和表に基づいてキーワード関連度表が生成される様子を示す説明図である。 第1の関連度マップ生成の手順を示すフローチャートである。 与えられた検索語に基づいて関連語を抽出した結果を示す模式図である。 文書毎に検索語及び各関連語の出現頻度を抽出した結果を示す図表である。 検索語及び各関連語の第1主成分及び第2主成分を算出した結果を示す図表である。 検索語及び各関連語の第1主成分値及び第2主成分値に基づいて所定平面上の座標を算出した結果を示す図表である。 検索語及び各関連語のタグを示す説明図である。 第1の関連度マップを示す図である。 第1の関連度マップを示す図である。 第1の関連度マップを示す図である。 検索語及び特定の関連語間の関連度の根拠を提示する様子を示す説明図である。 第1の関連度マップ上において、タグ間で重複が生じている様子を示す図である。 タグ間の重複を解消するためのアルゴリズムを示すフローチャートである。 タグ間の重複解消の具体例を示す説明図である。 タグ間の重複解消の具体例を示す説明図である。 タグ間の重複解消の具体例を示す説明図である。 タグ間の重複解消の具体例を示す説明図である。 タグ間の重複解消の具体例を示す説明図である。 タグ間の重複解消の具体例を示す説明図である。 タグ間の重複解消の具体例を示す説明図である。 第2の関連度マップ生成の手順を示すフローチャートである。 検索語との関連度が高い順に複数のキーワードを抽出した様子を示す図表である。 各キーワードのX値及びY値を算出した結果を示す図表である。 各キーワードのX値及びY値に基づいて所定平面上の座標を算出した結果を示す図表である。 第2の関連度マップを示す図である。
符号の説明
10 検索システム
12 文書DB
14 キーワード抽出部
14a 係り受け表現抽出フィルタ
14b 区切り文字抽出フィルタ
14c 文字列頻度統計フィルタ
14d TermExtractフィルタ
14e 多数決フィルタ
16 キーワードDB
18 関連度算出部
20 キーワード共起頻度表
22 キーワード組合せ頻度総和表
24 キーワード頻度総和表
26 キーワード関連度表
28 マップ生成部
32 Webサーバ
34 ネットワーク
36 クライアント
40 タグ
42 第1の関連度マップ
44 吹きだしメニュー
46 第2の関連度マップ

Claims (1)

  1. 面積が設定された2次元マップ上に、それぞれ固有の面積を備えた複数の表示要素を、各表示要素固有の座標値に基づいて配置するに際し、
    面積の大きい順に各表示要素の位置を固定していくものとし、
    その過程で表示要素間重複が探知された場合には、重複している表示要素の中で最も面積の大きな表示要素以外の表示要素については、以下のルールに従い面積の大きい順に上下左右の何れかの方向に移動させて、既に位置が固定された表示要素との重複を回避する処理をコンピュータに実行させることを特徴とする、2次元マップ上における表示要素間の重複回避プログラム。
    (1) 原則として最も移動距離が短くて済む方向を優先的に選択する。
    (2) 原則として既に固定済みの表示要素と重複する方向は選択しない。
    (3) 何れの方向においても固定済みの表示要素と重複する場合には、最も重複面積が小さくて済む方向を選択する。
    (4) 2次元マップの全体枠を超える方向は選択できない。
    (5) 現在位置に移動してくる前の位置に戻ることになる方向への移動は選択できない。
JP2007090414A 2007-03-30 2007-03-30 2次元マップ上における表示要素間の重複回避プログラム Expired - Fee Related JP4879800B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007090414A JP4879800B2 (ja) 2007-03-30 2007-03-30 2次元マップ上における表示要素間の重複回避プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007090414A JP4879800B2 (ja) 2007-03-30 2007-03-30 2次元マップ上における表示要素間の重複回避プログラム

Publications (2)

Publication Number Publication Date
JP2008250624A JP2008250624A (ja) 2008-10-16
JP4879800B2 true JP4879800B2 (ja) 2012-02-22

Family

ID=39975506

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007090414A Expired - Fee Related JP4879800B2 (ja) 2007-03-30 2007-03-30 2次元マップ上における表示要素間の重複回避プログラム

Country Status (1)

Country Link
JP (1) JP4879800B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775955B2 (en) * 2010-12-02 2014-07-08 Sap Ag Attraction-based data visualization

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000298679A (ja) * 1999-04-15 2000-10-24 Minolta Co Ltd マップ上に複数のオブジェクトを配置する情報処理装置及びそのオブジェクト配置方法
JP4020532B2 (ja) * 1999-04-22 2007-12-12 富士通株式会社 配置問題における遺伝的アルゴリズムを用いたパッキング方法およびパッキング・システム
JP2002023620A (ja) * 2000-07-07 2002-01-23 Matsushita Electric Ind Co Ltd オブジェクト配置装置およびオブジェクト配置方法
JP2005004396A (ja) * 2003-06-11 2005-01-06 Sony Corp 情報表示方法及び情報表示装置、並びにコンピュータ・プログラム

Also Published As

Publication number Publication date
JP2008250624A (ja) 2008-10-16

Similar Documents

Publication Publication Date Title
US10503797B2 (en) Apparatus and method for sharing introduction information
JP4937812B2 (ja) 検索システム
JP4746439B2 (ja) 文書検索サーバおよび文書検索方法
US20180081880A1 (en) Method And Apparatus For Ranking Electronic Information By Similarity Association
KR20070086055A (ko) 표의 문자 및 표음 문자를 갖는 언어들에 대한 자동 완성을위한 시스템 및 방법
US9569420B2 (en) Image processing device, information processing method, and information processing program
CN111194457A (zh) 专利评估判定方法、专利评估判定装置以及专利评估判定程序
JP5193669B2 (ja) 検索システム
JP2008250625A (ja) 検索システム
JP5139883B2 (ja) 検索システム
JP2009086774A (ja) 検索サービス装置
JP2008262506A (ja) 情報抽出システム、情報抽出方法および情報抽出用プログラム
JP2009086903A (ja) 検索サービス装置
JP4879800B2 (ja) 2次元マップ上における表示要素間の重複回避プログラム
JP5474455B2 (ja) 文書群処理装置、文書群処理方法および文書群処理プログラム
JP2009086771A (ja) 検索サービス装置
JP5149581B2 (ja) 検索サービス装置
JP5368900B2 (ja) 情報提示装置、情報提示方法およびプログラム
JP5072792B2 (ja) 情報量に応じたページを優先的に表示する検索方法、プログラム及びサーバ
JP2009086773A (ja) 検索サービス装置
JP7046592B2 (ja) 検索支援システム、検索支援方法、及び検索支援プログラム
JP2012104051A (ja) 文書インデックス作成装置
US11150871B2 (en) Information density of documents
JP6707410B2 (ja) 文献検索装置、文献検索方法およびコンピュータプログラム
JP7400408B2 (ja) 検索根拠可視化システム、プログラム、および方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090911

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110926

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: 20111129

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111130

R150 Certificate of patent or registration of utility model

Ref document number: 4879800

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141209

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees