JP6172447B2 - 関連性判定システム、方法、およびプログラム - Google Patents

関連性判定システム、方法、およびプログラム Download PDF

Info

Publication number
JP6172447B2
JP6172447B2 JP2013108170A JP2013108170A JP6172447B2 JP 6172447 B2 JP6172447 B2 JP 6172447B2 JP 2013108170 A JP2013108170 A JP 2013108170A JP 2013108170 A JP2013108170 A JP 2013108170A JP 6172447 B2 JP6172447 B2 JP 6172447B2
Authority
JP
Japan
Prior art keywords
phrase
relevance
text
sets
texts
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.)
Active
Application number
JP2013108170A
Other languages
English (en)
Other versions
JP2014229069A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2013108170A priority Critical patent/JP6172447B2/ja
Publication of JP2014229069A publication Critical patent/JP2014229069A/ja
Application granted granted Critical
Publication of JP6172447B2 publication Critical patent/JP6172447B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、関連性判定システム、方法およびプログラムに関し、特に、システム開発における仕様テキスト間の関連性を判定する関連性判定システム、方法およびプログラムに関する。
従来、システム・ソフトウェア開発における仕様書は、人手でレビューして整合性を確認していた。しかしながら、量が多く重複した記載のある文書の検査には、コスト(費用と時間)がかかり、また、人手では見逃す場合があるという問題があった。
そこで従来から、仕様テキスト間の関連性を抽出する技術思想が種々提案されている。
例えば、特許文献1は、トレース情報を抽出する方法(以下、「先行技術1」と呼ぶ)を開示している。この特許文献1に開示された先行技術1では、要件定義書に含まれる要件要素の項目と、基本設計書に含まれる設計要素の項目とを比較し、所定割合以上(閾値以上)含まれていた場合に、要件要素と設計要素との組をトレース情報として抽出する。たとえば、要件定義書の要件要素“顧客管理”の項目が“区分”、“顧客コード”、“顧客名”、“住所”、“顧客分類”などであり、設計要素“顧客情報管理”の項目が“区分”、“顧客コード”、“顧客名”などであり、別の設計要素“顧客情報登録”の項目が“顧客コード”、“住所”、“顧客分類”などであるとする。この場合、先行技術1は、要件要素“顧客管理”の項目と、2つの設計要素“顧客情報管理”と“顧客情報登録”との組合せの項目とに、一致が多いことから、要件要素““顧客管理”に対し、2つの設計要素“顧客情報管理”及び“顧客情報登録”をトレース情報として抽出する。
また、特許文献2は、要件定義書や設計書から仕様テキスト(言明)を抽出し、漏れなどを検出する方法(以下、「先行技術2」と呼ぶ)を記載している。特許文献2に開示された先行技術2では、仕様テキストを文脈と内容の組で構成しており、文脈の例は、章や節、図表の表題である。ここで、文脈としてはフォルダ名やファイル名、Excelのシート名などの構造情報も考えられる。
また、特許文献3は、仕様間の関連性を判定する方法(以下、「先行技術3」と呼ぶ)を記載している。特許文献3に開示された先行技術3では、語句変換部が、変換語句記憶部に記憶された変換語句に基づいて初期仕様を変換した後、関連性有無判定部や関連性計算部が、仕様間の関連性を計算している。ここで、先行技術3を用いると、不要な語句や記号を特殊記号に変換することを事前に変換語句記憶部に記憶しておき、不要な語句や記号を含む仕様テキスト間の整合性を高精度に計算することが可能である。
さらに、仕様テキスト間に限定せず、一般的な自然言語処理においても、不要語句であるストップワードを事前に登録しておき、削除するという方法(以下、「先行技術4」と呼ぶ)がある。
また、一般的な自然言語処理において、単語の出現頻度(Term Frequency、TF)と逆文書頻度(Inverse Document Frequency、IDF)を用いて、多くのテキストに出現する単語は重要でないなどと重み付ける方法(以下、「先行技術5」と呼ぶ)がある。
さらに、一般的な自然言語処理において、複数の集合に分類されたテキストデータに対し、集合ごとに出現頻度が偏らない単語を集合への分類で重要でないとして削除するという方法(以下、「先行技術6」と呼ぶ)がある。ここでの単語の重要性は、集合への分類に重要な単語であり、極端にいえば、先行技術6は、ある集合のみに出現する単語は重要であると判定する。
また、関連性を抽出する技術思想ではないが、本発明に関連する他の先行技術も知られている。
例えば、特許文献4は、コミュニティ内のメンバーの発言をもとに、一般用語を除外して個人を特徴づけるキーワードを抽出する方法(以下、「先行技術7」と呼ぶ)を開示している。先行技術7では、偏りスコア計算部は、形態素解析部において処理された形態素解析結果を用いて、各文書においてどのような単語が出現したかを、共起リスト一時記憶部および出現数一時記憶部に記憶する。偏りスコア計算部は、単語間や、単語とカテゴリとの間のカイ二乗値やシンプソン値を偏りスコアとして計算する。一般用語抽出部は、偏りスコア計算部で計算された結果を用いて、偏りが少ない単語を一般用語として抽出する。一般用語抽出部は、偏りスコア一時記憶部に記憶されたレコードについて、所定の条件を満たすレコードを抽出する。インデックス抽出部は、偏りスコア計算部で計算された偏りスコア値をもとに、カテゴリと単語の間の偏りスコアと、単語間の偏りスコアから、各カテゴリのインデックス(個人の特徴を特徴づけるキーワード)を抽出する。単語間の関連の強さを算出するために、相互情報量などを用いている。
また、特許文献5は、文字の並びの出現頻度に偏りがあるような文字列に対して効率的にハッシングを行なう方法(以下、「先行技術8」と呼ぶ)を開示している。先行技術8では、ブラウザから与えられたURLに含まれる部分文字列を、文字列リストを参照して、より短い長さの所定のコードに変換している。
特開2013−008237号公報 WO2011/129198 WO2012/124301 特開2011−103059号公報 特開平11−306194号公報
上述した先行技術1〜6には、それぞれ、以下に述べるような問題がある。
先行技術1では、単に項目の一致数を調べているので、要件要素“顧客管理”の項目が“IDコード”、“名前”、“住所”などであり、設計要素“顧客情報管理”の項目が“IDコード”、“名前”、“住所”であり、別の設計要素“従業員情報管理”の項目が“IDコード”、“名前”、“住所”などと一致する場合、先行技術1は、要件要素“顧客管理”と設計要素“従業員管理”とのトレース情報も誤って抽出してしまうという問題がある。また、項目に表記揺れが多い場合、先行技術1ではトレースが困難になると同時に、要件要素の項目と設計要素の項目とを個別にトレースすることができない。たとえば、要件要素“顧客管理”の項目“名前”に対し、設計要素“顧客情報管理”の項目“氏名”があった場合に、先行技術1は、項目“名前”に対し、項目“氏名”をトレースすることはできない。
構造情報には、不要な用語や記号が含まれているため、先行技術2のように単に仕様テキストに構造情報を追加したのでは、関連性計算の精度が低くなってしまうという問題がある。たとえば、要件定義書が“C:\要件定義\要件定義書.docx”であるとする。この場合、設計書のフォルダが“C”であるか“D”であるかは仕様テキストを関連付けるかどうかに関係ないはずであるが、単にフォルダ名を仕様テキストに追加すると、“C”の方が“D”より関連性が高いと判定してしまう。他の用語や記号も同様である。したがって、先行技術2のように、不要な用語や記号が含まれている構造情報を単に仕様テキストに追加することは、関連性計算の精度が低くなってしまうという問題がある。
案件ごとに不要な語句や記号は異なるため、案件ごとに変換語句を事前に準備する必要がある。したがって、先行技術3では、コスト(費用と時間)がかかるという問題がある。
前述したように、案件ごとに不要な語句や記号は異なるため、先行技術4では、案件ごとにストップワードを事前に準備する必要があり、コスト(費用と時間)がかかるという問題がある。
一方の集合だけに出現し、もう一方の集合には出現しない単語は、集合間の仕様テキスト間を関連付けるのに不要であるが、最初の集合の仕様テキスト数が少ない場合、全体的にはその単語の含まれる仕様テキスト数が少ない。そのため、先行技術5では、その単語が重要と判定されてしまうという問題がある。
仕様テキスト間の整合性を判定する場合、ある集合(たとえば、要件要素)だけに出現し、別の集合(たとえば、設計要素)に出現しない単語は、先行技術6では重要と判定されるが、集合間の仕様を関連付けるのに不要である。したがって、先行技術6は、システム開発における仕様テキスト間の関連性判定には適さない。
なお、先行技術7は、単語間や、単語とカテゴリとの間のカイ二乗値やシンプソン値、相互情報量を偏りスコアとして計算し、その計算された結果を用いて、偏りが少ない単語を一般用語として抽出し、抽出された一般用語を文書から除いて、個人の特徴を示すキーワードを抽出する技術思想を開示しているに過ぎない。すなわち、先行技術7は、単に、単語間や単語のカテゴリとの間の偏りスコアを計算する方法を開示しているに過ぎない。換言すれば、先行技術7では、仕様テキストを2つの集合に分類した場合に、どのようにして偏りスコアを計算するのかについて、何ら示唆も考慮もしていない。
また、先行技術8は、URLのように、文字の並びの出現頻度に偏りがあるような文字列に対して効率的にハッシングを行なえる方法を開示しているに過ぎない。
本発明は、上記の事情に鑑みてなされたものであって、その目的は、システム開発において、事前に準備するコスト(費用と時間)をかけずに、不要な語句や記号を含む仕様テキスト間の整合性を高精度に計算することができる、関連性判定システム、方法およびプログラムを提供することにある。
本発明の関連性判定システムは、システム開発における仕様テキスト間の関連性を判定する関連性判定システムであって、2つの集合に分類された仕様テキストに対し、仕様テキストの語句の出現頻度の集合間における偏り、または、それぞれの集合内における語句の出現頻度の仕様テキスト間における偏りのいずれかまたは両方に基づいて不要語句を推定し、推定された不要語句に基づいて仕様テキストを変換する語句変換部と;変換された仕様テキストに基づいて集合間の個々の仕様テキスト間の関連付けを計算する関連性計算部と;を備えることを特徴とする。
本発明によれば、不要な語句や記号を含む仕様テキスト間の整合性を高精度に計算することができる。
本発明の第1の実施形態に係る関連性判定システムの構成例を示すブロック図である。 図1に示した関連性判定システムに使用される、初期仕様記憶部に記憶された初期仕様の例を示す説明図である。 構造情報と仕様本文とを区別した初期仕様の例を示す説明図である。 図1に示した関連性判定システムに使用される、変換仕様記憶部に記憶された変換仕様の例を示す説明図である。 構造情報と仕様本文とを区別し、構造情報のみを変換した変換仕様の例を示す説明図である。 不要語句の例を示す説明図である。 本発明の第1の実施形態に係る関連性判定システムの処理経過の例を示すフローチャートである。 本発明の第2の実施形態に係る関連性判定システムの構成例を示すブロック図である。 図8に示した関連性判定システムに使用される、初期仕様記憶部に記憶された初期仕様の例を示す説明図である。 図1に示した関連性判定システムに基づいて変換され、変換語句記憶部に記憶された変換語句の例を示す説明図である。 図8に示した関連性判定システムに基づいて変換され、変換語句記憶部に記憶された変換語句の例を示す説明図である。 本発明の第2の実施形態に係る関連性判定システムの語句変換部の処理経過の例を示すフローチャートである。 集合間LCSを用いた処理により変換仕様記憶部に記憶された変換仕様の例を示す説明図である。 集合間LCSと集合内LCSを用いて判定した語句を特殊記号に変換した変換仕様の例を示す説明図である。
(第1の実施形態)
次に、本発明の第1の実施形態による関連性判定システムについて図面を参照して詳細に説明する。
図1を参照すると、本第1の実施形態に係る関連性判定システム1は、情報を記憶する記憶部11と、プログラム制御により動作する計算部12とから構成されている。
記憶部11は、初期仕様記憶部100と、変換仕様記憶部101とを備える。
初期仕様記憶部100は、仕様の内容を示すテキスト(仕様テキスト)を初期仕様として予め記憶する。ここで、仕様は、複数の集合に予め分割されているものとする。初期仕様は、システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。
図2は、初期仕様記憶部100に記憶された初期仕様の例を示す説明図である。図2では、1つの仕様を1行で示している。図2において、1列目の「集合」は、仕様の属する集合を示し、2列目の「ID」は、集合内での仕様の番号を示し、3列目の「仕様テキスト」は、仕様の構造を示す構造情報と仕様の内容を示す仕様本文を連結したテキストを示す。
ここで、「構造情報」とは、フォルダを含むファイル名、Excelならばシート名、Wordならば章・節のタイトルなどである。たとえば、要件定義集合の“C:¥tmp¥プロジェクトA¥要件定義¥要件定義一覧.xls”は、フォルダを含むファイル名であり、“一覧。”はシート名である。以降では、説明のため、IDがiの仕様テキストを仕様テキストiと呼ぶことにする。
なお、ここでは、本実施形態に適した例として、仕様テキストに構造情報を含む場合を例として説明するが、仕様テキストが仕様の内容を示す仕様本文のみの場合に本発明を適用することとしてもよい。また、ここでは、構造情報と仕様本文とをまとめて変換する場合を例として説明するが、本発明は、構造情報のみを変換し、仕様本文は変換しないこととしてもよい。
図3は、構造情報と仕様本文とを区別した初期仕様の例を示す説明図である。初期仕様を図3のように記憶することで、本実施形態では、構造情報のみを変換することも可能となる。
変換仕様記憶部101は、初期仕様記憶部100に記憶された初期仕様に対し、後述する語句変換部102で変換した結果の変換仕様を記憶する。
図4は、変換仕様記憶部101に記憶された変換仕様の例を示す説明図である。図4では、図2の初期仕様に対し、不要語句を特殊記号である空白に変換した仕様を示している。なお、空白は見えないので、“(空)”で示している。本発明では、構造情報のみを変換することとしてもよい。
図5は、構造情報と仕様本文とを区別し、構造情報のみを変換した変換仕様の例を示す説明図である。図5で示すように、構造情報の不要語句は特殊記号に変換し、仕様本文はそのまま変換せずに残すこととしてもよい。
図1に戻って、計算部12は、語句変換部102と、関連性計算部103とを備える。
語句変換部102は、初期仕様記憶部100に記憶された初期仕様に基づいて、語句の出現頻度の集合間での偏り、または、語句の出現頻度の集合内での偏りのいずれかまたは両方を計算し、偏りに基づいて、初期仕様を変換し、変換した変換仕様を変換仕様記憶部101に記憶する。ここで、「偏りに基づいて初期仕様を変換する」とは、たとえば、偏りに基づいて不要語句を判定し、初期仕様にある不要語句を特殊記号などに変換することである。
図6は、不要語句の例を示す説明図である。図6では、1つの不要語句を1行で記述している。たとえば、“C”や“:”は不要語句である。
関連性計算部103は、変換仕様記憶部101に記憶された変換仕様に基づいて、関連性を計算する。関連性の計算は、例えば、コルモゴロフ複雑性に基づいて概算することができる。計算結果は、すぐにディスプレイ装置や印刷装置などを介して出力してもよいし、記憶しておいてシステムのユーザからのリクエストなどに応じて出力してもよいし、それ以外の様態で出力してもよい。仕様テキストを、構造情報と仕様本文とに分割していた場合、関連性計算部103は、それぞれの構造情報と仕様本文とを連結して仕様テキストを作成し、作成した仕様テキスト間の関連性を計算すればよい。
次に、図7のフローチャートを参照して、本第1の実施形態による関連性判定システム1の全体の動作について詳細に説明する。
まず、語句変換部102は、初期仕様記憶部100に記憶された初期仕様を、意味を示す最小単位である語句に分割する(ステップA1)。語句への分割は、たとえば、形態素解析エンジンを用いてテキストを単語に分割し、分割した単語を語句としてもよい。形態素エンジンとしては、たとえば、ChaSenやMeCabがある。
「形態素解析」とは、例えば、"東京都にいる"という入力文(テキスト)に対し、"東京"、"都"、"に"、"いる"、という形態素の出力系列を選ぶことである。ここで、別の出力系列の例は、"東"、"京都"、"に"、"いる"である。形態素解析では、一般的な大量の文書を用意し、それらの文書から、それぞれの名詞や動詞などの形態素の出現しやすさや連結しやすさのスコアを求めておく。そして、ある入力文に対しては、最もスコアの高くなる分割を選択すればよい。
例えば、一般的な大量の文書では、"東"と"京都"とが連結する場合より、"東京"と"都"とが連結する場合が多い。そのため、"東京"と"都"との連結しやすさのスコアの方が"東"と"京都"との連結しやすさのスコアより高くなり、入力文"東京都にいる"に対して、"東京"、"都"、"に"、"いる"という単語(語句)へ分割することができる。
たとえば、図2の集合“要件定義”の仕様テキスト1“C:\\tmp\\プロジェクトA\\要件定義\\要件定義一覧.xls。一覧。顧客情報。区分。”というテキストを、語句変換部102は、“C”、“:”、“\”、“プロジェクト”、“A”、“\”、“要件”、“定義”、“\”、“要件”、“定義”、“一覧”、“.”、“xls”、“。”、“一覧”、“。”、“顧客”、“情報、“。”、“区分”、“。”という単語(語句)に分割する。
次に、語句変換部102は、語句ごとに、集合間での出現頻度の偏りを計算する(ステップA2)。語句変換部102は、その偏りを、たとえば、相互情報量、情報利得や情報利得比、カイ二乗統計量などを用いて計算することができる。
「相互情報量」とは、2つの確率変数の相互依存の尺度を示す量である。2つの集合をC1、C2とし、語句wの有無を{0,1}とすると、集合x ∈X= {c1,c2}と語句wの有無y∈Y={0,1}との相互情報量(Mutual Information)は、下記の式(1)で計算することができる。
Σx∈XΣy∈Y [p(x,y)×log{p(x,y) / (p(x)×p(y)) }] (1)
ここで、p(x,y)は、XとYの同時分布関数、p(x)とp(y)は、それぞれXとYの確率分布関数である。ここで、logの底は2とする。
情報利得(Information Gain)は、下記の式(2)で計算することができる。
−Σx∈X p(x)×log{p(x)}
+Σx∈XΣy∈Y [ p(x|y)log {p(x|y) }] (2)
情報利得は、カルバック・ライブラー情報量(Kullback-Leibler Divergence)とも呼ばれる。
情報利得比(Information Gain Ratio)は、情報利得を分割情報量で割ったものである。
「カイ二乗統計量」とは、語句と2つの集合の依存度合いが大きいかどうかを判定することで計算することができる。具体的には、カイ二乗統計量は、下記の式(3)で計算することができる。
Σx∈XΣy∈Y (Nxy − Exy) / Exy (3)
ここで、Nxyは、集合xで語句yを含む仕様テキスト数であり、Exyは、下記の式(4)で表される。
Exy =(Nx0+Nx1)×(Nc1y+Nc2y) / 全仕様テキスト数 (4)
Exyは、集合xと語句yが独立であると仮定したときに期待される仕様テキスト数である。
たとえば、図2では、“C”は、集合“要件定義”においても集合“設計”においてもすべての仕様テキストに出現するため、語句変換部102は、“C”の集合間での出現頻度の偏りは小さいと計算する。逆に、“要件”は、集合“要件定義”に出現するが、集合“設計”に出現しないため、語句変換部102は、“要件”の集合間での出現頻度の偏りは大きいと計算する。
次に、語句変換部102は、初期仕様に対し、偏りの値が閾値以上の語句を不要語句と判定して特殊記号に変換し、変換した仕様を変換仕様記憶部101に記憶する(ステップA3)。
閾値は、システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。特殊記号も、システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。
特殊記号は、たとえば、空白(“ ”)とする。その際、複数の変換された特殊記号が連続した場合は、1つの特殊記号に変換してもよい。特殊記号は、空文字列(“”)としてもよい。空文字列とは、長さが0の文字列であり、語句を空文字列に変換するとは、その語句を削除することと同様である。
語句変換部102は、集合間の出現頻度の偏りの計算で、相互情報量、情報利得や情報利得比、カイ二乗統計量などのいずれか1つの計算方法を用いて、閾値以上かどうかを調べてもよい。または、語句変換部102は、2つ以上の計算方法による偏りすべてが、それぞれの閾値以上であることかを調べてもよい。あるいは、語句変換部102は、2つ以上の計算方法による偏りのいずれかが、それぞれの閾値以上であるかを調べてもよい。
たとえば、図2では、“C”は集合間の偏りが小さいため、語句変換部102は、“C”を不要語句と判定せず、“C”を特殊記号に変換しない。逆に、“要件”は、集合間の偏りが大きいため、語句変換部102は、“要件”を不要語句と判定し、“要件”を特殊記号に変換する。
次に、語句変換部102は、語句ごとに、集合内での出現頻度の偏りを計算する(ステップA4)。偏りは、たとえば、逆文書頻度を用いて計算することができる。
「語句tの逆文書頻度(Inverse Document Frequency)」は、下記の式(5)で計算することができる。
log(|D|/|{d:t∈d}|) (5)
ここで、|D|は、集合内の仕様テキスト総数、|{d:t∈d}|は、集合内で語句tを含む仕様テキスト数である。
たとえば、図2では、“C”は集合“要件定義”内で、すべての仕様テキストに出現するため、|D|=|{d:t∈d}|となり、語句変換部102は、“C”の集合内での出現頻度の偏り(逆文書頻度)をlog(1)=0と計算する。
次に、語句変換部102は、変換仕様に対し、集合内での偏りの値が閾値未満の語句を不要語句と判定して特殊記号に変換し、変換した仕様を変換仕様記憶部101に記憶する(ステップA5)。
閾値は、システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。特殊記号は、たとえば、空白(“ ”)とする。その際、複数の変換された特殊記号が連続した場合は、1つの特殊記号に変換してもよい。特殊記号は、空文字列(“”)としてもよい。
たとえば、図2では、“C”の集合内での出現頻度の偏りが0であるため、語句変換部102は、“C”を不要語句と判定し、特殊記号に変換する。
次に、関連性計算部103は、変換仕様記憶部101に記憶された変換仕様間の関連性を計算する(ステップA6)。
結果は、すぐにディスプレイ装置や印刷装置などを介して出力してもよいし、記憶しておいてシステムのユーザからのリクエストなどに応じて出力してもよいし、それ以外の様態で出力してもよい。
関連性の計算は、例えば、コルモゴロフ複雑性に基づいて概算することができる。例えば、対象を圧縮するアルゴリズムを予め定めると、対象iと対象jとの間の類似度d(i,j)は、対象iを圧縮した場合のサイズをC(i)、対象jを圧縮した場合のサイズをC(j)、対象iとjとを連結させた新たな対象を圧縮した場合のサイズをC(i,j)とすると、例えば、下記の式(6)あるいは下記の式(7)によって計算することができる。
d(i,j)=1−C(i,j) /{ C(i)+C(j)} (6)
d(i,j)=1−[C(i,j)−min{C(i),C(j)}]/max{C(i),C(j)} (7)
指定される圧縮アルゴリズムは、例えば、gip、gzipなどである。圧縮アルゴリズムでは、例えば、文字列に対し、文字である記号あるいは以前の部分文字列との(一致長、一致位置)のペアで符号化する。符号化では、例えば、文字列に出現する記号の個数を求め、個数の多い記号ほど短い符号を割り当てる。したがって、コルモゴロフ複雑性の概算を用いると、助詞も含めて単語順を考慮してデータ間の類似度を計算することができる。
本実施形態によれば、集合間や集合内での偏りに基づいて不要語句を推定し、推定された不要語句に基づいて仕様テキストを変換するため、事前に準備するコスト(費用と時間)をかけずに、不要な語句を含む仕様テキスト間の整合性を高精度で判定することができる。
(第2の実施形態)
次に、本発明の第2の実施形態による関連性判定システムについて図面を参照して詳細に説明する。なお、第1の実施形態と同様の構成要素については、同一の符号を付し、詳細な説明を省略する。
図8を参照すると、本第2の実施形態に係る関連性判定システム2は、情報を記憶する記憶部21と、プログラム制御により動作する計算部22とから構成されている。
記憶部21は、初期仕様記憶部100と、変換仕様記憶部101とを備える。
初期仕様記憶部100は、上述した第1の実施形態と同様である。
変換仕様記憶部101は、上述した第1の実施形態と同様である。
計算部22は、語句変換部200と、関連性計算部103とを備える。
語句変換部200は、初期仕様記憶部100に記憶された初期仕様及び変換仕様記憶部101に記憶された変換仕様に対し、集合間や集合内の最長共通部分列に基づいて語句を判定し、変換仕様に基づいて語句が不要語句であるか否かを判定する。そして、語句変換部200は、不要語句であるならば、変換仕様のその不要語句を変換し、不要語句でないならば、その語句を処理済みと設定することを、繰り返す。
「最長共通部分文字列(longest common substring)」とは、共通した連続部分文字列のうち、最長のものをいう。以降では、最長共通部分文字列をLCSと略すこととする。本実施の形態の必要性を、図面を用いて説明する。
図9は、初期仕様記憶部100に記憶された初期仕様の例を示す説明図である。図9の例は、集合“要件定義”の仕様テキスト1と集合“設計”の仕様テキスト1とが関連し、集合“要件定義”の仕様テキスト2と集合“設計”の仕様テキスト2とが関連し、集合“要件定義”の仕様テキスト100と集合“設計”の仕様テキスト100とが関連する例である。
第1の実施形態で示すように、MeCabなどの従来技術を用いて単語に分割し単語を語句とみなす場合には、語句変換部102は次のように動作する。
語句変換部102は、たとえば、集合“要件定義”の仕様テキスト1の語句は、“A”、“00”、“-”、“00”、“_”、“登録”、“A”と推定する。次に、語句変換部102は、“A”、“00”、“B”、“01”を不要語句と推定する。なぜなら、これらの語句は、集合“要件定義”と集合“設計”との間で出現頻度に偏りのあるためである。次に、語句変換部102は、“-”、“_”を不要語句と推定する。なぜなら、これらの語句は、集合“要件定義”内で出現頻度に偏りがない語句だからである。次に、語句変換部102は、初期仕様の不要語句を特殊記号である空白に変換し、変換仕様記憶部101に記憶する。
図10は、第1の実施形態に基づいて変換され、変換仕様記憶部101に記憶された変換語句の例を示す説明図である。図10で示すように、集合“要件定義”の仕様テキスト1と集合“要件定義”の仕様テキスト2とは区別できなくなり、関連性計算部103は、集合“要件定義”の仕様テキスト1は集合“設計”の仕様テキスト1とだけでなく集合“設計”の仕様テキスト2とも関連性があると計算してしまう。
この問題を解決するため、語句変換部200は、集合間や集合内の最長共通部分列を用いて語句を判定し、判定した順に不要語句かどうかを判定し、不要語句に基づいて、初期仕様を変換する。詳細な動作は、以降で示す。
図11は、第2の実施形態に基づいて変換され、変換仕様記憶部101に記憶された変換語句の例を示す説明図である。図11に示すように、第2の実施形態に基づくと、集合“要件定義”の仕様テキスト1と集合“要件定義”の仕様テキスト2とは区別可能となる。
関連性計算部103は、上記第1の実施形態と同様である。
次に、図12のフローチャートを参照して、本第2の実施形態の語句変換部200の動作について詳細に説明する。
まず、語句変換部200は、初期仕様記憶部100に記憶された初期仕様をすべて変換仕様として変換仕様記憶部101にコピーする(ステップA7)。なお、ここでは、分かりやすさのため、初期仕様をすべて変換仕様としてコピーする場合を例として説明するが、初回のみは初期仕様を変換仕様とみなして処理することとしてもよい。
次に、語句変換部200は、集合間の変換仕様の仕様テキストで共通する最長の連続部分文字列であるLCS(集合間LCS)を1つ抽出する(ステップA8)。ただし、仕様テキストを変換する際に用いる特殊記号は、LCSには含まないこととする。また、以降で設定する処理済みの部分列も、LCSには含まないこととする。
なお、変換する際や処理済みを設定する際に用いる特殊記号は、初期仕様の仕様テキストに含まれない特殊記号を選択してもよい。または、変換する際や処理済みを設定する際に用いる特殊記号が初期仕様の仕様テキストに予め含まれていた場合、それらを区別するために、初期仕様の仕様テキストに予め含まれる特殊記号を、別の予め指定する別の特殊記号に変換しておき、語句変換部200の処理の最後に、別の特殊記号を元の特殊記号に戻すこととしてもよい。
次に、語句変換部200は、抽出した集合間LCSの長さと閾値とを比較する(ステップA9)。閾値は、システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。閾値は、たとえば、2、3、4などとする。長さが閾値以上であるならば、次のステップに移行する。長さが閾値未満であるならば、ステップA15に移行する。
次に、語句変換部200は、抽出した集合間LCSの集合間の偏りを計算し、予め定めた閾値と比較する(ステップA10)。閾値は、システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。偏りが閾値以上であるならば、ステップA14に移行する。偏りが閾値未満であるならば、次のステップに移行する。
次に、語句変換部200は、2つの集合のうちの1つ目の集合において、抽出した集合間LCSの仕様間の偏りを計算し、予め定めた閾値と比較する(ステップA11)。偏りが閾値未満であるならば、ステップA14に移行する。偏りが閾値以上であるならば、次のステップに移行する。
次に、語句変換部200は、2つの集合のうちの2つ目の集合において、抽出した集合間LCSの仕様間の偏りを計算し、予め定めた閾値と比較する(ステップA12)。偏りが閾値未満であるならば、ステップA14に移行する。偏りが閾値以上であるならば、次のステップに移行する。
次に、語句変換部200は、変換仕様に含まれる抽出した集合間LCSを処理済みの文字列と設定する(ステップA13)。処理済みと設定するには、たとえば、周囲に特殊記号(““<<”と““>>”)などを追加する。追加する特殊記号は、システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。そして、ステップA8に移行する。
語句変換部200は、変換仕様にある集合間LCSを特殊記号に変換する(ステップA14)。特殊記号は、上記第1の実施形態と同様に、システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。特殊記号は、たとえば、空白とする。そして、ステップA8に移行する。
次に、ステップA8からステップA14までの動作について、図9を例として説明する。省略している集合“要件定義”の仕様テキスト3から仕様テキスト99までと、集合“設計”の仕様テキスト3から仕様テキスト99までを除くとする。
まず、語句変換部200は、ステップA8で、集合“要件定義”の仕様テキストと、集合“設計”の仕様テキストとの間のLCSとして、“-00_登録A”を抽出する。次に、語句変換部200は、ステップA9で、閾値を2とすると、集合間LCSの長さは7なので、ステップA10に移行する。
ステップA10では、“-00_登録A”は集合“要件定義”の仕様テキスト1件と集合“設計”の仕様テキスト1件とに出現しており、集合間での出現頻度の偏りが小さいため、語句変換部200は、ステップA11に移行する。ステップA11では、“-00_登録A”は集合“要件定義”の仕様テキスト1件のみに出現しており、集合内での出現頻度の偏りが大きいため、語句変換部200は、ステップA12に移行する。
ステップA12では、“-00_登録A”は集合“設計”の仕様テキスト1件のみに出現しており、集合内での出現頻度の偏りが大きいため、語句変換部200は、ステップA13に移行する。そして、ステップA13で、語句変換部200は、“-00_登録A”を、処理済みを示す“<<-00_登録A>>”に変換する。
次に、語句変換部200は、ステップA8で、集合間LCSとして、“-01_登録B”を抽出する。次に、語句変換部200は、ステップA9では、集合間LCSの長さが7なので、ステップA10に移行する。次に、語句変換部200は、“-01_登録B”が集合間での出現頻度の偏りが小さいため、ステップA11に移行する。
次に、語句変換部200は、“-01_登録B”が集合“要件定義”内での出現頻度の偏りが大きいため、ステップA12に移行し、“-01_登録B”が集合“設計”内での出現頻度の偏りが大きいため、ステップA13に移行する。そして、ステップA13で、語句変換部200は、“-01_登録B”を、処理済みを示す“<<-01_登録B>>”に変換する。
次に、語句変換部200は、ステップA8で、集合間LCSとして、“-100_”を抽出する。次に、語句変換部200は、ステップA9で、集合間LCSの長さが5なので、ステップA10に移行する。そして、語句変換部200は、ステップA11、ステップA12、ステップA13と移行し、ステップA13で、“-100_”を、処理済みを示す“<<-100_>>”に変換する。
次に、語句変換部200は、ステップA8で、集合間LCSとして、“0”を抽出する。次に、語句変換部200は、ステップA9で、集合間LCSの長さが1なので、ステップA15に移行する。
図13は、集合間LCSを用いた処理により変換仕様記憶部101に記憶された変換仕様の例を示す説明図である。
次に、語句変換部200は、集合を1つ選択する(ステップA15)。ここで、語句変換部200は、既に選択した集合でなく、未選択の集合のうちの1つを選択するものとする。
次に、語句変換部200は、集合内の変換仕様の仕様テキスト間のLCSを抽出する(ステップA16)。ここで、LCSは、集合内のすべての仕様テキストで共通に出現する必要はなく、集合内の2つ以上の仕様テキストで共通するものでよい。また、集合間LCSの場合と同様に、集合内LCSには特殊記号及び処理済みの文字列を含まないものとする。
次に、語句変換部200は、集合内のLCSの長さと閾値とを比較する(ステップA17)。閾値は、ステップA9と同じでもよいし、異なってもよい。異なる場合は、システムのユーザがキーボードなどを介して入力することで指定してもよいし、システムにデフォルトとして記憶しておいてもよいし、それ以外の様態で指定してもよい。長さが閾値以上であるならば、次のステップに移行する。長さが閾値未満であるならば、ステップA19に移行する。
次に、語句変換部200は、抽出した集合内LCSの集合内での偏りを計算する(ステップA18)。偏りが閾値未満ならば、語句変換部200は、変換仕様の処理済みでない集合内LCSを特殊記号(たとえば、空白)に変換する。そして、ステップA16に移行する。
次に、語句変換部200は、未選択の集合があるかを調べる(ステップA19)。未選択の集合があるならば、ステップA15に移行する。未選択の集合がないならば、語句変換部200の処理を終了する。
ステップA15から終了までの動作について、図13を例として説明する。省略している“要件定義”の仕様テキスト3から仕様テキスト99までと、集合“設計”の仕様テキスト3から仕様テキスト99までを除くとする。
まず、語句変換部200は、ステップA15で、集合“要件定義”を選択する。次に、語句変換部200は、ステップA16で、集合“要件定義”内のLCSとして、“A00”を抽出する。次に、語句変換部200は、閾値を2とすると、ステップA17で、集合内LCSの長さが3なので、ステップA18に移行する。ステップA18では、“A00”は集合内で偏りがないので、語句変換部200は、変換仕様の“A00”を特殊記号である空白に変換する。
次に、語句変換部200は、ステップA16で、集合内LCSとして、“”を抽出する。次に、語句変換部200は、ステップA17で、集合内LCSの長さが0なので、ステップA19に移行する。次に、語句変換部200は、ステップA19で、未選択の集合“設計”があるので、ステップA15に移行する。
次に、語句変換部200は、ステップA15で、未選択の集合“設計”を選択する。次に、語句変換部200は、ステップA16で、集合“設計”内のLCSとして、“B01”を抽出する。次に、語句変換部200は、ステップA17で、集合内LCSの長さが3なので、ステップA18に移行する。ステップA18では、“B01”は集合内で偏りがないので、語句変換部200は、変換仕様の“B01”を特殊記号である空白に変換する。
次に、語句変換部200は、ステップA16で、集合内LCSとして、“”を抽出する。次に、語句変換部200は、ステップA17で、集合内LCSの長さが0なので、ステップA19に移行する。次に、語句変換部200は、ステップA19で、未選択の集合がないので、語句変換部200の処理を終了する。
図14は、集合間LCSと集合内LCSを用いて判定した語句を特殊記号に変換した変換仕様の例を示す説明図である。図14に示すように、“要件定義”の仕様テキスト1と仕様テキスト2とは、異なっており、“要件定義”の仕様テキスト1は“設計”の仕様テキスト1と類似であり、“要件定義”の仕様テキスト2は“設計”の仕様テキスト2と類似となる。
ここで、関連性計算部103での計算の前に、処理済みを示す特殊記号である“<<”と“>>”とを特殊記号である空白に変換しておいてもよい。前述したように、図11は、処理済みを示す特殊記号を空白に変換し、連続する空白を1つの空白に変換した変換仕様の例を示す説明図である。
本第2の実施形態によれば、集合間LCSや集合内LCSに基づいて語句を判定するため、より高精度に整合性を判定することができる。前述した例のように、一般的な形態素解析を用いた第1の実施形態では、異なる仕様の区別がつかなくなるように変換される場合でも、本第2の実施形態に適用することで、異なる仕様を区別するように変換することができる。
なお、本発明に記載した方法は、コンピュータに実行させることのできるプログラムとして、フロッピー(登録商標)ディスク、ハードディスクなどの磁気ディスク、CD-ROM、DVDなどの光ディスク、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているオペレーティングシステムや、データベース管理ソフト、ネットワークソフト等のミドルウェアなどが各処理の一部を実行してもよい。
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネットなどにより伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であってもよい。
本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき各処理を実行するものであって、パソコンなどからなる装置、複数の装置がネットワーク接続されたシステムなどの何れの構成であってもよい。
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置を含み、プログラムによって本発明の機能を実現することが可能な機器、装置である。
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。また、構成要素を適宜組合せてもよい。
また、上記の実施形態の一部または全部は、以下のようにも記載されうる。なお、以下の付記は本発明をなんら限定するものではない。
[付記1]
システム開発における仕様テキスト間の関連性を判定するシステムであって、
2つの集合に分類された仕様テキストに対し、仕様テキストの語句の出現頻度の集合間における偏り、及びそれぞれの集合内における語句の出現頻度の仕様テキスト間における偏りの少なくとも1つに基づいて不要語句を推定し、推定された不要語句に基づいて仕様テキストを変換する語句変換部と、
変換された仕様テキストに基づいて集合間の個々の仕様テキスト間の関連性を計算する関連性計算部と、
を備えることを特徴とする関連性判定システム。
[付記2]
前記関連性計算部は、前記関連性を、コルモゴロフ複雑性の概算を用いて類似度として計算することを特徴とする付記1に記載の関連性判定システム。
[付記3]
前記語句変換部は、推定された不要語句を、予め定めた特殊記号に変換することを特徴とする付記1または付記2に記載の関連性判定システム。
[付記4]
前記語句変換部は、集合間における偏りとして、相互情報量、情報利得や情報利得比、カイ二乗統計量のいずれか1つまたはその組合せを用い、集合間の偏りが予め定めた閾値より大きい語句を不要語句と推定することを特徴とする付記1から付記3までのいずれか1つに記載の関連性判定システム。
[付記5]
前記語句変換部は、集合内における偏りとして、逆文書頻度を用い、集合内の偏りが予め定めた閾値より小さい語句を不要語句と推定することを特徴とする付記1から付記4までのいずれか1つに記載の関連性判定システム。
[付記6]
前記語句変換部は、2つの集合間の仕様テキストの予め定めた閾値以上の長さの最長共通部分文字列を抽出し、抽出した文字列の集合間における偏り、及びそれぞれの集合内における仕様テキスト間の偏りの少なくとも1つに基づいて、語句を変換し処理済みとする処理を、未選択の文字列がなくなるまで繰り返す、ことを特徴とする付記1から付記3までのいずれか1つに記載の関連性判定システム。
[付記7]
前記語句変換部は、それぞれの集合内で2つ以上の仕様テキストに出現する閾値以上の長さの最長共通部分文字列を抽出し、抽出した文字列の集合内における偏りに基づいて語句を変換し処理済みとする処理を、未選択の文字列がなくなるまで繰り返す、ことを特徴とする付記1から付記3までおよび付記6のいずれか1つに記載の関連性判定システム。
[付記8]
前記仕様テキストは、仕様テキストの構造を示す構造情報と、仕様テキストの内容を示す仕様本文とに分割されており、
前記語句変換部は、前記構造情報のテキストを変換し、
前記関連性計算部は、前記変換された構造情報と前記仕様本文とを連結したテキストに基づいて、仕様テキスト間の関連性を計算する、
ことを特徴とする付記1から付記7までのいずれか1つに記載の関連性判定システム。
[付記9]
システム開発における仕様テキスト間の関連性を判定する方法であって、
語句変換部が、2つの集合に分類された仕様テキストに対し、仕様テキストの語句の出現頻度の集合間における偏り、及びそれぞれの集合内における語句の出現頻度の仕様テキスト間における偏りの少なくとも1つに基づいて不要語句を推定し、推定された不要語句に基づいて仕様テキストを変換する語句変換ステップと、
関連性計算部が、変換された仕様テキストに基づいて集合間の個々の仕様テキスト間の関連性を計算する関連性計算ステップと、
を備えることを特徴とする関連性判定方法。
[付記10]
前記関連性計算ステップでは、前記関連性計算部が、前記関連性を、コルモゴロフ複雑性の概算を用いて類似度として計算することを特徴とする付記9に記載の関連性判定方法。
[付記11]
前記語句変換ステップでは、前記語句変換部が、推定された不要語句を、予め定めた特殊記号に変換する、ことを特徴とする付記9または付記10に記載の関連性判定方法。
[付記12]
前記語句変換ステップでは、前記語句変換部が、集合間における偏りとして、相互情報量、情報利得や情報利得比、カイ二乗統計量のいずれか1つまたはその組合せを用い、集合間の偏りが予め定めた閾値より大きい語句を不要語句と推定する、ことを特徴とする付記9から付記11までのいずれか1つに記載の関連性判定方法。
[付記13]
前記語句変換ステップでは、前記語句変換部が、集合内における偏りとして、逆文書頻度を用い、集合内の偏りが予め定めた閾値より小さい語句を不要語句と推定する、ことを特徴とする付記9から付記12までのいずれか1つに記載の関連性判定方法。
[付記14]
前記語句変換ステップでは、前記語句変換部が、2つの集合間の仕様テキストの予め定めた閾値以上の長さの最長共通部分文字列を抽出し、抽出した文字列の集合間における偏り、及びそれぞれの集合内における仕様テキスト間の偏りのすくなくとも1つに基づいて、語句を変換し処理済みとする処理を、未選択の文字列がなくなるまで繰り返す、ことを特徴とする付記9から付記11までのいずれか1つに記載の関連性判定方法。
[付記15]
前記語句変換ステップでは、前記語句変換部が、それぞれの集合内で2つ以上の仕様テキストに出現する閾値以上の長さの最長共通部分文字列を抽出し、抽出した文字列の集合内における偏りに基づいて語句を変換し処理済みとする処理を、未選択の文字列がなくなるまで繰り返す、ことを特徴とする付記9から付記11までおよび付記14のいずれか1つに記載の関連性判定方法。
[付記16]
前記仕様テキストは、仕様テキストの構造を示す構造情報と、仕様テキストの内容を示す仕様本文とに分割されており、
前記語句変換ステップでは、前記語句変換部が、前記構造情報のテキストを変換し、
前記関連性計算ステップでは、前記関連性計算部が、前記変換された構造情報と前記仕様本文とを連結したテキストに基づいて、仕様テキスト間の関連性を計算する、
ことを特徴とする付記9から付記15までのいずれか1に記載の関連性判定方法。
[付記17]
コンピュータに、システム開発における仕様テキスト間の関連性を判定させるプログラムであって、
2つの集合に分類された仕様テキストに対し、仕様テキストの語句の出現頻度の集合間における偏り、及びそれぞれの集合内における語句の出現頻度の仕様テキスト間における偏りの少なくとも1つに基づいて不要語句を推定し、推定された不要語句に基づいて仕様テキストを変換する語句変換処理と、
変換された仕様テキストに基づいて集合間の個々の仕様テキスト間の関連性を計算する関連性計算処理と、
を前記コンピュータに実行させる関連性判定プログラム。
[付記18]
前記関連性計算処理は、前記関連性を、コルモゴロフ複雑性の概算を用いて類似度として計算する、ことを特徴とする付記17に記載の関連性判定プログラム。
[付記19]
前記語句変換処理は、推定された不要語句を、予め定めた特殊記号に変換する、ことを特徴とする付記17または付記18に記載の関連性判定プログラム。
[付記20]
前記語句変換処理は、集合間における偏りとして、相互情報量、情報利得や情報利得比、カイ二乗統計量のいずれか1つまたはその組合せを用い、集合間の偏りが予め定めた閾値より大きい語句を不要語句と推定する、ことを特徴とする付記17から付記19までのいずれか1つに記載の関連性判定プログラム。
[付記21]
前記語句変換処理は、集合内における偏りとして、逆文書頻度を用い、集合内の偏りが予め定めた閾値より小さい語句を不要語句と推定する、ことを特徴とする付記17から付記20までのいずれか1つに記載の関連性判定プログラム。
[付記22]
前記語句変換処理は、2つの集合間の仕様テキストの予め定めた閾値以上の長さの最長共通部分文字列を抽出し、抽出した文字列の集合間における偏り、及びそれぞれの集合内における仕様テキスト間の偏りの少なくとも1つに基づいて、語句を変換し処理済みとする処理を、未選択の文字列がなくなるまで繰り返す、ことを特徴とする付記17から付記19までのいずれか1つに記載の関連性判定プログラム。
[付記23]
前記語句変換処理は、それぞれの集合内で2つ以上の仕様テキストに出現する閾値以上の長さの最長共通部分文字列を抽出し、抽出した文字列の集合内における偏りに基づいて語句を変換し処理済みとする処理を、未選択の文字列がなくなるまで繰り返す、ことを特徴とする付記17から付記19までおよび付記22のいずれか1つに記載の関連性判定プログラム。
[付記24]
前記仕様テキストは、仕様テキストの構造を示す構造情報と、仕様テキストの内容を示す仕様本文とに分割されており、
前記語句変換処理は、前記構造情報のテキストを変換し、
前記関連性計算処理は、前記変換された構造情報と前記仕様本文とを連結したテキストに基づいて、仕様テキスト間の関連性を計算する、
ことを特徴とする付記17から付記23までのいずれか1つに記載の関連性判定プログラム。
1 関連性判定システム
2 関連性判定システム
11 記憶部
12 計算部
21 記憶部
22 計算部
100 初期仕様記憶部
101 変換仕様記憶部
102 語句変換部
103 関連性計算部
200 語句変換部

