(57)【要約】  文書を表示する表示部１０１と、前記表示部に表示される前記文書の領域を示す部分領域を算出する表示領域算出部１０４と、前記部分領域外の文書の領域を表示部でスクロールを行うスクロール部１０２と、前記スクロールを行う以前に表示されていた部分領域である第１表示領域の位置情報と、スクロールを行った後に表示される部分領域である第２表示領域の位置情報とを含むスクロール情報を生成するスクロール情報生成部１０５と、前記文書に出現するキーワードを文書中から抽出する抽出部１０３と、前記スクロール情報から前記第１表示領域と前記第２表示領域とを含む部分領域を示す周辺領域を算出する周辺領域算出部１０６と、前記文書中において、キーワードの出現する領域に応じてキーワードのスコアを算出するスコアリング部１０７と、前記スコアの高い順に、前記周辺領域内に出現するキーワードから少なくとも１つの前記キーワードを選択する画面を生成するキーワード選択画面生成部１０８と、を具備する。
2011036755.tif 000002
【特許請求の範囲】
【請求項１】
文書を表示する表示部と、
前記表示部に表示される前記文書の領域を示す部分領域を算出する表示領域算出部と、
前記部分領域外の文書の領域を該表示部でスクロールを行うスクロール部と、
前記スクロールを行う以前に表示されていた部分領域である第１表示領域の位置情報と、該スクロールを行った後に表示される部分領域である第２表示領域の位置情報とを含むスクロール情報を生成するスクロール情報生成部と、
前記文書に出現するキーワードを該文書中から抽出する抽出部と、
前記スクロール情報から前記第１表示領域と前記第２表示領域とを含む部分領域を示す周辺領域を算出する周辺領域算出部と、
前記文書中において、キーワードの出現する領域に応じて該キーワードのスコアを算出するスコアリング部と、
前記スコアの高い順に、前記周辺領域内に出現するキーワードから少なくとも１つの前記キーワードを選択する画面を生成するキーワード選択画面生成部と、を具備することを特徴とするキーワード抽出装置。
【請求項２】
前記キーワードについて外部の情報源から検索を行う検索部をさらに含むことを特徴とする請求項１に記載のキーワード抽出装置。
【請求項３】
前記抽出部は、前記第１表示領域内および前記第２表示領域内に出現するキーワードを抽出することを特徴とする請求項１に記載のキーワード抽出装置。
【請求項４】
前記スコアリング部は、前記第２表示領域内に出現する第１キーワードの初期値となる第１ベーススコアを、該第２表示領域外でありかつ前記周辺領域内に出現する第２キーワードの初期値となる第２ベーススコアよりも高く設定し、
前記文書の読み込み時は、前記第１キーワードについて前記第２表示領域の上部の領域内に出現するキーワードほどスコアを高く設定して前記第１ベーススコアに加算し、
前記文書のスクロール後は、前記第１キーワードについて前記第２表示領域の下部の領域内に出現するキーワードほどスコアを高く設定して前記第１ベーススコアに加算し、前記第２キーワードについて該第２表示領域に近い領域内に出現するキーワードほどスコアを高く設定して第２ベーススコアに加算することを特徴とする請求項１に記載のキーワード抽出装置。
【請求項５】
前記文書を少なくとも２つ以上に分割する領域を示す抽出単位領域を算出する抽出単位算出部と、
前記第２表示領域よりも大きい領域を示す抽出判定領域を算出する抽出判定領域算出部と、
前記抽出判定領域と前記抽出単位領域との一部の領域が重なり合うかどうかを判定する抽出対象領域判定部と、をさらに具備し、
前記抽出部は、前記抽出対象領域判定部により一部の領域が重なり合うと判定された場合、前記抽出単位領域からキーワードの抽出が行われていなければ、該抽出単位領域からキーワードの抽出を行うことを特徴とする請求項１に記載のキーワード抽出装置。
【請求項６】
前記スクロール情報は、スクロール後の時刻、およびスクロール速度をさらに含むことを特徴とする請求項５に記載のキーワード抽出装置。
【請求項７】
前記スコアリング部は、前記第２表示領域内に出現する第１キーワードの第１ベーススコアを、該第２表示領域外でありかつ前記周辺領域内に出現する第２キーワードの第２ベーススコアよりも高く設定し、
前記文書の読み込み後一定の期間内では、前記第１キーワードについて前記第２表示領域の上部の領域内に出現するキーワードほどスコアを高く設定して前記第１ベーススコアに加算し、該文書読み込み後前記期間の経過後では、該第１キーワードのスコアを全て同一のスコアに設定して該第１ベーススコアに加算し、
前記文書のスクロール後前記期間内では、前記第１キーワードについて前記第２表示領域の下部の領域内に出現するキーワードほどスコアを高く設定して前記第１ベーススコアに加算し、前記第２キーワードのスコアを全て同一のスコアに設定して前記第２ベーススコアに加算し、該文書のスクロール後前記期間の経過後では、該第１キーワードのスコアを全て同一のスコアに設定して該第１ベーススコアに加算し、前記第２キーワードについて該第２表示領域に近い領域内に出現するキーワードほどスコアを高く設定して該第２ベーススコアに加算することを特徴とする請求項５に記載のキーワード抽出装置。
【請求項８】
前記抽出判定領域算出部は、前記スクロール速度が早いほど前記抽出判定領域を大きくすることを特徴とする請求項６に記載のキーワード抽出装置。
【請求項９】
前記キーワードの文字色、背景色、およびフォントの大きさを含むデザイン上の特性から、該キーワードがどれほど目立つかを示す指標である誘目性を該キーワードごとに算出する誘目性算出部をさらに具備し、
前記スコアリング部は、前記誘目性を前記第１ベーススコアまたは前記第２ベーススコアに加算することを特徴とする請求項７に記載のキーワード抽出装置。
【請求項１０】
ユーザが選択したキーワードの前記第２表示領域内の位置情報と、該ユーザが該キーワードを選択するまでのスクロール速度とに基づいて、ユーザのスクロール特性を算出するスクロール特性管理部をさらに具備し、
前記スコアリング部は、該スクロール速度に応じて該第２表示領域内の領域ごとにスコアを設定して前記第１ベーススコアまたは前記第２ベーススコアに加算することを特徴とする請求項７に記載のキーワード抽出装置。
【請求項１１】
コンピュータを、
文書を表示する表示手段と、
前記表示手段に表示される前記文書の領域を示す部分領域を算出する表示領域算出手段と、
前記部分領域外の文書の領域を該表示部でスクロールを行うスクロール手段と、
前記スクロールを行う以前に表示されていた部分領域である第１表示領域の位置情報と、該スクロールを行った後に表示される部分領域である第２表示領域の位置情報とを含むスクロール情報を生成するスクロール情報生成手段と、
前記文書に出現するキーワードを該文書中から抽出する抽出手段と、
前記スクロール情報から前記第１表示領域と前記第２表示領域とを含む部分領域を示す周辺領域を算出する周辺領域算出手段と、
前記文書中において、キーワードの出現する領域に応じて該キーワードのスコアを算出するスコアリング手段と、
前記スコアの高い順に、前記周辺領域内に出現するキーワードから少なくとも１つの前記キーワードを選択する画面を生成するキーワード選択画面生成手段として機能させるためのキーワード抽出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、本発明は閲覧中の文書から検索などに使用できるキーワードを抽出するキーワード抽出装置、およびプログラムに関する。
【背景技術】
【０００２】
一般に、ユーザが文書を閲覧しているときに、ユーザの関心を引くキーワードに対して検索を行いたいという要求がある。しかし、モバイル機器のような小さな画面しか持たない機器では、マウスなどのポインティングデバイスを用いることができないため、ユーザが文字列を選択することが面倒であるという問題がある。この問題に対しては、閲覧文書中のキーワードを自動抽出し、ユーザにリストなどで提示することで、キーワードの選択またはキーワードに対する検索などのアクションを指定してＷｅｂ検索などを行う手法がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２１７３３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、閲覧文書全体からキーワードを抽出する場合は、ユーザが見ていない文章から関係のないキーワードが多数抽出されてしまうことがある。そのため、文書中から画面の表示領域のみに表示される文章を抽出対象とすることで、ユーザが見ているキーワードのみを抽出することが考えられる。しかし、表示領域のみを抽出する方法では、長い文書をスクロールしながら閲覧している場合、ユーザが実際に検索をしたいと思ったときには、そのキーワードが表示領域の外に出てしまいキーワードの検索をすることができないことがある。【０００５】
本発明は、上記に鑑みてなされたものであり、ユーザが興味を持ったキーワードを過不足無く簡単に選択できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係るキーワード抽出装置は、文書を表示する表示部と、前記表示部に表示される前記文書の領域を示す部分領域を算出する表示領域算出部と、前記部分領域外の文書の領域を該表示部でスクロールを行うスクロール部と、前記スクロールを行う以前に表示されていた部分領域である第１表示領域の位置情報と、該スクロールを行った後に表示される部分領域である第２表示領域の位置情報とを含むスクロール情報を生成するスクロール情報生成部と、前記文書に出現するキーワードを該文書中から抽出する抽出部と、前記スクロール情報から前記第１表示領域と前記第２表示領域とを含む部分領域を示す周辺領域を算出する周辺領域算出部と、前記文書中において、キーワードの出現する領域に応じて該キーワードのスコアを算出するスコアリング部と、前記スコアの高い順に、前記周辺領域内に出現するキーワードから少なくとも１つの前記キーワードを選択する画面を生成するキーワード選択画面生成部と、を具備することを特徴とする。
【発明の効果】
【０００７】
本発明のキーワード抽出装置、およびプログラムによれば、ユーザが興味を持ったキーワードを過不足無く簡単に選択できる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態に係るキーワード抽出装置の構成を示すブロック図。
【図２】第１の実施形態に係るユーザインタフェースの一例を示す図。
【図３】第１の実施形態における閲覧文書、テキスト文字列、およびキーワード情報の一例を示す図。
【図４】キーワードの相対位置の概念を示す図。
【図５】第１の実施形態に係るスクロール情報の一例を示す図。
【図６】第１の実施形態に係るスコアリング方法の一例を示す図。
【図７】第１の実施形態に係るキーワード抽出装置の文書読み込み時の動作を示すフローチャート。
【図８】第１の実施形態に係る初期スコアの算出処理を示すフローチャート。
【図９】第１の実施形態に係るキーワード抽出装置のスクロール後の動作を示すフローチャート。
【図１０】第１の実施形態に係るスコアの更新処理を示すフローチャート。
【図１１Ａ】文書読み込み時のキーワード選択画面の一例を示す図。
【図１１Ｂ】スクロール後のキーワード選択画面の一例を示す図。
【図１２】キーワードに対するアクションによりメニューを選択する一例を示す図。
【図１３】第２の実施形態に係るキーワード抽出装置の構成を示すブロック図。
【図１４】第２の実施形態に係るスクロール情報の一例を示す図。
【図１５】抽出単位および抽出判定領域の概念を示す図。
【図１６】第２の実施形態に係るキーワード情報の一例を示す図。
【図１７】第２の実施形態に係るスコアリング方法の一例を示す図。
【図１８】第２の実施形態に係るキーワード抽出装置の文書読み込み時の動作を示すフローチャート。
【図１９】抽出対象チェック処理を示すフローチャート。
【図２０】定期スコア更新処理を示すフローチャート。
【図２１】未スクロール時のスコア更新処理を示すフローチャート。
【図２２】第２の実施形態に係るキーワード抽出装置のスクロール後の動作を示すフローチャート。
【図２３】周辺領域の更新処理を示すフローチャート。
【図２４】スクロール後のスコア更新処理を示すフローチャート。
【図２５Ａ】第２の実施形態に係る文書読み込み時のキーワード選択画面の一例を示す図。
【図２５Ｂ】第２の実施形態に係るスクロール直後のキーワード選択画面の一例を示す図。
【図２５Ｃ】第２の実施形態に係るスクロール後一定の時間が経過した後のキーワード選択画面の一例を示す図。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら本発明の実施形態に係るキーワード抽出装置、およびプログラムについて詳細に説明する。なお、以下の実施形態では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。
【００１０】
本実施形態に係るキーワード抽出装置の構成について図１を参照して詳細に説明する。  
本実施形態に係るキーワード抽出装置１００は、文書表示部１０１、スクロール部１０２、キーワード抽出部１０３、表示領域算出部１０４、スクロール情報生成部１０５、周辺領域算出部１０６、スコアリング部１０７、キーワード選択画面生成部１０８、および検索部１０９を含む。
【００１１】
文書表示部１０１は、外部にあるＷｅｂ文書など（図示せず）を取得して画面に表示する。  
スクロール部１０２は、文書の閲覧時に文書表示部１０１に文書が文書表示部１０１に収まりきらない場合などに、ユーザから与えられるスクロール量に応じて文書のスクロールを行う。なお、文書表示部１０１とスクロール部１０２とを合わせてユーザインタフェース（ＵＩ）とも呼ぶ。なお、外部から自動的にスクロール量をスクロール部１０２へ与え、スクロールを行ってもよい。
【００１２】
キーワード抽出部１０３は、文書表示部１０１から表示画面の大きさに関する情報を受け取り、文書中の文字列に出現するキーワード、キーワードの意味属性、および出現位置などキーワードに関する情報を示すキーワード情報をキーワードごとに抽出する。
【００１３】
表示領域算出部１０４は、文書表示部１０１から画面の大きさに関する情報を、スクロール部１０２から画面に表示するスクロールバーの大きさに関する情報を受け取り、文書表示部１０１に表示されている領域が文書全体のどの領域であるかを示す表示領域を算出する。具体的には、文書全体に対して、領域の座標を相対的に算出することで表示領域を得る。表示領域については図４を参照して後述する。
【００１４】
スクロール情報生成部１０５は、表示領域算出部１０４から表示領域を、スクロール部１０２からスクロール量をそれぞれ受け取り、スクロール前の表示領域と現在の表示領域とを一組にしたスクロール情報を生成する。
【００１５】
周辺領域算出部１０６は、スクロール情報生成部１０５からスクロール情報を受け取り、現在の表示領域の外でユーザが興味を持つと推測されるキーワードの出現領域を表す周辺領域を算出する。
【００１６】
スコアリング部１０７は、スクロール情報生成部１０５からスクロール情報を、キーワード抽出部１０３からキーワード情報を、周辺領域算出部１０６から周辺領域をそれぞれ受け取り、抽出済みのキーワードに対してこれらの情報をもとにスコアリングを行う。
【００１７】
キーワード選択画面生成部１０８は、スコアリング部１０７からスコアを受け取り、表示領域および周辺領域に出現するキーワードに付与されたスコアから、ユーザがキーワードを選択するための画面を生成する。
【００１８】
検索部１０９は、キーワード選択画面生成部１０８からキーワードを受け取り、ユーザの動作に応じてキーワードに関する情報の検索を行う。キーワードの検索は、例えば検索エンジンを用いてＷｅｂ上で検索してもよいし、外部にあるデータベース（図示せず）を検索してもよい。
【００１９】
ここで、ユーザインタフェースの一例について図２を参照して詳細に説明する。  
図２は表示画面２０１の右側にスクロールバー２０２が表示されている例である。スクロール部１０２のスクロール機能は、表示画面２０１にあるスクロールバー２０２のノブ２０３の位置を参考に、装置に備え付けられたボタン等で上下に操作すればよい。または、タッチスクリーンを備える装置であれば、ペンや指先で直接表示画面２０１上のスクロールバー２０２にあるノブ２０３を動かしてもよい。さらに、スクロールバー２０２上に限らず、画面の一部をタッチしていずれかの方向にスライドすることでスクロールさせてもよい。
【００２０】
文書の表示領域Ｒは、文書表示部１０１の表示画面２０１の幅Ｒｗと表示画面２０１の高さＲｈとにより決定することができる。ただし、図２のようにスクロールバー２０２が表示される場合にはスクロールバー２０２の領域を除いた部分が表示領域Ｒとなるため、表示領域Ｒの幅Ｒｗおよび高さＲｈは小さくなる。
【００２１】
次に、キーワード抽出部１０３におけるキーワード抽出処理、キーワードの意味属性の判定処理、およびキーワード出現位置の算出処理について図３を参照して詳細に説明する。（ａ）はユーザインタフェースにおける文書閲覧画面を示し、（ｂ）はキーワード抽出の対象となる文字列を示し、（ｃ）はキーワード抽出処理結果であるキーワード情報のテーブルを示す。
【００２２】
まず、キーワード抽出する手段としては、例えば、既存の形態素解析などの技術を利用して名詞句を取り出す方法を用いればよい。また、キーワードの意味属性を判定する手段としては、辞書やルールを用いる既存の固有表現抽出手法を用いればよい。
【００２３】
例えば、“ある文字列に「株式会社・・・」という表現が当てはまればその意味属性を「企業名」とする”というようなルールが用意されているものとする。得られたキーワードが「株式会社○○」という表現であれば、その意味属性は、キーワード意味属性の判定処理によって「企業名」と判定することができる。
【００２４】
本実施形態では、最初に文書が文書表示部１０１に読み込まれたときに、ユーザが閲覧するＷｅｂ文書の文書全体から、マークアップのための文字列を省いたテキスト文字列を抽出する。ここでは図３（ａ）に示す表示画面２０１下部にある「検索」や「メニュー」等の文字列が除かれ、図３（ｂ）に示す文字列が抽出される。続いて図３（ｂ）に示すテキスト文字列から上述した意味属性の判定処理によって、図３（ｃ）の抽出結果のキーワード情報のテーブルを得ることができる。キーワード情報のテーブルにはキーワードの表記３０１、意味属性３０２、および出現位置３０３がそれぞれ対応付けられて格納される。具体的には、表記３０１「野菜カレー」の意味属性３０２は「料理」であり、出現位置３０３は「０」である。同様に、表記３０１「トマト」の意味属性３０２は「食材」であり、出現位置３０３は「３１」である。ここで、出現位置３０３は、テキスト文字列の先頭からの文字数であるが、後述する閲覧文書全体における絶対位置を出現位置３０３とするなど、キーワードの出現位置が特定できる方法であれば何でもよい。
【００２５】
次に、表示領域Ｒの中にあるキーワードの相対位置の概念について図４を参照して詳細に説明する。  
相対位置（ｒｘ，ｒｙ）は、表示領域Ｒの左上の点（以下、始点位置ともいう）である（Ｒｘ，Ｒｙ）からキーワードを囲む矩形の中心点までの位置を示す。例えば、図４の例では、閲覧文書全体における左上の点からキーワード「科学館」を囲む矩形の中心点までの位置（以下、絶対位置ともいう）が（ｐｘ，ｐｙ）だとすると、（ｒｘ，ｒｙ）＝（ｐｘ−Ｒｘ，ｐｙ−Ｒｙ）のように表せる。なお、（ｐｘ，ｐｙ）は、例えば閲覧文書がＷｅｂ文書であれば、ＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）の機能を利用することによって求めることができる。
【００２６】
また、スクロールを行った後の表示領域Ｒの始点位置ＲｘおよびＲｙは、スクロール部１０２によって定められるスクロール量によって決まる。例えば、１回のスクロール量を（Ｓｘ，Ｓｙ）で表す場合、現在のスクロール位置が文書の先頭から（Ｓｘ，Ｓｙ）であれば、表示領域Ｒの始点位置（Ｒｘ，Ｒｙ）は、（Ｒｘ，Ｒｙ）＝（Ｓｘ，Ｓｙ）である。その後、もう１度スクロールすると、次の表示領域Ｒの始点位置（Ｒ’ｘ，Ｒ’ｙ）は、（Ｒ’ｘ，Ｒ’ｙ）＝（Ｓｘ＋Ｒｘ，Ｓｙ＋Ｒｙ）となる。表示領域算出部１０４は、ユーザがスクロール操作を行うたびに表示領域Ｒを更新する。
【００２７】
次に、スクロール情報生成部１０５で生成されるスクロール情報の一例について図５を参照して詳細に説明する。  
スクロール情報生成部１０５は、ユーザが行うスクロールに応じて、スクロール前の表示領域の座標を示す表示領域Ｒｂｅｆｏｒｅと、スクロール後の現在の表示領域の座標を示す表示領域Ｒとを１組にした情報であるスクロール情報Ｕ ５０１を生成する。
【００２８】
文書を読み込んだ時点では、スクロール操作が行われていないため表示領域Ｒｂｅｆｏｒｅには情報が入っていない状態（Ｅｍｐｔｙ）であり、表示領域Ｒには表示領域算出部１０４によって算出された現在の表示領域Ｒ＝（０，０，４８０，６４０）が与えられる。ここで表示領域Ｒの４つのパラメータはそれぞれ、表示領域Ｒの始点位置ＲｘおよびＲｙ、表示領域Ｒの幅ＲＷおよび高さＲｈを示す。図５に示す例では、文書を読み込んだ直後であるため始点位置Ｒｘ、Ｒｙはともに０である。
【００２９】
次に、例として２４０ｐｉｘｅｌだけ下へスクロール（ｙ軸の正の方向へ２４０ｐｉｘｅｌ移動）した後のスクロール情報Ｕ ５０１を示す。このときのスクロール情報Ｕ ５０１は、表示領域Ｒｂｅｆｏｒｅ＝（０，０，４８０，６４０）となり、表示領域Ｒ＝（０，２４０，４８０，６４０）となる。よって、表示領域Ｒｂｅｆｏｒｅにはスクロール前の表示領域Ｒの情報が与えられる。すなわち、表示領域Ｒｂｅｆｏｒｅと表示領域Ｒとを比較することにより１回のスクロール量を計算することができる。
【００３０】
次に、周辺領域Ｄについて説明する。本実施形態では、周辺領域Ｄは１つの矩形領域で構成される。最初に文書が文書表示部１０１に読み込まれた時、周辺領域Ｄはその時の表示領域Ｒと同一の領域である。  
ユーザがスクロールを行うと、周辺領域算出部１０６は、スクロール情報Ｕを参照してスクロール前の表示領域Ｒｂｅｆｏｒｅと現在の表示領域Ｒとを包含するように、周辺領域Ｄを更新する。具体的に、図５に示すスクロール後のスクロール情報Ｕ ５０１を参照して説明する。表示領域Ｒｂｅｆｏｒｅ＝（０，０，４８０，６４０）と表示領域Ｒ＝（０，２４０，４８０，６４０）とを比較すると、２４０ｐｉｘｅｌだけ下へスクロールしているので、表示領域の高さＲｈ＝６４０にスクロール量である「２４０」を加算した「８８０」が周辺領域Ｄの高さになる。よって周辺領域Ｄは、表示領域Ｒｂｅｆｏｒｅと表示領域Ｒとを包含するので、周辺領域Ｄ＝（０，０，４８０，８８０）と表せる。
【００３１】
なお、周辺領域Ｄは１つの矩形であってもよいし、複数の矩形が組み合わさった領域や矩形でない領域であってもよい。例えば、スクロール前の表示領域Ｒｂｅｆｏｒｅと現在の表示領域Ｒを包含する最小の凸多角形とすることもできる。
【００３２】
次に、スコアリング方法の一例について図６を参照して詳細に説明する。  
図６では、簡単のためスクロールは縦方向のみとしているが、横、斜めにスクロールを行っても同様にスコアリングが可能である。  
まず、表示領域Ｒの中にあるキーワードの方が、周辺領域Ｄの中にあるキーワードよりも、スコアのベースを高く設定する。これは、現在表示領域Ｒに表示されている文章にユーザは注目していると考えられるからである。このスコアのベースを基準にして、相対位置に応じてスコア加算を行う。
【００３３】
最初に読み込んだ後のキーワードのスコア加算は、表示領域Ｒの上部の領域に位置するキーワードほど高いスコアにし、表示領域Ｒの外にあるキーワードについては「０」とする。これは、文書を読み込んだ当初は、ユーザは文書の先頭部分を最初に読むと考えられるためである。  
スクロールを行った後のスコア加算は、表示領域Ｒの下部の領域に位置するキーワードほど高いスコアに設定する。これは、ユーザがスクロールをした際に、ユーザは新しく表示画面に表示された文章に注目すると考えられるためである。また、表示領域Ｒの外であるが、周辺領域Ｄの中にあるキーワードに対しては、表示領域Ｒに近い領域から遠い領域へ順にスコアが下がっていく。これは文書を読み進めるにつれ、表示領域Ｒから離れた文章に対してはユーザの関心が薄れていくと考えられるからである。具体的なスコアリングについては、図８のフローチャートを参照して後述する。
【００３４】
ここで、本実施形態に係るキーワード抽出装置が最初に文書を読み込んだときの動作を図７のフローチャートを参照して詳細に説明する。  
ステップＳ７０１では、表示領域算出部１０４が表示領域Ｒを算出する。  
ステップＳ７０２では、スクロール情報生成部１０５がスクロール情報Ｕを初期化する。
【００３５】
ステップＳ７０３では、キーワード抽出部１０３が、Ｗｅｂ文書全体からキーワードの抽出を行い、キーワードごとにキーワード情報、すなわちキーワードの閲覧文書中での絶対位置（ｐｘ，ｐｙ）と意味属性とを算出する。
【００３６】
ステップＳ７０４では、周辺領域算出部１０６が周辺領域Ｄを表示領域Ｒと同一領域になるように初期化する。
【００３７】
ステップＳ７０５では、スコアリング部１０７が、キーワードｗｉについて表示領域Ｒに対する相対位置（ｒｘ，ｒｙ）を算出する。
【００３８】
ステップＳ７０６では、スコアリング部１０７が、算出したキーワードｗｉの相対位置（ｒｘ，ｒｙ）に基づいてキーワードｗｉの初期スコアを算出する。初期スコアの算出処理については図８を参照して後述する。
【００３９】
そして、ステップＳ７０５およびステップＳ７０６の処理を、抽出されたキーワード全てに対して行う。
【００４０】
ステップＳ７０７では、キーワード選択画面生成部１０８がキーワード選択画面を生成する。以上で文書読み込み時の処理を終了する。
【００４１】
次に、図７のステップＳ７０６における初期スコアの算出処理について図８のフローチャートを参照して詳細に説明する。  
ステップＳ８０１では、キーワードｗｉが表示領域Ｒの中にあるキーワードであるかどうかを判定する。表示領域Ｒの中にあるキーワードであると判定された場合は、ステップＳ８０２へ進む。表示領域Ｒの中にあるキーワードでないと判定された場合は、ステップＳ８０３へ進む。
【００４２】
ステップＳ８０２では、キーワードｗｉの初期スコアを算出する。初期スコアｗｓは、例えば式（１）のような計算を行って算出する。  
ｗｓ＝ｗｂＲ＋ｆ０（ｒｘ，ｒｙ）          （１）
ｗｂＲは表示領域Ｒの中でのスコアのベース値であり、ｆ０（ｒｘ，ｒｙ）は式（２）に示すように表示領域Ｒを分割してスコアを割り当てる関数である。
【数１】
2011036755.tif 000003
【００４３】
またｆ０（ｒｘ，ｒｙ）は、式（３）のような相対位置（ｒｘ，ｒｙ）を用いる任意の式から算出してもよい。
【数２】
2011036755.tif 000004
【００４４】
ステップＳ８０３では、キーワードｗｉが表示領域Ｒの中に入っていないため、キーワードｗｉの初期スコアを「０」とする。
【００４５】
次に、本実施形態に係るキーワード抽出装置のスクロール後の動作について図９のフローチャートを参照して詳細に説明する。
【００４６】
ステップＳ９０１では、表示領域算出部１０４が表示領域Ｒを更新する。
【００４７】
ステップＳ９０２では、スクロール情報生成部１０５がスクロール情報Ｕを更新する。
【００４８】
ステップＳ９０３では、周辺領域算出部１０６が周辺領域Ｄを更新する。
【００４９】
ステップＳ９０４では、スコアリング部１０７が、キーワードｗｉについて表示領域Ｒに対する相対位置（ｒｘ，ｒｙ）を算出する。
【００５０】
ステップＳ９０５では、スコアリング部１０７がキーワードｗｉのスコアの更新処理を行う。そして、ステップＳ９０４およびステップＳ９０５の処理を、抽出されたキーワード全てに対して行う。スコアの更新処理については図１０を参照して後述する。
【００５１】
ステップＳ９０６では、キーワード選択画面生成部１０８が更新されたスコアに応じてキーワード選択画面を更新する。
【００５２】
次に、スコアの更新処理について図１０のフローチャートを参照して詳細に説明する。以下ではスコア算出のための処理を、簡単のために縦方向にのみスクロールが行われると想定しているが、これに限らず、横方向または斜め方向にもスクロールが行われる場合は、これを拡張して同様にスコア算出を行うことができる。  
ステップＳ１００１では、キーワードｗｉが表示領域Ｒの中にあるキーワードであるかどうかを判定する。表示領域Ｒの中にあるキーワードであると判定された場合は、ステップＳ１００２へ進む。表示領域Ｒの中にあるキーワードでないと判定された場合は、ステップＳ１００３へ進む。
【００５３】
ステップＳ１００２では、キーワードｗｉの更新スコアを算出する。更新スコアｗｓは、例えば式（４）のような計算を行って算出する。  
ｗｓ＝ｗｂＲ＋ｆ１（ｒｘ，ｒｙ）          （４）
ここで、ｆ１（ｒｘ，ｒｙ）は式（２）および式（３）と同様の式を用いればよい。但し、表示領域Ｒの下の領域ほどスコアが高くなるように定数を（０＜ａ＜ｂ＜ｃ）と調整する。
【００５４】
ステップＳ１００３では、キーワードｗｉが表示領域Ｒの中には入っていないが、周辺領域Ｄの中にあるキーワードであるかどうかを判定する。キーワードｗｉが周辺領域Ｄの中にあるキーワードであると判定された場合は、ステップＳ１００４へ進む。キーワードｗｉが周辺領域Ｄの中にあるキーワードでないと判定された場合は、ステップＳ１００５へ進む。
【００５５】
ステップＳ１００４では、ステップＳ１００２同様、キーワードｗｉの更新スコアを算出する。更新スコアｗｓは、例えば式（５）のような計算を行って算出する。  
ｗｓ＝ｗｂＤ＋ｇ１（ｒｘ，ｒｙ）          （５）
ここで、ｗｂＤは周辺領域Ｄの中でのスコアのベース値であり、ｇ１（ｒｘ，ｒｙ）はｆ１（ｒｘ，ｒｙ）と同様の式を用いればよい。
【００５６】
ステップＳ１００５では、キーワードｗｉが表示領域Ｒの中に入っておらず、さらに周辺領域Ｄの中にも入っていないため、キーワードｗｉの更新スコアを「０」とする。
【００５７】
キーワード選択画面生成部１０８が生成する選択画面の一例を図１１Ａおよび図１１Ｂに示す。  
図１１Ａに示すように、文書読み込み時では、表示領域Ｒの中に出現するキーワードについては文書表示部１０１上でハイライト表示する。なお、よりキーワードが選択可能であることがわかりやすいようにボタンのような形状にして表示してもよい。さらに、キーワードのスコアに応じてハイライトの色を変える(スコアが高いキーワードほど目立たせる等)ようにしてもよい。
【００５８】
図１１Ｂにスクロール後のキーワード選択画面の例を示す。表示領域Ｒの中に出現するキーワードについては、図１１Ａと同様に文書表示部１０１上でハイライト表示する。一方、周辺領域Ｄに出現したキーワード（以下、周辺キーワードともいう）については、文書表示部１０１の上下の少なくとも一方に周辺キーワード表示領域１１０１を設け、そこに表示する。周辺キーワードはすべて表示するのではなく、スコアの上位Ｎ件（Ｎは任意の自然数）などに絞って表示する。このとき、キーワードは横１列などのリスト状に並べてもよいし、図１１Ｂに示すように、できるだけ元の位置関係に近くなるような配置をしてもよい。  
なお、文書読み込み時には周辺領域Ｄが表示領域Ｒと同一のため、周辺キーワード表示領域１１０１は表示しなくともよい。また、キーワードのハイライト表示は常に行っていてもよいが、「検索」ボタンのようなボタンを用意しておき、ユーザがそのボタンを押すことで表示または非表示を切り替えられるようにしてもよい。  
さらに、ユーザはキーワード選択画面上で、上下左右方向へ移動させるボタンやスクリーンへのタッチによる直接操作でキーワードを選択することがあり得るため、ユーザのアクションによりメニューを選択できるようにしてもよい。
【００５９】
キーワードに対するアクションによりメニューを選択する表示例を図１２に示す。  
メニュー項目１２０１は、選択されたキーワードの意味属性によって生成される。図１２の例では、「湯剥き」は意味属性「手法」のキーワードであるため、単なるＷｅｂ検索を行うメニューのほかに、動画で湯剥きのやり方を見るための検索メニューなどを表示してもよい。他には、意味属性が「料理」である「野菜カレー」が選択された場合は、野菜カレーを食べられる店の検索メニューなどを表示してもよい。
【００６０】
以上に示した第１の実施形態によれば、ユーザのスクロールを考慮して閲覧している表示領域のみでなく、表示領域外であるが未だユーザが興味を持っていると推測される領域からキーワード抽出を行い、ユーザに提示することで、ユーザが興味を持ったキーワードを過不足無く簡単に選択できるようにする。
【００６１】
（第２の実施形態）   
第１の実施形態では、閲覧する文書全体に対してキーワード抽出を行うため、大きなファイルサイズの文書では抽出するキーワードの数が多くなる。そのため、文書を閲覧するときにユーザがキーワードを選択できるようになるまでに時間がかかってしまう。よって、本実施形態では、大きなファイルサイズの文書から必要となる領域に対して抽出処理を行う点が第１の実施形態と異なる。  
また、本実施形態では、ユーザがスクロール操作後に表示領域内で文章を読み進めるのに対応させて、スクロール情報に時間情報を追加し、ユーザごとの、スクロール量および次のスクロールまでの時間間隔に合わせてキーワードのスコアを更新する点が第１の実施形態と異なる。
【００６２】
本実施形態に係るキーワード抽出装置の構成について図１３を参照して詳細に説明する。
【００６３】
本実施形態に係るキーワード抽出装置１３００は、第１の実施形態に係るキーワード抽出装置１００の構成に加え、さらに、抽出判定領域算出部１３０１、抽出単位算出部１３０２、抽出対象領域判定部１３０３、およびキーワード情報蓄積部１３０４を含む。また、スコアリング部１０７は、誘目性算出部１３０５、スクロール特性管理部１３０６を含む。
【００６４】
抽出判定領域算出部１３０１は、スクロール情報生成部１０５からスクロール情報を受け取り、抽出判定領域Ｃを算出する。抽出判定領域Ｃは、新しくキーワード抽出を行う必要があるかどうかを判定するための領域であり、表示領域Ｒよりも大きく設定する。そして、抽出判定領域Ｃは、次にユーザが閲覧すると予測される領域内にあるキーワードの抽出を前もって行うために必要である。抽出判定領域Ｃの大きさは文書読み込み時に決定し、ユーザがスクロールを行うとともにその位置が更新される。
【００６５】
抽出単位算出部１３０２は、抽出判定領域算出部１３０１から抽出判定領域Ｃを受け取り、キーワード抽出を行う抽出単位領域（以下、抽出単位ともいう）Ｉｉ（ｉは任意の正の整数）を算出する。抽出単位は文書読み込み時に全て算出される。
【００６６】
抽出対象領域判定部１３０３は、抽出判定領域算出部１３０１から抽出判定領域Ｃを、抽出単位算出部１３０２から単位領域をそれぞれ受け取り、抽出判定領域Ｃが、まだキーワード抽出を行っていない抽出単位にかかっているかどうかを判定する。キーワード抽出を行っていない抽出単位にかかっていれば、その抽出単位についてキーワード抽出を行うようにキーワード抽出部１０３へ指示を送る。
【００６７】
キーワード情報蓄積部１３０４は、キーワード抽出部１０３からキーワードを受け取り、抽出されたキーワードのＩＤ、意味属性、文書中での絶対位置と、現在の表示領域Ｒ中での相対位置、およびスコアをキーワード情報として蓄積する。なお、抽出されたキーワードは、キーワード抽出部１０３がキーワードを抽出するたびにキーワード情報蓄積部１３０４へ蓄積してもよいし、抽出単位ごとに、抽出単位の領域の中にあるキーワードを抽出し終えたら、まとめてキーワード情報蓄積部１３０４へ蓄積してもよい。キーワード情報蓄積部１３０４に蓄積されるキーワード情報については、図１６を参照して後述する。
【００６８】
誘目性算出部１３０５は、キーワードの文字色、背景色、大きさ等、デザイン上の特性から、キーワードの誘目性を算出してスコア加算を行う。誘目性は、キーワードがどれほど目立つかを示す指標である。例えば、キーワードの文字色と背景色の明度差Ｖｄｉｆｆと文字の大きさＳｉｚｅ、文字列長Ｌｅｎｇｔｈから、誘目性をａ×Ｖｄｉｆｆ×Ｓｉｚｅ×Ｌｅｎｇｔｈ（ａは定数）などとして求めることができる。また、この誘目性の値をキーワード情報として追加してもよい。
【００６９】
スクロール特性管理部１３０６は、文書閲覧時に選択されたキーワードの表示位置と、そのときのスクロール情報の履歴からキーワードのスコア加算を行う。例えば、以前のスクロール情報Ｕのスクロール速度ｖがある一定値ｖｔｈ以上で、選択されたキーワードの相対位置のｙ座標ｒｙが表示領域の下の領域（例えば２＊Ｒｈ／３）のことが多いのであれば、スクロール速度ｖが大きなときは、ユーザは表示領域の下の領域に興味を持ちやすいと考えられる。このため、スクロール速度ｖが大きいときは表示領域の下の領域に位置するキーワードにスコア加算を行う。
【００７０】
本実施形態に係るスクロール情報生成部１０５が生成するスクロール情報について図１４を参照して詳細に説明する。  
スクロール情報Ｕ １４０１として、スクロール前の表示領域Ｒｂｅｆｏｒｅ、スクロール後の現在の表示領域Ｒ、スクロールが終了した時刻ｔ、スクロール速度ｖ（ｘ方向の速度ｖｘ，ｙ方向の速度ｖｙ）を含む。スクロール速度ｖとは、１秒間にｘ方向またはｙ方向に何ｐｉｘｅｌ表示領域が移動したかを示す速度である。なお、時刻ｔは、文書読み込み時には文書読み込みが完了した時刻とする。また。スクロール速度ｖについては、ｘ成分およびｙ成分の速度を算出するので、縦方向に移動した場合のスクロール速度を算出できるのに限らず、横へまたは斜めに移動した場合のスクロール速度も算出することができる。  
文書読み込み時には、まだスクロールを行っていないため、スクロール前の表示領域Ｒｂｅｆｏｒｅは空（Ｅｍｐｔｙ）である。表示領域Ｒは、現在表示される領域（０，０，４８０，６４０）である。また、スクロール時刻ｔは文書読み込みが完了した時刻「２００９−０６−１６Ｔ１２：３４：５０」とし、スクロール速度ｖはｘ軸方向、ｙ軸方向共に０である。
【００７１】
次に、スクロール後の例として、８秒間で２４０ｐｉｘｅｌ分下へスクロール（ｙ軸の正の方向へ２４０ｐｉｘｅｌ移動）を行った場合を考える。スクロール前の表示領域Ｒｂｅｆｏｒｅとしては、文書読み込み時の表示領域Ｒ（０，０，４８０，６４０）が与えられる。また現在の表示領域Ｒは、ｙ軸の正の方向に２４０ｐｉｘｅｌスクロールしたため、表示領域Ｒの始点位置Ｒｙが変化して、（０，２４０，４８０，６４０）となる。またスクロール時刻ｔは、スクロールが終了した時刻「２００９−０６−１６Ｔ１２：３４：５８」となる。スクロール速度ｖは、スクロールの開始時刻（文書読み込み時は文書の読み込みが完了した時刻）から終了時刻までの時間と、スクロールしたｐｉｘｅｌ量とによって算出することができる。ここでは、ｙ軸の正の方向に２４０ｐｉｘｅｌを８秒間でスクロールしたので、スクロール速度ｖは、（０，３０）ｐｉｘｅｌ／ｓｅｃとなる。  
なお、スクロール情報Ｕ １４０１については、スクロール前の表示領域Ｒｂｅｆｏｒｅの代わりに最後のスクロール量Ｓ、スクロール速度ｖの代わりにスクロール開始時刻ｔｓｔａｒｔを含んでもよい。
【００７２】
ここで、抽出判定領域Ｃについて図１５を参照して詳細に説明する。  
文書全体Ｐの幅および高さを（Ｐｗ，Ｐｈ）とすると、文書全体を少なくとも１つ以上の抽出単位を含む単位領域に分割する。図１５の例では、文書全体Ｐが４つの抽出単位Ｉｉ（ｎ＝０，１，２，４）に分割される。それぞれの抽出単位Ｉｉは、表示領域Ｒと同様に、始点位置ＩｉｘおよびＩｉｙ、抽出単位の幅Ｉｉｗおよび高さＩｉｈ４つのパラメータで規定することができる。例えば、１つの抽出単位の幅および高さを（１０００，１５００）とすると、抽出単位Ｉ０は、（Ｉ０ｘ，Ｉ０ｙ，Ｉ０ｗ，Ｉ０ｈ）＝（０，０，１０００，１５００）で表される。同様に、抽出単位Ｉ２は（Ｉ２ｘ，Ｉ２ｙ，Ｉ２ｗ，Ｉ２ｈ）＝（０，１５００，１０００，１５００）で表される。
【００７３】
抽出判定領域Ｃは、ユーザのスクロールを先読みしてキーワード抽出を行うために、表示領域Ｒより大きい領域として設定すればよい。
【００７４】
キーワード情報蓄積部１３０４に蓄積されるキーワード情報の一例について図１６を参照して詳細に説明する。  
キーワード情報は、１度抽出されたら変化しないキーワードのＩＤ、表記３０１、文書中での意味属性３０２、および絶対位置１６０１（ｐｘ，ｐｙ）と、ユーザがスクロールを行うことによって更新される表示領域Ｒからの相対位置１６０２（ｒｘ，ｒｙ）と、後述する定期スコア更新処理によって更新されるスコア１６０３（ｗｓ）とを含む。キーワード抽出部１０３によりキーワード抽出が行われ、それまでにキーワード情報蓄積部１３０４に蓄積されていないキーワードが抽出されたら、キーワードとこのキーワードに対応するキーワード情報とをキーワード情報蓄積部１３０４に追加して蓄積する。具体例としては、ＩＤ「０」の表記３０１「野菜カレー」は、意味属性３０２が「料理」であり、絶対位置１６０１（ｐｘ，ｐｙ）は「２９４，６９」であり、これらは１度抽出されたら変化しないフィールドである。また、スクロールごとに更新されるフィールドである表示領域Ｒからの相対位置１６０２（ｒｘ，ｒｙ）は「２９４，−１１」であり、定期的にスコア更新処理によって更新されるスコア１６０３（ｗｓ）は「５．０」である。相対位置のｙ成分がマイナスの値となっているのは、文書読み込み位置から表示領域Ｒが下方向（図５に示すｙ軸の正の方向）に８０ｐｉｘｅｌ分スクロールしており、キーワードである「野菜カレー」の文字列が表示領域Ｒから外れているため、相対位置がマイナスの値となっている。
【００７５】
本実施形態に係るスコアリング方法の一例について図１７を参照して詳細に説明する。  
図６と同様に、簡単のためスクロールの方向は縦方向のみとしている。また、スコアのベースについても第１の実施形態と同様に表示領域Ｒの中にあるキーワードの方が、表示領域Ｒの中にはないが周辺領域Ｄの中にあるキーワードよりもスコアのベースを高く設定する。
【００７６】
文書読み込み時またはスクロール直後において、表示領域Ｒの中にあるキーワードのスコアリング方法は第１の実施形態と同様であるが、読み込み後時間が経過したときまたはスクロール後時間が経過したときには、表示領域Ｒの中にあるキーワードのスコア加算は、領域全体で同じ値となるように設定する。ここで、文書読み込み時とは、文書を読み込んだ後一定の期間内のことを示す。また同様に、スクロール直後とは、スクロール後一定の期間内のことを示す。  
一方、表示領域Ｒの中にはないが周辺領域Ｄの中にあるキーワードのスコア加算は、スクロールを行った直後には領域全体で同じ値となるように設定する。そして、スクロール後一定の時間が経過すると、表示領域Ｒに近いキーワードほどスコアが高くなるように設定する。この理由としては、表示領域Ｒから外れたキーワードは、スクロール直後にはそれまで表示領域Ｒに表示されていた領域であるため、表示領域Ｒに近い領域か遠い領域かを問わずユーザが同じ程度に関心があると考えられるが、一定時間が経過すると表示領域Ｒから離れたキーワードは関心が薄れると考えられるためである。
【００７７】
ここで、本実施形態に係るキーワード抽出装置が最初に文書を読み込んだときの動作を図１８のフローチャートを参照して詳細に説明する。  
ステップＳ１８０１では、表示領域算出部１０４が表示領域Ｒを算出する。  
ステップＳ１８０２では、スクロール情報生成部１０５がスクロール情報Ｕを初期化する。
【００７８】
ステップＳ１８０３では、抽出判定領域算出部１３０１が抽出判定領域Ｃを算出する。抽出判定領域Ｃの算出方法としては、例えば、抽出判定領域Ｃの幅Ｃｗおよび高さＣｈは、ある任意の定数で表される固定幅ｋ０ｗおよび固定高さｋ０ｈを用いて（Ｃｗ＝Ｒｗ＋ｋ０ｗ，Ｃｈ＝Ｒｈ＋ｋ０ｈ）とすればよい。このとき、ｋ０ｗおよびｋ０ｈは、例えば表示領域Ｒの大きさの倍数としてもよいし、Ｍ回のスクロール単位量としてもよい。スクロール単位量は予め定数で定めてもよいが、これまでのユーザのスクロール速度（または速度の平均値等）に応じて変化させて、（ｋ０ｗ＝ａ×ｖｘ＿ａｖｇ．，ｋ０ｈ＝ｂ×ｖｙ＿ａｖｇ．）としてもよい。このように設定することで、普段スクロール速度が速いユーザについては、より大きな抽出判定領域Ｃを設けることができ、頻繁にキーワード抽出が行われないようにすることが可能である。
【００７９】
ステップＳ１８０４では、抽出単位算出部１３０２が抽出単位Ｉｉを算出する。抽出単位Ｉ０〜Ｉｎは例えば、図１５に示すように、抽出判定領域Ｃと同じ大きさの抽出単位がタイル状に並ぶように定める。なお、Ｗｅｂ文書であれば矩形に区切られた領域でなく、Ｗｅｂ文書のＤＯＭツリー構造を解析し、ＨＴＭＬ要素の固まりごとに抽出単位Ｉｉとしてもよいし、文書のページごとに抽出単位Ｉｉとしてもよい。  
ステップＳ１８０５では、周辺領域算出部１０６が周辺領域Ｄを初期化する。本実施形態においては、周辺領域Ｄは２つの矩形領域Ｄ０，Ｄ１から構成される。また、第１の実施形態と同様、初期化時の周辺領域Ｄ０は表示領域Ｒと同一領域とする。また、周辺領域Ｄ１は空（Ｅｍｐｔｙ）とする。
【００８０】
ステップＳ１８０６では、抽出対象領域判定部１３０３が抽出単位Ｉｉのそれぞれに対して、キーワード抽出が行われたかどうかを判定する。ステップＳ１８０６の抽出対象領域チェック処理については、図１９を参照して後述する。  
ステップＳ１８０７では、スコアリング部１０７が、キーワード情報蓄積部１３０４に蓄積されたキーワードｗのそれぞれに対して、表示領域Ｒに対する相対位置（ｒｘ，ｒｙ）を更新する。相対位置の算出方法については図７に示すステップＳ７０５と同様の処理を行えばよい。  
ステップＳ１８０８では、キーワードのスコアを更新する。ステップＳ１８０８の処理については図２０を参照して後述する。
【００８１】
次に、ステップＳ１８０６の抽出対象チェック処理について図１９のフローチャートを参照して詳細に説明する。  
ステップＳ１９０１では、抽出対象領域判定部１３０３が、抽出単位Ｉｉに対してキーワード抽出処理がまだ実行されていないかどうかを判定する。キーワード抽出処理がまだ実行されていない場合は、ステップＳ１９０２へ進む。キーワード抽出処理が実行されているときは、その抽出単位Ｉｉに対しての処理を終了して、次の抽出単位Ｉｉについて処理を行う。  
ステップＳ１９０２では、抽出対象領域判定部１３０３が抽出単位Ｉｉと抽出判定領域Ｃとの一部の領域が重なり合うかどうかを判定する。重なり合う領域がある場合は、ステップＳ１９０３へ進み、重なり合う領域がない場合は、その抽出単位Ｉｉに対しての処理を終了して、次の抽出単位Ｉｉについて処理を行う。
【００８２】
ステップＳ１９０３では、キーワード抽出部１０３が抽出単位Ｉｉに対してキーワード抽出処理を実行する。なお抽出単位内の文字列が文章の途中で切れている場合は、対象文字列を切りのよい範囲まで拡張してもよい。例えば、文の切れ目まで拡張する、Ｗｅｂ文書であればその要素全体まで拡張する等が考えられる。
【００８３】
ステップＳ１９０４では、キーワード抽出部１０３がステップＳ１９０３において抽出されたキーワードをキーワード情報蓄積部１３０４に蓄積する。このとき、キーワード情報の相対位置およびスコアについては、抽出されたキーワードが表示領域Ｒの外であるため未定義とする。以上に示したステップＳ１９０１からステップＳ１９０４までの処理を、各抽出単位Ｉｉ＝Ｉ０…Ｉｎに対して同様に行う。このように、新しく抽出対象となった抽出単位に対するキーワード抽出処理が実行される。
【００８４】
次に、キーワードの定期スコア更新処理について図２０のフローチャートを参照して詳細に説明する。  
ステップＳ２００１では、１度でもスクロール操作を行ったどうかを判定する。この判定処理は、スコアリング部１０７がスクロール情報生成部１０５からのスクロール情報を参照して判定する。１度もスクロール操作を行っていない場合には、ステップＳ２００２へ進み、１度でもスクロール操作を行っていれば、ステップＳ２００３へ進む。文書読み込み時には、１度もスクロール操作を行っていない状態のため、ステップＳ２００２の処理が行われる。
【００８５】
ステップＳ２００２では、スコアリング部１０７が未スクロール時のスコア更新処理を行う。ステップＳ２００２の処理については図２１を参照して後述する。  
ステップＳ２００３では、スコアリング部１０７がスクロール後のスコア更新処理を行う。ステップＳ２００３の処理については図２４を参照して後述する。  
上述したステップＳ２００１からステップＳ２００３までの処理を、各キーワードｗｉについて行う。
【００８６】
ステップＳ２００４では、更新した各キーワードのスコアをもとに、キーワード選択画面を更新する。以上で定期スコア更新処理を終了する。
【００８７】
ここで、ステップＳ２００２におけるスコアリング部１０７の未スクロール時スコア更新処理について図２１のフローチャートを参照して詳細に説明する。  
ステップＳ２１０１では、キーワードｗｉが表示領域Ｒの中に含まれるかどうかを判定する。キーワードｗｉが表示領域Ｒの中に含まれると判定される場合は、ステップＳ２１０２へ進み、キーワードｗｉが表示領域Ｒの中に含まれないと判定される場合は、ステップＳ２１０３へ進む。
【００８８】
ステップＳ２１０２では、表示領域Ｒの中に含まれるキーワードｗｉに関して、式（６）に基づいてスコアを計算する。  
【数３】
2011036755.tif 000005
【００８９】
ここで、ｗｂＲは表示領域Ｒ中に出現するキーワードｗｉのスコアのベース、（ｒｘ，ｒｙ）はキーワードｗｉの相対位置、Ｕはスクロール情報である。ｆ０（ｒｘ，ｒｙ，Ｕ）は、例えば、スクロール情報Ｕの中のスクロール時刻ｔからの経過時間ｔｄが閾値ｔｔｈよりも小さい場合、表示領域Ｒの上の領域にあるキーワードｗｉほどスコアを高くするため、式（７）のように計算する。
【数４】
2011036755.tif 000006
【００９０】
また、経過時間ｔｄが閾値ｔｔｈ以上である場合は、表示領域Ｒのどの領域でも同じスコアとするためｆ０＝ｄとする。文書読み込み時には経過時間ｔｄは「０」であるため、経過時間ｔｄが閾値ｔｔｈよりも小さいので、第１の実施形態と同じく表示領域Ｒの上部に位置するキーワードほど高いスコアとなる。
【００９１】
ステップＳ２１０３では、キーワードｗｉのスコアを０に設定する。以上で未スクロール時のスコア更新処理を終了する。
【００９２】
次に、本実施形態に係るキーワード抽出装置のスクロール後の動作について図２２のフローチャートを参照して詳細に説明する。  
ステップＳ２２０１では、表示領域算出部１０４が表示領域Ｒを更新する。
【００９３】
ステップＳ２２０２では、スクロール情報生成部１０５がスクロール情報Ｕを更新する。
【００９４】
ステップＳ２２０３では、抽出判定領域算出部１３０１が抽出判定領域Ｃを更新する。抽出判定領域Ｃの大きさは初期化時のままでもよいし、スクロール情報Ｕに応じて更新してもよい。例えば、抽出判定領域Ｃの幅Ｃｗおよび高さＣｈを式（８）のように算出してもよい。
【数５】
2011036755.tif 000007
【００９５】
式（８）によれば、スクロール速度が速い時は抽出判定領域Ｃを大きく設定することができる。また抽出判定領域Ｃの位置は、その中心点（Ｃｃｘ，Ｃｃｙ）＝（Ｃｘ＋Ｃｗ／２，Ｃｙ＋Ｃｈ／２）を式（９）により算出する。
【数６】
2011036755.tif 000008
【００９６】
但し、抽出判定領域Ｃが表示領域Ｒを包含するように調整する。これによって、抽出判定領域Ｃは表示領域Ｒのスクロール方向の少し先の領域と表示領域Ｒとを含む矩形領域として更新することができる。
【００９７】
ステップＳ２２０４では、抽出対象領域のチェック処理について図１８に示すステップＳ１８０６と同様の処理を行い、必要であれば、キーワード抽出部１０３がスクロールによって新しく抽出対象となる抽出単位に対してキーワード抽出を行う。
【００９８】
ステップＳ２２０５では、周辺領域算出部１０６が周辺領域Ｄの更新処理を行う。ステップＳ２２０５については、図２３を参照して後述する。
【００９９】
ステップＳ２２０６では、図８に示すステップＳ１８０７同様に、キーワード情報蓄積部１３０４に蓄積されたキーワードｗｉのそれぞれに対して、スコアリング部１０７が表示領域Ｒに対する相対位置（ｒｘ，ｒｙ）を更新する。
【０１００】
ステップＳ２２０７では、キーワードのスコアを更新する。ステップＳ２２０７の処理については図２４を参照して後述する。以上がスクロール後の動作であり、スクロールが行われるたびに、ステップＳ２２０１からステップＳ２２０７までの処理が行われる。
【０１０１】
次に、ステップＳ２２０５における周辺領域算出部１０６の周辺領域Ｄの更新処理について図２３のフローチャートを参照して詳細に説明する。周辺領域Ｄは、スクロール速度ｖが速いときはスクロールされた間の領域を無視し、スクロール速度が遅い時はスクロールされた間の領域のうち、現在の表示領域Ｒの少し上の領域を含めるような処理を行う。
【０１０２】
ステップＳ２３０１では、スクロール情報Ｕが保持するスクロール速度ｖの絶対値が一定値ｖｔｈ以上であるかどうかを判定する。スクロール速度ｖの絶対値が一定値ｖｔｈ以上である場合、ステップＳ２３０２に進み、スクロール速度ｖの絶対値が一定値ｖｔｈ以上でない、つまり一定値ｖｔｈ未満の場合、ステップＳ２３０３に進む。
【０１０３】
ステップＳ２３０２では、スクロール情報Ｕに含まれるスクロール速度ｖの絶対値が一定値ｖｔｈ以上である場合、Ｄ０は表示領域Ｒと同一領域とし、Ｄ１はスクロール前の表示領域Ｒｂｅｆｏｒｅと同一領域とし、ＲとＲｂｅｆｏｒｅとの間の領域は周辺領域Ｄに含めない。これにより、ユーザが意図的に見ていない文章からのキーワードを提示しないようにすることができる。
【０１０４】
ステップＳ２３０３では、スクロール速度ｖの絶対値がｖｔｈ未満の場合、まず点ｄｐを式（１０）のように求める。
【数７】
2011036755.tif 000009
【０１０５】
但し、ここでｄは、表示領域Ｒに含まれないようにｄ＞Ｒの対角線長／２とする。
【０１０６】
ステップＳ２３０４では、周辺領域Ｄ０については点ｄｐを含むように表示領域Ｒを拡張し、Ｄ１を空にする。点ｄｐを含むように周辺領域Ｄ０を設定することで、スクロールされた間の領域のうち、現在の表示領域Ｒの少し上の領域を含めることができる。例えば、式（１１）のようにＤ０およびＤ１を算出することで周辺領域Ｄを得ることができる。
【数８】
2011036755.tif 000010
【０１０７】
以上で周辺領域Ｄの更新処理を終了する。
【０１０８】
ステップＳ２００３に示したスクロール後のスコア更新処理について図２４を参照して詳細に説明する。なお、図１０に示すステップＳ１００１からステップＳ１００５までと同様の処理である。以下ではスコア算出のための処理を、簡単のために縦方向にのみスクロールが行われると想定しているが、これに限らず、横方向または斜め方向にもスクロールが行われる場合は、これを拡張して同様にスコア算出を行うことができる。  
ステップＳ２４０１では、キーワードｗｉが表示領域Ｒの中にあるキーワードであるかどうかを判定する。表示領域Ｒの中にあるキーワードであると判定された場合は、ステップＳ２４０２へ進む。表示領域Ｒの中にあるキーワードでないと判定された場合は、ステップＳ２４０３へ進む。
【０１０９】
ステップＳ２４０２では、キーワードｗｉの更新スコアを算出する。更新スコアｗｓは、例えば式（１２）のような計算を行って算出する。  
ｗｓ＝ｗｂＲ＋ｆ１（ｒｘ，ｒｙ，Ｕ）          （１２）  
ｆ１（ｒｘ，ｒｙ，Ｕ）は、例えばスクロール情報Ｕの中のスクロール時刻ｔからの経過時間ｔｄがある閾値ｔｔｈよりも小さい場合、式（１３）のように計算する。
【数９】
2011036755.tif 000011
【０１１０】
ｔｔｈよりも大きい場合はｆ１＝ｄとする。スクロール時にはｔｄ＝０であるため、第１の実施形態と同じく表示領域Ｒの下部の領域に位置するキーワードほど高いスコアとなる。
【０１１１】
ステップＳ２４０３では、キーワードｗｉが表示領域Ｒには入っていないが、周辺領域Ｄの中にあるキーワードであるかどうかを判定する。周辺領域Ｄの中にあるキーワードであると判定された場合は、ステップＳ２４０４へ進む。周辺領域Ｄの中にあるキーワードでないと判定された場合は、ステップＳ２４０５へ進む。
【０１１２】
ステップＳ２４０４では、周辺領域Ｄ中に出現するキーワードの更新スコアｗｓは、例えば式（１４）から算出する。  
ｗｓ＝ｗｂＤ＋ｇ１（ｒｘ，ｒｙ，Ｕ）          （１４）  
ｇ１（ｒｘ，ｒｙ，Ｕ）は、例えばスクロール情報Ｕの中のスクロール時刻ｔからの経過時間ｔｄが閾値ｔｔｈよりも小さい場合、式（１５）のように計算する。
【数１０】
2011036755.tif 000012
【０１１３】
経過時間ｔｄが閾値ｔｔｈ以上の場合は式（１６）のようにスコア加算する。
【数１１】
2011036755.tif 000013
【０１１４】
なお、スクロール時にはｔｄ＝０であるため、周辺領域中の全体が同じスコア加算される。
【０１１５】
ステップＳ２４０５では、キーワードｗｉが表示領域Ｒの中に入っておらず、さらに周辺領域Ｄの中にも入っていないため、キーワードｗｉの更新スコアを「０」とする。以上でスクロール後のスコア更新処理を終了する。
【０１１６】
文書読み込み時、スクロール時のほかに、タイマーなどを利用して定期的にスコアの更新処理を行う。例えば、周辺領域Ｄ中に出現するキーワードｗｉの更新スコアｗｓは、式（１３）中のｇ１についてスクロール後に時間が経つと経過時間ｔｄが大きくなるので、周辺領域Ｄ中で表示領域Ｒに近い位置にあるキーワードｗｉのスコアが高くなる。
【０１１７】
このように、本実施形態において、更新されたキーワードのスコアに基づいて生成されたキーワード選択画面の一例を図２５Ａから図２５Ｃまでを参照して詳細に説明する。  
ユーザが何も操作をしていなくても、周辺領域Ｄに表示されるキーワードは時間経過と共に変化する。具体的には、図２５Ａは文書読み込み時の状態を示す。表示領域Ｒの中で抽出されたキーワードがハイライト表示されている。  
次に、図２５Ｂはスクロール操作を行った直後の状態を示す。周辺キーワード表示領域１１０１にはキーワードとして、「みじん切り」、「ナス」、および「野菜カレー」が表示されている。  
最後にスクロール操作後から一定の時間が経過した状態を図２５Ｃに示す。表示領域Ｒからｙ軸方向に遠い位置にあるこれらのキーワード「みじん切り」、「ナス」、および「野菜カレー」はスコアが低くなる。よって、表示領域Ｒに近い位置にある周辺領域Ｄの中のキーワード「ニンジン」、「ジャガイモ」についてのスコアが高く更新されるので、周辺キーワード表示領域１１０１に表示される。
【０１１８】
以上に示した第２の実施形態によれば、必要となる領域に対してのみ抽出処理を行うことで、大きな文書を閲覧したときにもユーザがキーワードを選択できるようになるまでの時間を短縮できる。また、スクロール情報に時間に関する情報を追加し、スクロール後の時間が経過するのにつれてキーワードのスコアを変化させ、ユーザごとのスクロール量に合わせてキーワードを抽出することでユーザが文書閲覧中のその時々に欲しいキーワードを選択しやすくすることができる。
【０１１９】
また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述したキーワード抽出装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ±ＲＷなど）、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をＣＰＵで実行させれば、上述した実施形態のキーワード抽出装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。  
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワーク等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行してもよい。  
さらに、本願発明における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、ＬＡＮやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。  
また、記録媒体は１つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
【０１２０】
なお、本願発明におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。  
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
【０１２１】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【産業上の利用可能性】
【０１２２】
本発明に係るキーワード抽出装置は、例えばスクロール機能を有する文書閲覧可能な携帯電話、ＰＣなどでキーワードの検索を行うのに有効である。
【符号の説明】
【０１２３】
１００，１３００・・・キーワード抽出装置、１０１・・・文書表示部、１０２・・・スクロール部、１０３・・・キーワード抽出部、１０４・・・表示領域算出部、１０５・・・スクロール情報生成部、１０６・・・周辺領域算出部、１０７・・・スコアリング部、１０８・・・キーワード選択画面生成部、１０９・・・検索部、２０１・・・表示画面、２０２・・・スクロールバー、２０３・・・ノブ、３０１・・・表記、３０２・・・意味属性、３０３・・・出現位置、５０１，１４０１・・・スクロール情報、１１０１・・・周辺キーワード表示領域、１２０１・・・メニュー項目、１３０１・・・抽出判定領域算出部、１３０２・・・抽出単位算出部、１３０３・・・抽出対象領域判定部、１３０４・・・キーワード情報蓄積部、１３０５・・・誘目性算出部、１３０６・・・スクロール特性管理部、１６０１・・・絶対位置、１６０２・・・相対位置、１６０３・・・スコア。
【図１】
2011036755.tif 000014
【図２】
2011036755.tif 000015
【図３】
2011036755.tif 000016
【図４】
2011036755.tif 000017
【図５】
2011036755.tif 000018
【図７】
2011036755.tif 000019
【図８】
2011036755.tif 000020
【図９】
2011036755.tif 000021
【図１０】
2011036755.tif 000022
【図１１Ａ】
2011036755.tif 000023
【図１１Ｂ】
2011036755.tif 000024
【図１２】
2011036755.tif 000025
【図１３】
2011036755.tif 000026
【図１４】
2011036755.tif 000027
【図１５】
2011036755.tif 000028
【図１６】
2011036755.tif 000029
【図１８】
2011036755.tif 000030
【図１９】
2011036755.tif 000031
【図２０】
2011036755.tif 000032
【図２１】
2011036755.tif 000033
【図２２】
2011036755.tif 000034
【図２３】
2011036755.tif 000035
【図２４】
2011036755.tif 000036
【図２５Ａ】
2011036755.tif 000037
【図２５Ｂ】
2011036755.tif 000038
【図２５Ｃ】
2011036755.tif 000039
【図６】
2011036755.tif 000040
【図１７】
2011036755.tif 000041
【国際調査報告】
2011036755.tif 000042
2011036755.tif 000043
2011036755.tif 000044
2011036755.tif 000045