以下、図面を参照して本発明の例示的な実施形態を詳細に説明する。なお、本発明は説明する実施形態に限定されない。また、実施形態で説明される構成要素の全てが本発明に必須とは限らない。
<実施形態1>
本実施形態では、ユーザの発想を支援するための情報を用いたグラフを表示するグラフ領域と、発想に必要な情報を整理するためのメモ領域と、をともに表示する発想支援システムを説明する。
[発想支援システムの構成]
本実施形態に係る発想支援システム10は、図1が示す構成図のように、情報処理装置100とサーバ200とを有する。本実施形態に係る発想支援システム10は、いわゆるクラウド型のシステム構成を採用しており、ユーザはユーザ端末としての情報処理装置100からサーバ200にアクセスすることで、発想システム10の機能及びサービスを利用することができる。例えば、ユーザが、情報処理装置100において1つの文字列を指定すると、サーバ200が、当該指定文字列と関連性を有する複数の関連文字列をインターネット検索等により収集し、指定文字列と複数の関連文字列からなるグラフを生成し、当該グラフを情報処理装置100に表示する。ユーザは表示されたグラフを見たり、グラフに表れている文字列を操作したりすることで、発想を広げることができる。この発想支援システム10は、例えば、新たな商品やサービスについてのコンセプトやネーミングなどを検討する用途などに好ましく利用でき、一人で発想を巡らせる場面の他、複数人でブレーンストーミングを行う場面にも利用可能である。なお、図1のシステム構成はあくまで一例にすぎない。発想支援システム10を単体のコンピュータ(例えばユーザローカルにある情報処理装置100のみ)で構成してもよいし、3台以上のコンピュータの協働により構成してもよい。
なお、本実施形態では、「文字列」とは、「単語」であってもよいし、複数の単語から構成される「複合語」や「句」であってもよく、また、「文」も含んでいてもよく、さらには、複数の単語や句の組合せや、複数の文の組合せでもよい。例えば、「花が咲く 腕時計」といったものも、文字列と呼べる。
(情報処理装置の構成)
本実施形態に係る情報処理装置100は、制御部101、入力部102、表示部103、記憶部104、通信部105、出力部106、検索部107、データベース108、ログ記憶部109、音声入力部110、音声認識部111を有する。また、情報処理装置100は、サーバ200と通信できるように接続されている。
制御部101は、情報処理装置100の各機能部を制御する、例えば、CPU(Central Processing Unit)である。制御部101は、記憶部104に記憶されているプログラムに基づいて、各機能部を制御する。なお、本実施形態では、制御部101が表示部103の表示を制御するため、表示制御手段であるといえる。
入力部102は、情報処理装置100に接続されたマウスやキーボードによって、ユーザからの文字列の指定(入力)などのユーザ操作を受け付ける。より詳細には、入力部102は、図2が示す表示部103におけるグラフ領域310、メモ領域320、使用例領域330に対する、文字列の選択などのユーザ操作を受け付ける。また、入力部102には、ユーザが発想を行うためのキーワードが文字列として入力される。例えば、ユーザが、新たな腕時計に関する使用例を考えている場合には、ユーザから「腕時計」という文字列が指定されることが考えられる。しかし、当該指定される文字列は、ユーザが任意に決定可能であってよい。また、当該指定される文字列は、複数の語句の組合せ、複数の文の組合せ、語句と文の組合せであってもよく、例えば、「腕時計 レザー」や「腕時計 大きな時計を探している」などであってもよい。なお。以下では、当該指定された文字列を「指定文字列」として、説明する。
表示部103は、制御部101の制御によって、図2が示すように、指定文字列に関連する複数の関連文字列を用いて生成されたグラフをグラフ領域310に表示する。図2が示す例では、「腕時計」を指定文字列とするグラフが表示されている。なお、グラフ領域310には、グラフの一部のみが表示されており、例えば、マウスを用いたスクロール操作や拡大/縮小による表示の変更をユーザが行うことによって、グラフの他の一部を表示
させることが可能である。また、表示部103は、ユーザが情報を整理するためのメモ領域320に、グラフ領域310などからユーザにより選択された文字列を表示する。メモ領域320に表示されている文字列は、ユーザにより自由に変更、削除が可能である。例えば、メモ領域320において、ユーザは、表示されている文字列の配置を変更し、並べ替えたりすることができる。また、メモ領域320において、ユーザは、複数の文字列をまとめてグループを作成することができる。グループが作成された場合には、同じグループに属する全ての文字列を丸や四角の図形で囲んだ表示を行ったり、グループごとに文字列の属性(色、フォント、文字サイズなど)を異ならせて表示したりして、グループ分けの様子を一目で分かるようにしてもよい。また、メモ領域320において、ユーザは、グループに対して名前や色やコメントを付加することもでき、複数のグループをさらにまとめて新たなグループを作成することもできる。また、メモ領域320において、文字列と文字列の間、グループとグループの間、あるいは文字列とグループの間を線などで連結し、その線に対して名前や属性や色やコメントを付加することが可能であってもよい。つまり、ユーザは、メモ領域320において、複数の文字列を関連付けて表示することができる。メモ領域320には、図形や文字列をユーザが任意に入力することも可能である。さらに、表示部103は、指定文字列を用いた複数の使用例(短文など)を使用例領域330に表示する。これによれば、ユーザは、グラフ領域310および使用例領域330から、発想に必要な情報を得ることができ、メモ領域320によって、当該情報の整理を行うことができる。なお、表示部103が表示する各領域の詳細については、後述する。
記憶部104は、制御部101が動作するためのプログラムを記憶する。従って、本実施形態では、記憶部104は、発想支援を行うためのアプリケーションプログラムを記憶する。また、記憶部104は、表示部103に表示するグラフやメモ領域320に含まれる文字列なども記憶することができる。
また、記憶部104は、情報を一時的に記憶する内部記憶装置141と、情報を長期間記憶する外部記憶装置142を有する。なお、制御部101は、表示部103の各領域に情報を表示する場合に、当該情報を各領域に紐付けて内部記憶装置141に記憶している。より詳細には、内部記憶装置141は、グラフ領域310の情報を記憶する記憶領域と、メモ領域320の情報を記憶する記憶領域と、使用例領域330の情報を記憶する記憶領域などを有している。また、このことから、本実施形態にて、「制御部101が~を表示する」とは、「制御部101が~を内部記憶装置141に記憶された情報を表示部に対して送る」ともいえる。
通信部105は、サーバ200の通信部204と通信を行う。例えば、通信部105は、入力部102が受け付けた指定文字列を通信部204に出力し、サーバ200において生成されたグラフや使用例を取得する。なお、通信部105と通信部204との通信は、無線通信によって行われてもよいし、有線通信によって行われてもよく、通信規格もEthernet、WiFi(登録商標)など任意のものが適用されてよい。また、通信部105と通信部204との間の通信は、インターネットなどを介した通信であってもよい。なお。情報処理装置100が、サーバ200の各機能部の処理を実行可能である場合には、発想支援システム10は、通信部105およびサーバ200の通信部204を有している必要はない。
出力部106は、表示部103に表示されている情報や、記憶部104に記憶されている情報を、外部の表示装置やプリンタ(画像形成装置)などに出力する。より詳細には、出力部106は、グラフ領域310、メモ領域320、使用例領域330にそれぞれ対応する内部記憶装置141の記憶領域に記憶された文字列を出力する。ここで、出力部106は、記憶されている情報の全てを出力する必要はなく、出力する表示装置の画面サイズやプリントする紙面の大きさに応じて、出力する情報を選択してもよい。また、出力部106は、選択されていない情報を、他のページ(次ページ)を生成することによって出力してもよいし、例えば、「次候補」や「更新」などの指示をボタン等の押下によってされた場合に出力してもよい。なお、出力部106は、プリンタに出力することに限らない。出力部106は、例えば、表示部103に表示されている領域の情報のデータ形式をイメージデータ(イメージ形式)に変換することや、PDF(Portable Document Format)に変換することを行ってもよい。なお、出力部106が、変換した情報は、内部記憶装置141に記憶してもよいし、出力装置などに出力してもよい。これによれば、ユーザは、発想支援システム10が起動していない状態であっても、例えば、紙媒体の資料やイメージ形式のデータによってアイデアの発想を効率的に継続することができる。また、他のユーザとの情報の交換や共有が容易になる。
検索部107は、制御部101の制御によって、データベース108やサーバ200のデータベース206から、ユーザが指定した情報を検索する。
データベース108は、検索部107が検索するための情報を記憶する。より詳細には、類語辞書、反意語辞書や過去の文学などのドキュメントがデータベース108に記憶されている。
ログ記憶部109は、ユーザ操作が行われるたびに、当該ユーザ操作が行われた時刻とともに、当該ユーザ操作および操作対象の文字列とその際の表示文字列などをログ情報(操作ログ)として記憶する。なお、以下では、説明を簡単にするために、ユーザ操作ごとに当該ログ情報(操作ログ)が記憶されることの記載は行わないが、実際には、ユーザ操作ごとに当該ログ情報が記憶されるものとする。また、複数のユーザが、発想支援システム10を利用する場合には、ログ情報は操作をしたユーザを示す情報をさらに有する。
音声入力部110は、ユーザが発する音声を取得する。
音声認識部111は、音声入力部110が取得した音声を文字列に変換する。また、音声認識部111は、変換後の文字列に対して形態素解析や構文解析などの自然言語処理を施し、発想支援システム10に対する操作の指示が含まれているか否かを判断し、操作の指示が含まれていた場合には操作命令を生成し発想支援システム10に送る。なお、音声認識部111の処理には、ユーザからの発声に対して天気予報やスケジュールを回答する処理に用いられる、Apple社が提供する「Siri」が行う「音声認識」、「自然言語理解」の公知技術などを適用することができる。従って、ユーザは、入力部102の代
わりに、音声によって発想支援システム10を操作することもできる。
(サーバの構成)
本実施形態に係るサーバ200は、制御部201、記憶部202、情報取得部203、通信部204、関連度算出部205、データベース206、ログ記憶部207、生成部210を有する。また、サーバ200は、インターネット20および情報処理装置100と通信できるように接続されている。
制御部201は、サーバ200の各機能部を制御する、例えば、CPU(Central Processing Unit)である。ここで、制御部201は、記憶部202に記憶されているプログラムに基づいて、各機能部を制御する。
記憶部202は、制御部201が動作するためのプログラムを記憶する。また、記憶部202は、生成部210が生成したグラフや使用例を記憶する。さらに、記憶部202は、生成部210が使用例を生成するための複数のテンプレートを予め記憶する。本実施形態のテンプレートは、例えば、「<A>ともだち」、「<A>の<B>」のように文字列挿入用のタグ(<A>、<B>のように、「<」と「>」で囲まれた部分)が埋め込まれた文字列からなる。なお、タグ中の「A」「B」などのアルファベットは挿入すべき品詞を表す識別子である。テンプレートを選択し、タグの部分を、該当する品詞の指定文字列や関連文字列に置き換えることによって、当該文字列を用いた使用例(短文の例)を簡単に生成できる。
情報取得部203は、インターネット20を介して、指定文字列に基づいた複数の関連文字列を取得する。より詳細には、情報取得部203は、指定文字列をキーワードとしたWeb検索を行い、Webページ(HTMLファイル)に対してパース処理をしてテキスト(文字列)を抽出し、テキストに対して形態素解析などを行うことによって複数の関連文字列を取得する。また、情報取得部203は、指定文字列や複数の関連文字列のそれぞれをキーワードとして、インターネット20を介した画像検索を行うことによって、指定文字列に対応する画像や、複数の関連文字列のそれぞれに対応する画像を取得してもよい。なお、情報取得部203は、過去のWeb検索の結果を記憶部202に記憶させておくことによって、記憶部202から当該複数の関連文字列を取得してもよい。
通信部204は、情報処理装置100の通信部105と通信を行う。通信部204は、例えば、通信部105から指定文字列を取得して、生成部210によって生成されるグラフや使用例を通信部105に出力する。
関連度算出部205は、複数の文字列間の関連度を算出する。ここで、サーバ200において、算出アルゴリズムごとに、複数の関連度算出部205が存在していてもよい。
データベース206は、検索部107が検索するための情報を記憶する。データベース206は、辞書データベース221、ドキュメントデータベース222、出典データベース223、マスキングデータベース224を有する。
辞書データベース221は、類語辞書、反意語辞書などの複数の辞書を記憶する。
ドキュメントデータベース222は、過去の文学などのドキュメント、小説や歌の歌詞などのコンテンツを記憶する。
出典データベース223は、指定文字列のWeb検索の際に取得した複数の関連文字列それぞれの出典元を示す情報を記憶する。
マスキングデータベース224は、テキストに対する、不要な情報であるフィルターワードを除去するマスキング処理に用いる、当該フィルターワードの特徴やデータ構造など
を示す情報を記憶する。
ログ記憶部207は、ログ記憶部109が記憶する操作ログを、ユーザごとにバックアップ(記憶)する。なお、サーバ200におけるログ記憶部207が操作ログを記憶することによれば、当該操作ログを他のユーザが参照することができるため、ユーザ操作の効率化などが実現できる。
生成部210は、指定文字列に基づいたグラフを生成するグラフ生成部211と、指定文字列に基づいた複数の使用例を生成する使用例生成部212を有する。
グラフ生成部211は、情報処理装置100から取得した指定文字列と、情報取得部203が取得した複数の関連文字列とを用いて、図2が示すグラフ領域310に表示するためのグラフを生成する。なお、グラフの生成方法および関連文字列の詳細については後述する。
使用例生成部212は、情報処理装置100から取得した指定文字列と、情報取得部203が取得した複数の関連文字列と、予め記憶部202に記憶しているテンプレートを用いて、図2が示す使用例領域330に表示するための複数の使用例(短文)を生成する。なお、使用例の生成方法の詳細については後述する。
[発想支援システムの処理]
以下にて、発想支援システム10の処理について、図3が示すフローチャートを用いて説明する。なお、本フローチャートの処理は、制御部101が、記憶部104に記憶された発想支援を行うためのアプリケーションプログラムを起動すると開始される。なお、当該アプリケーションは、情報処理装置100のオペレーションシステム(OS)の立ち上げとともに起動されてもよいし、ユーザからの指示に応じて起動されてもよい。
ステップS1001において、制御部101は、入力部102に対して、グラフの表示をするためのユーザ操作がされたか否かを判定する。なお、本実施形態では、一例として、ユーザが、図2が示すように、指定文字列を入力領域311に入力して、生成ボタン312を押下することによって、当該操作を行うことができる。また、グラフ領域310に既に表示されている文字列に対して、例えば、マウスを用いたダブルクリックなどのユーザ操作が行われることによっても、当該操作は可能である。処理工程は、当該操作がされている場合には、ステップS1002に遷移して、それ以外の場合にはステップS1003に遷移する。
ステップS1002において、制御部101は、表示部103に指定文字列に基づいたグラフを表示するグラフ表示処理を行う。なお、グラフ表示処理の詳細は、後述する。
ステップS1003において、制御部101は、入力部102に対して、メモ領域320に対するユーザ操作がされたか否かを判定する。なお、本実施形態では、ユーザが、図2が示すように、メモ領域320にマウスのカーソルの位置を合わせて、例えば、右クリックや左クリックを行うことによって、当該操作を行うことができる。処理工程は、当該操作がされている場合には、ステップS1004に遷移して、それ以外の場合にはステップS1005に遷移する。
ステップS1004において、制御部101は、メモ領域320に表示されている文字列の入力、文字列の色や大きさ、配置位置(配置)などの属性を変更する処理などのメモ処理を行う。なお、メモ処理の詳細は、後述する。
ステップS1005において、制御部101は、入力部102に対して、使用例領域330に表示されている使用例を更新(表示)するユーザ操作がされたか否かを判定する。なお、本実施形態では、この使用例を更新する操作は、図2が示すように、入力領域332に対して、ユーザが文字列を関連文字列として入力して、更新ボタン333を選択することによって行うことができる。なお、入力領域332への文字列の入力は、入力部102を用いた入力や、グラフ領域310やメモ領域320に表示された文字列からのドラッグ&ドロップ操作による入力などにより可能である。なお、領域331には、ユーザが指定した指定文字列が表示される。処理工程は、当該操作がされている場合には、ステップS1006に遷移して、それ以外の場合にはステップS1007に遷移する。
ステップS1006において、制御部101は、使用例領域330に表示されている使用例を更新する使用例表示処理を行う。ここで、制御部101は、例えば、入力領域332に関連文字列が入力されていれば、当該関連文字列を用いた使用例を表示する処理をする。なお、使用例表示処理の詳細は、後述する。ここで、使用例を更新する場合には、更新前において使用例に用いられていない関連文字列のみを用いて、更新後の使用例が表示されてもよい。なお、グラフ領域310には、情報取得部203が取得した複数の関連文字列の全てが表示されるわけではない。より詳細には、情報取得部203が関連文字列を2000個取得していても、エッジとノードの指定数に応じた数の関連文字列のみが、グラフとして表示される。そこで、グラフ領域310に表示されている関連文字列のみが使用例に用いる関連文字列の対象とされてもよいし、グラフ領域310に表示されていない関連文字列についても使用例に用いる関連文字列の対象にされてもよい。つまり、情報取得部203が関連文字列を2000個取得している場合には、2000個が使用例に用いる関連文字列の対象とされてもよいし、現在、グラフ領域310においてグラフに用いられている関連文字列のみが使用例に用いる対象とされてもよい。
ステップS1007において、制御部101は、入力部102に対して、グラフ領域310に表示された文字列に対する関連情報の検索をするユーザ操作が行われたか否かを判定する。例えば、図4(A)が示すように、グラフ領域310に表示されている任意の文字列に対して、ユーザが、カーソル401を合わせて右クリックすると、辞書検索アイコン402、ドキュメント検索アイコン403、出典検索アイコン404が表示される。そして、辞書検索アイコン402、ドキュメント検索アイコン403、出典検索アイコン404のいずれかをユーザが押下することによって、上述のユーザ操作を行うことができる。処理工程は、当該操作がされている場合には、ステップS1008に遷移して、それ以外の場合にはステップS1009に遷移する。
なお、本実施形態では、辞書検索とは、検索対象の文字列に対する類義語、反対語、関連後、連想語などのあらかじめ用意された検索対象の文字列の表記に対して関連する情報が記載されたデータベース108や辞書データベース221から情報を検索するものである。また、ドキュメント検索とは、例えば、過去の文学小説や公的なドキュメントなどから、検索対象の文字列を含む文章をドキュメントデータベース222から検索し、その一部を切り出すものである。出典検索とは、文字列や画像の取得元の情報を表示する機能であり、例えば、関連文字列を取得したWebページのURL、そのWebページにおける当該文字列の使用形態(当該文字列を含む前後の記述など)、当該文字列を示す画像を取得したURL(画像URL)といった出典元を表示するものである。なお、出典元の情報については、図15(C)が示すように、関連文字列を取得したWebページのURLと画像URLとが、関連文字列に対応付けられて出典データベース223に記憶されている。例えば、図15(C)が示す関連文字列「腕時計」に関する出典元であるURLは、図16が示す出典であるWebページにおけるURL801に対応する。また、図16が示すテキスト802の一部が、Webページにおける関連文字列「腕時計」の使用形態である。なお、本実施形態では、制御部201が、複数の関連文字列を取得するためのWeb
検索を行った際に、出典検索における出典元を、出典データベース223に記憶させておく。
ステップS1008において、制御部101は、表示部103に検索結果を表示する検索処理を行う。図4(B)は、検索結果の表示例を示しており、「止まる」という文字列に対して、辞書検索が行われた結果が表示されている。このように、辞書検索が行われた場合には、検索対象の文字列に対して、類義語、反対語、関連語、連想語といった関連情報が表示される。なお、検索処理の詳細は、後述する。
ステップS1009において、制御部101は、入力部102に対して、グラフの表示を変更するユーザ操作が行われたか否かを判定する。当該ユーザ操作は、例えば、グラフ領域310に表示されるグラフ切替ボタン(不図示)をユーザが選択することによっておこなわれる。グラフの表示の変更とは、本実施形態では、グラフの種類を変更することや、グラフ領域310に表示されている全部または一部の文字列の削除を示す。処理工程は、当該操作がされている場合には、ステップS1010に遷移して、それ以外の場合にはステップS1011に遷移する。
ここで、本実施形態では、グラフ領域310には、3つの種類のグラフが表示可能である。1つ目のグラフは、図2が示すようなキーグラフと呼ばれる、指定文字列を中心として、複数の関連文字列が、文字列間の関連度に応じて接続されているグラフである。2つ目のグラフは、図5(A)が示すように、当該キーグラフを、ツリー構造(木構造)に変更したツリーグラフである。つまり、キーグラフとツリーグラフでは、表示形式が異なるにすぎず、文字列間の接続は同一である。3つ目のグラフは、図5(B)が示すように、複数の関連文字列を、複数のグループに分類(クラスタリング)することによって、当該グループごとに、当該グループに含まれる関連文字列が配置されているグラフ(キーグラフ)を表示するクラスタリンググラフである。なお、この分類は、例えば、複数の関連文字列の各々を特徴量ベクトルに変換し、特徴量空間における文字列間の距離に応じてグループ分けすることで実現できる。例えば、特徴量空間におけるグループ分けには、k-means法などを用いることができる。
ステップS1010において、制御部101は、グラフ領域310に表示するグラフの表示を変更する表示変更処理を行う。なお、グラフの表示変更処理の詳細は、後述する。
ステップS1011において、制御部101は、入力部102に対して、表示部103に表示されている文字列の1つをメモ領域320に移動するユーザ操作が行われたか否かを判定する。具体的には、制御部101は、グラフ領域310に表示されている文字列のなかから、1つの文字列をユーザが選択していれば、当該操作が行われたと判定する。この選択は、例えば、マウスを用いたドラッグ&ドロップ操作によって実現可能である。また、制御部101は、使用例領域330に表示されている複数の使用例のなかから、1つの使用例をユーザが選択していれば、当該操作が行われたと判定する。処理工程は、当該操作がされている場合には、ステップS1012に遷移して、それ以外の場合にはステップS1013に遷移する。
ステップS1012において、制御部101は、ステップS1011にてユーザ操作が行われた文字列をメモ領域320に移動する。なお、このとき、内部記憶装置141におけるメモ領域320に対応する記憶領域に、当該文字列が記憶される。
ステップS1013において、制御部101は、入力部102に対して、内部記憶装置141が記憶する情報を記憶部104の外部記憶装置142に保存(記憶)するためのユーザ操作が行われたか否かを判定する。処理工程は、当該操作がされている場合には、ス
テップS1014に遷移して、それ以外の場合にはステップS1015に遷移する。
ステップS1014において、制御部101は、記憶部104における内部記憶装置141に記憶されている情報を、外部記憶装置142に記憶させる。つまり、制御部101は、表示部103に表示されている情報を外部記憶装置142に保存(記憶)するともいえる。より詳細には、制御部101は、メモ領域320に表示されている文字列およびその属性(大きさ、文字色、配置位置など)と、グラフ領域310に表示されているグラフ、使用例領域330に表示されている使用例を外部記憶装置142に記憶する。なお、全てを外部記憶装置142が記憶する必要はなく、例えば、メモ領域320に関する情報のみ記憶しておいてもよい。また、ステップS1014の処理は、外部記憶装置142に情報を記憶する処理ではなく、例えば、情報処理装置100の外部の装置に情報を記憶する処理であってもよい。なお、制御部101は、ログ記憶部109に記憶された操作ログの情報を、外部記憶装置142に記憶させてもよい。また、このとき、制御部101は、サーバ200における記憶部202やログ記憶部207にも当該操作ログを記憶させるとよい。これによれば、現在使用している情報処理装置100とは異なる情報処理装置100によって、サーバ200に接続した場合にも、前回用いた操作ログをユーザは用いることができる。つまり、制御部101は、サーバ200に記憶された操作ログから、前回までの操作を読み込むことによって、前回の操作終了時の画面をユーザに提示することができる。このため、ユーザは、前回の終了時の続きから発想のための処理を行うことができる。
ステップS1015において、制御部101は、発想支援を行うための処理を終了するユーザ操作がされたか否かを判定する。具体的には、例えば、表示部103に表示される終了ボタン(不図示)がユーザに選択された場合には、制御部101は当該ユーザ操作がされたものと判定する。処理工程は、当該操作がされている場合には、本フローチャートにおける全ての処理を終了し、それ以外の場合にはステップS1001に遷移する。なお、図2が示すような表示がWebブラウザによってされている場合には、Webブラウザが閉じられても、表示すべき情報は内部記憶装置141に記憶されている。このため、再度Webブラウザが立ち上げられた場合には、制御部101は、Webブラウザが前回閉じられた際の表示と同じ表示を表示部103にする。
(グラフ表示処理)
以下にて、ステップS1002、後述のステップS2204において行われるグラフ表示処理の詳細を、図6(A)が示すフローチャートを用いて説明する。
ステップS2001において、まず、制御部101は、指定文字列をサーバ200に出力する。そして、サーバ200の制御部201は、情報取得部203を制御して、指定文字列をキーワードとするWeb検索を行う。Web検索には、一般的なWeb検索エンジンを用いることができ、例えば、Google社が提供する検索エンジンであるGoogle検索を用いることができる。情報取得部203は、Web検索によって取得されるWebページ(HTMLファイル)、および当該Webページのリンク先に存在する複数のWebページ(HTMLファイル)を取得する。なお、情報取得部203は、Web検索によって取得したHTMLファイルを記憶部202に記憶してもよい。
ステップS2002において、制御部201は、情報取得部203を制御して、ステップS2001にて取得したHTMLファイルに対して、パース処理を行って、テキストを抽出する。ここで、パース処理には、公知のHTMLパーサを用いることができる。また、情報取得部203は、抽出したテキストに対して不要な文字列を除去するマスキング処理を行う。より詳細には、情報取得部203は、テキストにおけるURLや定型化されている記載などのフィルターワードに対して、つまり、関連文字列を特定する処理には不要
な記載に対してマスキング(除去)をする。ここで、フィルターワードは、コピーライトの記載、住所や電話番号などの個人情報などである。なお、フィルターワードの特徴やデータ構造などを示す情報は、マスキングデータベース224が記憶しているため、情報取得部203は、当該情報を参照してマスキングをする。
ステップS2003において、制御部201は、情報取得部203を制御して、テキストから、指定文字列に関連する複数の関連文字列を抽出する。例えば、情報取得部203は、テキストを形態素解析した後、テキストに含まれる単語を関連文字列として選ぶ。このとき、所定の品詞(例えば名詞など)を優先的に関連文字列として選んだり、登場回数の多い文字列を優先的に関連文字列として選んでもよい。また、情報取得部203は、形態素解析に加え、チャンキング処理を含む構文解析などを利用し、意味的にまとまりのある複合語や句を関連文字列として抽出してもよい。さらに、情報取得部203は、NER(固有表現抽出)を行うことによって、テキスト中のNE(固有表現)を関連文字列として抽出してもよい。情報取得部203は、指定文字列に対して、抽出した複数の関連文字列を関連付けて記憶部202に記憶する。これは、例えば、それぞれの関連文字列に対して、指定文字列が対応付けられたレコードが存在する、図15(A)が示すようなデータベース形式によって記憶させる。また、このとき、情報取得部203は、指定文字列や複数の関連文字列に対して形態素解析により、品詞判定と原形の取得を行い、当該品詞および原形を文字列に対応付けて記憶部202に記憶する。つまり、本実施形態における、関連文字列とは、文章(文)において指定文字列とともに使用される文字列(指定文字列と共起する文字列)であるといえる。なお、共起とは、任意の文章や文において、ある文字列とある文字列が同時に出現することである。なお、指定文字列として、例えば、複数の語句の組合せが指定されている場合、その複数の語句のいずれにも関連性を有する文字列が関連文字列として抽出される(複数の文の組合せや語句と文の組合せが指定された場合も同様)。
ステップS2004において、制御部201は、関連度算出部205を制御して、指定文字列に対する複数の関連文字列の関連度を算出(決定)する。なお、サーバ200が複数の関連度算出部205を有している場合には、使用する算出アルゴリズムに応じて、制御部201は、制御する関連度算出部205を切り替えてもよい。本実施形態では、関連度算出部205は、テキストにおける指定文字列が含まれる文およびその文の前後のn個の文に、対象の関連文字列が含まれていれば、その含まれている数の分だけ、当該関連文字列の関連度を加算する。なお、n個は、任意に指定可能な数字である。関連度算出部205は、この加算を、テキストにおける指定文字列が含まれている文の数だけ繰り返して行う。つまり、本実施形態では、関連度の数値が多いほど、当該関連度を有する関連文字列と指定文字列との関連が強い。関連度算出部205は、算出した関連度と関連文字列を対応付けて、関連度順に並び替えて、図7(B)が示すような形式で、関連文字列および関連度を記憶部202に記憶する。
例えば、関連度算出部205が、図7(A)のようなテキストに対して、指定文字列を「腕時計」として、複数の関連文字列を「時計」、「目覚まし時計」、「掛け時計」、「時刻」として、それぞれの関連文字列の関連度を算出する場合を仮定する。図7(A)が示すテキストでは、指定文字列である「腕時計」という文字列が3回登場している。そこで、関連度算出部205は、「腕時計」が含まれる文とその前後の文に対して、関連文字列のそれぞれが何回登場するかをカウントする。つまり、関連度算出部205は、破線によって囲まれた3つの文章501~503に対して、関連文字列の登場回数をカウントする。従って、「時計」は、文章501に1回登場し、文章503に2回登場しているため、関連度は3である。一方、「時刻」は、文章502に2回登場するのみであるため、関連度は2である。
ステップS2005において、制御部201は、画像を用いたグラフを生成するか否かを判定する。つまり、制御部201は、グラフを表示する際に、文字列のみによってグラフを表示するのか、当該文字列に対応する画像を用いてグラフを表示するのかを判定している。この判定は、ユーザが予め設定しておいた情報に応じて行われればよく、また、ユーザ操作によって当該情報の変更が可能であってもよい。処理工程は、画像を用いたグラフを生成する場合には、ステップS2006に遷移して、それ以外の場合にはステップS2007に遷移する。
ステップS2006において、制御部201は、情報取得部203を制御して、指定文字列および複数の関連文字列のそれぞれに対応する画像を、インターネット20を介してWeb検索をして取得する。情報取得部203は、Web検索によって取得した画像を、指定文字列または複数の関連文字列に対応させて記憶部202に記憶する。なお、情報取得部203は、指定文字列および複数の関連文字列のそれぞれについて、画像の取得元であるWebページのURL(画像URL)を図15(A)のように記憶させておくとよい。
ステップS2007において、制御部201は、グラフ生成部211を制御して、複数の関連文字列を用いたグラフを生成する。以下では、グラフ生成部211は、指定文字列を「腕時計」として、図2が示すキーグラフを生成するものとして説明する。しかし、キーグラフ、ツリーグラフ、クラスタリンググラフのうちいずれのグラフをグラフ生成部211が生成するかは、予めされたユーザ設定に基づいたものあってもよいし、ユーザ操作によって切替可能なものであってよい。
ここで、キーグラフについて詳細に説明する。キーグラフは、ツリーグラフと同様に、1つの文字列を中心(ルート)として、それぞれの文字列に対して複数個の文字列が接続されているグラフであり、それが複数の層(深さ)にも渡っている。本実施形態におけるキーグラフでは、1つの文字列(親ノード)に接続される文字列(子ノード)の数(エッジ数)を5つ、深さを3として、以下説明する。
グラフ生成部211は、ステップS2007において、このようなキーグラフを生成するために、まず、記憶部202に記憶されている図7(B)が示す関連文字列と関連度との対応を取得する。そして、グラフ生成部211は、関連度が1番高いものから5つの関連文字列を、指定文字列である「腕時計」(中心;ルート)に接続するようにグラフを生成する。つまり、グラフ生成部211は、図7(B)が示す対応であれば、関連度が一番高い「電池交換の相場」を図7(C)が示す(1)の箇所に接続させる。同様に、グラフ生成部211は、「アナログ」を(2)の箇所に接続させ、「メンテナンス」を(3)の箇所に接続していく。その後、グラフ生成部211は、6番目から9番目に関連度が高い文字列を、1番目の関連文字列に対して接続させていく。グラフ生成部211は、これを深さが3になるまで繰り返す。これによって、指定文字列との関連度が高い関連文字列ほど、指定文字列に近い位置に配置されるため、ユーザの発想をより促すことができる。
なお、グラフ生成部211は、画像を用いてグラフを生成するように設定されている場合には、指定文字列や関連文字列の代わりに、ステップS2006にて取得した、これらに対応付けられている画像を接続に用いる。なお、このようなグラフは、例えば、図15(A)が示すように、文字列に対して、画像を取得したWebページのURL(画像URL)が1つのレコードにおいて対応付いているような形式の情報を用いても実現可能である。なお、文字列だけ、画像だけに限らず、グラフ生成部211は、例えば、指定文字列や関連文字列の上に、それぞれに対応する画像を表示するようなグラフを生成してもよい。
なお、キーグラフにおける関連文字列の接続は上述に限らない。例えば、指定文字列との関連度が1番高い関連文字列に接続される4つ関連文字列は、当該1番高い関連文字列との関連度がより高い4つの関連文字列であってもよい。つまり、図7(C)が示す(1)に接続される関連文字列は、(1)の関連文字列との関連度がより高い4つの関連文字列であってもよい。なお、当該1番高い関連文字列とその他の関連文字列との関連度は、ステップS2004において説明した方法と同様の方法によって算出可能である。このような接続をすることによれば、接続されている文字列間の関連度が高いため、ユーザは文字列間の関連をより理解しやすいという利点がある。
なお、ツリーグラフとキーグラフとは、表示形態が異なるのみで、文字列間の接続は同じであるため、ツリーグラフを生成する場合にも上述のキーグラフの生成方法と同様に生成できる。
一方、クラスタリンググラフの生成方法は上述のキーグラフの生成方法とは異なる。まず、グラフ生成部211は、複数の関連文字列を複数のグループに分類する(クラスタリングする)。より詳細には、グラフ生成部211は、複数の関連文字列それぞれを特徴量ベクトルに変換し、特徴量空間にマッピングする。そして、グラフ生成部211は、k-means法などにより、当該特徴量空間における文字列間の距離に応じてグループ分けする。なお、グループ(クラスタ)の数はユーザが任意に設定できるものとする。そして、グラフ生成部211は、図5(B)が示すように、例えば、分類されたグループにおいて最もそのグループの特徴を示す文字列を中心(ルート)として、それぞれについてキーグラフを生成する。なお、グラフ生成部211は、分類されたグループにおいて最も指定文字列と関連する文字列を中心(ルート)として、それぞれについてキーグラフを生成してもよい。なお、それぞれのキーグラフの生成方法は上述と同様の方法で実現できる。
ステップS2008において、制御部201は、通信部204を介して、生成したグラフを情報処理装置100に出力する。より詳細には、制御部201は、例えば、図15(A)が示すようなデータ形式によってグラフの情報を出力する。ここで、図15(A)は、図2が示すグラフ領域310に表示されるグラフに対応する情報を示している。グラフの情報として、グラフに含まれる各文字列における「文字列名」、「当該文字列に対応する指定文字列」、「当該文字列の親ノード」、「当該文字列の品詞」、「当該文字列の原形」、「当該文字列に対応する画像のURL(画像URL)」が含まれる。例えば、文字列名が「止まる」であれば、指定文字列は「腕時計」であり、親ノードは「メンテナンス」であり、品詞は「動詞」であり、原形は「止まる」であり、画像URLが「https://aaaa.com/A.img」である。なお、グラフに画像を用いない場合には、画像URLは必須ではない。情報処理装置100の制御部101は、表示部103のグラフ領域310に、取得したグラフを表示する。つまり、制御部101は、図15(A)が示すようなグラフの情報を、内部記憶装置141におけるグラフ領域310に対応する記憶領域に記憶する。
ステップS2009において、制御部101は、指定文字列に基づいて生成した使用例を、表示部103の使用例領域330に表示する使用例表示処理を行う。なお、使用例表示処理の詳細は、後述する。
なお、本フローチャートでは、制御部201は、Web検索によってテキストを取得して、当該テキストから複数の関連文字列を取得したが、ドキュメントデータベース222に記憶されている「小説」や「歌の歌詞」のテキストから複数の関連文字列を取得してもよい。
(使用例表示処理)
以下にて、ステップS1006、ステップS2009において行われる使用例表示処理の詳細を、図6(B)が示すフローチャートを用いて説明する。
ステップS2101において、サーバ200の制御部201は、使用例生成部212を制御して、記憶部202に記憶されている関連文字列のうちから1つと指定文字列を選択する。ここで、当該1つの関連文字列は、使用例生成部212がランダムで選択してもよいし、例えば、入力領域332に文字列が入力されていれば、使用例生成部212は、当該文字列を選択してもよい。なお、入力領域332は、複数存在していてもよく、例えば、使用例領域330における入力領域332の追加ボタン(不図示)がユーザ操作によって押下されることで、新たな入力領域332が表示される。また、入力領域332に文字列が入力されてから、更新ボタン333が押下されるごとに、新たな入力領域332が表示されてもよい。
ステップS2102において、使用例生成部212は、記憶部202が記憶する複数のテンプレートから1つのテンプレートを選択する。前述のとおり、本実施形態のテンプレートは、「<B>世界の<A>」や「<A>を確認すると、<A>が取得できる」のように、<A>や<B>などの文字列挿入用のタグが埋め込まれた文字列であり、<A>や<B>のタグ部分を文字列に置き換えることによって、使用例を作成することができる。なお、文字列挿入用タグには、挿入すべき品詞が設定されているため、使用例生成部212は、ステップS2101にて選択された指定文字列と関連文字列の品詞に対応したテンプレートを選択する。なお、使用例生成部212は、ユーザごとに、選択するテンプレートを変更してもよい。
ステップS2103において、使用例生成部212は、ステップS2102にて選択したテンプレートに対して、指定文字列およびステップS2101にて選択した関連文字列を挿入する。これによって、使用例生成部212は、1つの使用例を生成する。例えば、上記のテンプレート例において「A」が名詞、「B」が形容詞であるとした場合に、指定文字列として名詞「スマートフォン」が選択されて、関連文字列として形容詞「青い」が選択されていれば、使用例生成部212は、名詞と形容詞とを挿入可能である前者のテンプレート「<B>世界の<A>」を選択し、<B>を「青い」に、<A>を「スマートフォン」にそれぞれ置き換える。その結果「青い世界のスマートフォン」という使用例が得られる。また、指定文字列として名詞「スマートフォン」が選択され、関連文字列として名詞「コーヒー」が選択されていれば、使用例生成部212は、名詞と名詞を挿入可能である後者のテンプレート「<A>を確認すると、<A>が取得できる」を選択し、1つ目の<A>を「スマートフォン」に、2つ目の<A>を「コーヒー」にそれぞれ置き換える。その結果「スマートフォンを確認すると、コーヒーが取得できる」という使用例が得られる。なお、使用例生成部212は、指定文字列および選択された関連文字列をテンプレートにそのまま挿入することに限らない。例えば、使用例生成部212は、辞書データベース221を用いて、指定文字列や選択された関連文字列を、その類義語や対義語などの異なる文字列に変換して、テンプレートに挿入してもよい。
ステップS2104において、使用例生成部212は、使用例を必要数生成したか否かを判定する。具体的には、当該必要数は、使用例領域330に表示することのできる上限の数やユーザが予め設定した任意の数である。必要数生成されていると判定された場合には、処理工程は、ステップS2105に遷移して、それ以外の場合にはステップS2101に遷移する。
ステップS2105において、制御部201は、通信部204を制御して、生成した使用例を情報処理装置100に出力する。情報処理装置100の制御部101は、図2が示すように、取得した使用例を表示部103の使用例領域330に表示する。
なお、必ずしもステップS2101において関連文字列を1つ選択する必要はない。つまり、ステップS2103において、使用例生成部212は、テンプレートに対して、関連文字列を挿入せずに、指定文字列のみを挿入することによって使用例を生成してもよい。この場合には、テンプレートとして、1つの文字列のみを挿入することによって使用例が生成できるものを事前に記憶部202が記憶しておく必要がある。
また、ステップS2101においてテンプレートに挿入するための関連文字列が2以上選択されていてもよい。この場合には、例えば、「<B><A>が、青い空を<C>。」などの、3つ以上の文字列を挿入可能なテンプレートを用いるとよい。ここで、タグである<A>は挿入すべき文字列が名詞であることを示し、<B>は挿入すべき文字列が形容詞であることを示し、<C>は挿入すべき文字列が動詞であることを示す。そして、使用例生成部212は、<A>、<B>、<C>のタグに指定文字列や選択された関連文字列を挿入することによって使用例を生成する。例えば、<A>には「鳥」が挿入され、<B>には「美しい」が挿入され、<C>には「飛ぶ」が挿入される。
なお、テンプレートにおけるタグは、品詞とともに、挿入する文字列の同異をさらに示していてもよい。例えば、「<A1>は<B3>が、<A2>も<B3>。」というテンプレートにおいて、タグである<A1>と<A2>のそれぞれには異なる名詞が挿入されることを示し、タグである<B3>には形容詞が挿入されることを示していてもよい。つまり、<A2>や<B3>における「A」や「B」などのアルファベットは挿入すべき文字列の品詞を示し、「1」や「2」などの数字は表記の識別子を示す。この場合、「A」や「B」などのアルファベットが同じである場合には、同じ品詞であることを示し、「1」や「2」などの数字が同じである場合は同じ表記であることを示す。ここで、テンプレートにおける<B3>は2回登場しているが、同一の文字列が挿入される。従って、例えば、<A1>には名詞である「海」が挿入され、<A2>には名詞である「山」が挿入され、<B3>には形容詞である「美しい」が挿入される場合には、「海は美しいが、山も美しい。」という使用例が生成される。
(メモ処理)
以下にて、ステップS1004において行われるメモ処理の詳細を、図8(A)が示すフローチャートを用いて説明する。
ステップS2201において、制御部101は、メモ領域320に表示された文字列に対する検索をするユーザ操作が行われたか否かを判定する。このユーザ操作は、ステップS1007において説明したグラフ領域310に表示された文字列に対する操作と同様であり、図4(A)が示すようなアイコンが表示された状態で、当該アイコンをユーザが押下することによって実現できる。処理工程は、当該操作がされている場合には、ステップS2202に遷移して、それ以外の場合にはステップS2203に遷移する。
ステップS2202において、制御部101は、検索部107を制御して、ステップS2201においてユーザ操作がされた文字列に対する辞書検索やドキュメント検索などの検索処理を行う。なお、検索処理の詳細は、後述する。
ステップS2203において、制御部101は、メモ領域320に表示された文字列を指定文字列として、グラフの生成をする操作がされたか否かを判定する。この操作は、例えば、メモ領域320に表示されている任意の文字列に対するダブルクリックの操作などであり得る。処理工程は、当該操作がされている場合には、ステップS2204に遷移して、それ以外の場合にはステップS2205に遷移する。
ステップS2204において、制御部101は、ステップS2203においてユーザ操作がされた文字列を指定文字列として、上述したグラフ生成処理を行う。なお、ステップS2203において2つの文字列に対して、ユーザ操作がされている場合には、制御部101は、2つの文字列の組合せを指定文字列に決定してもよい。つまり、図2が示すメモ領域320において、「AI」および「着物」に対してユーザ操作が行われた場合には、制御部101は、「AI 着物」を指定文字列として決定してもよい。
ステップS2205において、制御部101は、メモ領域320に表示された文字列(メモワード)の削除の操作が行われたか否かを判定する。処理工程は、当該操作がされている場合には、ステップS2206に遷移して、それ以外の場合にはステップS2207に遷移する。
ステップS2206において、制御部101は、ステップS2205において削除の操作が行われた文字列(メモワード)をメモ領域320から削除する。これは、制御部101が、内部記憶装置141におけるメモ領域320に対応する記憶領域から当該文字列を削除することによって、メモ領域320の表示から当該文字列を削除する。
ステップS2207において、制御部101は、メモ領域320に表示された文字列(メモワード)の属性変更(属性指定)の操作が行われたか否かを判定する。ここで属性とは、当該文字列の文字の大きさ(サイズ)、色、配置位置(配置;位置)、傾き(角度)、フォント、装飾(下線、マーカー、背景色、陰影、囲み文字)、メモ欄におけるグループなどである。つまり、本実施形態では、メモ領域320に表示されている文字列における大きさや色や配置位置などの属性を、ユーザ操作によって任意に変更可能である。当該ユーザ操作には、例えば、マウスによるドラッグ&ドロップをする、左クリックをした後に位置を変更して再度左クリックする、右クリックすることで各種属性変更するためのボタンが表示され、当該ボタンを左クリックするなどがあり得る。これによれば、ユーザは、文字の大きさを大きくすることや、文字の色を文字列ごとに変更することなどができる。処理工程は、当該操作がされている場合には、ステップS2208に遷移して、それ以外の場合にはステップS2209に遷移する。
ステップS2208において、制御部101は、ステップS2207において操作が行われた文字列の属性変更(属性指定)を行う。ここで、制御部101が、属性変更によって、メモ領域320におけるグループを変更した例を図9(A)が示している。図9(A)が示している例では、同一のグループに属する文字列が同じ円(楕円)によって囲まれている。つまり、図9(A)が示す例では、「人工知能」と「着物」とが1つのグループに属し、「腕時計」と「AI」とが他のグループに属している。ここで、グループの変更(指定)は、マウスを用いて、複数の文字列を指定した後に右クリックをすると、グループ化をするためのアイコンが表示され、当該アイコンを左クリックすることによって実現できる。もしくは、マウスなどを用いて複数の文字列を囲うことによって実現できる。さらには、制御部101がクラスタリングによりグループを指定(変更)してもよい。このクラスタリングによるグループの指定を行う際には、当該クラスタリングをユーザが指示するためのボタンがメモ領域320に表示されるとよい。
これによれば、ユーザは、例えば、似た印象をうける文字列や気になる文字列をグループ化することができるため、より効果的に情報の整理を行うことができる。なお、メモ領域320におけるグループは、必ずしも設定されている必要はない。また、ユーザは、入力部102を介して、それぞれのグループについて名前を付すこともできる。
なお、属性は変更(指定)されるごとに、図15(B)が示すように文字列それぞれに対応付けられて、内部記憶装置141におけるメモ領域320に対応する記憶領域に記憶
される。なお、図15(B)が示すように、内部記憶装置141におけるメモ領域320に対応する記憶領域は、文字列に対応する属性に加えて、当該文字列の品詞および原形を記憶する。
ステップS2209において、制御部101は、メモ領域320に新たな文字列を追加する操作が行われたか否かを判定する。当該操作は、図9(B)が示すように、ユーザが、メモ領域320における任意の位置に、マウスのカーソルを合わせて入力領域600を選択して、キーボードを用いて文字を入力することで実現可能である。処理工程は、当該操作がされている場合には、ステップS2210に遷移して、それ以外の場合にはステップS2211に遷移する。
ステップS2210において、制御部101は、ステップS2210において入力された文字列をメモ領域320に表示する。
ステップS2211において、制御部101は、メモ領域320に表示されている情報を出力する操作が行われたか否かを判定する。処理工程は、当該操作がされている場合には、ステップS2212に遷移して、それ以外の場合には本フローチャートにおける処理が全て終了する。
ステップS2212において、制御部101は、出力部106を制御して、メモ領域320に表示されている情報(内容)を出力する。具体的には、出力部106は、メモ領域320の情報を印刷する処理や、当該情報をイメージ形式やPDF形式に変換してデータとして出力する処理を行う。
(検索処理)
以下にて、ステップS1008、ステップS2202において行われる検索処理の詳細を、図8(B)が示すフローチャートを用いて説明する。
ステップS2301において、制御部101は、1つの文字列を検索対象として辞書検索をするユーザ操作が行われたか否かを判定する。例えば、図4(A)が示す辞書検索アイコン402が押下されると、検索対象の文字列を「止まる」として、当該ユーザ操作がされたと判定される。処理工程は、当該操作がされている場合には、ステップS2302に遷移して、それ以外の場合にはステップS2303に遷移する。
ステップS2302において、制御部101は、検索部107を制御して、検索対象の文字列の類義語、反対語、関連語、連想語などデータベース108や辞書データベース221に登録されている辞書を検索する。
ステップS2303において、制御部101は、1つの文字列を検索対象としてドキュメント検索をするユーザ操作が行われたか否かを判定する。例えば、図4(A)が示すドキュメント検索アイコン403が押下されると、検索対象の文字列を「止まる」として、当該ユーザ操作がされたと判定される。処理工程は、当該操作がされている場合には、ステップS2304に遷移して、それ以外の場合にはステップS2305に遷移する。
ステップS2304において、制御部101は、検索部107を制御して、検索対象の文字列を含む、過去の小説や公開資料などのデータベース108やドキュメントデータベース222に登録されているドキュメントを検索する。
ステップS2305において、制御部101は、1つの文字列を検索対象として出典検索をするユーザ操作が行われたか否かを判定する。例えば、図4(A)が示す出典検索ア
イコン404が押下されると、検索対象の文字列を「止まる」として、当該ユーザ操作がされたと判定される。処理工程は、当該操作がされている場合には、ステップS2306に遷移して、それ以外の場合にはステップS2307に遷移する。
ステップS2306において、制御部101は、検索部107を制御して、指定文字列をWeb検索した際の、検索対象の文字列が含まれるWebページのURLおよび当該文字列に対応する画像のURLといった出典元を、出典データベース223から検索する。なお、サーバ200の制御部201が、ステップS2001~S2006にてWeb検索や関連文字列の抽出や画像検索を実施する際に、図15(C)が示すように、複数の関連文字列のそれぞれについて、出典データベース223に出典元を記憶させておく。図15(C)が示す例では、出典元として、関連文字列それぞれに対応する、Web検索時の当該文字列を取得したWebページのURL、画像URLを示している。なお、1つの関連文字列に対して複数の出典元が対応していてもよい。
なお、ステップS2302,ステップS2304,ステップS2306における検索を、検索部107は、データベース206(辞書)を用いて行うものとしたが、インターネット20を介して外部のデータベースを用いて行ってもよい。なお、上述した情報の検索に限らず、制御部101は、検索対象の文字列に関連する情報(関連情報)であればいかなる情報を検索してもよい。また、データベース206に記憶されている辞書やドキュメントは、入力部102を用いて、ユーザが任意に情報の追加、登録、削除を行うことができる。
ステップS2307において、制御部101は、検索した結果を表示部103に表示する。例えば、制御部101は、辞書検索がされている場合には、図4(B)が示すように、検索対象の文字列に対する類義語、反対語、関連語、連想語を表示する。また、ドキュメント検索がされている場合には、制御部101は、図10(A)が示すように、検索対象の文字列が含まれるドキュメントの作者や作品名、使用形態を表示する。出典検索がされている場合には、制御部101は、図10(B)が示すように、Web検索において対象の文字列を取得したWebページのURLと、当該Webページにおける使用形態といったWebページの内容を表示する。なお、ここで、当該使用形態は、当該WebページのURLを用いて、制御部101がインターネット20を介して当該Webページにアクセスすることによって取得される。なお、この際、関連文字列に対応する画像URLも表示されてもよい。
(グラフの表示変更処理)
以下にて、ステップS1010において行われるグラフの表示変更処理の詳細を、図11が示すフローチャートを用いて説明する。
ステップS2401において、制御部101は、表示するグラフをツリーグラフに変更する(切り替える)操作が行われたか否かを判定する。当該操作が行われた場合には、処理工程は、ステップS2402に遷移して、それ以外の場合にはステップS2403に遷移する。
ステップS2402において、制御部101は、指定文字列とともに、ツリーグラフを生成する指示をサーバ200の制御部201に出力する。制御部201は、グラフ生成部211を制御して上述のようにツリーグラフを生成して、情報処理装置100に出力する。制御部101は、取得したツリーグラフをグラフ領域310に表示する。つまり、ステップS2402においては、ステップS2007,ステップS2008の処理と同様の処理が行われる。
ステップS2403において、制御部101は、表示するグラフをクラスタリンググラフに変更する(切り替える)操作が行われたか否かを判定する。当該操作が行われた場合には、処理工程は、ステップS2404に遷移して、それ以外の場合にはステップS2405に遷移する。
ステップS2404において、制御部101は、指定文字列とともに、クラスタリンググラフを生成する指示をサーバ200の制御部201に出力する。制御部201は、グラフ生成部211を制御して上述のようにクラスタリンググラフを生成して、情報処理装置100に出力する。制御部101は、取得したクラスタリンググラフをグラフ領域310に表示する。つまり、ステップS2404においては、ステップS2007,ステップS2008の処理と同様の処理が行われる。
ステップS2405において、制御部101は、表示するグラフをキーグラフに変更する(切り替える)操作が行われたか否かを判定する。当該操作が行われた場合には、処理工程は、ステップS2406に遷移して、それ以外の場合にはステップS2407に遷移する。
ステップS2406において、制御部101は、指定文字列とともに、キーグラフを生成する指示をサーバ200の制御部201に出力する。制御部201は、グラフ生成部211を制御して上述のようにキーグラフを生成して、情報処理装置100に出力する。制御部101は、取得したキーグラフをグラフ領域310に表示する。つまり、ステップS2406においては、ステップS2007,ステップS2008の処理と同様の処理が行われる。
なお、ステップS2402,S2404,S2406において、現在表示しているグラフと変更すべきグラフが同一の種類のグラフである場合には、制御部201は、当該グラフに用いられている関連文字列以外の関連文字列を用いて、新たなグラフを生成してもよい。つまり、制御部201は、グラフの種類は変更せずに、グラフに表示される関連文字列を変更してもよい。
また、ステップS2402,S2404,S2406の処理は、例えば、グラフ領域310が、複数のページを有することによっても実現可能である。より詳細には、グラフ生成部211は、ステップS2007において複数のグラフを生成し、複数のページそれぞれに対応するように内部記憶装置141に記憶させておく。そして、ステップS2401,S2403,S2405のいずれかにおいて変更する操作が行われると、制御部101は、グラフ領域310に表示するページを変更すればよい。なお、ここでグラフ領域310に表示されるのは、グラフの一部の領域である。なお、グラフに用いられる関連文字列は、ページごとに異なっていても、同じであってもよい。
ステップS2407において、制御部101は、グラフ領域310に表示されている文字列に対して、当該文字列を削除する操作がされたか否かを判定する。当該操作が行われた場合には、処理工程は、ステップS2408に遷移して、それ以外の場合にはステップS2409に遷移する。
ステップS2408において、制御部101は、グラフ領域310から、ステップS2407において削除する操作が行われた文字列を削除する。ここで、制御部101は、当該文字列だけでなく、当該文字列よりも深い層で当該文字列と接続されている文字列も加えて削除するとよい。つまり、図2が示す例では、制御部101は、「メンテナンス」という文字列が削除される操作が行われると、「メンテナンス」とともに「ペア」や「公開」や「時計」を削除する。言い換えると、制御部101は、「メンテナンス」と「腕時計
」との接続を解除して、「メンテナンス」側に残った文字列を全て削除する。なお、1つの文字列の削除をする操作が行われると、制御部101は、当該文字列を除いた複数の関連文字列から、新たなグラフを生成させて、グラフ領域310に表示させてもよい。
また、クラスタリンググラフに対して文字列の削除の操作が行われると、制御部101は、クラスタリンググラフにおける複数のキーグラフ(クラス)のうち、当該文字列の削除の操作が行われた文字列を含むキーグラフ(クラス)を削除してもよい。さらには、制御部101は、当該キーグラフを削除した後に、改めて、クラスタリンググラフを生成させて、グラフ領域310に表示させてもよい。つまり、クラスタリングの対象になる関連文字列から、削除されたキーグラフのグループに属する文字列を削除した関連文字列に対して、再度クラスタリングが行われてもよい。なお、このとき、制御部101は、クラスタリンググラフにおける当該複数のキーグラフの数(クラスの数)を変更してもよい。
ステップS2409において、制御部101は、グラフの次候補表示の操作が行われたか否かを判定する。当該操作が行われた場合には、処理工程は、ステップS2410に遷移して、それ以外の場合には本フローチャートにおける全ての処理が終了する。
ステップS2410において、制御部101は、グラフ領域310に表示されている関連文字列を変更する処理を行う。つまり、制御部101は、グラフ領域310に表示されている関連文字列以外の関連文字列を用いたグラフを表示する。これは、例えば、グラフ生成部211が、ステップS2007およびS2008によって1つのグラフを生成し、当該グラフに用いられなかった関連文字列を用いてさらに1つのグラフを生成することを繰り返すことによって、複数のグラフを生成しておき、内部記憶装置141に記憶する。そして、制御部101は、ステップS2409においてグラフの次候補表示の操作が行われるごとに、異なるグラフを内部記憶装置141から読み出して表示するとよい。
ステップS2410の処理は、例えば、グラフ領域310が、複数のページを有することによって実現可能である。より詳細には、グラフ生成部211は、ステップS2007において複数のグラフを生成し、複数のページそれぞれに対応するように内部記憶装置141に記憶させておく。そして、グラフの次候補表示の操作が行われると、制御部101は、グラフ領域310に表示するページを変更すればよい。
なお、上述では、情報処理装置100とサーバ200とは別途のものとして説明したが、一体のものであってもよい。つまり、情報処理装置100が、サーバ200の各機能部を有する構成であってもよい。この場合には、発想支援システム10が、通信部204および通信部105を有している必要はない。また、制御部101が行っている一部または全部の処理は、制御部201が行ってもよいし、逆に、制御部201が行っている一部または全部の処理は、制御部101が行ってもよい。さらには、記憶部104が記憶している情報(データ)の一部または全部は、記憶部202が記憶していてもよく、逆に、記憶部202が記憶している情報の一部または全部は、記憶部104が記憶していてもよい。また、情報処理装置100が、生成部210や情報取得部203の全部または一部を有していてもよい。また、サーバ200が、検索部107、ログ記憶部109の全部または一部を有していてもよい。
[効果]
以上、実施形態1によれば、発想支援システムは、ユーザに対して発想に用いる情報を提示するグラフ領域と情報を整理するためのメモ領域とを表示する。このため、ユーザは、発想に必要な情報の取得と、その整理との両方を当該システムにおいて行うことができる。より詳細には、従来は、情報の検索、関連意見の取得、展開、まとめ、などの一連の作業を行うことができなかったが、本実施形態によれば、一気通貫の作業としてネーミン
グやコンセプト作りなどが容易に実現できる。
また、本実施形態1に係るグラフは、ユーザが必要な情報をより視覚的にまとめたものであるため、ユーザは効率的に情報を取得できる。また、表示部における各領域に表示されている文字列は、各領域において相互に利用可能であるため、発想作業を妨げずスムーズに処理が行える。従って、本実施形態に係る発想支援システムを用いれば、ユーザはより効果的に発想を得ることができる。
[変形例1]
本変形例に係る発想支援システム10は、実施形態1に係る発想支援システム10が行うグラフ領域およびメモ領域を表示することに加えて、さらに発想を促す表示を行う。より詳細には、発想支援システム10は、図12が示すような表示部103に表示されていた文字列の一部を、アニメーション表示(弾幕表示)することによってユーザの発想を促す。
例えば、制御部101が、入力部102に対するユーザ操作が行われていない時間を計測する。そして、制御部101は、当該時間が予め設定しておいた所定期間よりも長くなると、グラフ領域310に表示されている文字列使用例から複数の文字列を選択する。なお、制御部101は、メモ領域320や使用例領域330に表示されている文字列から複数の文字列を選択してもよい。つまり、内部記憶装置141における表示部103の各領域に対応する記憶領域が記憶する文字列から、当該複数の文字列が選択されている。そして、制御部101は、例えば、図12が示すように、当該3つの領域の表示輝度を低下させて、これらの領域に重畳するように複数の文字列を表示部103に表示する。そして、制御部101は、当該複数の文字列を、時間経過に応じて、画面上において右から左に移動するように表示する。なお、制御部101は、3つの領域の表示輝度の低下ではなく、例えば、スクリーンセーバに表示を切り替えた後に、当該表示に対して、複数の文字列を重畳させてもよい。
また、制御部101は、アニメーション表示する複数の文字列のそれぞれの文字の大きさや色、または移動する速さ(スピード)を、当該文字列と指定文字列との関連度に応じて変更してもよい。例えば、制御部101は、関連度が高い文字列ほど、文字を大きくし、移動スピードを遅くするとよい。これによれば、関連度が高い文字列ほど、ユーザの印象に残りやすい。また、同様に、制御部101は、メモ領域320に表示されている文字列をアニメーションに用いる場合には、グラフ領域310に表示されている文字列を用いる場合よりも、文字を大きくするとよい。
なお、ユーザ操作がされていない時間に応じて上述の処理が行われることに限らず、例えば、制御部101は、音声入力部110および音声認識部111を介して、所定期間、ユーザの音声を取得できなければ、同様の処理を行ってもよい。また、アニメーション表示は、文字列が右から左に移動する形態に限らず、例えば、時間経過に応じて、文字の大きさが変化する形態であったり、文字の色が変化する形態であったりしてもよい。また、アニメーション表示されている文字列の1つを選択するユーザ操作が行われることによって、制御部101が、当該選択された文字列をさらにメモ領域320に表示し、内部記憶装置141におけるメモ領域320に対応する記憶領域に記憶するようにしてもよい。
本変形例によれば、ユーザの思考が停滞している際に、上述した3つの領域とは異なる方法(表示)によって、発想が刺激されるため、ユーザは、より効率的に発想を得ることができる。
[変形例2]
実施形態1に係る発想支援システム10は、図2が示すように、グラフ領域310とメモ領域320と使用例領域330とを表示部103に表示する。一方、本変形例に係る発想支援システム10は、実施形態1にて表示していた領域に加えて、トレンドワードや検索履歴といった情報をさらに表示部103に表示する。
制御部101は、図13が示すような情報を、表示部103に表示する。具体的には、表示部103には、グラフ領域310、メモ領域320、使用例領域330、トレンド領域710、入力領域720、履歴領域730、背景ボタン740~743、ページ追加ボタン750、メモサムネイル751~753、出力ボタン760が表示される。
トレンド領域710には、Web検索において、現在多く調べられている流行の語句(トレンドワード)が表示される。これは、制御部101が、サーバ200の情報取得部203を介して、トレンドワードをWeb検索によって取得することで実現可能である。例えば、制御部101は、Twitter(登録商標)によって24時間以内に発信されている文字列に登場する頻度の高いものを抽出することでトレンドワードの取得が可能である。なお、トレンド領域710に表示されているトレンドワードは、例えば、時間経過に応じて変更されたり、例えば、アニメーション表示されていてもよい。また、トレンドワードの代わりに、他の領域に表示されている文字列の一部がトレンド領域710に表示されていてもよい。なお、トレンド領域701には、ニュースサイトの記事やRSSにより最新の情報が判断されて、当該情報がニュースとして表示されてもよい。
入力領域720は、実施形態1に係る入力領域311と同様の領域である。従って、入力領域720に対して、ユーザが文字列を入力すると、当該文字列を指定文字列としたグラフがグラフ領域310に表示される。なお、図13が示す例では「宇宙 きらめき」が入力されており、「宇宙 きらめき」を指定文字列とするキーグラフがグラフ領域310に表示されている。
履歴領域730には、図8が示すステップS2302,S2304,S2306のいずれかによりユーザが検索した文字列が履歴として表示される。つまり、図8が示すステップS2307の処理が終了すると、制御部101は、検索対象の文字列を履歴領域730に追加して表示する。なお、当該文字列は、履歴領域730に表示されるとともに、履歴情報として内部記憶装置141に記憶される。なお、履歴領域730に表示されている文字列に対して、ユーザ操作が行われることによって、当該文字列を指定文字列とするグラフ表示処理が行われてもよいし、当該文字列がメモ領域320に表示されるような処理がされてもよい。また、履歴領域730には、辞書検索とドキュメント検索と出典検索とのいずれかに用いた検索対象の文字列が表示されてもよいし、これらが組み合わされて表示されてもよい。また、この表示は切り替え可能であってもよく、ユーザ操作によって制御部101が切り替えてもよいし、時間経過にともない、制御部101が切り替えてもよい。
背景ボタン740~743のそれぞれは、メモ欄における背景を設定するボタンである。具体的には、ユーザが背景ボタン740を押下すれば、制御部101は、メモ領域320の背景を無地(白色)に設定する。一方、ユーザが背景ボタン742を押下すれば、制御部101は、当該背景を横線状に設定し、ユーザが背景ボタン743を押下すれば、制御部101は、当該背景を水玉状に設定する。なお、背景の種類は、任意に設定可能であり、例えば、ユーザが有する絵や写真などの画像が背景として用いられてもよい。
ページ追加ボタン750がユーザ操作によって押下されると、制御部101は、メモ領域320のページを追加する。従って、本変形例に係るメモ領域320には、複数のページが存在し得る。メモサムネイル751~753には、各ページの表示サムネイル(縮小
画像)が表示されている。また、メモサムネイル751~753のうち、太線によって囲われているメモサムネイル751が現在、メモ領域320に表示されているページである。また、メモサムネイル751~753のいずれかが押下(選択)されることによって、制御部101は、メモ領域320に表示するページを切り替える。このように、ページが複数存在することによって、ユーザは、多くの情報を分類して整理することができる。
出力ボタン760がユーザ操作によって押下されると、制御部101は、表示部103が表示している情報を、出力部106を制御して出力する。ここで、出力とは、上述のように、当該情報を印刷(プリントアウト)することに限らず、当該情報をイメージデータやPDFデータに変換することも示し得る。なお、表示部103の表示全体に限らず、表示部103の各領域の情報(表示)が出力されてもよい。
また、メモ領域320に表示された文字列同士を線で結び、当該線に対する説明が設定可能であってもよい。つまり、メモ領域320における属性に、線で結ばれた文字列、および当該線の説明が含まれていてもよい。また、制御部101は、当該説明単位で、メモ領域320におけるグループを決定してもよい。なお、制御部101は、当該説明単位でグループの決定を行う際は、新たにページを追加して、グループの決定をする前および後のそれぞれについてページを切り替えることで表示できるようにするとよい。さらには、制御部101は、ユーザ操作によって、あるページの文字列の表示を、他のページに複製してもよい。
また、メモ領域320は、拡張ボタン321を有する。拡張ボタン321が、ユーザ操作によって押下されると、制御部101は、図14が示すように、表示部103におけるメモ領域320の表示範囲を拡張(大きく;全画面表示)する。このことによって、ユーザは、大きな表示範囲を用いて情報の整理を行うことができる。また、メモ領域320の表示範囲が拡張されると、縮小ボタン322が表示される。この縮小ボタン322が、ユーザ操作によって押下されると、制御部101は、メモ領域320の表示範囲を、図13が示すような範囲に戻す。
本変形例によれば、実施形態1に係る発想支援システムよりも多くの情報が表示されて、さらに多くの情報をメモしておくことが可能であるため、ユーザの利便性が向上する。
以上に説明した本発明の実施形態や変形例に記載された構成や処理は、互いに任意に組み合わせて利用できる。また、上述した発想支援システムの処理の少なくとも一部を含む発想支援方法、又は、当該発想支援方法の各ステップをコンピュータに実行させるプログラム、又は、当該プログラムを非一時的に記憶した記憶媒体などとして捉えることもできる。具体的には、例えば、メモ領域やグラフ領域を表示部に表示する制御部の処理を、発想支援方法の表示制御ステップとして捉えることができる。
上述の実施形態または変形例の1以上の機能を実現するプログラムを、ネットワークまたは記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC等)によっても実現可能である。