(57)【要約】【課題】執筆中の開発文書に関連がある開発文書を提示して、効率的な開発文書の作成を可能とすること。【解決手段】抽出部１５ａが、執筆中の開発文書の執筆箇所の内容を表す単語を抽出し、集計部１５ｂが、抽出された単語を用いて過去の開発文書を検索し、過去の開発文書の同一文中に該単語と同時に出現した他の単語の出現回数に基づいて、抽出された単語と該他の単語との関連度合いを集計し、提示部１５ｃが、集計された関連度合いが所定の閾値を超えて強い他の単語、または、集計された関連度合いが強い順に所定順位以内である他の単語が含まれる開発文書を、過去の開発文書から検索して提示する。【選択図】図１
2018025975.tif 000002
【特許請求の範囲】
【請求項１】
執筆中の開発文書の執筆箇所の内容を表す単語を抽出する抽出部と、
抽出された前記単語を用いて過去の開発文書を検索し、過去の開発文書の同一文中に該単語と同時に出現した他の単語の出現回数に基づいて、該単語と該他の単語との関連度合いを集計する集計部と、
集計された関連度合いが所定の閾値を超えて強い前記他の単語、または、集計された関連度合いが強い順に所定順位以内である前記他の単語が含まれる開発文書を、前記過去の開発文書から検索して提示する提示部と、
を備えることを特徴とする提示装置。
【請求項２】
前記集計部は、前記過去の開発文書が所定の条件を満たす場合に、前記出現回数に重み付けして前記関連度合いを集計することを特徴とする請求項１に記載の提示装置。
【請求項３】
前記集計部は、前記所定の条件を満たす過去の開発文書を対象として検索することを特徴とする請求項２に記載の提示装置。
【請求項４】
提示装置で実行される提示方法であって、
執筆中の開発文書の執筆箇所の内容を表す単語を抽出する抽出工程と、
抽出された前記単語を用いて過去の開発文書を検索し、過去の開発文書の同一文中に該単語と同時に出現した他の単語の出現回数に基づいて、該単語と該他の単語との関連度合いを集計する集計工程と、
集計された関連度合いが所定の閾値を超えて強い前記他の単語、または、集計された関連度合いが強い順に所定順位以内である前記他の単語が含まれる開発文書を、前記過去の開発文書から検索して提示する提示工程と、
を含んだことを特徴とする提示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、提示装置および提示方法に関する。
【背景技術】
【０００２】
一般に、ソフトウェア開発の際に設計書等の開発文書を作成する場合、最新の要求仕様書や関連機能の設計書等の過去の開発資料等、多数の開発文書を参照しながら執筆を進める必要がある。特に、大規模なソフトウェア開発では、関連し得る開発文書の数が膨大で、必要な開発文書の検索にも大きな稼働を要する。また、スキルや経験があってシステムの特徴や過去のバグ事例等に詳しい人でなければ、関連のある重要な情報が含まれている開発文書を見落としてしまう場合がある。
【０００３】
そこで、必要な開発文書を検索して提示する技術が期待されている。例えば、設計書の執筆箇所の章や段落のタイトルあるいは固有名詞等のような執筆箇所の内容を表す単語を含む開発文書を検索して提示するリコメンド技術が知られている（特許文献１，２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２５２１７１号公報
【特許文献２】特開２０１４−２０３４４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一方、執筆中の設計書に含まれる単語に一致する単語が含まれていなくても、関連のある重要な情報が含まれている開発文書が存在する場合がある。しかしながら、従来の技術では、そのような開発文書を探索して提示することができなかった。
【０００６】
本発明は、上記に鑑みてなされたものであって、執筆中の開発文書に関連がある開発文書を提示して、効率的な開発文書の作成を可能とすることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明に係る提示装置は、執筆中の開発文書の執筆箇所の内容を表す単語を抽出する抽出部と、抽出された前記単語を用いて過去の開発文書を検索し、過去の開発文書の同一文中に該単語と同時に出現した他の単語の出現回数に基づいて、該単語と該他の単語との関連度合いを集計する集計部と、集計された関連度合いが所定の閾値を超えて強い前記他の単語、または、集計された関連度合いが強い順に所定順位以内である前記他の単語が含まれる開発文書を、前記過去の開発文書から検索して提示する提示部と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、執筆中の開発文書に関連がある開発文書を提示して、効率的な開発文書の作成が可能となる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の一実施形態に係る提示装置の概略構成を示す模式図である。
【図２】図２は、本実施形態の集計処理について説明するための説明図である。
【図３】図３は、本実施形態の集計処理について説明するための説明図である。
【図４】図４は、本実施形態の提示処理手順を示すフローチャートである。
【図５】図５は、提示処理の効果を説明するための説明図である。
【図６】図６は、提示プログラムを実行するコンピュータを例示する図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１１】
［提示装置の構成］
まず、図１を参照して、本実施形態に係る提示装置の概略構成を説明する。図１に示すように、本実施形態に係る提示装置１は、ワークステーションやパソコン等の汎用コンピュータで実現され、入力部１１と出力部１２と通信制御部１３と、記憶部１４と、制御部１５とを備える。この提示装置１は、後述する提示処理を実行して、執筆中の設計書等の開発文書に関連のある重要な情報が含まれる開発文書を検索して提示する。
【００１２】
入力部１１は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部１５に対して各種指示情報を入力する。出力部１２は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置、情報通信装置等によって実現され、後述する提示処理の結果等を操作者に対して出力する。
【００１３】
通信制御部１３は、ＮＩＣ（Network  Interface  Card）等で実現され、ＬＡＮ（Local  Area  Network）やインターネットなどの電気通信回線を介したサーバ等の外部の装置と制御部１５との通信を制御する。
【００１４】
記憶部１４は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部１４には、提示装置１を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが予め記憶され、あるいは処理の都度一時的に記憶される。この記憶部１４は、通信制御部１３を介して制御部１５と通信する構成でもよい。
【００１５】
本実施形態において、記憶部１４には過去の開発文書が蓄積された文書サーバ１４ａが含まれる。この文書サーバ１４ａは、ストレージを内蔵する汎用のサーバ装置等で実現され、最新の要求仕様書や、過去の設計書、バグ票、競合表、または試験項目表等の開発資料を含む多数の開発文書が格納されている。
【００１６】
制御部１５は、ＣＰＵ（Central  Processing  Unit）等の演算処理装置がメモリに記憶された処理プログラムを実行することにより、図１に例示するように、抽出部１５ａ、集計部１５ｂ、および提示部１５ｃとして機能する。
【００１７】
抽出部１５ａは、執筆中の開発文書の執筆箇所の内容を表す単語を抽出する。具体的に、抽出部１５ａは、例えば執筆中の設計書の情報から、設計書の執筆箇所の内容を表す単語を抽出する。例えば、抽出部１５ａは、執筆箇所の章や段落のタイトルあるいは固有名詞等を抽出する。ここで、抽出部１５ａは、周知の単語解析ツールを用いて、設計書の本文から、助詞や助動詞を除いて体言や用言からなる単語を抽出する。
【００１８】
なお、執筆中の設計書のデータは、例えば、入力部１１あるいは通信制御部１３を介して提示装置１に入力される。あるいは、設計書の執筆が提示装置１で行われている場合には、抽出部１５ａは、制御部１５を介して設計書のデータを取得する。
【００１９】
集計部１５ｂは、抽出された単語を用いて過去の開発文書を検索し、過去の開発文書の同一文中に該単語と同時に出現した他の単語の出現回数に基づいて、抽出された単語と他の単語との関連度合いを集計する。
【００２０】
ここで、図２および図３を参照して、集計部１５ｂによる集計処理について説明する。図２には、ユーザが設計書の緊急通報機能について執筆中であり、上記の抽出部１５ａが「緊急通報」という単語（以下、対象単語とも称する。）を抽出した場合について例示されている。この場合に、集計部１５ｂは、「緊急通報」を用いて文書サーバ１４ａの開発文書群を検索する。集計部１５ｂは、「緊急通報」が含まれる各開発文書のテキストを走査して、体言または用言からなる単語のうち、「緊急通報」とともに同一文中に出現した単語、すなわち一文中に「緊急通報」と共起した単語（以下、共起単語とも称する。）を検索する。図２に示した例では、共起単語として「所分割」と「番号通知」とが検索されている。
【００２１】
また、集計部１５ｂは、共起単語が出現する度に、出現回数を計上し、文書サーバ１４ａの全開発文書について集計する。具体的に、集計部１５ｂは、図３に例示するように、対象単語と共起単語との組み合わせを表す２次元マトリクスを作成し、共起単語が検索される度に、対応するマトリクス内の出現回数に加算する。ここで、出現回数が多いほど、関連度合いが強いものと判定される。したがって、出現回数は関連度合いを意味する。
【００２２】
出現回数を加算する際、集計部１５ｂは、文書サーバ１４ａの各開発文書が所定の条件を満たす場合に、出現回数に重み付けして関連度合いを集計する。所定の条件として、例えば、以下に示す（１）〜（３）の特徴を有する開発文書において共起単語が出現した場合に、集計部１５ｂは重み「大」の重み付けを行う。
【００２３】
（１）タイトルや表紙に「バグ」または「競合」という単語が含まれること。
【００２４】
（２）文書中に「バグ」、「トラブル」、「不具合」、「盛り込み要因」、「水平展開」、「歯止め」、または「競合」という単語が含まれること。
【００２５】
（３）文書中の文章のうち、「〜できない」等の否定表現や「発生した」等の過去形の文の割合が所定の閾値以上であること。
【００２６】
図２および図３には、上記の条件を満たすバグ票または競合表において出現した共起単語に対し、重み「大」の重み付けが行われる一方、上記条件を満たさない要求仕様書において出現した共起単語に対し、重み「小」の重み付けが行われることが例示されている。また、図３に示した例では、１回の出現に対し、重み「大」の重み付けでは出現回数に１０が加算され、重み「小」の重み付けでは出現回数に１が加算されている。これにより、確度高く関連の強い共起単語を特定できる。
【００２７】
なお、集計部１５ｂは、必ずしも文書サーバ１４ａの全開発文書について共起単語の検索を行わなくてもよい。例えば、集計部１５ｂは、上記した所定の条件を満たす開発文書を対象として検索するようにしてもよい。これにより、集計処理の負荷が軽減される。
【００２８】
また、本実施形態において、集計された関連度合いが所定の閾値を超えた場合、あるいは関連度合いが強い順に所定の順位以内である場合に、関連が強い共起単語と判定され、後述する提示部１５ｃによる処理の対象とされる。図２および図３に示す例では、「所分割」は「緊急通報」との関連が強く、「番号通知」は「緊急通報」との関連が弱いと判定されている。
【００２９】
提示部１５ｃは、集計された関連度合いが所定の閾値を超えて強い共起単語、または、集計された関連度合いが強い順に所定順位以内である共起単語が含まれる開発文書を、過去の開発文書から検索して提示する。
【００３０】
すなわち、提示部１５ｃは、対象単語との関連が強い共起単語が含まれる開発文書を、執筆中の開発文書に関連する開発文書として、文書サーバ１４ａから検索する。図２には、「緊急通報」との関連が強い「所分割」が含まれる文書サーバ１４ａの開発文書を検索し、緊急通報機能の設計書に関連する開発文書として、所分割機能の要求仕様書と設計書とが特定されたことが例示されている。
【００３１】
提示部１５ｃは、特定された執筆中の開発文書に関連する開発文書をユーザに提示する。提示の方式は特に限定されない。例えば、提示部１５ｃは、出力部１２に特定された開発文書の文書名を列挙して表示したり、表示された文書名に各開発文書のデータへのリンクが埋め込まれたＨＴＭＬ形式のデータを出力したりする。これにより、開発文書を執筆中のユーザは、提示された開発文書を容易に参照することが可能となる。
【００３２】
また、提示部１５ｃは、複数の共起単語を用いた検索結果を、例えば、関連度合いが強い順等の適当な順に表示してもよい。また、提示部１５ｃは、複数の対象単語に対する共起単語を用いた検索結果を、例えば、予め判定しておいた対象単語の優先順等の適当な順に表示してもよい。
【００３３】
［提示処理］
次に、図４を参照して、提示装置１の提示処理について説明する。図４のフローチャートは、例えば、設計書等の開発文書を執筆中のユーザによる開発文書の参照を指示する操作入力があったタイミングで開始される。
【００３４】
まず、抽出部１５ａが、執筆中の開発文書の執筆箇所の内容を表す単語を抽出する（ステップＳ１）。
【００３５】
次に、集計部１５ｂが、集計部１５ｂが、抽出された単語を用いて過去の開発文書を検索し、過去の開発文書の同一文中に該単語と同時に出現した共起単語の出現回数に基づいて、抽出された単語と共起単語との関連度合いを集計する（ステップＳ２）。
【００３６】
その際、集計部１５ｂは、過去の開発文書が所定の条件を満たす場合に、出現回数に重み付けして関連度合いを集計する。また、集計部１５ｂは、所定の条件を満たす過去の開発文書に限定して共起単語の検索を行うようにしてもよい。
【００３７】
次に、提示部１５ｃが、集計された関連度合いが所定の閾値を超えて強い共起単語、または、集計された関連度合いが強い順に所定順位以内である共起単語が含まれる開発文書を、過去の開発文書から検索して提示する。すなわち、提示部１５ｃは、対象単語との関連が強い共起単語が含まれる開発文書を検索し、執筆中の開発文書に関連する開発文書として提示する（ステップＳ３）。これにより、一連の提示処理が終了する。
【００３８】
なお、提示部１５ｃによる提示処理は、上記の抽出部１５ａおよび集計部１５ｂの処理とは別途の開発文書を執筆中のユーザによる指示入力を受け付けて、開始するようにしてもよい。これにより、集計部１５ｂによる集計処理の処理時間が長い場合にも、ユーザに提示するタイミングの遅延を防止できる。
【００３９】
以上、説明したように、本実施形態の提示装置１では、抽出部１５ａが、執筆中の開発文書の執筆箇所の内容を表す単語を抽出する。また、集計部１５ｂが、抽出された対象単語を用いて文書サーバ１４ａを検索し、過去の開発文書の同一文中に該対象単語と同時に出現した共起単語の出現回数に基づいて、対象単語と共起単語との関連度合いを集計する。また、提示部１５ｃが、集計された関連度合いが所定の閾値を超えて強い共起単語、または、集計された関連度合いが強い順に所定順位以内である共起単語が含まれる開発文書を、文書サーバ１４ａの開発文書から検索して提示する。
【００４０】
これにより、本実施形態の提示装置１の提示処理によれば、対象単語が含まなくても共起単語が含まれる開発文書を、執筆中の開発文書に関連がある開発文書として提示することができる。例えば、図５に例示するように、ソフトウェア設計者が設計書を執筆中に、文書サーバ１４ａから最新の要求仕様書や関連する機能の設計書等、執筆箇所に重要な関連のある開発文書が検索され、ソフトウェア設計者に提示される。ここで、図中のリコメンドエンジンが本実施形態の提示装置１に相当する。このように、開発文書を執筆中のユーザは、効率的な開発文書の作成が可能となる。
【００４１】
なお、集計部１５ｂは、過去の開発文書が所定の条件を満たす場合に、出現回数に重み付けをして関連度合いを集計する。これにより、より高確度に関連の強い単語を特定できる。
【００４２】
また、集計部１５ｂは、所定の条件を満たす過去の開発文書を対象として検索してもよい。これにより、関連度合いの集計の処理が軽くなる。
【００４３】
［プログラム］
上記実施形態に係る提示装置１が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、提示装置１は、パッケージソフトウェアやオンラインソフトウェアとして上記の提示処理を実行する提示プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の提示プログラムを情報処理装置に実行させることにより、情報処理装置を提示装置１として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）などの移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistants）などのスレート端末などがその範疇に含まれる。また、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の提示処理に関するサービスを提供するサーバ装置として実装することもできる。例えば、提示装置１は、執筆中の開発文書を入力とし、執筆中の開発文書との関連度合いが強い開発文書を出力する提示処理サービスを提供するサーバ装置として実装される。この場合、提示装置１は、Ｗｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記の提示処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。以下に、提示装置１と同様の機能を実現する提示プログラムを実行するコンピュータの一例を説明する。
【００４４】
図６に示すように、提示プログラムを実行するコンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００４５】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。ディスクドライブ１０４１には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１０５１およびキーボード１０５２が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１０６１が接続される。
【００４６】
ここで、図６に示すように、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ１０３１やメモリ１０１０に記憶される。
【００４７】
また、提示プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュール１０９３として、ハードディスクドライブ１０３１に記憶される。具体的には、上記実施形態で説明した提示装置１が実行する各処理が記述されたプログラムモジュール１０９３が、ハードディスクドライブ１０３１に記憶される。
【００４８】
また、提示プログラムによる情報処理に用いられるデータは、プログラムデータ１０９４として、例えば、ハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００４９】
なお、提示プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、提示プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００５０】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００５１】
１  提示装置
１１  入力部
１２  出力部
１３  通信制御部
１４  記憶部
１４ａ  文書サーバ
１５  制御部
１５ａ  抽出部
１５ｂ  集計部
１５ｃ  提示部
【図１】
2018025975.tif 000003
【図２】
2018025975.tif 000004
【図３】
2018025975.tif 000005
【図４】
2018025975.tif 000006
【図５】
2018025975.tif 000007
【図６】
2018025975.tif 000008