JPWO2011118428A1 - 要求獲得システム、要求獲得方法、及び要求獲得用プログラム - Google Patents
要求獲得システム、要求獲得方法、及び要求獲得用プログラム Download PDFInfo
- Publication number
- JPWO2011118428A1 JPWO2011118428A1 JP2012506944A JP2012506944A JPWO2011118428A1 JP WO2011118428 A1 JPWO2011118428 A1 JP WO2011118428A1 JP 2012506944 A JP2012506944 A JP 2012506944A JP 2012506944 A JP2012506944 A JP 2012506944A JP WO2011118428 A1 JPWO2011118428 A1 JP WO2011118428A1
- Authority
- JP
- Japan
- Prior art keywords
- character string
- phrase
- document
- important
- request acquisition
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
- G06F16/5846—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using extracted text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Library & Information Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
システム・ソフトウェア開発において、顧客の所持する文書、インタビュー・アンケート調査結果、議事録、仕様書等の関連文書から、少ない手間と時間で要求を把握する要求獲得システムを提供する。具体的には、文字列の集合である文書から、複数の文字列で共通する1つ以上の部分列を重要語句として抽出し、重要語句がない場合、処理を終了し、重要語句がある場合、文書から、文書を代表する1つの文字列を候補文字列として抽出し、文書から抽出した候補文字列を削除し、候補文字列に含まれる重要語句を削除し、重要語句の削除数が1つ以上である場合、候補文字列を重要文字列とし、文字列抽出部に戻って処理を続ける。
Description
本発明は、要求獲得システムに関し、特にシステム・ソフトウェア開発において、顧客の所持する文書や、顧客に対するインタビュー・アンケート調査結果、顧客との打合せ議事録、顧客の要求を整理した要求仕様書などの関連文書から要求を把握する要求獲得システムに関する。
システム・ソフトウェア開発において、問題解決又は目的達成のために開発システムが従わなければならない条件・能力に関する要求を顧客から獲得することを、要求獲得という。要求獲得では、顧客の要求を漏れ抜けなく抽出して仕様・設計に役立てるため、関連文書の重要語句やその関係性を考慮しながら、要求を把握する必要がある。
従来、要求獲得は、分析者が手動で重要語句を抽出し、その重要語句を手がかりとして、異なる部分に書かれた類似の内容の対応付けを行いながら、要求を把握していた。しかしながら、膨大な文書を何度も読み直しながら重要語句の抽出と対応付けを行うのは、手間と時間がかかる。また、人的ミスで重要部分を見逃す可能性があった。
分析者を支援するため、形態素解析(構文解析)を用いて名詞・動詞等を抽出する方法がある。例えば、非特許文献1に記載の要求獲得法では、名詞・動詞を抽出する。また、特許文献1(特開平06−067862号公報)に記載の要求獲得支援装置は、構文解析を行って単語に分割してから詳細パタンを検索する。
また、事前に単語分割せずに、関連文書から複数回出現する部分列を重要語句として抽出する方法もある。例えば、非特許文献2に記載の語句抽出法は、繰り返し出現する語句を重要語句として抽出する。
しかしながら、特許文献1、非特許文献1、非特許文献2のように、重要語句を抽出する方法では、分析者が抽出語句の意味を判断する際に、元の文書を参照して確認する必要があった。通常、多くの語句が抽出され、それぞれの語句を含む文も多数存在するため、それ以前に手動で抽出していた場合と同様に、確認作業の手間と時間が大幅にかかるという問題があった。
また、1つの要求は、1つの重要語句だけを含む訳ではなく、名詞と動詞のように複数の重要語句を含む場合がほとんど(大半)であるため、重要語句から元の文書を対応付けようとしても、重要語句のどのような組合せで対応付ければ良いかを判断する必要があり、対応付けが困難であった。
また、重要単語の抽出では、非特許文献1や特許文献1のように、形態素解析を用いて予め単語に分割する方法では、例えば、「外国人参政権」を「外国」、「人参」、「政権」と分割してしまうような、単語分割の誤りにより正確に抽出できないという問題があった。また、形態素解析に用いる辞書に含まれない未知語は扱えず、抽出できないという問題もあった。そのため、例えば、英文字列「ABC」等の省略語は抽出できなかった。
非特許文献2のように、関連文書から複数回出現する部分列を抽出する方法では、類似の語句が多く抽出されるため、抽出語句が重要語句かどうかを判断して取捨選択して元の文書を確認する必要があり、判断する手間や時間がかかるという問題があった。
関連する技術として、特許文献2(特開2008−234049号公報)に要約文生成装置及び要約文生成プログラムが開示されている。この関連技術では、類似度が予め設定された閾値以上となる他の文を選定する際に、類似度の計算を繰返すことなく順に抽出しており、予め閾値を定める必要がある。
長谷川亮、北村元博、海谷治彦、佐伯元司著、「エクストラクティング コンセプチュアル グラフ フロム ジャパニーズ ドキュメンツ フォア ソフトウェア リクワイヤメンツ モデリング(Extracting Conceptual Graphs from Japanese Documents for Software Requirements Modeling)」、2009年発行の国際会議予稿集「プロシーディングス オブ アジアパシフィック コンファランス オン コンセプチュアル モデリング (Proc. of the Sixth Asia−Pacific Conference on Conceptual Modelling)」(APCCM 2009)の87−96頁 <http://crpit.com/confpapers/CRPITV96Hasegawa.pdf>
Aguilera, C.Berry, D.M.著、「ザ ユース オブ ア リピーテッド プレーズ ファインダー イン リクワイヤメンツ イクストラクション (The Use of a Repeated Phrase Finder in Requirements Extraction)」、1990年発行の論文誌「ジャーナル オブ システムズ アンド ソフトウェア (Journal of Systems and Software)」の第13号209−230項
本発明の目的は、分析者の手間や時間をかけることなく、関連文書からの要求獲得を行う要求獲得ステム、要求獲得方法、及び要求獲得用プログラムを提供することである。
本発明の要求獲得システムは、複数の文字列の集合である文書から、複数の文字列で共通する1つ以上の部分列を重要語句として抽出する語句抽出部と、前記重要語句がない場合、処理を終了し、前記重要語句がある場合、前記文書から、前記文書を代表する1つの文字列を候補文字列として抽出し、前記文書から前記候補文字列を削除する文字列抽出部と、前記候補文字列から前記重要語句を削除する語句削除部と、前記重要語句の削除数が1つ以上である場合、前記候補文字列を重要文字列とする文字列追加部とを具備する。
本発明の要求獲得方法は、計算機により実施される要求獲得システムである。この要求獲得方法では、複数の文字列の集合である文書から、複数の文字列で共通する1つ以上の部分列を重要語句として抽出し、前記重要語句がない場合、処理を終了し、前記重要語句がある場合、前記文書から、前記文書を代表する1つの文字列を候補文字列として抽出し、前記文書から前記候補文字列を削除し、前記候補文字列から前記重要語句を削除し、前記重要語句の削除数が1つ以上である場合、前記候補文字列を重要文字列とする。
本発明の要求獲得用プログラムは、複数の文字列の集合である文書から、複数の文字列で共通する1つ以上の部分列を重要語句として抽出するステップと、前記重要語句がない場合、処理を終了するステップと、前記重要語句がある場合、前記文書から、前記文書を代表する1つの文字列を候補文字列として抽出するステップと、前記文書から前記候補文字列を削除するステップと、前記候補文字列から前記重要語句を削除するステップと、前記重要語句の削除数が1つ以上である場合、前記候補文字列を重要文字列とするステップとを計算機に実行させるためのプログラムである。なお、本発明の要求獲得用プログラムは、記憶装置や記憶媒体に格納することが可能である。
単なる重要語句の羅列でなく、文等の重要部分を抽出することができ、元の文書を参照することなく意味を読み取って要求の概要を把握することができる。
<第1実施形態>
以下に、本発明の第1実施形態について添付図面を参照して説明する。
図1に示すように、本発明の第1実施形態における要求獲得システムは、記憶部1と、獲得部2を備える。
以下に、本発明の第1実施形態について添付図面を参照して説明する。
図1に示すように、本発明の第1実施形態における要求獲得システムは、記憶部1と、獲得部2を備える。
ここで、システム・ソフトウェア開発において、顧客の所持する文書、インタビュー・アンケート調査結果、議事録、仕様書等の関連文書を意味単位で分割した1つ1つの要素を文字列と呼ぶこととする。
例えば、一行に一項目が書かれた文書であれば、一行を文字列と呼ぶことができる。また、例えば、アンケート調査結果で、一人の回答に一つの意味があるとみなす場合には、一人の回答である複数の文を文字列と呼ぶことができる。また、例えば、段落ごとにまとまりのある文書の場合には、段落を文字列と呼ぶことができる。また、例えば、章ごとにまとまりのある文書の場合には、章を文字列と呼ぶことができる。意味単位が文として読点で区切られる場合と行で区切られる場合が混在する文書の場合には、文、及び行を、それぞれ文字列と呼ぶこともできる。
文書は、顧客の所持する文書、インタビュー・アンケート調査結果、議事録、仕様書等の関連文書であり、文字列を含む。ここで、文書が第1版、第2版のように複数あって同時に分析したい場合には、それらの複数の文書をまとめて文書と呼ぶことにする。文書が、議事録と仕様書というように異なる形式で複数ある場合にも、複数の文書をまとめて文書と呼ぶことができるものとする。
記憶部1は、文書記憶部11と、語句記憶部12と、重要部分記憶部13を備える。
文書記憶部11は、分析対象の文書を記憶する。ここでは、文書記憶部11は、予め分析対象の文書を記憶している。
語句記憶部12は、語句の集合を記憶する。ここでは、語句記憶部12は、分析対象の文書から抽出された語句の集合を記憶する。
重要部分記憶部13は、重要部分として、分析対象の文書から抽出された語句を1つずつ追加して記憶する。
獲得部2は、語句抽出部21と、文字列抽出部22と、語句削除部23と、文字列追加部24を備える。
語句抽出部21は、文書記憶部11に記憶された文書から、語句の集合を抽出し、語句記憶部12に記憶する。ここでは、文字列抽出部22は、1つの文字列を抽出するごとに、文書記憶部11に記憶された文書から、その1つの文字列を削除する。
文字列抽出部22は、語句記憶部12に記憶された語句数が0個である場合、処理を終了する。ここでは、文字列抽出部22は、語句数が1個以上である場合、文書記憶部11に記憶された文書から、代表となる1つの文字列(候補文字列)を抽出する。
語句削除部23は、語句記憶部12から0個以上の語句を削除する。ここでは、語句削除部23は、文字列抽出部22で抽出された1つの文字列に含まれる語句が語句記憶部12に存在すれば、その語句を語句記憶部12から削除する。
文字列追加部24は、文字列抽出部22で抽出した1つの文字列ずつ重要部分記憶部13に追加する。ここでは、文字列追加部24は、語句削除部23で削除した語句数が1個以上である場合、文字列抽出部22で抽出した1つの文字列を重要文字列として重要部分記憶部13に追加して記憶する。それから、文字列追加部24は、削除した語句数がいくつであっても、文字列抽出部22に処理を移す。
[ハードウェアの例示]
要求獲得システムの例として、PC(パソコン)、アプライアンス(appliance)、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。他にも、携帯電話機、スマートフォン、スマートブック、カーナビ(カーナビゲーションシステム)、携帯型ゲーム機、家庭用ゲーム機、携帯型音楽プレーヤー、ハンディターミナル、ガジェット(電子機器)、双方向テレビ、デジタルチューナー、デジタルレコーダー、情報家電(information home appliance)、OA(Office Automation)機器等が考えられる。要求獲得システムは、車両や船舶、航空機等の移動体に搭載されていても良い。また、要求獲得システムは、計算機上に構築された仮想マシン(Virtual Machine(VM))環境でも良い。但し、実際には、これらの例に限定されない。
要求獲得システムの例として、PC(パソコン)、アプライアンス(appliance)、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。他にも、携帯電話機、スマートフォン、スマートブック、カーナビ(カーナビゲーションシステム)、携帯型ゲーム機、家庭用ゲーム機、携帯型音楽プレーヤー、ハンディターミナル、ガジェット(電子機器)、双方向テレビ、デジタルチューナー、デジタルレコーダー、情報家電(information home appliance)、OA(Office Automation)機器等が考えられる。要求獲得システムは、車両や船舶、航空機等の移動体に搭載されていても良い。また、要求獲得システムは、計算機上に構築された仮想マシン(Virtual Machine(VM))環境でも良い。但し、実際には、これらの例に限定されない。
記憶部1の例として、RAM(Random Access Memory)、ROM(Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)やフラッシュメモリ等の半導体記憶装置、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶装置、又は、DVD(Digital Versatile Disk)等のリムーバブルディスクや、SDメモリカード(Secure Digital memory card)等の記憶媒体(メディア)等が考えられる。また、記憶部1は、計算機本体に内蔵された記憶装置に限らず、周辺機器(外付けHDD等)や外部のサーバ(Webサーバやファイルサーバ等)に設置された記憶装置、或いは、DAS(Direct Attached Storage)、FC−SAN(Fibre Channel − Storage Area Network)、NAS(Network Attached Storage)、IP−SAN(IP − Storage Area Network)でも良い。また、記憶部1は、計算機等でも良い。
獲得部2の例として、CPU(Central Processing Unit)、マイクロプロセッサ(microprocessor)、マイクロコントローラ、或いは、専用の機能を有する半導体集積回路(Integrated Circuit(IC))等が考えられる。また、獲得部2は、計算機等でも良い。
但し、実際には、これらの例に限定されない。
[第1実施形態における要求獲得システムの動作]
図2は、本発明の要求獲得システムの処理経過の例を示すフローチャートである。例えば、入力装置等を介して、文書が入力され、文書記憶部11に記憶されると、要求獲得システムは以下のように動作する。なお、ここでは、文字列として、文を用いた場合を例として説明する。
図2は、本発明の要求獲得システムの処理経過の例を示すフローチャートである。例えば、入力装置等を介して、文書が入力され、文書記憶部11に記憶されると、要求獲得システムは以下のように動作する。なお、ここでは、文字列として、文を用いた場合を例として説明する。
(1)ステップA1
まず、語句抽出部21は、文書記憶部11に記憶された文書から、重要語句の集合を抽出する。
まず、語句抽出部21は、文書記憶部11に記憶された文書から、重要語句の集合を抽出する。
ここでは、文は、文字の並んだ文字列と考える。「A={a0,a1,…,an−1}」をn個の文字とすると、各文字aiは、ひらがな、カタカナ、漢字等のうちの一文字となる。「A*」をA上の有限長の文字列の集合とすると、「A*」の各要素は、単語や文等となる。
重要語句とは、例えば、予め指定された数以上の文に共通して出現する文字列とする。例えば、指定された数として、「2」等の数を指定して入力する。指定された数は、キーボード等の入力装置を介して要求獲得システムのユーザにより入力されても良いし、他の方式で指定されても良い。
文字列Sの部分列「S(st,len)」は、Sのst番目の文字から順にlen個の文字の並びとする。例えば、「S=“候補抽出部”」に対して、「S(0,1)=“候”」、「S(0,2)=“候補”」、「S(2,2)=“抽出”」等となる。2つの文である文字列SとTに対し、文字列candが共通の部分列であるとは、「cand=S(st1,len)=T(st2,len)」となる「st1」、「st2」、「len」が存在することである。
なお、語句記憶部12に記憶される語句数を少なくするため、語句を最大長の部分列に限ることにしても良い。文字列SとTに対し、文字列candが最大長の部分列であるとは、「cand=S(st1,len)=T(st2,len)」となる「st1」、「st2」、「len」が存在し、任意の「a∈A」に対し、「cand・a」が文字列SとTとの両方の部分列ではなく、「a・cand」もまた文字列SとTとの両方の部分列ではないことである。例えば、「S=“重要語句を抽出する。”」と、「T=“重要語句とは共通部分列である。”」との最大長部分列は、“重要語句”である。“重要語句”は、「a=“語”」が存在し、「and・a」が文字列SとTとの両方の部分列となるため、最大長部分列ではない。
更に、語句記憶部12に記憶される語句数を少なくするため、「以下」、「上記」等の抽出不要な語句や「、」、「。」等の接頭や接尾には不要な語句を予め設定しておき、抽出する語句から除いても良い。
(2)ステップA2
次に、語句抽出部21は、抽出した語句の集合を語句記憶部12に記憶する。
次に、語句抽出部21は、抽出した語句の集合を語句記憶部12に記憶する。
ここでは、抽出した語句の数をPとし、抽出したi番目の語句をphase[i]と表すこととする。従って、抽出した語句の集合は、phase[0]、…、phase[P−1]となる。
(3)ステップA3
文字列抽出部22は、語句記憶部12に記憶された語句数Pと0とを比較する。このとき、Pが0より大きい(P>0)場合、ステップA4に進み、Pが0である(P=0)場合、動作を終了する。
文字列抽出部22は、語句記憶部12に記憶された語句数Pと0とを比較する。このとき、Pが0より大きい(P>0)場合、ステップA4に進み、Pが0である(P=0)場合、動作を終了する。
(4)ステップA4
文字列抽出部22は、文書記憶部11に記憶された文書から、重要文の候補となる1件の候補文を抽出する。
文字列抽出部22は、文書記憶部11に記憶された文書から、重要文の候補となる1件の候補文を抽出する。
候補文の抽出は、例えば、文書記憶部11に記憶された文書中の各文と、文書記憶部11に記憶された文書全体との距離を調べ、距離が最小となる文を候補文として抽出すれば良い。ここでいう距離とは、空間的な距離ではなく、2つの文字列が相違(又は類似)している度合いを示す。すなわち、距離は、類似度と読み替えても良い。例えば、文字列の距離の例として、従来よりレーベンシュタイン距離や編集距離等が知られている。
各文と文書全体との距離は、例えば、圧縮を用いて以下のように計算することができる。
まず、テキストを圧縮するアルゴリズムが指定されたとする。圧縮アルゴリズムは、キーボード等の入力装置を介して要求獲得システムのユーザにより入力されても良いし、他の態様で指定されても良い。圧縮アルゴリズムの例としては、「gzip」等が知られている。
文書記憶部11に記憶されたi番目の文を圧縮した場合のサイズを「C(i)」、文書全体を圧縮した場合のサイズを「C(all)」、文書全体にi番目の文を追加した場合の圧縮サイズを「C(all・i)」とすると、i番目の文と文書全体の距離を、以下の数式「数1」又は数式「数2」等により計算する。
これらは、コルモゴロフ複雑性(Kolmogorov complexity)を近似する方法であるとみなすことができる。圧縮サイズは、部分列が一致すればするほど、その一致部分を短い符号とすることができるので、i番目の文と文書全体が部分的に一致すればするほど、数式「数1」や数式「数2」で計算される距離は小さくなる。
或いは、文書全体からi番目の文を取り除いた場合の圧縮サイズを「C(all−i)」として、以下の数式「数3」や数式「数4」等により計算しても良い。
(5)ステップA5
それから、文字列抽出部22は、抽出した候補文を文書記憶部11から削除する。
それから、文字列抽出部22は、抽出した候補文を文書記憶部11から削除する。
(6)ステップA6
語句削除部23は、語句番号pに0を代入(p=0)して初期化し、削除語句数nに0を代入(p=0)して初期化する。なお、語句番号pは、語句記憶部12に記憶された語句の順を示す。削除語句数nは、削除する語句の数を示す。
語句削除部23は、語句番号pに0を代入(p=0)して初期化し、削除語句数nに0を代入(p=0)して初期化する。なお、語句番号pは、語句記憶部12に記憶された語句の順を示す。削除語句数nは、削除する語句の数を示す。
(7)ステップA7
語句削除部23は、語句番号pと語句記憶部12に記憶された語句数Pとを比較する。このとき、pがP未満(p<P)である場合、ステップA8に進み、pがP以上(p≧P)である場合、ステップA12に進む。
語句削除部23は、語句番号pと語句記憶部12に記憶された語句数Pとを比較する。このとき、pがP未満(p<P)である場合、ステップA8に進み、pがP以上(p≧P)である場合、ステップA12に進む。
(8)ステップA8
語句削除部23は、語句記憶部12に記憶されたp番目の語句phrase[p]を候補文が含むかどうかを調べる。このとき、phrase[p]を候補文が含まない場合、ステップA9に進み、phrase[p]を候補文が含む場合、ステップA10に進む。
語句削除部23は、語句記憶部12に記憶されたp番目の語句phrase[p]を候補文が含むかどうかを調べる。このとき、phrase[p]を候補文が含まない場合、ステップA9に進み、phrase[p]を候補文が含む場合、ステップA10に進む。
(9)ステップA9
語句削除部23は、語句番号pを1増やす。その後、ステップA7に戻る。
語句削除部23は、語句番号pを1増やす。その後、ステップA7に戻る。
(10)ステップA10
語句削除部23は、語句記憶部12に記憶されたp番目の語句phrase[p]を候補文が含む場合、phrase[p]を空列とする。
語句削除部23は、語句記憶部12に記憶されたp番目の語句phrase[p]を候補文が含む場合、phrase[p]を空列とする。
(11)ステップA11
語句削除部23は、削除語句数nを1増やす。その後、ステップA9に進み、語句番号pを1増やす。その後、ステップA7に戻る。
語句削除部23は、削除語句数nを1増やす。その後、ステップA9に進み、語句番号pを1増やす。その後、ステップA7に戻る。
(12)ステップA12
語句削除部23は、pがP以上(p≧P)である場合、語句記憶部12に記憶された空列以外のP−n個の語句を、改めて番号を振り直して、phrase[0]、…、phrase[P−n−1]とし、PにP−nを代入する。
語句削除部23は、pがP以上(p≧P)である場合、語句記憶部12に記憶された空列以外のP−n個の語句を、改めて番号を振り直して、phrase[0]、…、phrase[P−n−1]とし、PにP−nを代入する。
(13)ステップA13
文字列追加部24は、語句削除部23で空列として削除された語句数nと0とを比較する。このとき、語句数nが0より大きい(n>0)場合、ステップA14に進み、語句数nが0である(n=0)場合、ステップA4に戻る。
文字列追加部24は、語句削除部23で空列として削除された語句数nと0とを比較する。このとき、語句数nが0より大きい(n>0)場合、ステップA14に進み、語句数nが0である(n=0)場合、ステップA4に戻る。
(14)ステップA14
文字列追加部24は、候補文を重要文として重要語句記憶部に追加して記憶する。その後、ステップA3に戻る。
文字列追加部24は、候補文を重要文として重要語句記憶部に追加して記憶する。その後、ステップA3に戻る。
なお、事前に重要語句が判明している場合には、語句抽出部21が語句の抽出を行うことなく、語句記憶部12に予め重要語句の集合を記憶させておいてから、本発明を実施しても良い。その場合、語句記憶部12への重要語句の集合の記憶は、キーボード等の入力装置を介して要求獲得システムのユーザにより入力されても良いし、他の態様で指定されても良い。
本実施形態では、単なる重要語句の羅列でなく、文等の重要部分を抽出することができるため、分析者は元の文書を参照することなく意味を読み取って要求の概要を把握することができる。従って、分析者の手間と時間を削減することができる。
また、本実施形態では、単語分割の誤りが起き、また、造語や未知語に対応できない形態素解析を用いない。従って、形態素解析を用いた場合に比べ、より正確に重要部分を抽出することができる。
<第2実施形態>
図3に示すように、本発明の第2実施形態における要求獲得システムは、記憶部1と、獲得部2を備える。
図3に示すように、本発明の第2実施形態における要求獲得システムは、記憶部1と、獲得部2を備える。
記憶部1は、文書記憶部11と、語句記憶部12と、重要部分記憶部13と、全語句記憶部14を備える。
文書記憶部11と、語句記憶部12と、重要部分記憶部13は、第1実施形態と同様である。すなわち、本実施形態における記憶部1は、第1実施形態における記憶部1に、全語句記憶部14を追加したものでも良い。
全語句記憶部14は、処理終了までの間に、語句抽出部21により抽出された全ての語句の集合を記憶する。
獲得部2は、語句抽出部21と、文字列抽出部22と、語句削除部23と、文字列追加部24と、強調部25を備える。
語句抽出部21は、文書記憶部11に記憶された文書から、語句の集合を抽出し、語句記憶部12、及び全語句記憶部14に記憶する。第1実施形態における語句抽出部21との違いは、語句記憶部12だけでなく、全語句記憶部14にも語句の集合を記憶することである。
文字列抽出部22と、語句削除部23と、文字列追加部24は、第1実施形態と同様である。すなわち、本実施形態における獲得部2は、第1実施形態における獲得部2に、強調部25を追加したものでも良い。
強調部25は、重要部分記憶部13に記憶された文字列の集合に対し、全語句記憶部14に記憶された語句の部分を強調して表示する。又は、強調部25は、分析対象の元の文書に対し、重要部分記憶部13に記憶された文字列の集合と全語句記憶部14に記憶された語句の集合とのいずれか、或いはそれら両方を強調して表示しても良い。
[第2実施形態における要求獲得システムの動作]
本実施形態における語句抽出部21の処理では、第1実施形態における語句抽出部21の処理に加えて、全語句記憶部14にも語句の集合を記憶する。全語句記憶部14は、処理の過程で語句が削除されないため、処理が終了するまで、語句抽出部21が抽出した語句集合が全て残ったままである。
本実施形態における語句抽出部21の処理では、第1実施形態における語句抽出部21の処理に加えて、全語句記憶部14にも語句の集合を記憶する。全語句記憶部14は、処理の過程で語句が削除されないため、処理が終了するまで、語句抽出部21が抽出した語句集合が全て残ったままである。
図4は、本発明の要求獲得システムの強調部25の処理経過の例を示すフローチャートである。ここでは、文字列として、文を用いた場合を例として説明する。
(1)ステップB1
まず、強調部25は、語句番号pに0を代入(p=0)して初期化し、全語句数Pを全語句記憶部14に記憶された語句の数とする。
まず、強調部25は、語句番号pに0を代入(p=0)して初期化し、全語句数Pを全語句記憶部14に記憶された語句の数とする。
(2)ステップB2
次に、強調部25は、語句番号pと全語句数Pとを比較する。このとき、語句番号pが全語句数P未満(p<P)である場合、ステップB3に進み、語句番号pが全語句数P以上(p≧P)である場合、動作を終了する。
次に、強調部25は、語句番号pと全語句数Pとを比較する。このとき、語句番号pが全語句数P未満(p<P)である場合、ステップB3に進み、語句番号pが全語句数P以上(p≧P)である場合、動作を終了する。
(3)ステップB3
強調部25は、重要部分記憶部13に記憶された重要文の集合である文書に対し、全語句記憶部14に記憶されたp番目の語句phrase[p]の部分を探索し、phrase[p]の部分を強調する。
強調部25は、重要部分記憶部13に記憶された重要文の集合である文書に対し、全語句記憶部14に記憶されたp番目の語句phrase[p]の部分を探索し、phrase[p]の部分を強調する。
ここで、強調とは、以下の(A)〜(I)のいずれか、又はその組合せ等である。
(A)文字列の色を変えて表示する
(B)文字列の字体を変える(太文字、斜体文字等)
(C)文字列に下線をつける
(D)文字列を括弧等の記号で囲む
(E)文字列の背景色を変える
(F)文字列以外を網掛けする
(G)文字列の上又は下に記号をつける
(H)文字列部分の改行(及び字下げ)を行う
(I)文字列の前後に空白や記号等を挿入する
(A)文字列の色を変えて表示する
(B)文字列の字体を変える(太文字、斜体文字等)
(C)文字列に下線をつける
(D)文字列を括弧等の記号で囲む
(E)文字列の背景色を変える
(F)文字列以外を網掛けする
(G)文字列の上又は下に記号をつける
(H)文字列部分の改行(及び字下げ)を行う
(I)文字列の前後に空白や記号等を挿入する
(4)ステップB4
強調部25は、語句番号pを1増やす。その後、ステップB2に戻る。
強調部25は、語句番号pを1増やす。その後、ステップB2に戻る。
最後に、強調部25は、ステップB2において、語句番号pが全語句数P以上(p≧P)となり、動作を終了する際、重要語句を強調表示して、ディスプレイやプリンタ等の出力装置に出力しても良い。
第2実施形態では、重要語句を強調して重要部分を表示することができる。従って、要求獲得システムのユーザは、重要語句を重点的に見ることができ、要求を把握する手間と時間を少なくすることができる。
なお、上記の各実施形態は、組み合わせて実施することも可能である。
<産業上の利用可能性>
本発明は、例えば、文書中からの重要部分抽出、特に、システム・ソフトウェア開発において、顧客の所持する文書、インタビュー・アンケート調査結果、議事録、仕様書等の関連文書からの要求獲得に適用できる。
本発明は、例えば、文書中からの重要部分抽出、特に、システム・ソフトウェア開発において、顧客の所持する文書、インタビュー・アンケート調査結果、議事録、仕様書等の関連文書からの要求獲得に適用できる。
<本発明の特徴>
以上のように、本発明では、システム・ソフトウェア開発において、顧客の所持する文書、インタビュー・アンケート調査結果、議事録、仕様書等の関連文書から、少ない手間と時間で要求を把握することを目的とする。
以上のように、本発明では、システム・ソフトウェア開発において、顧客の所持する文書、インタビュー・アンケート調査結果、議事録、仕様書等の関連文書から、少ない手間と時間で要求を把握することを目的とする。
本発明の要求獲得システムは、語句抽出部と、文字列抽出部と、語句削除部と、文字列追加部を備える。語句抽出部は、文字列の集合である文書から、複数の文字列で共通する1つ以上の部分列を重要語句として抽出する。文字列抽出部は、重要語句がない場合、処理を終了し、重要語句がある場合、文書から、文書を代表する1つの文字列を候補文字列として抽出し、文書から抽出した候補文字列を削除する。語句削除部は、候補文字列に含まれる重要語句を削除する。文字列追加部は、重要語句の削除数が1つ以上である場合、候補文字列を重要文字列とし、文字列抽出部に戻って処理を続ける。
本発明の要求獲得方法では、文字列の集合である文書から、複数の文字列で共通する1つ以上の部分列を重要語句として抽出する。また、重要語句がない場合、処理を終了し、重要語句がある場合、文書から、文書を代表する1つの文字列を候補文字列として抽出し、文書から抽出した候補文字列を削除する。また、候補文字列に含まれる重要語句を削除する。また、重要語句の削除数が1つ以上である場合、候補文字列を重要文字列とし、文字列抽出部に戻って処理を続ける。
本発明の要求獲得用プログラムは、文字列の集合である文書から、複数の文字列で共通する1つ以上の部分列を重要語句として抽出するステップと、重要語句がない場合、処理を終了し、重要語句がある場合、文書から、文書を代表する1つの文字列を候補文字列として抽出し、文書から抽出した候補文字列を削除するステップと、候補文字列に含まれる重要語句を削除するステップと、重要語句の削除数が1つ以上である場合、候補文字列を重要文字列とし、再度、文書を代表する1つの文字列を候補文字列として抽出するステップとを計算機に実行させるためのプログラムである。なお、本発明の要求獲得用プログラムは、記憶装置や記憶媒体に格納することが可能である。
文字列は、文、一行、段落、章のいずれか、又はその組合せである。すなわち、文、一行、段落、及び章のうち少なくとも1つを文字列として扱う。
また、文書を代表する1つの文字列を候補文字列として抽出する際、文書に含まれる各文字列と文書との距離を計算し、距離が最小となる文字列を候補文字列として抽出する。
また、文書を代表する1つの文字列を候補文字列として抽出する際、コルモゴロフ複雑性の近似計算法に基づいて、各文字列と文書との距離を計算する。
本発明では、単なる重要語句の羅列でなく、文等の重要部分を抽出することができるため、分析者は元の文書を参照することなく意味を読み取って要求の概要を把握することができる。従って、分析者の手間と時間を削減することができる。
また、従来の形態素解析を用いた手法では、単語分割の誤りにより正確に重要語句を抽出できないという問題があった。一方、本発明では、部分列に基づくため、より正確に重要語句を抽出することができる。例えば、「外国人参政権について」、「ここで、参政権は・・・」、「外国人の・・・」という3文の場合、従来の形態素解析を用いると、「外国」しか抽出できないが、本発明では、「外国人」、「参政権」を重要語句として抽出することができ、強調表示することができる。
また、本発明は、既存の単語を組み合わせて造られた造語や、既存の単語の一部を用いた省略語のような未知語があっても、重要部分を抽出できる。また、造語や省略語のような未知語であっても重要語句として強調することができる。
このように、本発明では、文字列の集合である文書から、複数の文字列で共通する1つ以上の部分列を重要語句として抽出する。重要語句がない場合、処理を終了する。重要語句がある場合、文書から、文書を代表する1つの文字列を候補文字列として抽出し、文書から抽出した候補文字列を削除し、候補文字列に含まれる重要語句を削除する。重要語句の削除数が1つ以上である場合、候補文字列を重要文字列とし、文字列抽出部に戻って処理を続ける。
本発明では、文書から抽出済みの文字列を削除するので、文字列抽出部は、2回目以降の処理において、異なる類似度を計算する。従って、距離の近い順に候補文字列を抽出するのではなく、予め閾値を定める必要がない。
文字列を文とした例を示す。例えば、文書が以下の5文から構成されるとする。
「データを入力する」、「データを処理する」、「データを入力後に処理する」、「結果を出力する」、「データを処理後に結果を出力する」
「データを入力する」、「データを処理する」、「データを入力後に処理する」、「結果を出力する」、「データを処理後に結果を出力する」
まず、最大長の部分列とした場合の重要語句は、「データを」、「入力」、「処理する」、「後に」、「結果を」、「出力する」である。
文字列抽出部は、第1回目の処理において、「データを入力後に処理する」を抽出する。語句削除部は、重要語句の集合から「データを」「入力」、「処理する」、「後に」を削除するので、残る重要語句は、「結果を」、「出力する」である。
文字列抽出部は、第1回目の処理において、文書が「データを入力する」、「データを処理する」、「結果を出力する」、「データを処理後に結果を出力する」に変更されているため、第2回目の処理において、「結果を出力する」を抽出する。
ここで、第1文が削除された文書との類似度を再計算するため、第2文は第1文との類似度が高いとは限らない。
語句削除部は、重要語句の集合から「出力する」を削除するので、動作が終了する。
本発明を実施した結果、抽出された重要文字列は、「データを入力後に処理する」、「結果を出力する」となる。
本発明では、語句削除部が重要語句を削除するため、文字列追加部の2回目以降の処理において、候補文字列であっても重要語句がなく重要文字列とならない場合がある。
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
なお、本出願は、日本出願番号2010−071860に基づく優先権を主張するものであり、日本出願番号2010−071860における開示内容は引用により本出願に組み込まれる。
Claims (7)
- 複数の文字列の集合である文書から、前記複数の文字列で共通する1つ以上の部分列を重要語句として抽出する語句抽出部と、
前記重要語句がない場合、処理を終了し、前記重要語句がある場合、前記文書から、前記文書を代表する1つの文字列を候補文字列として抽出し、前記文書から前記候補文字列を削除する文字列抽出部と、
前記候補文字列から前記重要語句を削除する語句削除部と、
前記重要語句の削除数が1つ以上である場合、前記候補文字列を重要文字列とする文字列追加部と
を具備する
要求獲得システム。 - 請求項1に記載の要求獲得システムであって、
前記文字列抽出部は、前記複数の文字列の各々と前記文書との距離を計算し、前記各文字列と前記文書との距離が最小となる文字列を候補文字列として抽出する
要求獲得システム。 - 請求項2に記載の要求獲得システムであって、
前記文字列抽出部は、コルモゴロフ複雑性の近似計算法に基づいて、前記各文字列と前記文書との距離を計算する
要求獲得システム。 - 計算機により実施される要求獲得システムであって、
複数の文字列の集合である文書から、前記複数の文字列で共通する1つ以上の部分列を重要語句として抽出し、
前記重要語句がない場合、処理を終了し、
前記重要語句がある場合、前記文書から、前記文書を代表する1つの文字列を候補文字列として抽出し、
前記文書から前記候補文字列を削除し、
前記候補文字列から前記重要語句を削除し、
前記重要語句の削除数が1つ以上である場合、前記候補文字列を重要文字列とする
要求獲得方法。 - 請求項4に記載の要求獲得方法であって、
前記複数の文字列の各々と前記文書との距離を計算し、
前記各文字列と前記文書との距離が最小となる文字列を候補文字列として抽出する
要求獲得方法。 - 請求項5に記載の要求獲得方法であって、
コルモゴロフ複雑性の近似計算法に基づいて、前記各文字列と前記文書との距離を計算する
要求獲得方法。 - 請求項4乃至6のいずれか一項に記載の要求獲得方法を計算機に実行させるための要求獲得用プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010071860 | 2010-03-26 | ||
JP2010071860 | 2010-03-26 | ||
PCT/JP2011/055895 WO2011118428A1 (ja) | 2010-03-26 | 2011-03-14 | 要求獲得システム、要求獲得方法、及び要求獲得用プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2011118428A1 true JPWO2011118428A1 (ja) | 2013-07-04 |
Family
ID=44672986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012506944A Withdrawn JPWO2011118428A1 (ja) | 2010-03-26 | 2011-03-14 | 要求獲得システム、要求獲得方法、及び要求獲得用プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US9262394B2 (ja) |
JP (1) | JPWO2011118428A1 (ja) |
WO (1) | WO2011118428A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107765700A (zh) * | 2017-10-01 | 2018-03-06 | 上海量科电子科技有限公司 | 移动终端的使用辅助方法、系统及飞行器 |
CN111399837B (zh) * | 2020-04-01 | 2023-03-28 | 中电万维信息技术有限责任公司 | 一种基于安卓系统的问卷调查类开发方法 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0743717B2 (ja) | 1989-02-06 | 1995-05-15 | 株式会社テレマティーク国際研究所 | 抄録文作成装置 |
JPH0667862A (ja) | 1992-08-21 | 1994-03-11 | Toshiba Corp | 要求獲得支援装置 |
US5608396A (en) * | 1995-02-28 | 1997-03-04 | International Business Machines Corporation | Efficient Ziv-Lempel LZI data compression system using variable code fields |
JP3113814B2 (ja) * | 1996-04-17 | 2000-12-04 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | 情報検索方法及び情報検索装置 |
JP3092576B2 (ja) * | 1998-01-22 | 2000-09-25 | 日本電気株式会社 | 文字認識装置 |
JP2001249922A (ja) * | 1999-12-28 | 2001-09-14 | Matsushita Electric Ind Co Ltd | 単語分割方式及び装置 |
EP1189150A4 (en) * | 2000-01-05 | 2004-10-06 | Mitsubishi Electric Corp | DEVICE FOR EXTRACTING KEYWORDS |
JP2001318948A (ja) * | 2000-05-09 | 2001-11-16 | Hitachi Ltd | 文書検索方法及び装置並びにその処理プログラムを記憶した媒体 |
JP2002245070A (ja) * | 2001-02-20 | 2002-08-30 | Hitachi Ltd | データ表示方法及び装置並びにその処理プログラムを記憶した媒体 |
JP2003108571A (ja) | 2001-09-28 | 2003-04-11 | Seiko Epson Corp | 文書要約装置、文書要約装置の制御方法、文書要約装置の制御プログラムおよび記録媒体 |
US7313817B2 (en) * | 2003-06-17 | 2007-12-25 | Lockheed Martin Corporation | Data transmission system utilizing efficient complexity estimation of the kolmogorov complexity for data transmission |
JP4591353B2 (ja) * | 2004-01-08 | 2010-12-01 | 日本電気株式会社 | 文字認識装置、移動通信システム、移動端末装置、固定局装置、文字認識方法および文字認識プログラム |
US7783476B2 (en) * | 2004-05-05 | 2010-08-24 | Microsoft Corporation | Word extraction method and system for use in word-breaking using statistical information |
KR100682897B1 (ko) * | 2004-11-09 | 2007-02-15 | 삼성전자주식회사 | 사전 업데이트 방법 및 그 장치 |
US7665037B2 (en) * | 2006-06-30 | 2010-02-16 | Research In Motion Limited | Method of learning character segments from received text, and associated handheld electronic device |
JP4848221B2 (ja) * | 2006-07-31 | 2011-12-28 | 富士通株式会社 | 帳票処理プログラム、該プログラムを記録した記録媒体、帳票処理装置、および帳票処理方法 |
JP4856573B2 (ja) | 2007-03-16 | 2012-01-18 | 日本放送協会 | 要約文生成装置及び要約文生成プログラム |
JP2009075733A (ja) * | 2007-09-19 | 2009-04-09 | Toshiba Corp | 候補表示装置及び方法 |
US20090226872A1 (en) * | 2008-01-16 | 2009-09-10 | Nicholas Langdon Gunther | Electronic grading system |
US8327443B2 (en) * | 2008-10-29 | 2012-12-04 | Lockheed Martin Corporation | MDL compress system and method for signature inference and masquerade intrusion detection |
US8868402B2 (en) * | 2009-12-30 | 2014-10-21 | Google Inc. | Construction of text classifiers |
US8510098B2 (en) * | 2010-01-29 | 2013-08-13 | Ipar, Llc | Systems and methods for word offensiveness processing using aggregated offensive word filters |
US8296130B2 (en) * | 2010-01-29 | 2012-10-23 | Ipar, Llc | Systems and methods for word offensiveness detection and processing using weighted dictionaries and normalization |
-
2011
- 2011-03-14 JP JP2012506944A patent/JPWO2011118428A1/ja not_active Withdrawn
- 2011-03-14 WO PCT/JP2011/055895 patent/WO2011118428A1/ja active Application Filing
- 2011-03-14 US US13/637,321 patent/US9262394B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US9262394B2 (en) | 2016-02-16 |
US20130067324A1 (en) | 2013-03-14 |
WO2011118428A1 (ja) | 2011-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10552462B1 (en) | Systems and methods for tokenizing user-annotated names | |
US8938384B2 (en) | Language identification for documents containing multiple languages | |
US9483460B2 (en) | Automated formation of specialized dictionaries | |
JP2005174336A (ja) | 情報抽出のための一般化文字列パターンの学習および使用 | |
CN112784009B (zh) | 一种主题词挖掘方法、装置、电子设备及存储介质 | |
US7599921B2 (en) | System and method for improved name matching using regularized name forms | |
JP5678896B2 (ja) | 要求抽出システム、要求抽出方法および要求抽出プログラム | |
US8224642B2 (en) | Automated identification of documents as not belonging to any language | |
US20170140010A1 (en) | Automatically Determining a Recommended Set of Actions from Operational Data | |
WO2011118428A1 (ja) | 要求獲得システム、要求獲得方法、及び要求獲得用プログラム | |
US11842152B2 (en) | Sentence structure vectorization device, sentence structure vectorization method, and storage medium storing sentence structure vectorization program | |
KR102519955B1 (ko) | 토픽 키워드의 추출 장치 및 방법 | |
CN115455416A (zh) | 一种恶意代码检测方法、装置、电子设备及存储介质 | |
CN111310442B (zh) | 形近字纠错语料挖掘方法、纠错方法、设备及存储介质 | |
CN114238564A (zh) | 一种信息检索方法、装置、电子设备及存储介质 | |
US20110172991A1 (en) | Sentence extracting method, sentence extracting apparatus, and non-transitory computer readable record medium storing sentence extracting program | |
JP6181890B2 (ja) | 文献解析装置、文献解析方法およびプログラム | |
JP4985096B2 (ja) | 文書解析システム、および文書解析方法、並びにコンピュータ・プログラム | |
CN112926297A (zh) | 处理信息的方法、装置、设备和存储介质 | |
WO2013150633A1 (ja) | 文書処理システム、及び、文書処理方法 | |
US20220138434A1 (en) | Generation apparatus, generation method and program | |
US11386267B2 (en) | Analysis method, analyzer, and computer-readable recording medium | |
CN113205384B (zh) | 文本处理方法、装置、设备以及存储介质 | |
JP2018180808A (ja) | 解析プログラム、解析方法および解析装置 | |
JP7268316B2 (ja) | 情報処理装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140603 |