Claims (10)

  1. システム開発における仕様テキスト間の関連性を判定するシステムであって、
    2つの集合に分類された仕様テキストに対し、仕様テキストの語句の出現頻度の集合間における偏り、及びそれぞれの集合内における語句の出現頻度の仕様テキスト間における偏りの少なくとも1つに基づいて、不要語句を推定し、推定された不要語句に基づいて仕様テキストを変換する語句変換部と、
    変換された仕様テキストに基づいて、集合間の個々の仕様テキスト間の関連性を計算する関連性計算部と、
    を備えることを特徴とする関連性判定システム。
  2. 前記関連性計算部は、前記関連性を、コルモゴロフ複雑性の概算を用いて類似度として計算する、ことを特徴とする請求項1に記載の関連性判定システム。
  3. 前記語句変換部は、推定された不要語句を、予め定めた特殊記号に変換する、ことを特徴とする請求項1または2に記載の関連性判定システム。
  4. 前記語句変換部は、集合間における偏りとして、相互情報量、情報利得や情報利得比、カイ二乗統計量のいずれか1つまたはそれらの組合せを用い、集合間の偏りが予め定めた閾値より大きい語句を不要語句と推定する、ことを特徴とする請求項1乃至3のいずれか1項に記載の関連性判定システム。
  5. 前記語句変換部は、集合内における偏りとして、逆文書頻度を用い、集合内の偏りが予め定めた閾値より小さい語句を不要語句と推定する、ことを特徴とする請求項1乃至4のいずれか1項に記載の関連性判定システム。
  6. 前記語句変換部は、2つの集合間の仕様テキストの予め定めた閾値以上の長さの最長共通部分文字列を抽出し、抽出した文字列の集合間における偏り、及びそれぞれの集合内における仕様テキスト間の偏りの少なくとも1つに基づいて、語句を変換し処理済みとする処理を、未選択の文字列がなくなるまで繰り返す、ことを特徴とする請求項1乃至3のいずれか1項に記載の関連性判定システム。
  7. 前記語句変換部は、それぞれの集合内で2つ以上の仕様テキストに出現する閾値以上の長さの最長共通部分文字列を抽出し、抽出した文字列の集合内における偏りに基づいて、語句を変換し処理済みとする処理を、未選択の文字列がなくなるまで繰り返す、ことを特徴とする請求項1乃至3および6のいずれか1項に記載の関連性判定システム。
  8. 前記仕様テキストは、仕様テキストの構造を示す構造情報と、仕様テキストの内容を示す仕様本文とに分割されており、
    前記語句変換部は、前記構造情報のテキストを変換し、
    前記関連性計算部は、前記変換された構造情報と前記仕様本文とを連結したテキストに基づいて、仕様テキスト間の関連性を計算する、
    ことを特徴とする請求項1乃至7のいずれか1項に記載の関連性判定システム。
  9. システム開発における仕様テキスト間の関連性を判定する方法であって、
    語句変換部が、2つの集合に分類された仕様テキストに対し、仕様テキストの語句の出現頻度の集合間における偏り、及びそれぞれの集合内における語句の出現頻度の仕様テキスト間における偏りの少なくとも1つに基づいて不要語句を推定し、推定された不要語句に基づいて仕様テキストを変換する語句変換ステップと、
    関連性計算部が、変換された仕様テキストに基づいて集合間の個々の仕様テキスト間の関連性を計算する関連性計算ステップと、
    を備えることを特徴とする関連性判定方法。
  10. コンピュータに、システム開発における仕様テキスト間の関連性を判定させるプログラムであって、
    2つの集合に分類された仕様テキストに対し、仕様テキストの語句の出現頻度の集合間における偏り、及びそれぞれの集合内における語句の出現頻度の仕様テキスト間における偏りの少なくとも1つに基づいて不要語句を推定し、推定された不要語句に基づいて仕様テキストを変換する語句変換処理と、
    変換された仕様テキストに基づいて集合間の個々の仕様テキスト間の関連性を計算する関連性計算処理と、
    を前記コンピュータに実行させる関連性判定プログラム。
