(57)【要約】【課題】過去に行われた情報の変更に関して、その変更が意味する内容を、ユーザが効率的に把握できるようにする。【解決手段】変更意味推測装置２０は、変更前及び変更後の情報に含まれる構成要素を、解析基準に基づいて抽出したのち、構成要素同士の関係を、解析基準に基づいて解析する解析部２１と、その解析結果と差分算出基準とに基づいて、情報の変更内容を、構成要素の識別子を用いた差分情報として算出する算出部２２と、解析結果と変換基準とに基づいて、前記差分情報を、識別子を用いない一般化差分情報に変換する変換部２３と、一般化差分情報と、変更内容の意味を推測する情報とが関連付けされた変更意味推測情報が記憶された記憶部２６と、変更意味推測情報に対して一般化差分情報を照合することによって、変更内容の意味を表す情報を求める意味提示部２４と、を備える。【選択図】      図６
2017228035.tif 000002
【特許請求の範囲】
【請求項１】
変更前情報と、前記変更前情報から内容が変更された変更後情報とに含まれる構成要素を、解析基準に基づいて抽出したのち、前記変更前情報及び前記変更後情報に対して、前記構成要素同士の関係を、前記解析基準に基づいて解析する解析手段と、
前記解析手段による解析結果と差分算出基準とに基づいて、前記変更前情報から前記変更後情報への変更内容を、前記構成要素を識別可能な識別子を用いた差分情報として算出する算出手段と、
前記解析結果と変換基準とに基づいて、前記差分情報を、前記識別子を用いない一般化差分情報に変換する変換手段と、
前記一般化差分情報と、前記変更内容の意味を推測する情報とが関連付けされた変更意味推測情報が記憶された第一の記憶手段と、
前記変更意味推測情報に対して、前記変換手段により変換された前記一般化差分情報を照合することによって、前記変更内容の意味を表す情報を求める意味提示手段と、
を備える変更意味推測装置。
【請求項２】
前記解析手段は、階層構造を備える前記構成要素を抽出する、
請求項１に記載の変更意味推測装置。
【請求項３】
前記解析手段は、前記変更前情報の構文木及び前記変更後情報の構文木を、前記解析結果として生成する、
請求項２に記載の変更意味推測装置。
【請求項４】
前記算出手段は、前記構文木に対する操作命令を含む前記差分情報を算出する、
請求項３に記載の変更意味推測装置。
【請求項５】
前記算出手段は、前記差分算出基準として、エディットスクリプトアルゴリズムを用いることによって、前記操作命令として、インサート命令、デリート命令、アップデート命令、及び、ムーブ命令を含む前記差分情報を生成する、
請求項４に記載の変更意味推測装置。
【請求項６】
前記変更前情報、及び、前記変更後情報は、ハードウェアあるいはソフトウェアに対する設定情報である、
請求項１乃至５のいずれか一項に記載の変更意味推測装置。
【請求項７】
前記変更前情報、及び、前記変更後情報は、ソフトウェアのソースファイルである、
請求項１乃至５のいずれか一項に記載の変更意味推測装置。
【請求項８】
前記変更前情報、及び、前記変更後情報が記憶された第二の記憶手段をさらに備える、
請求項１乃至７のいずれか一項に記載の変更意味推測装置。
【請求項９】
情報処理装置によって、
変更前情報と、前記変更前情報から内容が変更された変更後情報とに含まれる構成要素を、解析基準に基づいて抽出したのち、前記変更前情報及び前記変更後情報に対して、前記構成要素同士の関係を、前記解析基準に基づいて解析し、
その解析結果と差分算出基準とに基づいて、前記変更前情報から前記変更後情報への変更内容を、前記構成要素を識別可能な識別子を用いた差分情報として算出し、
前記解析結果と変換基準とに基づいて、前記差分情報を、前記識別子を用いない一般化差分情報に変換し、
前記一般化差分情報と、前記変更内容の意味を推測する情報とが関連付けされた、記憶手段に記憶された変更意味推測情報に対して、変換した前記一般化差分情報を照合することによって、前記変更内容の意味を表す情報を求める、
変更意味推測方法。
【請求項１０】
変更前情報と、前記変更前情報から内容が変更された変更後情報とに含まれる構成要素を、解析基準に基づいて抽出したのち、前記変更前情報及び前記変更後情報に対して、前記構成要素同士の関係を、前記解析基準に基づいて解析する解析処理と、
前記解析処理による解析結果と差分算出基準とに基づいて、前記変更前情報から前記変更後情報への変更内容を、前記構成要素を識別可能な識別子を用いた差分情報として算出する算出処理と、
前記解析結果と変換基準とに基づいて、前記差分情報を、前記識別子を用いない一般化差分情報に変換する変換処理と、
前記一般化差分情報と、前記変更内容の意味を推測する情報とが関連付けされた、記憶手段に記憶された変更意味推測情報に対して、前記変換処理により変換された前記一般化差分情報を照合することによって、前記変更内容の意味を表す情報を求める意味提示処理と、
をコンピュータに実行させるための変更意味推測プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、過去に行われた情報の変更に関して、その変更が意味する内容を推測するための技術に関する。
【背景技術】
【０００２】
ハードウェアやソフトウェアの動作環境を設定する設定ファイル、あるいは、アプリケーションのソースファイルなどは、例えば、機能仕様の追加や変更等に応じて、その内容が変更される。これらの設定ファイルやソースファイルを管理するユーザ（管理者）は、これらの設定ファイルやソースファイルに対して過去に行われた変更内容を管理する必要がある。したがって、ユーザが、これらのファイルに対して過去に行われた変更内容を、効率的に把握することをサポートする技術に対する期待が高まってきている。
【０００３】
このような技術に関連する技術として、特許文献１には、変更前後のソースコードを構文解析し、変更前後の差分を抽出する装置が開示されている。この装置は、変更前後のソースコードに含まれる予約語に基づいて構文解析を行い、変更前後のソースコードの各々に対して、予約語をノードとする抽象構文木データを生成する。この装置は、生成した抽象構文木データの木構造データの深さに基づきネスト情報の解析を行い、変更前後のソースコードの各々に対して、ネスト構文要素データを生成する。この装置は、生成したネスト構文要素データの各々を比較することによって、差分抽出データを生成する。そして、この装置は、少なくとも一致判別ルールと条件追加削除抽出ルールとに基づいて、生成した差分抽出データを解析する。
【０００４】
また、特許文献２には、修正前後のソースコードについて、修正箇所と機能との関連付けを行う装置が開示されている。この装置は、修正前後のソースコードを比較することによって差分を抽出し、抽出した差分を、ソースコードに使用可能な構成要素ごとに分割する。この装置は、分割した後の差分である分割差分と構成要素とを関連付けた構文解析結果を生成し、構文解析結果に含まれる分割差分と構成要素との組に関連付けて機能区分を設定することによって、機能解析結果を生成する。この装置は、機能解析結果に含まれる分割差分および機能区分を用いて、修正前後のソースコードの比較結果を出力する。そして、この装置は、構文解析結果に含まれる構成要素が、修正履歴テーブルに存在する場合に、当該構成要素に関連付けて修正履歴に設定されている機能区分を、当該構成要素に関連する機能解析結果の機能区分に設定する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2013-257639号公報
【特許文献２】特開2013-065267号公報
【非特許文献】
【０００６】
【非特許文献１】Sudarshan Chawathe, Anand Rajaraman, Hector Garcia-Molina, Jennifer Widom, "Change detection in hierarchically structured information", ACM SIGMOD International Conference on Management of Data, ACM Press (1996), pp. 493-504
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ユーザは、例えば、上述した設定ファイル等に対して過去に行われた変更が、どのような意味を有するのか、あるいは、どのような意図によるものであるのかについて、調査する必要があることがある。ユーザは、このような場合に、例えば、ファイル差分取得ソフトウェア「ｄｉｆｆ」を利用することがある。「ｄｉｆｆ」は、２つのファイル間の変更内容を行単位で抽出し、追加された行、削除された行、及び、変更された行とその前後の数行を表示するソフトウェアである。ユーザは、上述のような場合に、あるいは、ファイル履歴管理ツール「ｇｉｔ」を利用することがある。「ｇｉｔ」は、ファイルの変更履歴と、変更ごとのコメントを保存することによって、過去の変更内容と、その変更の意図を後から調査することをサポートするツールである。
【０００８】
しかしながら、例えば「ｄｉｆｆ」を利用して変更内容の意味や意図を確認する場合、ハードウェアやソフトウェアに固有な設定ファイルの構文に対する知識が必要となるので、ユーザに対する負担が大きいという問題がある。また、例えば「ｇｉｔ」を利用して変更内容の意味や意図を確認する場合、コメントが残されていない変更内容に対しては、上述した「ｄｉｆｆ」を利用するときと同様の問題が発生する。そして、特許文献１及び２が示す技術も、過去に行われた変更内容の意味や意図を確認する際におけるユーザに対する負担が大きいというこのような問題を解決するのに十分であるとは言えない。本願発明の主たる目的は、この課題を解決する変更意味推測装置等を提供することである。
【課題を解決するための手段】
【０００９】
本願発明の一態様に係る変更意味推測装置は、変更前情報と、前記変更前情報から内容が変更された変更後情報とに含まれる構成要素を、解析基準に基づいて抽出したのち、前記変更前情報及び前記変更後情報に対して、前記構成要素同士の関係を、前記解析基準に基づいて解析する解析手段と、前記解析手段による解析結果と差分算出基準とに基づいて、前記変更前情報から前記変更後情報への変更内容を、前記構成要素を識別可能な識別子を用いた差分情報として算出する算出手段と、前記解析結果と変換基準とに基づいて、前記差分情報を、前記識別子を用いない一般化差分情報に変換する変換手段と、前記一般化差分情報と、前記変更内容の意味を推測する情報とが関連付けされた変更意味推測情報が記憶された第一の記憶手段と、前記変更意味推測情報に対して、前記変換手段により変換された前記一般化差分情報を照合することによって、前記変更内容の意味を表す情報を求める意味提示手段と、を備える。
【００１０】
上記目的を達成する他の見地において、本願発明の一態様に係る変更意味推測方法は、情報処理装置によって、変更前情報と、前記変更前情報から内容が変更された変更後情報とに含まれる構成要素を、解析基準に基づいて抽出したのち、前記変更前情報及び前記変更後情報に対して、前記構成要素同士の関係を、前記解析基準に基づいて解析し、その解析結果と差分算出基準とに基づいて、前記変更前情報から前記変更後情報への変更内容を、前記構成要素を識別可能な識別子を用いた差分情報として算出し、前記解析結果と変換基準とに基づいて、前記差分情報を、前記識別子を用いない一般化差分情報に変換し、前記一般化差分情報と、前記変更内容の意味を推測する情報とが関連付けされた、記憶手段に記憶された変更意味推測情報に対して、変換した前記一般化差分情報を照合することによって、前記変更内容の意味を表す情報を求める
また、上記目的を達成する更なる見地において、本願発明の一態様に係る変更意味推測プログラムは、変更前情報と、前記変更前情報から内容が変更された変更後情報とに含まれる構成要素を、解析基準に基づいて抽出したのち、前記変更前情報及び前記変更後情報に対して、前記構成要素同士の関係を、前記解析基準に基づいて解析する解析処理と、前記解析処理による解析結果と差分算出基準とに基づいて、前記変更前情報から前記変更後情報への変更内容を、前記構成要素を識別可能な識別子を用いた差分情報として算出する算出処理と、前記解析結果と変換基準とに基づいて、前記差分情報を、前記識別子を用いない一般化差分情報に変換する変換処理と、前記一般化差分情報と、前記変更内容の意味を推測する情報とが関連付けされた、記憶手段に記憶された変更意味推測情報に対して、前記変換処理により変換された前記一般化差分情報を照合することによって、前記変更内容の意味を表す情報を求める意味提示処理と、をコンピュータに実行させるためのプログラムである。
【００１１】
更に、本願発明は、係る変更意味推測プログラム（コンピュータプログラム）が格納された、コンピュータ読み取り可能な、不揮発性の記録媒体によっても実現可能である。
【発明の効果】
【００１２】
本願発明は、過去に行われた情報の変更に関して、その変更が意味する内容を、ユーザが効率的に把握することを可能とする。
【図面の簡単な説明】
【００１３】
【図１】本願発明の第１の実施形態に係る変更意味推測装置１０の構成を示すブロック図である。
【図２】本願発明の第１の実施形態に係る変更前設定情報１５０及び変更後設定情報１５１の内容を例示する図である。
【図３】本願発明の第１の実施形態に係る解析結果１１１の構成を例示する図である。
【図４】本願発明の第１の実施形態に係る差分情報１２１及び一般化差分情報１３１の内容を例示する図である。
【図５】本願発明の第１の実施形態に係る変更意味推測装置１０の動作を示すフローチャートである。
【図６】本願発明の第２の実施形態に係る変更意味推測装置２０の構成を示すブロック図である。
【図７】本願発明の各実施形態に係る変更意味推測装置を実行可能な情報処理装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
【００１５】
＜第１の実施形態＞
図１は、本願発明の第１の実施の形態に係る変更意味推測装置１０の構成を概念的に示すブロック図である。変更意味推測装置１０は、例えば、ハードウェアやソフトウェアに対する設定情報に対して過去に行われた変更が、どのような意味を有するのか、あるいは、どのような意図によるものであるのかを推測する情報を、当該設定情報を管理するユーザに提示する装置である。
【００１６】
本実施形態にかかる変更意味推測装置１０は、解析部１１、算出部１２、変換部１３、意味提示部１４、設定情報記憶部１５、及び、変更意味推測データベース記憶部１６を備えている。尚、本願では、以降、データベースを「ＤＢ」と表すこととする。
【００１７】
設定情報記憶部１５は、例えば、磁気ディスクあるいは電子メモリ等の記憶デバイスを含んでいる。設定情報記憶部１５には、変更前設定情報１５０、及び、変更後設定情報１５１が記憶されている。変更前設定情報１５０は、外部のハードウェアあるいはソフトウェアに対する設定情報であって、過去に行われた変更に関する変更前の設定情報である。変更後設定情報１５１は、当該変更に関する変更後の設定情報である。尚、図１には、説明の便宜上、変更前設定情報１５０及び変更後設定情報１５１を１つずつ示しているが、設定情報記憶部１５には、過去に行われた複数の変更に関する、複数の変更前設定情報１５０及び変更後設定情報１５１が記憶されていてもよい。
【００１８】
図２は、本実施形態に係る変更前設定情報１５０及び変更後設定情報１５１の内容を例示する図である。変更前設定情報１５０は、「service」という記載を含むノード（ブロック）００２と、「file」という記載を含むノード（ブロック）００３とを含み、ノード００２の次にノード００３を配置している。変更前設定情報１５１は、変更前設定情報１５０に対する変更によって、ノード００２とノード００３の位置が入れ替わった結果、ノード００３の次にノード００２を配置している。尚、図２に記載された「ノード００１」、「ノード００２」、及び、「ノード００３」は、説明の便宜上の記載であり、変更前設定情報１５０及び変更後設定情報１５１は、「ノード００１」、「ノード００２」、及び、「ノード００３」という記載を含まなくてもよい。
【００１９】
図１に示す解析部（パーサ）１１は、ユーザによる指示を受けて、設定情報記憶部１５に記憶された変更前設定情報１５０及び変更後設定情報１５１の内容を、解析基準１１０に基づいて解析する。解析基準１１０は、例えば、解析部１１が備える電子メモリ等に記憶されている。解析基準１１０は、変更前設定情報１５０及び変更後設定情報１５１に関して、例えば、使用される予約語（例えば「service」、「file」等）、及び、構文ルール等を表す基準となる情報である。
【００２０】
解析部１１は、解析した結果を、解析結果１１１として生成する。図３は、本実施形態に係る解析結果１１１の内容を例示する図である。解析部１１は、まず、変更前設定情報１５０及び変更後設定情報１５１から、構成要素として、ノード００１乃至ノード００３を抽出する。解析部１１は、変更前設定情報１５０及び変更後設定情報１５１がノードの名称を含まない場合、抽出した構成要素に、「ノード００１」、「ノード００２」、及び、「ノード００３」という名称を付与してもよい。解析部１１は、抽出したノード００１乃至ノード００３について、互いの関係を解析する。
【００２１】
本実施形態にかかる解析部１１は、図３に例示するとおり、抽出したノード同士の関係を、構文木により表した解析結果１１１を生成する。図３に例示する解析結果１１１は、変更前設定情報１５０において、ノード００１は、ノード００２及びノード００３を、子ノードとして含み、その子ノードの配置順は、「ノード００２、ノード００３」であることを示している。解析結果１１１は、また、変更後設定情報１５１において、ノード００１は、ノード００２及びノード００３を、子ノードとして含み、その子ノードの配置順は、「ノード００３、ノード００２」であることを示している。解析部１１は、解析結果１１１を、算出部１２及び変換部１３へ入力する。
【００２２】
算出部１２は、解析部１１から入力された解析結果１１１と、差分算出基準１２０とに基づいて、変更前設定情報１５０と変更後設定情報１５１との差分を算出する。差分算出基準１２０は、例えば、算出部１２が備える電子メモリ等に記憶されている。差分算出基準１２０は、変更前設定情報１５０と変更後設定情報１５１との差分を算出し、算出した差分を所定のフォーマットにより表すための基準となる情報である。
【００２３】
本実施形態にかかる差分算出基準１２０は、変更前設定情報１５０と変更後設定情報１５１との差分を、例えば、非特許文献１に記載されたエディットアルゴリズムを用いることによって表すための基準である。このエディットアルゴリズムは、例えば構文木のような階層構造を持つ情報同士の差分を、次の４つの操作命令の組み合わせによって表すことを可能とする。
・insert（インサート命令）：構文木に頂点を追加する、
・delete（デリート命令）：構文木から頂点を削除する、
・update（アップデート命令）：頂点が示すデータの内容を更新する、
・move（ムーブ命令）：頂点の位置を移動する。
【００２４】
図３に例示する解析結果１１１は、変更前設定情報１５０から変更後設定情報１５１への変更内容は、ノード００１を親ノードとするノード００２とノード００３の配置順を入れ替えることを示している。このことから、算出部１２は、差分算出基準１２０が示すエディットアルゴリズムを用いることによって、変更前設定情報１５０から変更後設定情報１５１への変更内容を、例えば、「move(id: 003, parent: 001, to: 002)」という操作命令により表した差分情報１２１を生成する。当該操作命令において、「id」は、ノードの識別子を意味し、「parent」は親ノードを意味する。算出部１２は、生成した差分情報１２１を変換部１３へ入力する。
【００２５】
変換部１３は、解析部１１から入力された解析結果１１１と、変換基準１３０とに基づいて、算出部１２から入力された差分情報１２１を、ノードの識別子等を用いずに一般化（抽象化）した一般化差分情報１３１に変換する。変換基準１３０は、例えば、変換部１３が備える電子メモリ等に記憶されている。変換基準１３０は、ノードの識別子を用いて具体的に表した差分情報１２１を、例えば構文木により表された解析結果１１１に基づいて、一般化するための基準となる情報である。変換部１３は、解析結果１１１に基づいて、差分情報１２１が示す変更内容が、ノード００１を親とする子ノード（ブロック）同士（すなわち、同じ階層レベルに位置するブロック同士）の入れ替えであることを認識する。そして、変換部１３は、変換基準１３０に基づいて、図４に例示する通り、「move(id: 003, parent: 001, to: 002)」という操作命令により表した差分情報１２１を、「move(type: block, to: same_level)」という操作命令により表した一般化差分情報１３１に変換する。変換部１３は、生成した一般化差分情報１３１を意味提示部１４へ入力する。
【００２６】
図１に示す意味提示部１４は、変更意味推測ＤＢ記憶部１６に記憶された変更意味推測ＤＢ１６０に対して、変換部１３から入力された一般化差分情報１３１を照合する。変更意味推測ＤＢ記憶部１６は、例えば、磁気ディスクあるいは電子メモリ等の記憶デバイスを含んでいる。
【００２７】
変更意味推測ＤＢ１６０は、一般化差分情報１３１の内容と、変更前設定情報１５０から変更後設定情報１５１への変更が有する意味や意図を表す情報とが関連付けられたデータベースである。例えば、変更意味推測ＤＢ１６０は、上述した、「move(type: block, to: same_level)」という操作命令により表された一般化差分情報１３１を、設定情報の変更の意味や意図として、「同じ設定階層に属する設定処理の実行順番を入れ替える」という内容と関連付けている。これにより、意味提示部１４は、変更前設定情報１５０から変更後設定情報１５１への変更が有する意味や意図として、「同じ設定階層に属する設定処理の実行順番を入れ替える」ことであることを求め、求めた情報を、ユーザに対して提示する。
【００２８】
次に図５のフローチャートを参照して、本実施形態に係る変更意味推測装置１０の動作（処理）について詳細に説明する。
【００２９】
解析部１１は、ユーザによる指示を受けて、解析基準１１０に基づいて、設定情報記憶部１５に記憶された変更前設定情報１５０及び変更後設定情報１５１に含まれるノードを抽出する（ステップＳ１０１）。解析部１１は、解析基準１１０に基づいて、変更前設定情報１５０及び変更後設定情報１５１において、抽出したノード同士の関係を解析し、解析結果１１１を算出部１２及び変換部１３へ入力する（ステップＳ１０２）。
【００３０】
算出部１２は、解析部１１から入力された解析結果１１１と、差分算出基準１２０とに基づいて、変更前設定情報１５０から変更後設定情報１５１への変更内容を、差分情報１２１として算出し、差分情報１２１を変換部１３に入力する（ステップＳ１０３）。変換部１３は、解析部１１から入力された解析結果１１１と変換基準１３０とに基づいて、算出部１２から入力された差分情報１２１を、一般化差分情報１３１に変換し、一般化差分情報１３１を意味提示部１４へ入力する（ステップＳ１０４）。
【００３１】
意味提示部１４は、変換部１３から入力された一般化差分情報１３１を、変更意味推測ＤＢ記憶部１６に記憶された変更意味推測ＤＢ１６０と照合する（ステップＳ１０５）。照合結果として、変更前設定情報１５０から変更後設定情報１５１への変更内容の意味や意図を表す情報が得られなかった場合（ステップＳ１０６でＮｏ）、全体の処理は終了する。照合結果として、変更前設定情報１５０から変更後設定情報１５１への変更内容の意味や意図を表す情報が得られた場合（ステップＳ１０６でＹｅｓ）、意味提示部１４は、得られた変更内容の意味や意図を表す情報を、ユーザに提示し（ステップＳ１０７）、全体の処理は終了する。
【００３２】
本実施形態に係る変更意味推測装置１０は、過去に行われた情報の変更に関して、その変更が意味する内容を、ユーザが効率的に把握するようにすることができる。その理由は、変更意味推測装置１０は、変更前設定情報１５０及び変更後設定情報１５１に含まれる構成要素の関係を解析することによって、変更内容を構成要素の識別子を使用して表した差分情報１２１を生成したのち、差分情報１２１を一般化差分情報１３１に変換し、一般化差分情報１３１を変更意味推測ＤＢ１６０と照合することにより得られた当該変更内容の意味や意図を表す情報をユーザに提示するからである。
【００３３】
以下に、本実施形態に係る変更意味推測装置１０によって実現される効果について、詳細に説明する。
【００３４】
ユーザは、ハードウェアやソフトウェアの動作環境を設定する設定情報などに対して過去に行われた変更が、どのような意味を有するのか、あるいは、どのような意図によるものであるのかについて、調査する必要があることがある。ユーザは、このような場合に、ハードウェアやソフトウェアに固有な設定情報の構文に対する知識が必要となることが多く、ユーザに対する負担が大きいという問題がある。
【００３５】
このような問題を解決するために、本実施形態に係る変更意味推測装置１０は、過去に行われた設定情報の変更に関して、その変更が意味する内容、あるいは、その変更が行われた意図を推測するための情報源として、変更意味推測ＤＢ１６０を有している。この変更意味推測ＤＢ１６０を、例えば、構成要素の識別子を含む設定情報に固有の内容と、変更内容の意味や意図を推測する情報とを関連付けた情報として準備することは、コスト等から現実的ではない。したがって、本実施形態では、変更意味推測ＤＢ１６０を、設定情報に固有でない（すなわち一般的（抽象的）な）内容と、変更内容の意味や意図を推測する情報とを関連付けた情報として準備する。
【００３６】
そして、本実施形態に係る変更意味推測装置１０では、解析部１１は、変更前設定情報１５０と、変更前設定情報１５０が変更された変更後設定情報１５１とに含まれる構成要素（ノード）を、解析基準１１０に基づいて抽出する。解析部１１は、変更前設定情報１５０及び変更後設定情報１５１ごとに、構成要素同士の関係を、解析基準１１０に基づいて解析する。算出部１２は、解析部１１による解析結果１１１と差分算出基準１２０とに基づいて、変更前設定情報１５０から変更後設定情報１５１への変更内容を、当該構成要素を識別可能な識別子を用いた差分情報１２１として算出する。変換部１３は、解析結果１１１と変換基準１３０とに基づいて、差分情報１２１を、当該識別子を用いない一般化差分情報１３１に変換する。変更意味推測ＤＢ記憶部１６には、一般化差分情報１３１と、当該変更内容の意味を推測する情報とが関連付けされた変更意味推測ＤＢ１６０が記憶されている。そして、意味提示部１４は、変更意味推測ＤＢ１６０に対して、変換部１３０により変換された一般化差分情報１３１を照合することによって、当該変更内容の意味を表す情報を求めてユーザに提示する。これにより本実施形態に係る変更意味推測装置１０は、過去に行われた情報の変更に関して、その変更が意味する内容を、ユーザが効率的に把握するようにすることができる。
【００３７】
尚、本実施形態に係る変更意味推測装置１０が上述した処理を行う対象は、ハードウェアやソフトウェアの動作環境を設定する設定情報（設定ファイル）に限定されない。変更意味推測装置１０は、例えば、ソフトウェア（アプリケーション）のソースファイル等に対して、上述した処理を行ってもよい。その場合、変更意味推測装置１０は、過去に行われたアプリケーションのソースファイル等の変更に関して、その変更が意味する内容、あるいは、その変更が行われた意図を、ユーザが効率的に把握することができるようにする。
【００３８】
また、本実施形態に係る解析部１１は、変更前設定情報１５０及び変更後設定情報１５１に対する解析結果１１１として、構文木以外の階層構造を示す情報を生成するようにしてもよい。
【００３９】
また、本実施形態に係る算出部１２は、差分算出基準１２０として、エディットスクリプトアルゴリズム以外の基準を用いて、差分情報１２１を生成してもよい。
【００４０】
＜第２の実施形態＞
図６は、本願発明の第２の実施形態に係る変更意味推測装置２０の構成を概念的に示すブロック図である。変更意味推測装置２０は、解析部２１、算出部２２、変換部２３、意味提示部２４、及び、記憶部２６を備えている。
【００４１】
解析部２１は、変更前情報２５０と、変更前情報２５０から内容が変更された変更後情報２５１とに含まれる構成要素を、解析基準２１０に基づいて抽出する。解析部２１は、変更前情報２５０及び変更後情報２５１に対して、当該構成要素同士の関係を、解析基準２１０に基づいて解析する。
【００４２】
算出部２２は、解析部２１による解析結果２１１と差分算出基準２２０とに基づいて、変更前情報２５０から変更後情報２５１への変更内容を、当該構成要素を識別可能な識別子を用いた差分情報２２１として算出する。
【００４３】
変換部２３は、解析結果２１１と変換基準２３０とに基づいて、差分情報２２１を、当該識別子を用いない一般化差分情報２３１に変換する。
【００４４】
記憶部２６には、一般化差分情報２３１と、変更内容の意味を推測する情報とが関連付けされた変更意味推測情報２６０が記憶されている。
【００４５】
意味提示部２４は、変更意味推測情報２６０に対して、変換部２３により変換された一般化差分情報２３１を照合することによって、当該変更内容の意味を表す情報を求める。
【００４６】
本実施形態に係る変更意味推測装置２０は、過去に行われた情報の変更に関して、その変更が意味する内容を、ユーザが効率的に把握するようにすることができる。その理由は、変更意味推測装置２０は、変更前情報２５０及び変更後情報２５１に含まれる構成要素の関係を解析することによって、変更内容を構成要素の識別子を使用して表した差分情報２２１を生成したのち、差分情報２２１を一般化差分情報２３１に変換し、一般化差分情報２３１を変更意味推測ＤＢ２６０と照合することにより得られた当該変更内容の意味を表す情報を求めるからである。
【００４７】
＜ハードウェア構成例＞
上述した各実施形態において図１、及び、図６に示した変更意味推測装置における各部は、専用のＨＷ（ＨａｒｄＷａｒｅ）（電子回路）によって実現することができる。また、図１、及び、図６において、少なくとも、下記構成は、ソフトウェアプログラムの機能（処理）単位（ソフトウェアモジュール）と捉えることができる。
・解析部１１及び２１、
・算出部１２及び２２、
・変換部１３及び２３、
・意味提示部１４及び２４、
但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図７を参照して説明する。
【００４８】
図７は、本願発明の各実施形態に係る変更意味推測装置を実行可能な情報処理装置９００（コンピュータ）の構成を例示的に説明する図である。即ち、図７は、図１、及び、図６に示した変更意味推測装置を実現可能なコンピュータ（情報処理装置）の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
【００４９】
図７に示した情報処理装置９００は、構成要素として下記を備えている。
・ＣＰＵ（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ）９０１、
・ＲＯＭ（Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）９０２、
・ＲＡＭ（Ｒａｎｄｏｍ＿Ａｃｃｅｓｓ＿Ｍｅｍｏｒｙ）９０３、
・ハードディスク（記憶装置）９０４、
・外部装置との通信インタフェース９０５、
・バス９０６（通信線）、
・ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ＿Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）等の記録媒体９０７に格納されたデータを読み書き可能なリーダライタ９０８、
・入出力インタフェース９０９。
【００５０】
即ち、上記構成要素を備える情報処理装置９００は、これらの構成がバス９０６を介して接続された一般的なコンピュータである。情報処理装置９００は、ＣＰＵ９０１を複数備える場合もあれば、マルチコアにより構成されたＣＰＵ９０１を備える場合もある。
【００５１】
そして、上述した実施形態を例に説明した本願発明は、図７に示した情報処理装置９００に対して、次の機能を実現可能なコンピュータプログラムを供給する。その機能とは、その実施形態の説明において参照したブロック構成図（図１、及び、図６）における上述した構成、或いはフローチャート（図５）の機能である。本願発明は、その後、そのコンピュータプログラムを、当該ハードウェアのＣＰＵ９０１に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性のメモリ（ＲＡＭ９０３）、または、ＲＯＭ９０２やハードディスク９０４等の不揮発性の記憶デバイスに格納すれば良い。
【００５２】
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、ＣＤ−ＲＯＭ等の各種記録媒体９０７を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等がある。そして、このような場合において、本願発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記録媒体９０７によって構成されると捉えることができる。
【００５３】
以上、上述した実施形態を模範的な例として本願発明を説明した。しかしながら、本願発明は、上述した実施形態には限定されない。即ち、本願発明は、本願発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【００５４】
１０    変更意味推測装置
１１    解析部
１１０    解析基準
１１１    解析結果
１２    算出部
１２０    差分算出基準
１２１    差分情報
１３    変換部
１３０    変換基準
１３１    一般化差分情報
１４    意味提示部
１５    設定情報記憶部
１５０    変更前設定情報
１５１    変更後設定情報
１６    変更意味推測ＤＢ記憶部
１６０    変更意味推測ＤＢ
２０    変更意味推測装置
２１    解析部
２１０    解析基準
２１１    解析結果
２２    算出部
２２０    差分算出基準
２２１    差分情報
２３    変換部
２３０    変換基準
２３１    一般化差分情報
２４    意味提示部
２５０    変更前情報
２５１    変更後情報
２６０    変更意味推測情報
９００    情報処理装置
９０１    ＣＰＵ
９０２    ＲＯＭ
９０３    ＲＡＭ
９０４    ハードディスク（記憶装置）
９０５    通信インタフェース
９０６    バス
９０７    記録媒体
９０８    リーダライタ
９０９    入出力インタフェース
【図１】
2017228035.tif 000003
【図２】
2017228035.tif 000004
【図３】
2017228035.tif 000005
【図４】
2017228035.tif 000006
【図５】
2017228035.tif 000007
【図６】
2017228035.tif 000008
【図７】
2017228035.tif 000009