JP5678896B2 - 要求抽出システム、要求抽出方法および要求抽出プログラム - Google Patents

要求抽出システム、要求抽出方法および要求抽出プログラム Download PDF

Info

Publication number
JP5678896B2
JP5678896B2 JP2011549767A JP2011549767A JP5678896B2 JP 5678896 B2 JP5678896 B2 JP 5678896B2 JP 2011549767 A JP2011549767 A JP 2011549767A JP 2011549767 A JP2011549767 A JP 2011549767A JP 5678896 B2 JP5678896 B2 JP 5678896B2
Authority
JP
Japan
Prior art keywords
phrase
candidate
character string
unnecessary
important
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
JP2011549767A
Other languages
English (en)
Other versions
JPWO2011086637A1 (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 JP2011549767A priority Critical patent/JP5678896B2/ja
Publication of JPWO2011086637A1 publication Critical patent/JPWO2011086637A1/ja
Application granted granted Critical
Publication of JP5678896B2 publication Critical patent/JP5678896B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)

Description

本発明は、文書中からの重要語句抽出に関し、特に、システムのソフトウェア開発において、顧客の所持する文書、インタビューアンケート調査結果、議事録、または仕様書などの関連文書から重要語句を抽出する要求抽出システム、要求抽出方法および要求抽出プログラムに関する。
要求獲得では、顧客の要求を漏れ抜けなく抽出して仕様および設計に役立てるために、顧客の所持する文書、インタビューアンケート調査結果、議事録、または仕様書などの関連文書から重要語句を抽出する。要求獲得とは、システムのソフトウェア開発において、問題解決または目的達成のために開発システムが従わなければならない条件および能力を顧客から獲得することである。従来は、分析者が、要求獲得における重要語句を手動で抽出していた。しかし、膨大な文書からの重要語句の抽出には手間と時間がかかり、また、人的ミスによって重要部分を見逃す可能性があった。
要求獲得において重要語句を抽出する分析者を支援するために、形態素解析を用いて名詞・動詞などを抽出する方法がある。非特許文献1に記載された要求獲得法は、名詞および動詞を抽出する。
また、特許文献1に記載された要求獲得支援装置は、日本語の構文解析を行って単語に分割してから詳細パタンを検索する。
事前に単語に分割せずに、関連文書から複数回出現する部分列を重要語句として抽出する方法もある。非特許文献2に記載された語句抽出法は、繰り返し出現する語句を重要語句として抽出する。
特開平6−67862号公報(段落0013−0015)
長谷川亮、北村元博、海谷治彦、佐伯元司著、「エクストラクティングコンセプチュアル グラフ フロム ジャパニーズ ドキュメンツ フォア ソフトウェア リクワイヤメンツ モデリング(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頁 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に記載された予め単語に分割する方法では、「外国人参政権」を「外国」、「人参」、「政権」としてしまうなど単語分割の誤りによって重要語句を正確に抽出できないという問題があった。また、形態素解析に用いる辞書に含まれない未知な語句を取り扱うことはできず、重要語句として抽出できないという問題もあった。そのため、例えば、英文字列「ABC」などの省略語を重要語句として抽出できなかった。
また、非特許文献2に記載された関連文書から複数回出現する部分列を抽出する方法では、類似した語句が多く抽出されるため、分析者は重複部分を考慮しながら抽出語句を判断する必要があり、手間や時間がかかってしまう。また、単語に分割せずに部分列を抽出する場合には、語句の最初や最後の文字として不適切な文字(「、」など)が部分列に含まれることがある。
そこで、本発明は、要求獲得において分析者の手間や時間をかけることなく、文書から重要語句を抽出する要求抽出技術を提供することを目的とする。
本発明による要求抽出システムは、文字列の集合である文書から、一の文字列と他の文字列のそれぞれとで共通する連続した部分列の最大長の部分列を一の文字列に対する重要語句の候補として抽出する候補抽出部と、候補抽出部によって抽出された一の文字列に対する重要語句の候補のうちの最大長の部分列を選択する候補統合部と、候補統合部によって選択された、各文字列についての最大長の部分列の集合のうち、他の文字列についての集合の部分集合とならないものをまとめて重要語句の集合とする集合統合部とを備えることを特徴とする。
本発明による要求抽出方法は、文字列の集合である文書から、一の文字列と他の文字列のそれぞれとで共通する連続した部分列の最大長の部分列を一の文字列に対する重要語句の候補として抽出し、抽出された一の文字列に対する重要語句の候補のうちの最大長の部分列を選択し、選択された、各文字列についての最大長の部分列の集合のうち、他の文字列についての集合の部分集合とならないものをまとめて重要語句の集合とすることを特徴とする。
本発明による要求抽出プログラムは、コンピュータに、文字列の集合である文書から、一の文字列と他の文字列のそれぞれとで共通する連続した部分列の最大長の部分列を一の文字列に対する重要語句の候補として抽出する処理と、抽出された一の文字列に対する重要語句の候補のうちの最大長の部分列を選択する処理と、選択された、各文字列についての最大長の部分列の集合のうち、他の文字列についての集合の部分集合とならないものをまとめて重要語句の集合とする処理とを実行させることを特徴とする。
本発明によれば、分析者の手間や時間をかけることなく、文書から重要語句を抽出することができる。
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
本発明の要求抽出システムの第1の実施形態の構成例を示すブロック図である。 図1に示す要求抽出システムが行う処理例を示すフローチャートである。 本発明の要求抽出システムの第2の実施形態の構成例を示すブロック図である。 図3に示す要求抽出システムの不要語句削除部が行う処理例を示すフローチャートである。 図3に示す要求抽出システムの候補抽出部が行う処理例を示すフローチャートである。 本発明による要求抽出システムの主要部を示すブロック図である。
実施形態1.
図1は、本発明の要求抽出システムの第1の実施形態(実施形態1)の構成例を示すブロック図である。図1に示す要求抽出システムは、記憶部1と重要語句抽出部2とを備える。
システムのソフトウェア開発において顧客が所持する文書、インタビューアンケート調査結果、議事録、または仕様書などの関連文書を文書と呼ぶ。文書を意味単位で分割した1つ1つの要素を文字列と呼ぶ。
例えば、一行に一項目が書かれた文書であれば、一行を文字列と呼ぶことができる。アンケート調査結果で、一人の回答に一つの意味があるとみなす場合には、一人の回答を構成する複数の文を文字列と呼ぶことができる。段落ごとにまとまりのある文書の場合には、各段落を構成する少なくとも1つの文を文字列と呼ぶことができる。章ごとにまとまりのある文書の場合には、各章を構成する少なくとも1つの文を文字列と呼ぶことができる。意味単位が文として読点で区切られる場合と行で区切られる場合とが混在する文書の場合には、文および行を、それぞれ文字列と呼ぶこともできる。
また、例えば、第1版、第2版のように複数存在する文書を同時に分析したい場合には、それらの複数の文書をまとめて文書と呼ぶ。文書が、議事録および仕様書というように異なる形式で複数ある場合には、複数の文書をまとめて文書と呼ぶことができる。
記憶部1は、候補記憶部11および重要語句記憶部12を含む。候補記憶部11は、各文字列に対する重要語句の候補の集合(候補集合)を記憶する。重要語句記憶部12は、文書に対する重要語句の集合(重要語句集合)を記憶する。
重要語句抽出部2は、制御部21、候補抽出部22、候補統合部23、および集合統合部24を含む。制御部21、候補抽出部22、候補統合部23、および集合統合部24は、例えば、プログラムにしたがって処理を実行するCPU(Central Processing Unit)で実現される。
制御部21は、重要語句の候補を抽出する文字列に割り当てられる文字列番号、および重要語句の候補とする語句の開始位置などを制御する。制御部21は、文字列番号および開始位置などを制御して、文書の全ての文字列に対して、候補抽出部22による動作と候補統合部23による動作とを繰り返す。
候補抽出部22は、制御部21によって制御された文字列番号などに基づいて、各文字列に対して、他の文字列と共通する連続した部分列のうちの最大長の部分列を重要語句の候補として1つずつ抽出する。
候補統合部23は、候補抽出部22によって抽出された1つの重要語句の候補と、以前に候補抽出部22によって抽出されて候補記憶部11に記憶された候補集合とを比較する。候補統合部23は、1つの文字列に対する重要語句の候補のうちの最大長の部分列を選択する。候補統合部23は、選択した重要語句の候補を候補集合に追加し、候補記憶部11に記憶させる。
集合統合部24は、各文字列に対する候補集合のうち、他の文字列に対する候補集合の部分集合となるものを削除する。集合統合部24は、文字列ごとの候補集合のうち、他の文字列に対する候補集合の部分集合とならないものをまとめて重要語句集合とする。集合統合部24は、重要語句集合を重要語句記憶部12に記憶させる。
図2は、図1に示す要求抽出システムが行う処理例を示すフローチャートである。図2を参照して、入力装置などを介して文書が入力された場合に、図1に示す要求抽出システムが、入力された文書から重要語句を抽出する動作を説明する。なお、一例として、入力された文書を構成する文を文字列とする。また、入力された文書を構成する文の数をNとする。
図2に示す処理例では、制御部21は、文字列番号として文番号を制御する。文番号は、文書における文に割り当てられる番号である。文書の各文に対して、最初の文から順番に0からN−1までのN個の整数が、文番号として割り当てられる。まず、制御部21は、文番号iを0で初期化する(ステップA1)。
次に、制御部21は、文番号iとNを比較する(ステップA2)。文番号iがN未満である場合には(ステップA2のY)、制御部21は、文番号iに対する候補集合CandSet[i]を空集合で初期化する(ステップA3)。候補集合CandSet[i]は、候補記憶部11に記憶されるとする。文番号iがN以上である場合には(ステップA2のN)、ステップA16に進む。
次いで、制御部21は、文番号jを0で初期化する(ステップA4)。次に、制御部21は、文番号iと文番号jを比較する(ステップA5)。文番号iと文番号jとが等しい場合には(ステップA5のY)、ステップA10に進む。文番号iと文番号jとが等しくない場合には(ステップA5のN)、制御部21は、文番号jとNを比較する(ステップA6)。
文番号jがN以上である場合には(ステップA6のN)、制御部21は、文番号iを1増やし(ステップA7)、ステップA2に戻る。なお、ステップA7に示す処理のように、値を1増やす処理をインクリメントと呼ぶ。
文番号jがN未満である場合には(ステップA6のY)、制御部21は、語句の開始位置(st)を0で初期化する。また、文番号iで示される文を構成する文字数(文iの配列長)をLENとする(ステップA8)。そして制御部21は、語句の開始位置stと文iの配列長LENを比較する(ステップA9)。
stがLEN以上である場合には(ステップA9のN)、制御部21は、文番号jをインクリメントし(ステップA10)、ステップA6に戻る。
stがLEN未満である場合には(ステップA9のY)、候補抽出部22は、文番号iで示される文(文i)の語句の開始位置stから始まる部分列を調べ、文番号jで示される文(文j)に含まれる最大長の部分列を抽出し、候補candとする(ステップA11)。
ここで、候補抽出部22によって候補candとして抽出される最大長の部分列について詳しく説明する。
文は、文字が並んだ文字列と考える。例えば、集合AをA={a_0,a_1,・・・,a_(α−1)}として表されるα個の文字とする場合に、Aの各要素であるa_iは、ひらがな、カタカナまたは漢字などのうちの一文字に相当する。A上の有限長の文字列の集合をA*とする場合に、集合A*の各要素は、単語または文などに相当する。
文字列Sの部分列S(st,len)は、文字列Sのst番目の文字を開始位置とするlen個の文字の並びで形成される文字列を示す。例えば、文字列Sが"候補抽出部"という文字列である場合(S="候補抽出部")に、部分列は、S(0,1)="候"、S(0,2)="候補"、およびS(2,2)="抽出"などとなる。
文字列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が"重要語句とは共通部分列である。"である場合に、文Sおよび文Tに対する最大長の部分列candは"重要語句"である。candを"重要"とした場合には、文Sおよび文Tの両方の部分列となる文字列{cand・a}を構成する文字aとして"語"が存在するので、"重要"は、文Sおよび文Tに対する最大長の部分列ではない。
また、抽出の対象となる文字列の両方に含まれる部分列が存在しない場合には、候補抽出部22は、候補candを空列とする。空列とは、文字を0個含む列""である。例えば、文iの語句の開始位置stの文字が"α"であり、文jに"α"が含まれない場合には、候補抽出部22は、候補candを空列=""とする。
なお、ステップA11において抽出される候補candは、候補candの最小文字数MinLenを予め定められていてもよい。最小文字数MinLenは、キーボードなどの入力装置を介して要求抽出システムのユーザ(分析者)によって入力されてもよく、他の態様によって指定されてもよい。例えば、最小文字数MinLenが"2"と予め定められていた場合には、候補抽出部22は、抽出の対象となる文字列の両方に含まれる2文字以上の部分列のうちの最大長の部分列を候補candとして抽出する。最小文字数を予め定めた要求抽出システムでは、短すぎる重要語句の候補を抽出しないので、分析者に短すぎる重要語句を提示しないことができる。
ステップA11において候補抽出部22が候補candを抽出すると、候補統合部23は、候補candが候補集合CandSet[i]の要素の部分列であるか否かを判断する(ステップA12)。
配列長をLENとする配列Sの部分列とは、配列Sの連続した部分を構成する配列である。空列は、配列Sの長さ0の部分列であるとする。配列Sを、配列Sの長さLENの部分列とする。例えば、候補集合CandSet[i]={"制御部","候補抽出"}とするとき、candが"候補"である場合は、candはCandSet[i]の要素"候補抽出"の部分列である。candが"候補抽出"である場合も、candはCandSet[i]の要素"候補抽出"の部分列である。しかし、candが"候補抽出部"である場合には、candは候補集合CandSet[i]の要素の部分列ではない。
候補candが候補集合CandSet[i]の要素の部分列ではない場合には(ステップA12のN)、候補統合部23は、CandSet[i]の要素のうち、candの部分列である要素をCandSet[i]から削除する(ステップA13)。例えば、候補集合CandSet[i]={"制御部","候補抽出"}であるとき、candが"候補抽出部"である場合は、候補集合の要素"候補抽出"は、candの部分列である。したがって、候補統合部23は、CandSet[i]から要素"候補抽出"を削除し、候補集合CandSet[i]={"制御部"}となる。
次に、候補統合部23は、候補candを候補集合CandSet[i]に追加する(ステップA14)。例えば、候補集合CandSet[i]={"制御部"}であるとき、candが"候補抽出部"である場合には、候補統合部23は、CandSet[i]にcandを追加して、CandSet[i]={"制御部","候補抽出部"}となる。
候補candが候補集合CandSet[i]の要素の部分列である場合(ステップA12のY)、または、ステップA14に示す処理が行われると、制御部21は、語句の開始位置stをインクリメントする(ステップA15)。そして、制御部21は、ステップA9に戻る。
制御部21、候補抽出部22、および候補統合部23が、ステップA1〜A15に示す処理を繰り返すことによって、文書を構成する全ての文に対する候補集合CandSet[i]が抽出される。抽出された候補集合CandSet[i]は、候補記憶部11に記憶される。
全ての文に対する候補集合CandSet[i]が抽出されると、集合統合部24は、文番号iを0で初期化し、重要語句集合Impを空集合で初期化する(ステップA16)。重要語句集合Impは、重要語句記憶部12に記憶された重要語句の候補の集合である。
集合統合部24は、文番号iとNを比較する(ステップA17)。文番号iがN以上である場合には(ステップA17のN)、集合統合部24は、動作を終了する。
文番号iがN未満である場合には(ステップA17のY)、集合統合部24は、文番号iの候補集合CandSet[i]が重要語句集合Impの要素の部分集合であるか否かを判断する(ステップA18)。
例えば、Imp={{"制御部","候補抽出部","候補統合部"},{"ステップ","文番号"}}であるとき、CandSet[i]が{"制御部","候補抽出部"}である場合には、CandSet[i]は、Impの最初の要素の部分集合である。CandSet[i]が{"制御部","候補抽出部","候補統合部"}である場合も、CandSet[i]は、Impの最初の要素の部分集合である。しかし、CandSet[i]が{"制御部","候補抽出部","候補統合部","集合統合部"}である場合には、CandSet[i]は、Impのどの要素の部分集合でもない。
文番号iの候補集合CandSet[i]が重要語句集合Impの要素の部分集合ではない場合には(ステップA18のN)、集合統合部24は、Impの要素のうち、CandSet[i]の部分集合である要素をImpから削除する(ステップA19)。例えば、Imp={{"制御部","候補抽出部","候補統合部"},{"ステップ","文番号"}}であるとき、CandSet[i]が{"制御部","候補抽出部","候補統合部","集合統合部"}である場合には、Impの最初の要素{"制御部","候補抽出部","候補統合部"}は、CandSet[i]の部分集合である。したがって、集合統合部24は、Impから最初の要素を削除し、Imp={{"ステップ","文番号"}}となる。
次に、集合統合部24は、重要語句集合Impに候補集合CandSet[i]を追加する(ステップA20)。例えば、Imp={{"ステップ","文番号"}}であるとき、CandSet[i]が{"制御部","候補抽出部","候補統合部","集合統合部"}である場合には、集合統合部24は、ImpにCandSet[i]を追加して、Imp={{"制御部","候補抽出部","候補統合部","集合統合部"},{"ステップ","文番号"}}となる。ここで、集合統合部24は、CandSet[i]を追加したImpを重要語句記憶部12に記憶させてもよい。
文番号iの候補集合CandSet[i]が重要語句集合Impの要素の部分集合である場合(ステップA18のY)、または、ステップA20に示す処理が行われると、集合統合部24は、文番号iをインクリメントする(ステップA21)。そして、集合統合部24は、ステップA17に戻る。
なお、制御部21は、動作を終了するときなどのタイミングで、重要語句記憶部12に記憶された重要語句をディスプレイやプリンタなどの出力装置に出力してもよい。
このように構成された第1の実施形態の要求抽出システムは、予め形態素解析を用いて単語に分割することなく、部分的に一致する語句を除いた重要語句を抽出することができる。したがって、単語分割の誤りが起きうる形態素解析を用いた場合に比べ、より正確に文書から重要語句を抽出することができる。
また、第1の実施形態の要求抽出システムは、抽出対象の文字列に共通する最大長の部分列だけを重要語句の候補として抽出する。したがって、類似の語句が多数抽出されることを避け、抽出する重要語句の数を少なくすることができ、分析者は、重要語句を見る手間と時間とを少なくすることができる。
また、第1の実施形態の要求抽出システムは、辞書を用いずに重要語句を抽出するので、辞書に登録されていない未知な語句には対応できない形態素解析とは異なり、未知な語句を含む文書であっても、重要語句を抽出することができる。さらに、既存の単語を組み合わせて造られた造語や、既存の単語の一部が用いられた省略語など、未知な語句を重要語句として抽出することもできる。
なお、要求獲得では膨大な文書を扱うため、メモリの使用量を大きくしないことが好ましい。第1の実施形態の要求抽出システムは、1つの文字列と他の文字列のそれぞれとで比較を行って、共通する連続した部分列に基づいて重要語句の候補を探索するので、一度に多くのメモリを使用することなく少ないメモリ使用量で計算することができる。
実施形態2.
図3は、本発明の要求抽出システムの第2の実施形態(実施形態2)の構成例を示すブロック図である。図3に示す要求抽出システムは、記憶部3と重要語句抽出部4とを備える。
記憶部3は、不要システム語句記憶部31、不要一般語句記憶部32、不要接頭語句記憶部33、不要接尾語句記憶部34、候補記憶部11、および重要語句記憶部12を含む。図3に示す候補記憶部11および重要語句記憶部12は、図1に示す候補記憶部11および重要語句記憶部12と同様の記憶部である。
不要システム語句記憶部31は、予め不要システム語句を記憶する。不要システム語句とは、例えば、企業名など、システム開発に関連する語句ではあるが、重要語句として抽出する必要がないと文書ごとに判断された語句である。
不要一般語句記憶部32は、予め不要一般語句を記憶する。不要一般語句とは、例えば、「以下」、「上記」など、一般的に重要語句として抽出する必要がないと判断された語句である。
不要接頭語句記憶部33は、予め不要接頭語句を記憶する。不要接頭語句とは、例えば、「ぁ」、「、」、「。」、「 (空白)」など、語句の第1文字として不適な語句である。
不要接尾語句記憶部34は、予め不要接尾語句を記憶する。不要接尾語句とは、例えば、「っぽい」、「、」、「。」、「 (空白)」など、語句の最終文字として不適な語句である。
なお、不要システム語句、不要一般語句、不要接頭語句、および不要接尾語句などの不要語句は、キーボードなどの入力装置を介して要求抽出システムのユーザ(分析者)によって予め入力されてもよいし、他の様態で入力されてもよい。
重要語句抽出部4は、不要語句削除部41、制御部21、候補抽出部42、候補統合部23、および集合統合部24を含む。図3に示す制御部21、候補統合部23および集合統合部24の動作は、図1に示す制御部21、候補統合部23および集合統合部24の動作と同様である。不要語句削除部41、制御部21、候補抽出部42、候補統合部23、および集合統合部24は、例えば、プログラムにしたがって処理を実行するCPUで実現される。
不要語句削除部41は、不要システム語句記憶部31に予め記憶された不要システム語句を文書全体から全て削除し、次に、不要一般語句記憶部32に予め記憶された不要一般語句を文書全体から全て削除する。なお、不要語句削除部41は、文書内の不要システム語句および不要一般語句を削除する代わりに、空白に置き換えてもよい。
候補抽出部42は、制御部21によって制御された文字列番号などに基づいて、文字列から、不要接頭語句記憶部33に記憶された不要接頭語句を語句の最初(語頭)に含まず、不要接尾語句記憶部34に記憶された不要接尾語句を語句の最後(語尾)に含まない重要語句の候補を1つずつ抽出する。
図4は、図3に示す要求抽出システムの不要語句削除部が行う処理例を示すフローチャートである。図4を参照して、入力装置などを介して文書が入力された場合に、図3に示す不要語句削除部41が、入力された文書から不要システム語句および不要一般語句を削除する動作を説明する。
まず、不要語句削除部41は、不要システム語句番号mを0で初期化する。また、Mを不要システム語句記憶部31に記憶された不要システム語句の総数とする(ステップB1)。不要システム語句番号は、不要システム語句記憶部31に記憶された不要システム語句のそれぞれに、順に割り当てられる番号であり、0〜M−1までのM個の整数が割り当てられる。
次に、不要語句削除部41は、不要システム語句番号mとMを比較する(ステップB2)。不要システム語句番号mがM未満である場合には(ステップB2のY)、不要語句削除部41は、不要システム語句番号mで示される不要システム語句を文書から全て削除する(ステップB3)。そして、不要語句削除部41は、mをインクリメントし(ステップB4)、ステップB2に戻る。不要システム語句番号mがM以上である場合には(ステップB2のN)、ステップB5に進む。
次に、不要語句削除部41は、文書を分割した形態素に対して、不要一般語句記憶部32に記憶された不要一般語句を削除する。図4では、語句が形態素として細かく分割され過ぎた場合を考慮し、例えば、3つ以下の連続する形態素に対して不要一般語句に一致するか否かを調べる処理例が示されている。
まず、不要語句削除部41は、文書を構文解析し、形態素に分割する(ステップB5)。そして、不要語句削除部41は、語句番号pを0で初期化する。また、分割された形態素の総数をPとする(ステップB6)。語句番号は、分割された形態素のそれぞれに、順に割り当てられる番号であり、0〜P−1のP個の整数が割り当てられる。
不要語句削除部41は、語句番号pとPを比較する(ステップB7)。語句番号pがP以上である場合には(ステップB7のN)、不要語句削除部41は、処理を終了する。
ここで、語句番号pで示される形態素をphrase[p]と表記することとする。また、phrase[p,p+1]は、{phrase[p]・phrase[p+1]}を示す。phrase[p,p+2]は、{phrase[p]・phrase[p+1]・phrase[p+2]}を示す。
pがP未満である場合には(ステップB7のY)、不要語句削除部41は、phrase[p,p+2]が、不要一般語句記憶部32に記憶された不要一般語句のいずれかに一致するか否かを調べる(ステップB8)。
phrase[p,p+2]が不要一般語句記憶部32に記憶された不要一般語句のいずれかに一致する場合には(ステップB8のY)、不要語句削除部41は、phrase[p,p+2]を文書から削除する(ステップB9)。そして、語句番号pを3増やし(ステップB10)、ステップB7に戻る。
phrase[p,p+2]が不要一般語句記憶部32に記憶された不要一般語句のいずれにも一致しない場合には(ステップB8のN)、不要語句削除部41は、phrase[p,p+1]が、不要一般語句記憶部32に記憶された不要一般語句のいずれかに一致するか否かを調べる(ステップB11)。
phrase[p,p+1]が不要一般語句記憶部32に記憶された不要一般語句のいずれかに一致する場合には(ステップB11のY)、不要語句削除部41は、phrase[p,p+1]を文書から削除する(ステップB12)。そして、語句番号pを2増やし(ステップB13)、ステップB7に戻る。
phrase[p,p+1]が不要一般語句記憶部32に記憶された不要一般語句のいずれにも一致しない場合には(ステップB11のN)、不要語句削除部41は、phrase[p]が、不要一般語句記憶部32に記憶された不要一般語句のいずれかに一致するか否かを調べる(ステップB14)。
phrase[p]が不要一般語句記憶部32に記憶された不要一般語句のいずれかに一致する場合には(ステップB14のY)、不要語句削除部41は、phrase[p]を文書から削除する(ステップB15)。そして、語句番号pを1増やし(ステップB16)、ステップB7に戻る。
phrase[p]が不要一般語句記憶部32に記憶された不要一般語句のいずれにも一致しない場合には(ステップB14のN)、ステップB16に進む。
図5は、図3に示す要求抽出システムの候補抽出部が行う処理例を示すフローチャートである。図5を参照して、例えば、文字列として文を用いる場合に、図3に示す候補抽出部42が、重要語句の候補を1つずつ抽出する動作を説明する。
ここで、重要語句の候補の最小文字数をMinLenとする。最小文字数MinLenは、キーボードなどの入力装置を介して要求抽出システムのユーザ(分析者)によって入力されてもよく、他の態様で指定されてもよい。また、最小文字数MinLenは、1や2などに予め定められてもよい。
まず、候補抽出部42は、文iの開始位置stから始まる部分列が、不要接頭語句記憶部33に記憶された不要接頭語句のいずれかに一致するか否かを調べる(ステップC1)。
文iの開始位置stから始まる部分列が、不要接頭語句記憶部33に記憶された不要接頭語句のいずれにも一致しない場合には(ステップC1のN)、候補抽出部42は、文iの開始位置stから始まる部分列のうち、文jに含まれる最大長の部分列を抽出し、候補candとする(ステップC2)。文iの開始位置stから始まる部分列が、不要接頭語句のいずれかである場合には(ステップC1のY)、ステップC6に進む。
候補抽出部42は、候補candが、不要接尾語句記憶部34に記憶された不要接尾語句のいずれかに一致するか否かを調べる(ステップC3)。
候補candが、不要接尾語句記憶部34に記憶された不要接尾語句のいずれにも一致しない場合には(ステップC3のN)、候補抽出部42は、動作を終了する。
候補candが、不要接尾語句記憶部34に記憶された不要接尾語句のいずれかに一致する場合には(ステップC3のY)、候補抽出部42は、候補candの末尾の一文字を削除する(ステップC4)。そして、候補抽出部42は、候補candの文字数と最小文字数MinLenを比較する(ステップC5)。
候補candの文字数が最小文字数MinLen以上である場合には(ステップC5のN)、ステップC3に戻る。候補candの文字数が最小文字数MinLen未満である場合には(ステップC5のN)、候補抽出部42は、候補candを空列に設定する(ステップC6)。
このように構成された第2の実施形態の要求抽出システムでは、不要語句削除部41は、構文解析を行うことなく、不要システム語句記憶部31に記憶されている不要システム語句に一致する部分が存在するか否かを調べて、文書全体から不要システム語句を削除するので、例えば、不要システム語句が、造語や省略語など、構文解析で用いられる辞書に登録されていない未知な語句であっても、削除することができる。
また、第2の実施形態の要求抽出システムでは、不要語句削除部41は、構文解析によって分割された複数の形態素からなる語句が不要一般語句であるか否かを調べて削除するので、構文解析によって形態素を細分化し過ぎた場合にも、確実に不要一般語句を削除することができる。
さらに、第2の実施形態の要求抽出システムでは、候補抽出部42は、重要語句の候補から不要接頭語句および不要接尾語句を削除するので、不要接頭語句および不要接尾語句を含まずに、重要語句として望ましい形で重要語句を抽出することができる。例えば、「、」で開始する部分列は、先頭の「、」を削除した語句として抽出されるなど、分析者にとって見やすい形での重要語句の抽出を期待できる。
そして、第2の実施形態の要求抽出システムは、不要システム語句、不要一般語句、不要接頭語句、および不要接尾語句などの不要語句を削除して重要語句を抽出するので、第1の実施形態の要求抽出システムが抽出するよりも、重要語句の数を少なくすることができる。したがって、分析者は、重要語句を見る手間と時間とをさらに少なくすることができる。
図6は、本発明による要求抽出システムの主要部を示すブロック図である。図6に示すように、要求抽出システムは、文字列(例えば、文)の集合である文書から、一の文字列と他の文字列のそれぞれとで共通する連続した部分列の最大長の部分列を一の文字列に対する重要語句の候補(例えば、第1の実施形態の候補candに相当)として抽出する候補抽出部61(例えば、図1に示す候補抽出部22に相当)と、候補抽出部61によって抽出された一の文字列に対する重要語句の候補のうちの最大長の部分列を選択する候補統合部62(例えば、図1に示す候補統合部23に相当)と、候補統合部62によって選択された重要語句の候補による文字列ごとの集合(例えば、第1の実施形態の候補集合CandSet[i]に相当)のうち、他の文字列に対する集合の部分集合とならないものをまとめて重要語句の集合(例えば、第1の実施形態の重要語句集合Impに相当)とする集合統合部63(例えば、図1に示す集合統合部24に相当)とを備えるように構成されている。
また、上記の各実施形態では、以下の(1)〜(5)に示すような要求抽出システムも開示されている。
(1)候補抽出部は、一の文字列と他の文字列のそれぞれとで共通する連続した部分列の最大長の部分列のうち、所定の文字数(例えば、第1の実施形態の最小文字数MinLenに相当)以上の部分列だけを重要語句の候補として抽出する要求抽出システム。
(2)重要語句として抽出する必要がないと予め定められた不要語句を文書から削除する不要語句削除部(例えば、図3に示す不要語句削除部41に相当)を備える要求抽出システム。
(3)不要語句削除部は、文書ごとに抽出する必要がないと予め定められた不要語句(例えば、図3に示す不要システム語句記憶部31に記憶される不要システム語句に相当)に一致する部分を文書から削除し(例えば、図4のステップB1〜B4に示す動作によって実現される。)、構文解析によって分割された1つまたは連続する複数の形態素が、一般に抽出する必要がないと予め定められた不要語句(例えば、図3に示す不要一般語句記憶部32に記憶される不要一般語句に相当)に一致する場合に、当該形態素を文書から削除する(例えば、図4のステップB5〜B16に示す動作によって実現される。)要求抽出システム。
(4)候補抽出部は、予め定められた重要語句の第1文字として不適な不要接頭語句(例えば、図3に示す不要接頭語句記憶部33に記憶される不要接頭語句に相当)を語頭に含まず、予め定められた重要語句の最終文字として不適な不要接尾語句(例えば、図3に示す不要接尾語句記憶部34に記憶される不要接尾語句に相当)を語尾に含まない重要語句の候補を抽出する要求抽出システム(例えば、図5のステップC1〜C6に示す動作によって実現される。)。
(5)文書における文、一行、段落、章のいずれか、またはその組合せを文字列とする要求抽出システム。
(付記1)重要語句として抽出する必要がないと予め定められた不要語句を文書から削除する要求抽出方法。
(付記2)文書ごとに抽出する必要がないと予め定められた不要語句に一致する部分を文書から削除し、構文解析によって分割された1つまたは連続する複数の形態素が、一般に抽出する必要がないと予め定められた不要語句に一致する場合に、当該形態素を文書から削除する要求抽出方法。
(付記3)予め定められた重要語句の第1文字として不適な不要接頭語句を語頭に含まず、予め定められた重要語句の最終文字として不適な不要接尾語句を語尾に含まない重要語句の候補を抽出する要求抽出方法。
(付記4)コンピュータに、重要語句として抽出する必要がないと予め定められた不要語句を文書から削除する処理を実行させるための要求抽出プログラム。
(付記5)コンピュータに、文書ごとに抽出する必要がないと予め定められた不要語句に一致する部分を文書から削除する処理と、構文解析によって分割された1つまたは連続する複数の形態素が、一般に抽出する必要がないと予め定められた不要語句に一致する場合に、当該形態素を文書から削除する処理とを実行させるための要求抽出プログラム。
(付記6)コンピュータに、予め定められた重要語句の第1文字として不適な不要接頭語句を語頭に含まず、予め定められた重要語句の最終文字として不適な不要接尾語句を語尾に含まない重要語句の候補を抽出する処理を実行させるための要求抽出プログラム。
なお、上記実施形態の説明には、複数のフローチャートを用いており、それぞれに複数のステップを順番に記載してあるが、その記載の順番は、本発明の情報処理方法のステップを実行する順番を限定するものではない。このため、本発明の情報処理方法を実行するときには、その複数のステップの順番は内容的に支障しない範囲で変更することができる。
なお、当然ながら、上述した実施の形態および複数の変形例は、その内容が相反しない範囲で組み合わせることができる。また、上述した実施の形態および変形例では、各構成要素の機能などを具体的に説明したが、その機能などは本願発明を満足する範囲で各種に変更することができる。
この出願は、2010年1月18日に出願された日本出願特願2010−8010号を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (10)

  1. 文字列の集合である文書から、一の文字列と他の文字列のそれぞれとで共通する連続した部分列の最大長の部分列を一の文字列に対する重要語句の候補として抽出する候補抽出部と、
    前記候補抽出部によって抽出された一の文字列に対する重要語句の候補のうちの、他の候補の部分列とならない候補を選択する候補統合部と、
    前記候補統合部によって選択された、各文字列についての重要語句の候補の集合のうち、他の文字列についての集合の部分集合とならないものをまとめて重要語句の集合とする集合統合部と、
    を備えることを特徴とする要求抽出システム。
  2. 前記候補抽出部は、一の文字列と他の文字列のそれぞれとで共通する連続した部分列の最大長の部分列のうち、所定の文字数以上の部分列だけを重要語句の候補として抽出する請求項1記載の要求抽出システム。
  3. 重要語句として抽出する必要がないと予め定められた不要語句を文書から削除する不要語句削除部を備える請求項1または請求項2記載の要求抽出システム。
  4. 前記不要語句削除部は、文書ごとに抽出する必要がないと予め定められた不要語句に一致する部分を前記文書から削除し、構文解析によって分割された1つまたは連続する複数の形態素が、一般に抽出する必要がないと予め定められた不要語句に一致する場合に、当該形態素を前記文書から削除する請求項3記載の要求抽出システム。
  5. 前記候補抽出部は、予め定められた重要語句の第1文字として不適な不要接頭語句を語頭に含まず、予め定められた重要語句の最終文字として不適な不要接尾語句を語尾に含まない重要語句の候補を抽出する請求項1から請求項4のうちのいずれか1項に記載の要求抽出システム。
  6. 文書における文、一行、段落、章のいずれか、またはその組合せを文字列とする請求項1から請求項5のうちのいずれか1項に記載の要求抽出システム。
  7. コンピュータにより実行される要求抽出方法において、
    文字列の集合である文書から、一の文字列と他の文字列のそれぞれとで共通する連続した部分列の最大長の部分列を一の文字列に対する重要語句の候補として抽出し、
    前記抽出された一の文字列に対する重要語句の候補のうちの、他の候補の部分列とならない候補を選択し、
    前記選択された、各文字列についての重要語句の候補の集合のうち、他の文字列についての集合の部分集合とならないものをまとめて重要語句の集合とする、
    ことを特徴とする要求抽出方法。
  8. 一の文字列と他の文字列のそれぞれとで共通する連続した部分列の最大長の部分列のうち、所定の文字数以上の部分列だけを重要語句の候補として抽出する請求項7記載の要求抽出方法。
  9. コンピュータに、
    文字列の集合である文書から、一の文字列と他の文字列のそれぞれとで共通する連続した部分列の最大長の部分列を一の文字列に対する重要語句の候補として抽出する処理と、
    前記抽出された一の文字列に対する重要語句の候補のうちの、他の候補の部分列とならない候補を選択する処理と、
    前記選択された、各文字列についての重要語句の候補の集合のうち、他の文字列についての集合の部分集合とならないものをまとめて重要語句の集合とする処理と、
    を実行させるための要求抽出プログラム。
  10. コンピュータに、
    一の文字列と他の文字列のそれぞれとで共通する連続した部分列の最大長の部分列のうち、所定の文字数以上の部分列だけを重要語句の候補として抽出する処理、
    を更に実行させるための請求項9記載の要求抽出プログラム。
JP2011549767A 2010-01-18 2010-12-13 要求抽出システム、要求抽出方法および要求抽出プログラム Active JP5678896B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011549767A JP5678896B2 (ja) 2010-01-18 2010-12-13 要求抽出システム、要求抽出方法および要求抽出プログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010008010 2010-01-18
JP2010008010 2010-01-18
PCT/JP2010/007229 WO2011086637A1 (ja) 2010-01-18 2010-12-13 要求抽出システム、要求抽出方法および要求抽出プログラム
JP2011549767A JP5678896B2 (ja) 2010-01-18 2010-12-13 要求抽出システム、要求抽出方法および要求抽出プログラム

Publications (2)

Publication Number Publication Date
JPWO2011086637A1 JPWO2011086637A1 (ja) 2013-05-16
JP5678896B2 true JP5678896B2 (ja) 2015-03-04

Family

ID=44303944

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011549767A Active JP5678896B2 (ja) 2010-01-18 2010-12-13 要求抽出システム、要求抽出方法および要求抽出プログラム

Country Status (3)

Country Link
US (1) US20120284271A1 (ja)
JP (1) JP5678896B2 (ja)
WO (1) WO2011086637A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6379666B2 (ja) * 2014-05-21 2018-08-29 富士通株式会社 文書解析装置、文書解析プログラム及び文書解析方法
JP6008067B2 (ja) * 2014-07-22 2016-10-19 日本電気株式会社 テキスト処理システム、テキスト処理方法およびテキスト処理プログラム
JP6476886B2 (ja) * 2015-01-19 2019-03-06 日本電気株式会社 キーワード抽出システム、キーワード抽出方法、及び、コンピュータ・プログラム
JP7183600B2 (ja) * 2018-07-20 2022-12-06 株式会社リコー 情報処理装置、システム、方法およびプログラム
CN112307251B (zh) * 2019-06-24 2021-08-20 上海松鼠课堂人工智能科技有限公司 英语词汇知识点图谱自适应识别关联系统和方法
CN114586038B (zh) * 2020-09-28 2024-08-27 京东方科技集团股份有限公司 事件抽取和抽取模型训练的方法和装置、设备、介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022752A (ja) * 1999-07-02 2001-01-26 Hitachi Tohoku Software Ltd 文字組抽出方法、文字組抽出装置および文字組抽出のための記録媒体
JP2005107793A (ja) * 2003-09-30 2005-04-21 Sony Corp キーワード抽出装置、およびキーワード抽出方法、並びにコンピュータ・プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5794177A (en) * 1995-07-19 1998-08-11 Inso Corporation Method and apparatus for morphological analysis and generation of natural language text
JP3113814B2 (ja) * 1996-04-17 2000-12-04 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 情報検索方法及び情報検索装置
US6076060A (en) * 1998-05-01 2000-06-13 Compaq Computer Corporation Computer method and apparatus for translating text to sound
US8612208B2 (en) * 2004-04-07 2013-12-17 Oracle Otc Subsidiary Llc Ontology for use with a system, method, and computer readable medium for retrieving information and response to a query
CA2657212C (en) * 2005-07-15 2017-02-28 Indxit Systems, Inc. Systems and methods for data indexing and processing
JP5224953B2 (ja) * 2008-07-17 2013-07-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、情報処理方法およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022752A (ja) * 1999-07-02 2001-01-26 Hitachi Tohoku Software Ltd 文字組抽出方法、文字組抽出装置および文字組抽出のための記録媒体
JP2005107793A (ja) * 2003-09-30 2005-04-21 Sony Corp キーワード抽出装置、およびキーワード抽出方法、並びにコンピュータ・プログラム

Also Published As

Publication number Publication date
US20120284271A1 (en) 2012-11-08
JPWO2011086637A1 (ja) 2013-05-16
WO2011086637A1 (ja) 2011-07-21

Similar Documents

Publication Publication Date Title
US11682226B2 (en) Method and system for assessing similarity of documents
US7424421B2 (en) Word collection method and system for use in word-breaking
US8224641B2 (en) Language identification for documents containing multiple languages
JP5678896B2 (ja) 要求抽出システム、要求抽出方法および要求抽出プログラム
US9965460B1 (en) Keyword extraction for relationship maps
JPS63254559A (ja) 複合ワードのためのスペリング援助方法
CN103052951B (zh) 字符串生成方法和系统
US20050273316A1 (en) Apparatus and method for translating Japanese into Chinese and computer program product
JP2006251843A (ja) 同義語対抽出装置及びそのためのコンピュータプログラム
JP4237813B2 (ja) 構造化文書管理システム
Paul et al. An affix removal stemmer for natural language text in nepali
KR101663038B1 (ko) 개체의 표면형 문자열 용례학습기반에 의한 텍스트에서의 개체 범위 인식 장치 및 그 방법
Howard et al. Phonetic spelling algorithm implementations for R
JP5447368B2 (ja) 新規事例生成装置、新規事例生成方法及び新規事例生成用プログラム
KR20170107808A (ko) 원문문장을 번역 소단위들로 분할하고 소번역단위들의 번역어순을 결정하는 번역어순패턴 데이터 구조, 이를 생성하기 위한 명령어들을 저장한 컴퓨터 판독가능한 저장매체 및 이를 가지고 번역을 수행하는 컴퓨터 판독가능한 저장매체에 저장된 번역 프로그램
JP6811087B2 (ja) 検索装置、検索方法、及びプログラム
JP3937741B2 (ja) 文書の標準化
KR101694179B1 (ko) 모음 제거 기반 인덱스 생성 방법 및 장치
JP5491446B2 (ja) 話題語獲得装置、方法、及びプログラム
JP6589704B2 (ja) 文境界推定装置、方法およびプログラム
JP5795302B2 (ja) 形態素解析装置、方法、及びプログラム
JP4985096B2 (ja) 文書解析システム、および文書解析方法、並びにコンピュータ・プログラム
WO2011118428A1 (ja) 要求獲得システム、要求獲得方法、及び要求獲得用プログラム
JP6777601B2 (ja) データ処理装置、データ処理方法及びデータ処理プログラム
KR20090066470A (ko) 기 분석 데이터를 이용한 한국어 형태소 분석 시스템 및방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140924

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141112

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141222

R150 Certificate of patent or registration of utility model

Ref document number: 5678896

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150