JP2013108170A 2013-05-22 2013-05-22 関連性判定システム、方法、およびプログラム Active JP6172447B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013108170A JP6172447B2 (ja) 2013-05-22 2013-05-22 関連性判定システム、方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013108170A JP6172447B2 (ja) 2013-05-22 2013-05-22 関連性判定システム、方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2014229069A JP2014229069A (ja) 2014-12-08
JP6172447B2 true JP6172447B2 (ja) 2017-08-02

Family

ID=52128864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013108170A Active JP6172447B2 (ja) 2013-05-22 2013-05-22 関連性判定システム、方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP6172447B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3220885B2 (ja) * 1993-06-18 2001-10-22 株式会社日立製作所 キーワード付与システム
JPH11259515A (ja) * 1998-03-12 1999-09-24 Toshiba Corp 類似文書検索装置、類似文書検索方法、および類似文書検索のためのプログラムが記録された記録媒体
JP2010055253A (ja) * 2008-08-27 2010-03-11 Fuji Xerox Co Ltd 不要語決定装置及びプログラム
JP5648336B2 (ja) * 2009-12-15 2015-01-07 富士通株式会社 不整合検出装置、プログラム及び方法、修正支援装置、プログラム及び方法
WO2011129198A1 (ja) * 2010-04-12 2011-10-20 日本電気株式会社 不整合検出システム、方法、およびプログラム
WO2012124301A1 (ja) * 2011-03-16 2012-09-20 日本電気株式会社 関連仕様対応付けシステム、関連仕様対応付け方法およびプログラム

Also Published As

Publication number Publication date
JP2014229069A (ja) 2014-12-08

Similar Documents

Publication Publication Date Title
US8224641B2 (en) Language identification for documents containing multiple languages
JP3973549B2 (ja) 対訳依存構造対応付け装置、方法及びプログラム、並びに、対訳依存構造対応付けプログラムを記録した記録媒体
US20080104506A1 (en) Method for producing a document summary
WO2005059771A1 (ja) 対訳判断装置、方法及びプログラム
RU2613846C2 (ru) Метод и система извлечения данных из изображений слабоструктурированных документов
US20090083255A1 (en) Query spelling correction
JP2020126493A (ja) 対訳処理方法および対訳処理プログラム
JP2005174336A (ja) 情報抽出のための一般化文字列パターンの学習および使用
JP3372532B2 (ja) 感情情報抽出方法および感情情報抽出プログラムの計算機読み取り可能な記録媒体
JP6260791B2 (ja) 要求間矛盾判定システム、要求間矛盾判定方法、および、要求間矛盾判定プログラム
JP4237813B2 (ja) 構造化文書管理システム
CN106933824A (zh) 在多个文档中确定与目标文档相似的文档集合的方法和装置
US20100125448A1 (en) Automated identification of documents as not belonging to any language
JP6476886B2 (ja) キーワード抽出システム、キーワード抽出方法、及び、コンピュータ・プログラム
US20060248037A1 (en) Annotation of inverted list text indexes using search queries
JP2008117351A (ja) 検索システム
WO2009113289A1 (ja) 新規事例生成装置、新規事例生成方法及び新規事例生成用プログラム
Fatima et al. STEMUR: An automated word conflation algorithm for the Urdu language
JP6172447B2 (ja) 関連性判定システム、方法、およびプログラム
JP2010272006A (ja) 関係抽出装置、関係抽出方法、及びプログラム
JP4734400B2 (ja) 文書検索装置およびプログラム
JP4985096B2 (ja) 文書解析システム、および文書解析方法、並びにコンピュータ・プログラム
JP6805927B2 (ja) インデックス生成プログラム、データ検索プログラム、インデックス生成装置、データ検索装置、インデックス生成方法、及びデータ検索方法
JP2001101184A (ja) 構造化文書生成方法及び装置及び構造化文書生成プログラムを格納した記憶媒体
JP2020060981A (ja) ノード探索方法及びノード探索プログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20151218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160408

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170327

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170620

R150 Certificate of patent or registration of utility model

Ref document number: 6172447

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150