Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7705322B2 - Text analysis device and text analysis method - Google Patents
[go: Go Back, main page]

JP7705322B2 - Text analysis device and text analysis method - Google Patents

Text analysis device and text analysis method Download PDF

Info

Publication number
JP7705322B2
JP7705322B2 JP2021149360A JP2021149360A JP7705322B2 JP 7705322 B2 JP7705322 B2 JP 7705322B2 JP 2021149360 A JP2021149360 A JP 2021149360A JP 2021149360 A JP2021149360 A JP 2021149360A JP 7705322 B2 JP7705322 B2 JP 7705322B2
Authority
JP
Japan
Prior art keywords
dictionary
phrase
sentence
target
request
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
JP2021149360A
Other languages
Japanese (ja)
Other versions
JP2023042187A (en
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.)
Astemo Ltd
Original Assignee
Astemo Ltd
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 Astemo Ltd filed Critical Astemo Ltd
Priority to JP2021149360A priority Critical patent/JP7705322B2/en
Publication of JP2023042187A publication Critical patent/JP2023042187A/en
Application granted granted Critical
Publication of JP7705322B2 publication Critical patent/JP7705322B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

本発明は、文章解析装置及び文章解析方法に関する。 The present invention relates to a text analysis device and a text analysis method.

ソフトウェアプログラムが処理される各種システムの開発工程においては、システムの品質を担保するべく、当該システムが要求仕様を満たしているかについての検証が行われる。かかる検証作業を支援する技術の一例として、選択可能な自然言語テキストセグメントを組み合わせることによって機械読み出し可能な要求仕様の記述を作成し、当該記述に基づいて、システムが要求仕様を満たしているかの検証を行うテストを自動生成する技術が提案されている。 During the development process of various systems that process software programs, verification is performed to ensure the quality of the system as to whether the system meets the required specifications. One example of a technology that supports such verification work is a technology that creates a machine-readable description of the required specifications by combining selectable natural language text segments, and automatically generates tests based on the description to verify whether the system meets the required specifications.

特開2008-171391号公報JP 2008-171391 A

このように、システムが要求仕様を満たしているかについてどのように検証するかを決定するためには、要求仕様を、当該要求仕様が記述された文章から曖昧さが無く一意に解釈可能であることが望ましい。しかし、システム開発の上流工程で作成される仕様書等に含まれる要求仕様を記述した文章は、下流工程において作成されるソフトウェアの設計書等に比べて抽象的であり、曖昧な表現が用いられることが多い。その点において、前述した従来技術の例では、要求仕様の記述自体を機械読み出し可能な形式で生成することを提案している。しかし、このような特別な形式の記述ではなく、通常のシステム開発工程において作成される通常の要求仕様の記述に基づいて要求仕様を適切に解釈できることがより望ましい。また、このような文章に基づいて要求仕様を適切に解釈できるようにすることは、システムの検証作業のみならず、上流工程においてシステムの要求仕様を分析する段階等においても有効である。 In this way, in order to determine how to verify whether a system satisfies the requirement specifications, it is desirable that the requirement specifications can be interpreted uniquely and without ambiguity from the text in which the requirement specifications are described. However, the text describing the requirement specifications contained in the specifications, etc. created in the upstream process of system development is more abstract than the software design documents, etc. created in the downstream process, and often uses ambiguous expressions. In this regard, the above-mentioned example of the prior art proposes generating the description of the requirement specifications themselves in a machine-readable format. However, it is more desirable to be able to properly interpret the requirement specifications based on the normal description of the requirement specifications created in the normal system development process, rather than on the description in such a special format. In addition, being able to properly interpret the requirement specifications based on such text is effective not only in the system verification work, but also in the stage of analyzing the requirement specifications of the system in the upstream process.

そこで、本発明の一側面においては、システムの要求仕様が記述された要求文章に基づいて、当該システムの要求仕様を適切に解釈できるようにすることを目的とする。 Therefore, in one aspect of the present invention, it is an object of the present invention to make it possible to appropriately interpret the requirements specifications of a system based on a requirements document that describes the requirements specifications of the system.

本発明の一側面においては、開発対象のシステムに対する要求仕様が記述された要求文章を含む入力データを読み出して、前記要求文章の文章構造解析を行い、当該要求文章に含まれる対象語句の前記要求仕様における意味上の役割を識別する。また、前記システムに関連する語句に対して前記役割に応じた定義が前記役割ごとに対応付けられている辞書情報が格納された辞書データベースを、前記対象語句をキーとして検索して、前記辞書データベースから前記対象語句に対応する前記辞書情報を抽出する。さらに、前記辞書情報から、前記対象語句について識別された前記役割に応じた前記定義を抽出する。そして、前記要求文章とともに前記対象語句の前記役割に応じた前記定義を表示させることが可能な態様の出力データを生成して出力する。 In one aspect of the present invention, input data including a requirement sentence describing the requirement specifications for the system to be developed is read, a sentence structure analysis of the requirement sentence is performed, and the semantic role of a target phrase included in the requirement sentence in the requirement specifications is identified. In addition, a dictionary database in which dictionary information in which definitions corresponding to roles are associated with each role for phrases related to the system is searched using the target phrase as a key, and the dictionary information corresponding to the target phrase is extracted from the dictionary database. Furthermore, the definition corresponding to the role identified for the target phrase is extracted from the dictionary information. Then, output data is generated and output in a mode in which the definition corresponding to the role of the target phrase can be displayed together with the requirement sentence.

本発明の一側面によれば、システムの要求仕様が記述された要求文章に基づいて、当該システムの要求仕様を適切に解釈できるようになる。 According to one aspect of the present invention, it becomes possible to appropriately interpret the requirements specifications of a system based on a requirements document that describes the system requirements.

第1実施形態における文章解析装置の一例を示す図である。FIG. 1 is a diagram illustrating an example of a writing analysis device according to a first embodiment. 要求文章入力データの一例を示す図である。FIG. 11 is a diagram showing an example of request text input data. 辞書データベースの一例を示す図である。FIG. 4 is a diagram illustrating an example of a dictionary database. 類義語句データベースの一例を示す図である。FIG. 10 is a diagram illustrating an example of a synonym database. 要求文章出力データの出力態様の一例を示す図である。FIG. 11 is a diagram showing an example of an output mode of request text output data. 第1実施形態における文章解析処理の一例を示すフローチャートである。11 is a flowchart illustrating an example of a text analysis process according to the first embodiment. 辞書検索処理の詳細内容を示すフローチャートである。13 is a flowchart showing the details of a dictionary search process. 文章解析処理におけるデータ具体例を示した説明図であるFIG. 11 is an explanatory diagram showing a specific example of data in the text analysis process. 曖昧検索及び文章置き換え処理におけるデータ具体例を示した説明図である。FIG. 11 is an explanatory diagram showing a specific example of data in fuzzy search and sentence replacement processing. 第2実施形態における文章解析装置の一例を示す図である。FIG. 13 is a diagram illustrating an example of a writing analysis device according to a second embodiment. 第2実施形態における文章解析処理の一例を示すフローチャートである。13 is a flowchart illustrating an example of a text analysis process according to the second embodiment. 文章解析装置を構成するコンピュータのハードウェア構成を示す図である。FIG. 2 is a diagram illustrating a hardware configuration of a computer that constitutes the writing analysis device.

以下、添付された図面を参照し、本発明を実施するための実施形態について詳述する。
<本実施形態が適用される技術領域>
まず、本実施形態に関する理解を容易にするべく、本実施形態が適用される技術領域(背景)の一例について説明する。本実施形態は、コンピュータ(マイクロコンピュータを含む)においてプログラムが実行される各種システムの開発支援に関連するものである。一例として、車載システムの開発においては、A-SPICE(Automotive Software Process Improvement and Capability dEtermination)等のプロセスモデルに基づき、V字開発モデルと呼ばれるモデルを適用した開発工程に基づいた開発を行う。当該V字開発モデルにおいては、上流工程から下流工程の順、すなわち、(1)開発対象のシステムに対する要求(要件)分析、(2)システムアーキテクチャの設計、(3)ソフトウェア要件分析、(4)ソフトウェアアーキテクチャの設計、(5)ソフトウェア詳細設計、の順で開発を行う。そして、(1)~(5)の各工程について、下流工程から上流工程の順に、(6)ソフトウェア単体検証、(7)ソフトウェア統合テスト、(8)ソフトウェア適格性確認テスト、(9)システム統合テスト、(10)システム適格性確認テスト、の検証作業を行うことによって、システムの品質をさらに向上させる。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
<Technical area to which the present embodiment is applied>
First, in order to facilitate understanding of the present embodiment, an example of a technical field (background) to which the present embodiment is applied will be described. The present embodiment relates to development support for various systems in which a program is executed on a computer (including a microcomputer). As an example, in the development of an in-vehicle system, development is performed based on a development process that applies a model called a V-shaped development model based on a process model such as A-SPICE (Automotive Software Process Improvement and Capability dEtermination). In the V-shaped development model, development is performed in the order from upstream to downstream, that is, (1) requirement (requirement) analysis for the system to be developed, (2) system architecture design, (3) software requirement analysis, (4) software architecture design, and (5) software detailed design. Then, for each of the processes (1) to (5), verification work is performed in the order from downstream to upstream, such as (6) software unit verification, (7) software integration test, (8) software qualification test, (9) system integration test, and (10) system qualification test, thereby further improving the quality of the system.

ここで、前述のような開発工程において、例えば上流工程である(1)では、システムに対する要求仕様(要件)が記述されている要求仕様書等が参照される。このような要求仕様書等に含まれる、要求仕様が記述された要求文章は、例えば(5)のソフトウェア詳細設計の工程等において作成される詳細設計書等に比べると、より抽象的で曖昧であることが多い。したがって、例えば(1)の工程において、要求分析を正しく行うことが難しく、アナリスト等の技量に依存する部分が大きくなることがある。また、(1)の工程が正しく行われたかについて検証する(10)の工程においてシステムの適格性を確認するテストを作成する際に、システムが要求仕様を満たしているかをどのようなテストによって検証できるかを判断するのが難しいことがある。 In the development process described above, for example, in the upstream process (1), a requirements specification or the like is referenced, which describes the requirements (requirements) for the system. The requirements documents that describe the requirements and are included in such requirements specifications are often more abstract and vague than detailed design documents created in the software detailed design process (5). Therefore, for example, in process (1), it can be difficult to perform requirements analysis correctly, and a large portion of it depends on the skills of the analyst, etc. In addition, when creating tests to confirm the suitability of the system in process (10) to verify whether process (1) was performed correctly, it can be difficult to determine what kind of tests can be used to verify whether the system meets the requirements.

本実施形態は、このようなシステムの開発工程における上流工程において作成される要求文章についての解析を行うことにより、要求文章の曖昧さを低減させ、要求文章から要求仕様を明確に解釈できるようにする。これにより、要求仕様の解析作業や検証作業の精度を向上させることで、システムの開発支援を実現させる。 In this embodiment, by analyzing the requirements text created in the upstream process of the development process of such a system, the ambiguity of the requirements text is reduced, and the requirements specifications can be clearly interpreted from the requirements text. This improves the accuracy of the analysis and verification work of the requirements specifications, thereby realizing support for system development.

<第1実施形態>
[文章解析装置の構成]
図1は、第1実施形態における文章解析装置の一例を示す図である。文章解析装置1はコンピュータであり、プログラムを実行する制御部10及びプログラムの実行に用いるデータが格納される記憶部20を備える。制御部10は、プログラムが記憶部20からロードされ実行されることによってその機能が実現される、文章構造解析部11、辞書検索部12、定義抽出部13及び文章出力部14を備える。また、記憶部20は、制御部10によって実行されるプログラム本体のデータ(図示省略)の他に、少なくとも、要求文章入力データ21、辞書データベース22、類義語句データベース23及び要求文章出力データ24を備える。
First Embodiment
[Configuration of the text analysis device]
1 is a diagram showing an example of a writing analysis device in the first embodiment. The writing analysis device 1 is a computer, and includes a control unit 10 that executes a program, and a storage unit 20 in which data used to execute the program is stored. The control unit 10 includes a text structure analysis unit 11, a dictionary search unit 12, a definition extraction unit 13, and a text output unit 14, the functions of which are realized when the program is loaded from the storage unit 20 and executed. The storage unit 20 also includes at least request text input data 21, a dictionary database 22, a synonymous phrase database 23, and request text output data 24, in addition to data of the program body executed by the control unit 10 (not shown).

文章構造解析部11は、記憶部20から要求文章入力データ21を読み出し、要求文章入力データ21に含まれる要求文章について、文章構造解析処理を行う。文章構造解析部11は、当該文章構造解析処理により、要求文章に含まれる語句(1つの語、又は複数の語を結合した句を含み得る)について、当該要求文章に記述された要求仕様における意味上の役割を識別する。このような役割を識別する対象となる語句は、例えば名詞又は名詞句等であるが、これに限定されるものではない。本実施形態では、このような役割を、「条件」、「観測対象」及び「期待動作」の3つの役割に分類している。なお、以下の説明では、要求文章において当該役割を識別する対象となる語句を対象語句という。
辞書検索部12は、辞書データベース22にアクセスし、文章構造解析部11によって得られたそれぞれの対象語句に対応する辞書情報を抽出する。
定義抽出部13は、辞書検索部12によって抽出された辞書情報から、文章構造解析部11によって解析されたそれぞれの対象語句の役割に応じた定義を抽出する。
文章出力部14は、要求文章とともに定義抽出部13によって抽出された対象語句の役割に応じた定義を表示させることが可能な態様のデータである要求文章出力データ24を生成し、出力する。
The sentence structure analysis unit 11 reads out the request sentence input data 21 from the storage unit 20, and performs a sentence structure analysis process on the request sentence included in the request sentence input data 21. The sentence structure analysis unit 11 identifies the semantic role of a phrase (which may include one word or a phrase combining multiple words) included in the request sentence in the request specification described in the request sentence through the sentence structure analysis process. The phrase for which such a role is identified is, for example, a noun or a noun phrase, but is not limited to this. In this embodiment, such roles are classified into three roles: "condition", "observation target", and "expected action". In the following description, the phrase for which the role is identified in the request sentence is called a target phrase.
The dictionary search unit 12 accesses the dictionary database 22 and extracts dictionary information corresponding to each of the target words and phrases obtained by the sentence structure analysis unit 11 .
The definition extraction unit 13 extracts, from the dictionary information extracted by the dictionary search unit 12, a definition according to the role of each target word or phrase analyzed by the sentence structure analysis unit 11.
The sentence output unit 14 generates and outputs request sentence output data 24, which is data in a format capable of displaying a definition according to the role of the target word extracted by the definition extraction unit 13 together with the request sentence.

要求文章入力データ21は、システム開発における要求仕様書に含まれる要求文章が、コンピュータによって読み取ることが可能なフォーマット(例えばCSV(Comma Separated Values)等)で格納されたデータである。図2は、要求文章入力データ21の一例を表形式で示している。要求文章入力データ21は、例えば、それぞれの要求文章を識別するための要求ID、要求文章、要求仕様書の中で要求文章が属するチャプター(章節)を含む。 Requirement text input data 21 is data in which requirement text included in requirement specifications for system development is stored in a format that can be read by a computer (e.g., CSV (Comma Separated Values)). Figure 2 shows an example of requirement text input data 21 in table format. Requirement text input data 21 includes, for example, a requirement ID for identifying each requirement text, the requirement text, and the chapter to which the requirement text belongs in the requirement specifications.

辞書データベース22は、開発対象のシステムに関連する語句について、その定義(当該語句に関する具体的な内容の説明)が対応付けられているデータベースである。図3は、辞書データベース22のデータ構造の一例を示す。図3に示すように、辞書データベース22では、辞書情報として、それぞれの語句に対し、前述したような要求仕様における意味上の役割ごとに、定義が対応付けられている。本実施形態では、前述したように、このような役割を、「条件」、「観測対象」及び「期待動作」の3つの役割に分類している。なお、役割の分類はこのような例に限定されるものではなく、システムにおける要求文章の内容や特性によって任意に設定することが可能である。また、全ての語句についてこれらの3つの役割全ての定義が対応付けられている必要はなく、語句によっては3つのうちのいずれかの定義のみ対応付けられていてもよい。また、図3に示すように、辞書データベース22では、それぞれの役割に対して、当該語句がその役割に該当する確からしさが対応付けられている。当該辞書データベース22の辞書情報は、前述したシステム開発工程の全てにおいて任意に登録することが可能である。特に、システム開発工程の下流工程において当該辞書データベース22に辞書情報を登録することにより、語句に対し、より詳細な定義付けを行うことが可能である。このような辞書データベース22は、例えば、JSON(JavaScript Object Notation)等のフォーマットで作成することが可能である。 The dictionary database 22 is a database in which definitions (explanations of specific contents related to the term) are associated with terms related to the system to be developed. FIG. 3 shows an example of the data structure of the dictionary database 22. As shown in FIG. 3, in the dictionary database 22, a definition is associated with each term as dictionary information for each semantic role in the requirement specification as described above. In this embodiment, as described above, such roles are classified into three roles, namely, "condition", "observation target" and "expected action". Note that the classification of roles is not limited to this example, and can be set arbitrarily depending on the contents and characteristics of the requirement sentence in the system. In addition, it is not necessary to associate all of these three role definitions with all terms, and only one of the three definitions may be associated with some terms. In addition, as shown in FIG. 3, in the dictionary database 22, the likelihood that the term corresponds to the role is associated with each role. The dictionary information of the dictionary database 22 can be registered arbitrarily in all of the system development processes described above. In particular, by registering dictionary information in the dictionary database 22 in the downstream process of the system development process, it is possible to provide more detailed definitions for words and phrases. Such a dictionary database 22 can be created in a format such as JSON (JavaScript Object Notation).

類義語句データベース23は、開発対象のシステムに関連する語句について、その類義語句が対応付けられているデータベースである。類義語句データベース23では、図4に示すように、それぞれの語句に対し、1つ又は複数の類義語句、及び、当該語句を当該類義語句への読み替えることの確からしさが対応付けられている。類義語句データベース23のデータは、システム開発を開始する前に先行して登録することが可能であるほか、前述したシステム開発工程の全てにおいて任意に登録することが可能である。 The synonym database 23 is a database in which synonyms are associated with words related to the system to be developed. As shown in FIG. 4, in the synonym database 23, one or more synonyms and the likelihood that the word can be read as the synonym are associated with each word. Data in the synonym database 23 can be registered in advance before the start of system development, or can be registered at any time during any of the system development processes described above.

要求文章出力データ24は、要求文章とともに対象語句の役割に応じた定義を表示させることが可能な態様のデータである。要求文章出力データ24は、一例として、要求文章を含んだHTML(Hyper Text Markup Language)データで構成され得る。図5は、要求文章出力データ24がHTMLデータのフォーマットで生成され、当該HTMLデータがウェブブラウザ上で出力された状態の一例を示す。要求文章出力データ24では、HTMLデータにJavaScriptやCSS(Cascading Style Sheets)等を組み込むことにより、ウェブブラウザ上で要求文章を表示するとともに、各語句の役割に対応する定義をコメントとして動的に表示するように実装することができる。 The request sentence output data 24 is data in a form that allows a definition corresponding to the role of the target phrase to be displayed together with the request sentence. As an example, the request sentence output data 24 may be configured as HTML (Hyper Text Markup Language) data that includes the request sentence. FIG. 5 shows an example of the request sentence output data 24 generated in HTML data format and output on a web browser. By incorporating JavaScript, CSS (Cascading Style Sheets), etc. into the HTML data, the request sentence output data 24 can be implemented to display the request sentence on a web browser and dynamically display the definition corresponding to the role of each phrase as a comment.

[文章解析処理]
図6は、第1実施形態における文章解析装置1において実行される文章解析処理を示すフローチャートである。
ステップ1001(図ではS1001と表記する。以下同様)で、文章構造解析部11は、記憶部20から要求文章入力データ21を読み出す。そして、文章構造解析部11は、要求文章入力データ21に含まれる要求文章について、文章構造解析処理を行う。
[Text analysis processing]
FIG. 6 is a flowchart showing the text analysis process executed in the text analysis device 1 in the first embodiment.
In step 1001 (denoted as S1001 in the figure, and the same applies below), the sentence structure analysis unit 11 reads out the request sentence input data 21 from the storage unit 20. Then, the sentence structure analysis unit 11 performs a sentence structure analysis process on the request sentence included in the request sentence input data 21.

文章構造解析処理には、例えば、次の3つの処理が含まれる。
(1)形態素解析
文章構造解析部11は、要求文章について、言語上で意味を持つ最小単位である形態素に分割し、それぞれの形態素の品詞や語形変化を判別する形態素解析を行う。形態素解析には既存技術を用いることができ、具体例としてはMeCabやJUMAN等の解析ツールが提供されているほか、解析処理に用いる辞書として既存のコーパス等を利用することが可能である。
The text structure analysis process includes, for example, the following three processes.
(1) Morphological Analysis The sentence structure analysis unit 11 performs morphological analysis by dividing the request sentence into morphemes, which are the smallest units that have meaning in a language, and determining the part of speech and inflection of each morpheme. Existing technology can be used for the morphological analysis. As specific examples, analysis tools such as MeCab and JUMAN are provided, and an existing corpus can be used as a dictionary to be used in the analysis process.

(2)構文解析
次に、文章構造解析部11は、形態素解析の結果に基づき、要求文章に含まれるそれぞれの語句の関係性について解析する構文解析(係り受け解析)を行う。構文解析には既存技術を用いることができ、例えば、機械学習のアルゴリズムに基づくツールを利用することが可能である。このようなツールとして、例えば、TensorFlowを利用して構築された再帰型ニューラルネットワーク(RNN(Recurrent Neural Network))モデルであり、自然言語理解(NLU(Natural Language Understanding))に特化したSyntaxNet等がある。
(2) Syntax Analysis Next, the sentence structure analysis unit 11 performs syntactic analysis (dependency analysis) to analyze the relationship between each word in the request sentence based on the result of the morphological analysis. Existing technology can be used for the syntactic analysis, and for example, a tool based on a machine learning algorithm can be used. As such a tool, for example, there is SyntaxNet, which is a recurrent neural network (RNN) model built using TensorFlow and is specialized for natural language understanding (NLU).

(3)語句の役割解析(意味解析)
文章構造解析部11は、形態素解析及び構文解析の結果に基づき、要求文章に含まれる対象語句について、要求文章中における役割(「条件」、「観測対象」、「期待動作」のいずれであるか)を識別する。このときの役割の分類は、辞書データベース22の辞書情報において設定され得る役割の分類と一致させるものとする。このような役割の解析処理は、例えば、機械学習のアルゴリズムに基づくディープラーニングによって実現することができる。このようなディープラーニングを実現する既存技術の具体例として、Pythonで記述されたニューラルネットワークのフレームワーク等を用いることができる。
(3) Role analysis of words (semantic analysis)
The sentence structure analysis unit 11 identifies the role (whether it is "condition", "observation target", or "expected action") of the target phrase contained in the request sentence based on the results of the morphological analysis and syntactic analysis. The role classification at this time is to be consistent with the role classification that can be set in the dictionary information of the dictionary database 22. Such role analysis processing can be realized, for example, by deep learning based on a machine learning algorithm. As a specific example of an existing technology that realizes such deep learning, a neural network framework written in Python can be used.

ディープラーニングによる処理の一例として、要求文章において用いられる語の役割を「条件」、「観測対象」、「期待動作」に分類した教師データを用意し、当該教師データを用いて学習処理を行い、学習モデルを生成することが可能である。また、ディープラーニングの入力層としては、例えば、対象の語句自体、要求文章の文法構造、要求仕様書の中で要求文章が属するチャプター、要求文章に含まれるキーワード等を含めることができる。要求文章の文法構造を示す情報は、例えば、対象の語句の前後の語がどのような語であるかを示す情報である。具体例としては、当該情報は、対象の語句の直後に「において」等の助詞があれば、役割が「条件」である可能性が高い、といった解析に用いることができる。また、出力層は、前述した語句の役割、すなわち、「条件」、「観測対象」及び「期待動作」のいずれかを示す情報とすることができる。なお、図1では図示を省略しているが、当該ディープラーニングに用いる教師データや学習モデルのデータも文章解析装置1の記憶部20に格納されている。 As an example of processing by deep learning, it is possible to prepare teacher data in which the roles of words used in a request sentence are classified into "condition", "object of observation", and "expected action", and to perform a learning process using the teacher data to generate a learning model. In addition, the input layer of deep learning can include, for example, the target phrase itself, the grammatical structure of the request sentence, the chapter to which the request sentence belongs in the request specification, and keywords included in the request sentence. Information indicating the grammatical structure of the request sentence is, for example, information indicating what words are before and after the target phrase. As a specific example, the information can be used for analysis such as, if there is a particle such as "in" immediately after the target phrase, the role is likely to be "condition". In addition, the output layer can be information indicating the role of the above-mentioned phrase, that is, one of "condition", "object of observation", and "expected action". Although not shown in FIG. 1, the teacher data and learning model data used in the deep learning are also stored in the storage unit 20 of the text analysis device 1.

ステップ1002で、辞書検索部12は、辞書データベース22にアクセスし、要求文章に含まれる対象語句のそれぞれに対応する辞書情報を検索して抽出する処理を行う。当該辞書検索処理の詳細については後述する。辞書検索部12によって辞書データベース22から抽出される辞書情報には、図3に示したように、要求文章における対象語句の役割、すなわち、「条件」、「観測対象」及び「期待動作」の全部又は一部にそれぞれ対応する定義、及びそれぞれの確からしさを示す情報が含まれる。 In step 1002, the dictionary search unit 12 accesses the dictionary database 22 and performs a process of searching and extracting dictionary information corresponding to each of the target words and phrases included in the request sentence. The details of the dictionary search process will be described later. The dictionary information extracted from the dictionary database 22 by the dictionary search unit 12 includes information indicating the roles of the target words and phrases in the request sentence, i.e., definitions corresponding to all or part of "conditions", "object of observation", and "expected action", as shown in FIG. 3, and the likelihood of each.

ステップ1003で、定義抽出部13は、要求文章に含まれる対象語句のうち、辞書データベース22から辞書情報が抽出された対象語句のそれぞれについて、辞書情報から、文章構造解析部11によって識別された対象語句の役割に応じた定義を抽出する。 In step 1003, the definition extraction unit 13 extracts a definition from the dictionary information for each of the target phrases included in the request sentence, for which dictionary information has been extracted from the dictionary database 22, that corresponds to the role of the target phrase identified by the sentence structure analysis unit 11.

ステップ1004で、文章出力部14は、要求文章に含まれる対象語句のうち、役割に応じた定義が抽出された対象語句について、要求文章とともに当該語句の定義を示すことが可能な要求文章出力データ24を生成して出力する。前述したように、文章出力部14は、一例として、図5に示したように、ウェブブラウザ上で要求文章を表示するとともに、各対象語句の役割に応じた定義をコメントとして動的に表示させることができる。これにより、ユーザは、要求文章とともにそれぞれの対象語句の役割に応じた定義を参照することが可能となる。また、このとき、文章出力部14は、同じく図5に示すように、語句の役割に応じた定義について、辞書データベース22に設定された確からしさを併せて出力することも可能である。 In step 1004, the sentence output unit 14 generates and outputs request sentence output data 24 capable of showing the definition of a target phrase, from among the target phrases included in the request sentence, for which a definition according to the role has been extracted, together with the request sentence. As described above, the sentence output unit 14 can, as an example, display the request sentence on a web browser as shown in FIG. 5, and dynamically display the definition according to the role of each target phrase as a comment. This allows the user to refer to the definition according to the role of each target phrase together with the request sentence. At this time, the sentence output unit 14 can also output the likelihood set in the dictionary database 22 for the definition according to the role of the phrase, also as shown in FIG. 5.

図7は、図6で示した文章解析処理のステップ1002における辞書検索処理の詳細内容を示すフローチャートである。
ステップ1011で、辞書検索部12は、辞書データベース22にアクセスし、要求文章に含まれる対象語句をキーとして検索を行う。
ステップ1012で、辞書検索部12は、検索がヒットするか否か、すなわち、対象語句に対応する辞書情報が辞書データベース22に存在するか否かを判定する。辞書情報が存在する場合にはステップ1013に進み(Yes)、存在しない場合にはステップ1014に進む(No)。
ステップ1013で、辞書検索部12は、辞書データベース22から、対象語句に対応する辞書情報を抽出する。
FIG. 7 is a flow chart showing the detailed contents of the dictionary search process in step 1002 of the text analysis process shown in FIG.
In step 1011, the dictionary search unit 12 accesses the dictionary database 22 and performs a search using the target word or phrase contained in the request sentence as a key.
In step 1012, the dictionary search unit 12 determines whether the search results in a hit, that is, whether dictionary information corresponding to the target word or phrase exists in the dictionary database 22. If the dictionary information exists, the process proceeds to step 1013 (Yes), and if not, the process proceeds to step 1014 (No).
In step 1013, the dictionary search unit 12 extracts dictionary information corresponding to the target word or phrase from the dictionary database 22.

ステップ1014で、辞書検索部12は、対象語句について、辞書データベース22の曖昧検索をおこなう。具体的には、辞書検索部12は、対象語句をキーとして、類義語句データベース23を検索する。そして、検索がヒットする場合、すなわち、類義語句データベース23に対象語句に対応する類義語句のデータが存在する場合、辞書検索部12は、当該類義語句のデータから、類義語句と、対象語句を当該類義語句への読み替えることの確からしさとを抽出する。なお、当該曖昧検索においては、語句の一部について類義語句データベース23に対応する語句が登録されている場合は、当該語句の一部について類義語句への読み替えを実施するようにしてもよい。また、確からしさの数値が所定閾値以下である場合には、類義語句の抽出をしないようにしてもよい。そして、辞書検索部12は、抽出した類義語句をキーとして、辞書データベース22の再検索を行う。
ステップ1015で、辞書検索部12は、検索の結果、対象語句に対応する辞書情報が辞書データベースに存在するか否かを判定する。辞書情報が存在する場合にはステップ1013に進み(Yes)、存在しない場合にはステップ1016に進む(No)。
In step 1014, the dictionary search unit 12 performs a fuzzy search of the dictionary database 22 for the target phrase. Specifically, the dictionary search unit 12 searches the synonymous phrase database 23 using the target phrase as a key. If the search returns a hit, that is, if the synonymous phrase database 23 contains data of a synonymous phrase corresponding to the target phrase, the dictionary search unit 12 extracts a synonymous phrase and the likelihood of replacing the target phrase with the synonymous phrase from the synonymous phrase data. In addition, in the fuzzy search, if a corresponding phrase is registered in the synonymous phrase database 23 for a part of the phrase, the part of the phrase may be replaced with a synonymous phrase. In addition, if the likelihood value is equal to or less than a predetermined threshold value, the synonymous phrase may not be extracted. The dictionary search unit 12 then performs a re-search of the dictionary database 22 using the extracted synonymous phrase as a key.
In step 1015, the dictionary search unit 12 determines whether or not dictionary information corresponding to the target phrase exists in the dictionary database as a result of the search. If the dictionary information exists, the process proceeds to step 1013 (Yes), and if not, the process proceeds to step 1016 (No).

ステップ1016で、辞書検索部12は、要求文章について文章置き換え処理を行う。具体的には、辞書検索部12は、前述したような既存の構文解析技術を用いて、語句同士の係り受け関係を推定し、文章の意味が変わらないように語の順序を変更する。例えば、ある語句の粒度が辞書データベース22に含まれる辞書情報の語句よりも大きい場合(辞書データベース22に含まれる辞書情報の語句よりも上位概念である場合)を想定する。この場合において、当該語句を修飾する係り受け関係にある修飾語句が、要求文章中において当該語句と連続していない他の位置に存在する場合がある。この場合、当該語句と連続する位置に当該修飾語句を置き換えて1つの結合した語句とすることにより、当該語句がより具体化した意味を有するようになる。なお、このとき、位置を変更した語句の前後の助詞等について必要に応じて変更してもよい。そして、このように複数の語句が1つの語句に結合されたり、これらの連続した位置にある語句のそれぞれが類義語句に変換された後に1つの語句に結合されたりすることにより、当該語句が辞書データベース22に含まれる語句と一致する場合がある。 In step 1016, the dictionary search unit 12 performs a sentence replacement process on the request sentence. Specifically, the dictionary search unit 12 uses the existing syntax analysis technology described above to estimate the dependency relationship between words and changes the order of words so that the meaning of the sentence does not change. For example, assume that the granularity of a certain word is larger than that of the word in the dictionary information contained in the dictionary database 22 (that is, the word is a higher concept than the word in the dictionary information contained in the dictionary database 22). In this case, a modifier word that is in a dependency relationship and modifies the word may exist in another position in the request sentence that is not consecutive to the word. In this case, the modifier word is replaced in a position consecutive to the word to form a single combined word, so that the word has a more specific meaning. At this time, the particles before and after the word whose position has been changed may be changed as necessary. In this way, when multiple words are combined into one word, or when each of these consecutive words is converted into a synonym and then combined into one word, the word may match a word contained in the dictionary database 22.

そして、ステップ1016で文章置き換え処理を行った後、辞書検索部12は、再度ステップ1011に処理を進め、文章置き換え処理を行った状態で、再度辞書データベース22の検索を行う。なお、辞書データベース22の検索がヒットしなかった場合のステップ14~16の処理を行う回数をカウントし、当該回数が所定閾値を超過した場合には、辞書情報検索処理を終了するようにしてもよい。 After performing the sentence replacement process in step 1016, the dictionary search unit 12 again proceeds to step 1011, and searches the dictionary database 22 again after the sentence replacement process has been performed. Note that the number of times that the processes in steps 14 to 16 are performed when the search in the dictionary database 22 does not return a hit may be counted, and if the number of times exceeds a predetermined threshold, the dictionary information search process may be terminated.

[文章解析処理のデータ具体例]
図8は、図6を参照して説明した文章解析処理について、データ具体例を示した説明図である。ここでは、図2で示した要求文章入力データ21の要求ID「ID-001」の要求文章である、「退避走行モードにおける車両速度は50km/h以下に制限すること」を処理対象とする。
当該要求文章について、文章構造解析部11が文章構造解析処理(S1001)のうちの形態素解析及び構文解析を行った結果、当該要求文章は、例えば「退避走行モード における 車両速度 は 50km/h 以下 に 制限する こと」と分割され得る。そして、これらのうち、「退避走行モードにおける」の部分は、「における」という記述があること等により修飾語(M)と解析され得る。「車両速度は」の部分は、「は」の助詞があること等により主語(S)と解析され得る。「50km/h 以下 に」の部分は、「に」の助詞があること等により「補語(C)」と解析され得る。また、「制限する」の部分は、品詞が動詞であること等から、述語(V)と解析され得る。
[Example of data for text analysis processing]
Fig. 8 is an explanatory diagram showing a specific data example for the sentence analysis process described with reference to Fig. 6. Here, the request sentence with the request ID "ID-001" in the request sentence input data 21 shown in Fig. 2, "The vehicle speed in the evacuation driving mode should be limited to 50 km/h or less", is the target of processing.
As a result of the sentence structure analysis unit 11 performing morphological analysis and syntactic analysis of the request sentence in the sentence structure analysis process (S1001), the request sentence can be divided into, for example, "The vehicle speed in the evacuation driving mode is limited to 50 km/h or less." Among these, the part "in the evacuation driving mode" can be analyzed as a modifier (M) because of the description "in." The part "The vehicle speed is" can be analyzed as a subject (S) because of the particle "wa." The part "50 km/h or less to" can be analyzed as a complement (C) because of the particle "ni." Furthermore, the part "limit" can be analyzed as a predicate (V) because the part of speech is a verb.

そして、当該解析結果に基づいて、さらにそれぞれの語句の役割が識別される。例えば、「退避走行モード」は、修飾語に含まれていることや「における」という記述等により、要求文章中における役割が「条件」であると識別され得る。「車両速度」は、主語に含まれること等から、要求文章中における役割が「観測対象」であると識別され得る。「50km/h以下」や「制限する」は、補語や述語に含まれていること等から、要求文章中における役割が「期待動作」であると識別され得る。 Then, based on the analysis results, the role of each word is further identified. For example, the role of "evacuation driving mode" in the request sentence can be identified as "condition" because it is included in the modifier and because of the description "in". The role of "vehicle speed" in the request sentence can be identified as "object of observation" because it is included in the subject. The roles of "50 km/h or less" and "restrict" in the request sentence can be identified as "expected action" because they are included in the complement and predicate.

次に、それぞれの語句について、辞書検索部12が辞書情報の検索を行う。具体的には、辞書データベース22にアクセスし、それぞれの語句をキーとして辞書データベース22の検索を行い、辞書情報を抽出する(S1002、S1011~S1016)。本データ具体例においては、図3に示した辞書データベース22から、「退避走行モード」と「車両速度」のそれぞれについて、辞書情報が抽出されるものとする。それぞれの辞書情報には、本実施形態における語句の役割の分類である「条件」、「観測対象」及び「期待動作」と、これらのそれぞれの役割に対応付けられた定義及び確からしさが含まれる。 Next, the dictionary search unit 12 searches the dictionary information for each word. Specifically, the dictionary database 22 is accessed, and the dictionary database 22 is searched using each word as a key to extract dictionary information (S1002, S1011 to S1016). In this specific data example, dictionary information is extracted for each of "evacuation driving mode" and "vehicle speed" from the dictionary database 22 shown in FIG. 3. Each piece of dictionary information includes "conditions," "object of observation," and "expected actions," which are classifications of the roles of words in this embodiment, as well as definitions and probabilities associated with each of these roles.

そして、定義抽出部13が、「退避走行モード」と「車両速度」のそれぞれについて抽出された辞書情報から、それぞれの役割に応じた定義及び確からしさを抽出する。本データ具体例では、「退避走行モード」の役割が「条件」であると識別されたことから、辞書情報のうち、「診断○○と××が両方NGだった場合にフラグ△△が立ち退避走行モードとなる」という定義と、確からしさ「85パーセント」が抽出される。また、「車両速度」については、その役割が「観測対象」であると識別されたことから、辞書情報のうち、「RAM値:○○〇(演算周期xx ms) 受信値:××× (CAN) 生値計測方法:△△△」という定義と、確からしさ「75パーセント」が抽出される。 Then, the definition extraction unit 13 extracts a definition and a probability according to each role from the dictionary information extracted for each of "evacuation driving mode" and "vehicle speed". In this specific data example, since the role of "evacuation driving mode" is identified as "condition", the definition "If both diagnosis ○○ and ×× are NG, flag △△ becomes evacuation driving mode" and the probability "85 percent" are extracted from the dictionary information. In addition, since the role of "vehicle speed" is identified as "observation target", the definition "RAM value: ○○ (calculation period xx ms) Received value: XXX (CAN) Raw value measurement method: △△△" and the probability "75 percent" are extracted from the dictionary information.

さらに、文章出力部14が、要求文章とともにこれらの「退避走行モード」及び「車両速度」について抽出された定義を表示することが可能な要求文章出力データ24を生成して出力する。前述したように、図5は、要求文章出力データ24の出力例を示している。当該出力例では、コンピュータのディスプレイに表示された画面上に、要求文章の「退避走行モードにおける車両速度は50km/h以下に制限すること」を表示している。そして、当該要求文章のうち、役割に応じた定義が抽出された「退避走行モード」及び「車両速度」の語句については、下線を表示している。これらの語句にユーザがマウスのポインタを重ねると、その語句の役割、役割に応じた定義、確からしさがコメントとして動的に表示される。 Furthermore, the text output unit 14 generates and outputs request text output data 24 capable of displaying the extracted definitions for "evacuation driving mode" and "vehicle speed" together with the request text. As described above, FIG. 5 shows an example of the output of the request text output data 24. In this output example, the request text "Vehicle speed in evacuation driving mode should be limited to 50 km/h or less" is displayed on the screen displayed on the computer display. In the request text, the words "evacuation driving mode" and "vehicle speed" from which definitions corresponding to their roles have been extracted are underlined. When the user places the mouse pointer over these words, the role of the word, its definition corresponding to its role, and its likelihood are dynamically displayed as a comment.

次に、文章解析処理のうち、特に図7を参照して説明した辞書検索処理における曖昧検索(S1014)及び文章置き換え(S1016)について、図9に示すデータ具体例を参照して説明する。ここでは、図2で示した要求文章入力データ21の要求ID「ID-002」の要求文章である、「インバーターはシャットオフ要求を受けた際にスイッチオフしなければならない」を処理対象とする。一方で、図3に示すように、辞書データベース22には、「パワーモジュールシャットダウン」の語句が登録されている。また、図4に示すように、類義語句データベース23には、「インバーター」及び「スイッチオフ」の語句について、その類義語句及び確からしさが登録されている。 Next, the fuzzy search (S1014) and sentence replacement (S1016) in the dictionary search process described with reference to FIG. 7 among the sentence analysis processes will be described with reference to the specific data example shown in FIG. 9. Here, the request sentence "The inverter must be switched off when a shutoff request is received" is the request sentence with request ID "ID-002" in the request sentence input data 21 shown in FIG. 2, and is the target of processing. Meanwhile, as shown in FIG. 3, the phrase "power module shutdown" is registered in the dictionary database 22. Also, as shown in FIG. 4, the synonym database 23 registers synonyms and probabilities for the phrases "inverter" and "switch off".

ここで、当該要求文章について曖昧検索を行った場合、類義語句データベース23において「インバーター」及び「スイッチオフ」の語句のそれぞれについて類義語句が抽出できるが、それぞれの類義語句に対応する語句は辞書データベース22に登録されていない。そこで、当該要求文章について文章置き換え処理を行うと、その係り受け関係の解析等により、当該要求文章は「インバータースイッチオフはシャットオフ要求を受けた際にしなければならない」と変更され得る。そして、当該文章置き換え後の文章について再度曖昧検索を行うと、「インバータースイッチオフ」の語句について、「インバーター」の類義語句「パワーモジュール」、「スイッチオフ」の類義語句「シャットダウン」がそれぞれ抽出され得る。このようにして、当該要求文章において、これらを結合した「パワーモジュールシャットダウン」の語句が認識され得る。そして、辞書データベース22から「パワーモジュールシャットダウン」の語句の定義を抽出することが可能となる。 When a fuzzy search is performed on the request sentence, synonyms can be extracted for each of the words "inverter" and "switch off" in the synonym database 23, but words corresponding to each of the synonyms are not registered in the dictionary database 22. If a sentence replacement process is performed on the request sentence, the request sentence can be changed to "The inverter switch off must be performed when a shutoff request is received" by analyzing the dependency relationship. If a fuzzy search is then performed again on the sentence after the sentence replacement, the synonyms "power module" for "inverter" and "shutdown" for "switch off" can be extracted for the word "inverter switch off". In this way, the word "power module shutdown", which is a combination of these, can be recognized in the request sentence. It is then possible to extract the definition of the word "power module shutdown" from the dictionary database 22.

なお、この場合、「パワーモジュールシャットダウン」の類義語句への読み替えの確からしさは、図6に示す類義語句データベース23において設定されている、「パワーモジュール」の「50パーセント」と「シャットダウン」の「70パーセント」とを乗算した「35パーセント」とすることができる。さらに、このように曖昧検索がなされた場合、図5で示した要求文章出力データ24の出力例において、語句の役割に応じた定義とともに表示する確からしさは、例えば、役割に応じた定義の確からしさの値と類義語句への読み替えの確からしさの値とを乗算した値にしてもよい。
また、このように文章置き換え処理や曖昧検索処理がなされた場合には、文章出力部14は、要求文章の原文と、文章置き換え処理や曖昧検索において変換された文章との両方を表示するように要求文章出力データ24を生成するようにしてもよい。
In this case, the likelihood of "power module shutdown" being read as a synonymous phrase can be set to "35 percent" obtained by multiplying "50 percent" of "power module" and "70 percent" of "shutdown," which are set in the synonymous phrase database 23 shown in Fig. 6. Furthermore, when a fuzzy search is performed in this manner, the likelihood displayed together with the definition according to the role of the phrase in the output example of the request sentence output data 24 shown in Fig. 5 may be set to, for example, a value obtained by multiplying the value of the likelihood of the definition according to the role by the value of the likelihood of being read as a synonymous phrase.
Furthermore, when such a sentence replacement process or fuzzy search process is performed, the sentence output unit 14 may generate the request sentence output data 24 so as to display both the original text of the request sentence and the text converted in the sentence replacement process or fuzzy search.

[第1実施形態による効果等]
このように、本実施形態では、開発対象のシステムに対する要求仕様が記述された要求文章を解析する文章解析装置において、要求文章の文章構造解析を行い、当該要求文章に含まれる対象語句の役割を識別する。また、システムに関連する語句に対して役割に応じた定義が役割ごとに対応付けられている辞書情報が格納された辞書データベース22を、対象語句をキーとして検索し、辞書データベース22から対象語句に対応する辞書情報を抽出する。そして、辞書情報から、対象語句について識別された役割に対応付けられた定義を抽出し、要求文章を、対象語句の役割に応じた定義を表示させることが可能な態様で出力する。これにより、システム開発に携わるユーザは、要求文章とともに各語句の役割に応じた定義を参照することが可能となる。
[Effects of the first embodiment]
In this manner, in this embodiment, a text analysis device that analyzes a request text describing a requirement specification for a system to be developed performs a text structure analysis of the request text and identifies the role of a target phrase included in the request text. In addition, a dictionary database 22 that stores dictionary information in which definitions corresponding to roles are associated with each role for phrases related to the system is searched using the target phrase as a key, and dictionary information corresponding to the target phrase is extracted from the dictionary database 22. Then, a definition associated with the identified role for the target phrase is extracted from the dictionary information, and the request text is output in a form that allows the definition corresponding to the role of the target phrase to be displayed. This allows a user involved in system development to refer to the definition corresponding to the role of each phrase along with the request text.

ここで、特に、このように各語句の役割に応じた定義を参照することが可能となることは、次のような効果を奏する。すなわち、同じ語句であっても、例えば、それぞれの要求文章における文脈等によって、その語句が示す意味(対象物)が異なる場合がある。このため、単に語句に対して一意に設定された定義を参照することができても、その定義がそれぞれの要求文章において必ずしも的確であるとは限らない。この点につき、本実施形態では、辞書データベース22において、語句に対して役割に応じた定義が役割ごとに対応付けられている。そして、要求文章に含まれる対象語句について、当該対象語句について識別された役割に応じた定義が抽出される。これにより、ユーザは、要求仕様の内容に応じた的確な定義を参照することができる。 Here, being able to refer to definitions according to the role of each term in this way has the following effect. That is, even for the same term, the meaning (target) indicated by the term may differ depending on, for example, the context in each request sentence. For this reason, even if it is possible to simply refer to a definition uniquely set for a term, that definition may not necessarily be appropriate for each request sentence. In this regard, in the present embodiment, definitions according to roles are associated with terms in the dictionary database 22 for each role. Then, for target terms included in a request sentence, a definition according to the role identified for the target term is extracted. This allows the user to refer to an appropriate definition according to the content of the request specification.

したがって、本実施形態では、システム開発の下流工程において作成されるソフトウェアの設計書等に比べて抽象的であり、曖昧な表現が用いられることが多い要求仕様書等に含まれる要求文章であっても、その曖昧さを低減させることができる。このため、ユーザが当該要求文章に基づいて要求仕様を適切に解釈できるようになる。これにより、要求仕様の解析作業や検証作業の精度が向上し、システムの開発支援が実現されることとなる。 Therefore, in this embodiment, it is possible to reduce the ambiguity of requirement statements contained in requirement specifications, which are more abstract and often use ambiguous expressions compared to software design documents created in downstream processes of system development. This allows the user to properly interpret the requirement specifications based on the requirement statements. This improves the accuracy of the analysis and verification work of the requirement specifications, and realizes support for system development.

例えば、前述したV字開発モデルの場合では、開発工程の下流工程を経て、辞書データベース22に対し、開発対象のシステムに関連する語句について、役割に応じた詳細な定義を含んだ辞書情報が多数登録される。このため、特に、その後に実施される要求分析の検証工程(システム適格性確認テスト)において、辞書データベース22の検索におけるヒット率が向上する。したがって、要求文章に対し、より多くの対象語句の役割に応じた定義を抽出することが可能となり、要求分析の検証作業の精度が向上する。 For example, in the case of the V-shaped development model described above, after downstream development processes, a large amount of dictionary information containing detailed definitions according to the roles of words related to the system being developed is registered in the dictionary database 22. This improves the hit rate in searches of the dictionary database 22, particularly in the verification process of the requirements analysis (system eligibility confirmation test) that is carried out afterwards. This makes it possible to extract definitions according to the roles of more target words for the requirements text, improving the accuracy of the verification work of the requirements analysis.

ここで、本実施形態が適用される開発対象のシステムの一例として、自動車のパワートレインの制御装置のように、制御対象のダイナミクスまでをセンシング及びコントロールするメカトロニクスシステムの場合について考察する。この場合、当該制御装置が満たすべき要求仕様には、制御対象である自動車のエンジンやトランスミッションなどのパワートレインのふるまいが含まれる。一例を挙げれば、ドライバーのアクセル操作について、スロットル開度や燃料噴射量を調整したときに期待された加速度が得られるかなど、乗り味の官能評価まで求められる。このような要求仕様を文章で記述した要求文章は、必然的に曖昧さを含有せざるを得ない。一方で、実際の開発工程においては、具体的にどのセンサやアクチュエータをいつどうやって制御するかを検討し作成したシステムアーキテクチャの設計や詳細設計等の下流工程を経ることとなる。しかし、システムが複雑であるがゆえ、これらの下流工程において作成されたシステムの個々の構成要素に対する設計内容と、元々の要求仕様との関連性が希薄になりがちである。したがって、本来検証すべき大元の要求仕様が満たされているかを具体的にどのように検証すればよいのかについて決定するのが難しい場面が生じていた。このような場面において、本実施形態によれば、要求仕様に含まれる対象語句に対し、その役割に応じて、下流工程で設定された具体的な定義を参照できるようになる。これにより、要求仕様を満たすには詳細設計等におけるどの構成要素のどの機能が実現されていればよいかなど、要求仕様と個々のシステムの構成要素との関連性を容易に把握することが可能となる。 Here, as an example of a system to be developed to which the present embodiment is applied, a mechatronics system that senses and controls the dynamics of the controlled object, such as a control device for an automobile powertrain, will be considered. In this case, the required specifications that the control device must satisfy include the behavior of the powertrain of the controlled object, such as the engine and transmission of the automobile. For example, the driver's accelerator operation is required to achieve the expected acceleration when the throttle opening and fuel injection amount are adjusted, and a sensory evaluation of the ride quality is also required. A requirement document that describes such required specifications in a document inevitably contains ambiguity. On the other hand, in the actual development process, downstream processes such as the design and detailed design of the system architecture that is created by considering when and how to control which sensors and actuators are specifically created. However, because the system is complex, the relevance between the design contents for the individual components of the system created in these downstream processes and the original required specifications tends to be weak. Therefore, there have been cases where it is difficult to determine how to specifically verify whether the original required specifications that should be verified are satisfied. In such a situation, according to this embodiment, it becomes possible to refer to the specific definition set in the downstream process for the target term included in the requirement specification according to its role. This makes it easy to understand the relationship between the requirement specification and each component of the system, such as which function of which component in the detailed design etc. needs to be realized to satisfy the requirement specification.

また、本実施形態では、役割を「条件」、「観測対象」及び「期待動作」に分類し、これらの役割に応じた定義を抽出している。これにより、要求文章で記述された要求仕様がどのような条件を前提としているのか、また、観測対象が何であるのか、さらに、その観測対象がどのように動作するべきであるのか、を明確にすることが可能となる。このような役割の分類は、制御機器を含むシステムに対する要求仕様を解釈するために特に有効である。 In this embodiment, roles are classified into "conditions," "objects to be observed," and "expected behavior," and definitions are extracted according to these roles. This makes it possible to clarify what conditions are presupposed by the requirements specifications described in the requirements text, what the objects to be observed are, and how the objects to be observed should behave. This classification of roles is particularly effective for interpreting requirements specifications for systems that include control devices.

また、本実施形態では、対象語句に対応付けられた辞書情報が辞書データベース22に存在しないときに、類義語句データベース23から対象語句に対応付けられた類義語句を抽出する。そして、辞書データベース22から類義語句に対応付けられた辞書情報を抽出し、当該辞書情報から、対象語句について識別された役割に対応付けられた定義を抽出する。そして、対象語句の定義を表示させるとともに、当該対象語句に対応付けられた類義語句の確からしさを併せて表示させる。これにより、対象語句が辞書データベース22に登録されていない場合であっても、その類義語句が辞書データベース22に登録されていれば、対象語句の役割に対応付けられた定義を抽出することが可能となる。したがって、辞書データベース22の検索におけるヒット率を結果として向上させることが可能となり、要求文章の曖昧さをより低減させることができる。 In addition, in this embodiment, when dictionary information associated with the target phrase does not exist in the dictionary database 22, synonyms associated with the target phrase are extracted from the synonym database 23. Then, dictionary information associated with the synonyms is extracted from the dictionary database 22, and a definition associated with the role identified for the target phrase is extracted from the dictionary information. Then, the definition of the target phrase is displayed, and the likelihood of the synonyms associated with the target phrase is also displayed. As a result, even if the target phrase is not registered in the dictionary database 22, it is possible to extract a definition associated with the role of the target phrase as long as the synonyms are registered in the dictionary database 22. Therefore, it is possible to improve the hit rate in searching the dictionary database 22 as a result, and the ambiguity of the request sentence can be further reduced.

さらに、本実施形態では、要求文章についての文章置き換え、すなわち、語句同士の係り受け関係を推定し、文章の意味が変わらないように語句の順序を変更する処理を行う。これにより、前述したように、例えば、別の位置にある2つの語句を相互に連続した位置に変更し、当該語句同士が連結して識別されることによって、辞書データベース22に登録されている1つの語句と一致するような場合が生じ得る。したがって、辞書データベース22の検索におけるヒット率を結果として向上させることが可能となり、要求文章の曖昧さをより低減させることができる。 Furthermore, in this embodiment, a process of replacing the request sentence, that is, estimating dependency relationships between words and changing the order of the words so as not to change the meaning of the sentence, is performed. As a result, as described above, for example, two words in different positions may be changed to adjacent positions, and the words may be linked and identified, resulting in a match with a single word registered in the dictionary database 22. As a result, it is possible to improve the hit rate in searches of the dictionary database 22, and further reduce the ambiguity of the request sentence.

なお、辞書データベース22の辞書情報を登録する際に、役割ごとの定義に対し、その内容に応じてさらにサブ構造を設定するようにしてもよい。具体例としては、車載システムの開発において、「車両速度」という語句に対し、算出箇所が「センサ値、バックアップセンサ値、内部演算値(モータ回転数×ギヤ比×タイヤ径)、CAN通信受信値」があるとする。この場合、例えば、「観測対象」の役割に対応する定義のサブ構造として、これらの算出箇所のそれぞれを設定しておくようにしてもよい。そして、文章出力部14が要求文章出力データ24を生成する際に、例えば、当該語句の定義の表示においてこれらのサブ構造の内容を全て参照できるようにしたりしてもよい。また、ユーザがこれらのサブ構造の情報のうちのいずれかを選択したりできるようにしてもよい。 When registering dictionary information in the dictionary database 22, further substructures may be set for the definition of each role according to its contents. As a specific example, in the development of an in-vehicle system, the calculation points for the phrase "vehicle speed" may be "sensor value, backup sensor value, internal calculation value (motor rotation speed x gear ratio x tire diameter), and CAN communication reception value." In this case, for example, each of these calculation points may be set as a substructure of the definition corresponding to the role of "observation target." Then, when the sentence output unit 14 generates the request sentence output data 24, for example, it may be possible to refer to all of the contents of these substructures when displaying the definition of the phrase. It may also be possible for the user to select one of the pieces of information from these substructures.

<第2実施形態>
[第2実施形態の概要(第1実施形態との相違点)]
次に、第2実施形態について説明する。第1実施形態では、辞書データベースが1つであり、主として開発工程の途中において辞書情報を登録していく運用を想定していた。この場合、前述したようなシステムの開発工程のうち、上流工程に対する検証段階(例えば、前述したV字開発モデルの場合の(10)の工程)においては、下流工程を経て辞書情報が十分に登録されている。しかし、詳細設計の段階に入る前の上流工程自体(例えば(1)の工程)においては、辞書情報がまだ十分に登録されていない。
Second Embodiment
[Overview of the second embodiment (differences from the first embodiment)]
Next, a second embodiment will be described. In the first embodiment, there is one dictionary database, and it is assumed that dictionary information is registered mainly during the development process. In this case, in the verification stage for the upstream process of the system development process described above (for example, process (10) in the case of the V-shaped development model described above), sufficient dictionary information is registered after the downstream process. However, in the upstream process itself before entering the detailed design stage (for example, process (1)), sufficient dictionary information has not yet been registered.

このため、第2実施形態では、文章解析装置の記憶部において、過去に開発済みであるシステムにおいてすでに作成された辞書データベースを蓄積しておき、開発対象のシステムと親和性の高いシステムにおいて用いられた辞書データベースを流用する。これにより、第2実施形態では、システム開発の開始時点から、辞書データベースに詳細な定義を含んだ辞書情報が多数登録されていることとなる。このため、詳細設計の段階に入る前の上流工程においても、要求文章に含まれる対象語句について、その役割に応じた詳細な定義を参照可能にすることができ、開発支援を実現することができる。 For this reason, in the second embodiment, a dictionary database that has already been created in a system that has been developed in the past is stored in the memory unit of the text analysis device, and the dictionary database used in a system that has high affinity with the system to be developed is reused. As a result, in the second embodiment, a large amount of dictionary information containing detailed definitions is registered in the dictionary database from the start of system development. Therefore, even in the upstream process before entering the detailed design stage, detailed definitions according to the role of target words included in the requirement text can be referenced, thereby realizing development support.

[文章解析装置の構成]
図10は、第2実施形態における文章解析装置1の構成を示す。第2実施形態における文章解析装置1は、第1実施形態と異なり、制御部10において、辞書選択部15をさらに備える。また、記憶部20において、要求文章過去データ25をさらに備える。当該要求文章過去データ25は、過去に開発済みの他のシステムの数だけ格納され得る。また、第2実施形態では、辞書データベース22及び類義語句データベース23についても、複数格納され得る。その他の構成要素については第1実施形態と同様であるため、説明を省略する。
[Configuration of the text analysis device]
10 shows the configuration of the writing analysis device 1 in the second embodiment. Unlike the first embodiment, the writing analysis device 1 in the second embodiment further includes a dictionary selection unit 15 in the control unit 10. Also, the storage unit 20 further includes past request sentence data 25. The past request sentence data 25 can be stored in the same number as the number of other systems that have been developed in the past. Also, in the second embodiment, multiple dictionary databases 22 and synonymous phrase databases 23 can be stored. The other components are similar to those in the first embodiment, so description thereof will be omitted.

辞書選択部15は、要求文章入力データ21と過去に開発済みであるシステムの要求文章過去データ25とに基づき、開発済みのシステムから今回の開発対象のシステムとの親和性が高いシステムを特定する。そして、当該システムにおいて使用された辞書データベース22及び類義語句データベース23を選択する。
要求文章過去データ25は、例えば、要求文章入力データ21と同様の構造を有する1つ又は複数のデータであり、過去に開発済みである1つ又は複数のシステムの要求文章が、それぞれのシステムごとに格納されたデータである。
The dictionary selection unit 15 identifies a system that has a high affinity with the system to be developed this time from among the previously developed systems based on the request sentence input data 21 and the request sentence past data 25 of systems previously developed, and then selects the dictionary database 22 and the synonym database 23 used in that system.
The past request text data 25 is, for example, one or more pieces of data having a structure similar to that of the request text input data 21, and is data in which request texts for one or more systems that have been developed in the past are stored for each system.

辞書データベース22は、第1実施形態と同様の構造を有するが、第2実施形態においては複数存在し得る。そして、それぞれの辞書データベース22が、当該辞書データベース22が過去に使用された他のシステムの要求仕様が格納されている要求文章過去データ25に対応付けてられている。それぞれの辞書データベース22には、他のシステムの開発工程ですでに作成されたデータが格納されている。 The dictionary database 22 has the same structure as in the first embodiment, but in the second embodiment, there may be multiple dictionary databases. Each dictionary database 22 is associated with past requirement text data 25 that stores requirement specifications of other systems for which the dictionary database 22 has been used in the past. Each dictionary database 22 stores data that has already been created in the development process of the other systems.

類義語句データベース23も、第1実施形態と同様の構造を有するが、第2実施形態においては複数存在し得る。そして、辞書データベース22と同様に、それぞれの類義語句データベース23が、当該類義語句データベース23が過去に使用された他のシステムの要求仕様が格納されている要求文章過去データ25に対応付けてられている。それぞれの類義語句データベース23には、他のシステムの開発工程ですでに作成されたデータが格納されている。
なお、類義語句データベース23は、必ずしも辞書選択部15の選択対象とせず、1つの類義語句データベース23を全てのシステムにおいて流用し、必要に応じてさらに類義語句を登録して蓄積していくように運用してもよい。あるいは、類義語句データベース23の類義語句のデータ自体については全てのシステムにおいて共通に用い、それぞれの類義語句の確からしさのみ、システムの特徴によって異なる値とするような運用にしてもよい。この場合、辞書選択部15では、今回の開発対象のシステムとの親和性が高い確からしさのデータを選択することとなる。
The synonymous phrase database 23 also has a structure similar to that of the first embodiment, but there may be a plurality of synonymous phrase databases in the second embodiment. Similarly to the dictionary database 22, each synonymous phrase database 23 is associated with past requirement text data 25 that stores requirement specifications of other systems for which the synonymous phrase database 23 has been used in the past. Each synonymous phrase database 23 stores data that has already been created in the development process of the other systems.
The synonymous phrase database 23 does not necessarily have to be the selection target of the dictionary selection unit 15, but one synonymous phrase database 23 may be used for all systems, and further synonymous phrases may be registered and accumulated as necessary. Alternatively, the synonymous phrase data itself in the synonymous phrase database 23 may be used in common for all systems, and only the likelihood of each synonymous phrase may be set to a different value depending on the characteristics of the system. In this case, the dictionary selection unit 15 selects likelihood data that has a high affinity with the system currently being developed.

[文章解析処理]
図10は、第2実施形態における文章解析装置1において実行される文章解析処理を示すフローチャートである。
ステップ2001で、辞書選択部15は、要求文章入力データ21と過去に開発済みである他のシステムの要求文章過去データ25とに基づき、今回の開発対象のシステムとの親和性が高いシステムを特定する。例えば、辞書選択部15は、次のような方法で親和性が高いシステムを特定することができる。まず、辞書選択部15は、要求文章入力データ21と要求文章過去データ25のそれぞれを読み出す。そして、要求文章入力データ21に含まれる要求文章と要求文章過去データ25に含まれる要求文章について、セマンティック解析(潜在意味解析)を行い得る。さらに、要求文章入力データ21に含まれる要求文章の解析結果と要求文章過去データ25に含まれる要求文章の解析結果とを比較する。辞書選択部15は、この処理を、記憶部20に格納されている全ての要求文章過去データ25について行い、それぞれの比較結果に基づいて、要求文章過去データ25のうちの1つを特定する。
[Text analysis processing]
FIG. 10 is a flowchart showing a text analysis process executed in the text analysis device 1 according to the second embodiment.
In step 2001, the dictionary selection unit 15 identifies a system that has a high affinity with the system to be developed this time based on the request sentence input data 21 and the request sentence past data 25 of other systems that have been developed in the past. For example, the dictionary selection unit 15 can identify a system that has a high affinity by the following method. First, the dictionary selection unit 15 reads out each of the request sentence input data 21 and the request sentence past data 25. Then, the dictionary selection unit 15 can perform a semantic analysis (latent semantic analysis) on the request sentences included in the request sentence input data 21 and the request sentences included in the request sentence past data 25. Furthermore, the dictionary selection unit 15 compares the analysis result of the request sentence included in the request sentence input data 21 with the analysis result of the request sentence included in the request sentence past data 25. The dictionary selection unit 15 performs this process on all the request sentence past data 25 stored in the storage unit 20, and identifies one of the request sentence past data 25 based on each comparison result.

より具体的には、例えば、要求文章のセマンティック解析結果の一例として、名詞及び名詞句の粒度を基底としたベクトル空間において、各語句の利用頻度を数値化したものが得られる。辞書選択部15は、要求文章入力データ21に含まれる要求文章の解析結果とそれぞれの要求文章過去データ25に含まれる要求文章の解析結果との論理和を演算し、当該論理和に基づいて両者のギャップ解析を行い得る。そして、要求文章入力データ21との間のギャップが最も小さい、すなわち類似度が高い要求文章過去データ25を特定することにより、今回の開発対象システムとの親和性が高いシステムを特定することができる。 More specifically, for example, as an example of the results of semantic analysis of a requirement sentence, a numerical value is obtained for the frequency of use of each word in a vector space based on the granularity of nouns and noun phrases. The dictionary selection unit 15 can calculate the logical sum of the analysis results of the requirement sentence contained in the requirement sentence input data 21 and the analysis results of the requirement sentence contained in each of the previous requirement sentence data 25, and perform a gap analysis between the two based on this logical sum. Then, by identifying the previous requirement sentence data 25 that has the smallest gap with the requirement sentence input data 21, i.e., the highest similarity, it is possible to identify a system that has a high affinity with the current target system for development.

そして、辞書選択部15は、特定した要求文章過去データ25に対応付けられている辞書データベース22、すなわち、今回の開発対象のシステムとの親和性が高いシステムにおいて用いられた辞書データベース22を選択する。同様にして、辞書選択部15は、今回の開発対象のシステムとの親和性が高いシステムにおいて用いられた類義語句データベース23も選択することができる。 Then, the dictionary selection unit 15 selects the dictionary database 22 associated with the identified past request sentence data 25, i.e., the dictionary database 22 used in a system that has a high affinity with the system being developed this time. Similarly, the dictionary selection unit 15 can also select a synonym database 23 used in a system that has a high affinity with the system being developed this time.

ステップS2002~S2005は、それぞれ第1実施形態における文章解析処理のS1001~S1004と同様であるため、説明を省略する。また、第2実施形態においても、図7で示した辞書検索処理の詳細内容のS1011~S1016も同様に実行する。 Steps S2002 to S2005 are similar to steps S1001 to S1004 of the sentence analysis process in the first embodiment, and therefore will not be described here. In the second embodiment, steps S1011 to S1016 of the dictionary search process shown in FIG. 7 are also executed in the same manner.

[第2実施形態による効果等]
第2実施形態によれば、文章解析処理において用いる辞書データベースについて、開発対象のシステムと類似のシステムであって、過去に開発済みであるシステムにおいてすでに作成された他の辞書データベースを流用することができる。これにより、第2実施形態では、システム開発の開始時点から、詳細な定義を含んだ辞書情報が多数登録された辞書データベースを用いることができる。したがって、システム開発における検証段階のみならず、詳細設計段階に入る前の上流工程においても、要求文章に含まれる対象語句について、その役割に応じた詳細な定義を参照することが可能になり、システムの開発支援を実現することが可能となる。
[Effects of the second embodiment]
According to the second embodiment, the dictionary database used in the text analysis process can be a dictionary database that has already been created in a previously developed system that is similar to the system to be developed. As a result, in the second embodiment, a dictionary database in which a large amount of dictionary information including detailed definitions is registered can be used from the start of system development. Therefore, it becomes possible to refer to detailed definitions of target words and phrases included in requirement texts according to their roles not only in the verification stage of system development but also in upstream processes before entering the detailed design stage, making it possible to realize support for system development.

なお、開発対象のシステムに類似するシステムを特定する際に、類似度を判定する所定閾値を設定しておいてもよい。そして、類似度が所定閾値よりも低い場合(ギャップ解析の結果が所定閾値よりも高い場合も同義である)には、既存の辞書データベース22を流用せず、新たな辞書データベース22を生成するようにしてもよい。類義語句データベース23についても同様である。
また、予め記憶部20に格納された要求文章過去データ25、過去のシステムで用いられた辞書データベース22や類義語句データベース23が1つである場合には、類似するシステムを特定する処理を行う必要はない。この場合にも、前述したように類似度が所定閾値よりも低い場合には、当該辞書データベース22や類義語句データベース23を流用しないようにしてもよい。
When identifying a system similar to the system under development, a predetermined threshold for determining the degree of similarity may be set. If the degree of similarity is lower than the predetermined threshold (which also has the same meaning as when the result of the gap analysis is higher than the predetermined threshold), a new dictionary database 22 may be generated without reusing the existing dictionary database 22. The same applies to the synonym database 23.
Furthermore, if there is only one request sentence past data 25 stored in advance in the storage unit 20, and one dictionary database 22 or one synonym database 23 used in the past system, there is no need to perform a process to identify a similar system. Even in this case, if the degree of similarity is lower than a predetermined threshold value as described above, the dictionary database 22 or the synonym database 23 may not be reused.

<ハードウェア構成>
図12は、上記の各実施形態における文章解析装置1を構成するコンピュータのハードウェア構成の一例を示す。本コンピュータは、プロセッサ910、メモリ920、ストレージ930、可搬記憶媒体駆動装置940、入出力装置950及び通信インタフェース960を備える。
プロセッサ910は、制御ユニット、演算ユニット及び命令デコーダ等を含み、実行ユニットが、命令デコーダで解読されたプログラムの命令に従い、制御ユニットより出力される制御信号に応じ、演算ユニットを用いて算術・論理演算を実行する。かかるプロセッサ910は、制御に用いる各種情報が格納される制御レジスタ、既にアクセスしたメモリ920等の内容を一時的に格納可能なキャッシュ等を備える。なお、プロセッサ910は、CPU(Central Processing Unit)コアが複数設けられている構成でもよい。当該プロセッサ910でプログラムが実行されることにより、前述した制御部10が構成される。
<Hardware Configuration>
12 shows an example of the hardware configuration of a computer constituting the writing analysis device 1 in each of the above embodiments. This computer includes a processor 910, a memory 920, a storage 930, a portable storage medium drive device 940, an input/output device 950, and a communication interface 960.
The processor 910 includes a control unit, an arithmetic unit, an instruction decoder, etc., and the execution unit executes arithmetic and logical operations using the arithmetic unit according to the instructions of the program decoded by the instruction decoder and in response to the control signal output from the control unit. The processor 910 includes a control register that stores various information used for control, a cache that can temporarily store the contents of the memory 920 that has already been accessed, etc. The processor 910 may be configured to include multiple CPU (Central Processing Unit) cores. The above-mentioned control unit 10 is configured by the processor 910 executing a program.

メモリ920は、例えばRAM(Random Access Memory)等の記憶装置であり、プロセッサ910で実行されるプログラムがロードされるとともに、プロセッサ910の処理に用いるデータが格納されるメインメモリである。また、ストレージ930は、例えばHDD(Hard Disk Drive)やフラッシュメモリ等の記憶装置であり、プログラムや各種データが格納される。前述した記憶部20は、例えば、当該ストレージ930に相当する。可搬記憶媒体駆動装置940は、可搬記憶媒体970に記憶されたデータやプログラムを読み出す装置である。可搬記憶媒体970は、例えば磁気ディスク、光ディスク、光磁気ディスク又はフラッシュメモリ等である。なお、プロセッサ910は、メモリ920やストレージ930と協働しつつ、ストレージ930や可搬記憶媒体970に格納されたプログラムを実行する。なお、プロセッサ910が実行するプログラムや、アクセス対象となるデータは、当該コンピュータと通信することが可能な他の装置に格納されていてもよい。 The memory 920 is a storage device such as a RAM (Random Access Memory), and is a main memory in which the programs executed by the processor 910 are loaded and data used in the processing of the processor 910 is stored. The storage 930 is a storage device such as a HDD (Hard Disk Drive) or a flash memory, and stores programs and various data. The above-mentioned storage unit 20 corresponds to the storage 930, for example. The portable storage medium drive device 940 is a device that reads data and programs stored in the portable storage medium 970. The portable storage medium 970 is, for example, a magnetic disk, an optical disk, a magneto-optical disk, or a flash memory. The processor 910 executes the programs stored in the storage 930 or the portable storage medium 970 while cooperating with the memory 920 or the storage 930. The programs executed by the processor 910 and the data to be accessed may be stored in other devices that can communicate with the computer.

入出力装置950は例えばタッチパネル、キーボード等やディスプレイ等の入力手段及び出力手段であり、ユーザ操作等による動作命令を受け付ける一方、情報処理装置による処理結果を出力する。通信インタフェース960は、外部とのデータ通信を可能にする。前述したコンピュータの各構成要素は、バス980で接続されている。 The input/output device 950 is an input means and an output means such as a touch panel, a keyboard, a display, etc., and accepts operation commands by user operations, etc., while outputting the results of processing by the information processing device. The communication interface 960 enables data communication with the outside. The components of the computer described above are connected by a bus 980.

<その他>
以上説明した本発明の実施形態は、本発明の技術的範囲で考え得る実施態様の一部に過ぎず、本発明の技術的範囲を制限するものではない。また、各実施形態における機能的構成及び物理的構成は、前述の態様に限定されるものではなく、例えば、各機能や物理的資源を統合して実装したり、逆に、さらに分散して実装したり、さらには、構成の一部について他の構成の追加、削除、置換等をすることも可能である。
<Other>
The above-described embodiments of the present invention are merely some of the possible implementations within the technical scope of the present invention, and do not limit the technical scope of the present invention. Furthermore, the functional configurations and physical configurations in each embodiment are not limited to the above-described aspects, and for example, each function or physical resource can be integrated and implemented, or conversely, can be further distributed and implemented, and further, some of the configurations can be added, deleted, or replaced with other configurations.

1…文章解析装置、11…文章構造解析部、12…辞書検索部、13…定義抽出部、14…文章出力部、15…辞書選択部、21…要求文章入力データ、22…辞書データベース、23…類義語句データベース、24…要求文章出力データ、25…要求文章過去データ 1...Text analysis device, 11...Text structure analysis unit, 12...Dictionary search unit, 13...Definition extraction unit, 14...Text output unit, 15...Dictionary selection unit, 21...Request text input data, 22...Dictionary database, 23...Synonymous phrase database, 24...Request text output data, 25...Request text past data

Claims (5)

開発対象のシステムに対する要求仕様が記述された要求文章を解析する文章解析装置であって、
前記要求文章を含む入力データを読み出して、前記要求文章の文章構造解析を行い、当該要求文章に含まれる対象語句の、前記要求仕様における意味上の役割を識別する文章構造解析部と、
前記システムに関連する語句に対して前記役割に応じた定義が前記役割ごとに対応付けられている辞書情報が格納された辞書データベースを、前記対象語句をキーとして検索し、前記辞書データベースから前記対象語句に対応する前記辞書情報を抽出する辞書検索部と、
前記辞書情報から、前記対象語句について識別された前記役割に応じた前記定義を抽出する定義抽出部と、
前記要求文章とともに前記対象語句の前記役割に応じた前記定義を表示させることが可能な態様の出力データを生成して出力する文章出力部と
を備えた、文章解析装置。
A text analysis device that analyzes a requirement text describing a requirement specification for a system to be developed,
a sentence structure analysis unit that reads input data including the request sentence, analyzes the sentence structure of the request sentence, and identifies the semantic role of a target word or phrase included in the request sentence in the request specification;
a dictionary search unit that searches a dictionary database, in which dictionary information in which a definition according to a role is associated with each role for a word related to the system, using the target word as a key, and extracts the dictionary information corresponding to the target word from the dictionary database;
a definition extraction unit that extracts the definition according to the role identified for the target phrase from the dictionary information;
and a sentence output unit that generates and outputs output data in a format that allows the definition of the target phrase according to the role to be displayed together with the request sentence.
前記役割は、前記要求仕様における、条件、観測対象、及び期待動作のいずれかである、請求項1記載の文章解析装置。 The text analysis device according to claim 1, wherein the role is one of a condition, an observation target, and an expected action in the requirement specification. 前記辞書検索部は、前記対象語句に対応する前記辞書情報が前記辞書データベースに存在しないときに、前記システムに関連する語句に対して当該語句の類義語句及び当該語句を当該類義語句へ置き換えることの確からしさが対応付けられている類義語句データベースを、前記対象語句をキーとして検索し、前記類義語句データベースから前記対象語句に対応する前記類義語句を抽出して、再度前記辞書データベースを当該類義語句をキーとして検索し、前記辞書データベースから前記類義語句に対応する前記辞書情報を抽出し、
前記定義抽出部は、前記類義語句に対応する前記辞書情報から、前記対象語句について識別された前記役割に応じた前記定義を抽出し、
前記文章出力部は、前記類義語句について抽出された前記定義を表示させるとともに、前記確からしさを併せて表示させる、請求項1又は2に記載の文章解析装置。
when the dictionary information corresponding to the target phrase is not present in the dictionary database, the dictionary search unit searches a synonym database in which synonyms of the phrase related to the system and likelihoods of replacing the phrase with the synonyms are associated with the phrase, using the target phrase as a key, extracts the synonyms corresponding to the target phrase from the synonym database, searches the dictionary database again using the synonyms as a key, and extracts the dictionary information corresponding to the synonyms from the dictionary database;
The definition extraction unit extracts the definition according to the role identified for the target phrase from the dictionary information corresponding to the synonymous phrase;
The text analysis device according to claim 1 , wherein the text output unit displays the definition extracted for the synonymous phrase and also displays the likelihood.
前記要求文章を含む前記入力データと、過去に開発された1つ又は複数の他のシステムに対する要求仕様が記述された要求文章を前記他のシステムごとにそれぞれ含む1つ又は複数の過去データのそれぞれとを読み出して、前記入力データに含まれる要求文章及び前記過去データのそれぞれに含まれる要求文章について意味を解析するセマンティック解析を行い、前記入力データに含まれる要求文章の解析結果と前記過去データのそれぞれに含まれる要求文章の解析結果とを比較した結果に基づいて、前記過去データのうち前記入力データとの間の類似度が高い1つの過去データを特定し、前記他のシステムの開発において作成された辞書データベースであって特定した前記1つの過去データに対応付けられた辞書データベースを選択する辞書選択部をさらに備え、
前記辞書検索部は、前記辞書選択部によって選択された前記辞書データベースを、前記対象語句をキーとして検索し、当該辞書データベースから前記対象語句に対応する前記辞書情報を抽出する、請求項1~3のいずれか1項に記載の文章解析装置。
a dictionary selection unit that reads out the input data including the request sentence and one or more past data each including a request sentence describing a requirement specification for one or more other systems developed in the past for each of the other systems, performs a semantic analysis to analyze the meaning of the request sentence included in the input data and the request sentence included in each of the past data, identifies one of the past data having a high similarity to the input data based on a result of comparing the analysis result of the request sentence included in the input data with the analysis result of the request sentence included in each of the past data , and selects a dictionary database created in the development of the other system and associated with the identified one of the past data,
The text analysis device according to any one of claims 1 to 3, wherein the dictionary search unit searches the dictionary database selected by the dictionary selection unit using the target phrase as a key, and extracts the dictionary information corresponding to the target phrase from the dictionary database.
開発対象のシステムに対する要求仕様が記述された要求文章をコンピュータによって解析する文章解析方法であって、
前記コンピュータが、前記要求文章を含む入力データを読み出して、前記要求文章の文章構造解析を行い、当該要求文章に含まれる対象語句の前記要求仕様における意味上の役割を識別することと
前記コンピュータが、前記システムに関連する語句に対して前記役割に応じた定義が前記役割ごとに対応付けられている辞書情報が格納された辞書データベースを、前記対象語句をキーとして検索して、前記辞書データベースから前記対象語句に対応する前記辞書情報を抽出することと
前記コンピュータが、前記辞書情報から、前記対象語句について識別された前記役割に応じた前記定義を抽出することと
前記コンピュータが、前記要求文章とともに前記対象語句の前記役割に応じた前記定義を表示させることが可能な態様の出力データを生成して出力することと
を含む、文章解析方法。
A text analysis method for analyzing, by a computer , a requirement text describing a requirement specification for a system to be developed, comprising the steps of:
The computer reads input data including the request sentence, performs a sentence structure analysis of the request sentence, and identifies a semantic role of a target word or phrase included in the request sentence in the request specification;
The computer searches a dictionary database, in which dictionary information in which definitions according to the roles are associated with terms related to the system, using the target term as a key, to extract the dictionary information corresponding to the target term from the dictionary database;
The computer extracts , from the dictionary information, the definition corresponding to the identified role for the target phrase;
generating and outputting output data in a mode that allows the computer to display the definition of the target phrase according to the role together with the request sentence;
A method for analyzing text , comprising :
JP2021149360A 2021-09-14 2021-09-14 Text analysis device and text analysis method Active JP7705322B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021149360A JP7705322B2 (en) 2021-09-14 2021-09-14 Text analysis device and text analysis method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021149360A JP7705322B2 (en) 2021-09-14 2021-09-14 Text analysis device and text analysis method

Publications (2)

Publication Number Publication Date
JP2023042187A JP2023042187A (en) 2023-03-27
JP7705322B2 true JP7705322B2 (en) 2025-07-09

Family

ID=85717397

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021149360A Active JP7705322B2 (en) 2021-09-14 2021-09-14 Text analysis device and text analysis method

Country Status (1)

Country Link
JP (1) JP7705322B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2025017852A1 (en) * 2023-07-19 2025-01-23
JP2025105187A (en) * 2023-12-28 2025-07-10 株式会社日立製作所 REQUIREMENTS DEFINITION SUPPORT SYSTEM, REQUIREMENTS DEFINITION SUPPORT METHOD, AND REQUIREMENTS DEFINITION SUPPORT PROGRAM

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000339310A (en) 1999-05-25 2000-12-08 Nippon Telegr & Teleph Corp <Ntt> Document classification method, document classification device, and recording medium for recording program
JP2013020439A (en) 2011-07-11 2013-01-31 Nec Corp Synonym extraction system, method and program
JP2018165949A (en) 2017-03-28 2018-10-25 富士通株式会社 Determination program, determination apparatus, and determination method
JP2020135824A (en) 2019-02-26 2020-08-31 富士ゼロックス株式会社 Information processing system and program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0827803B2 (en) * 1989-03-28 1996-03-21 日本電信電話株式会社 Text-based search method
JPH0619965A (en) * 1992-07-01 1994-01-28 Canon Inc Natural language processor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000339310A (en) 1999-05-25 2000-12-08 Nippon Telegr & Teleph Corp <Ntt> Document classification method, document classification device, and recording medium for recording program
JP2013020439A (en) 2011-07-11 2013-01-31 Nec Corp Synonym extraction system, method and program
JP2018165949A (en) 2017-03-28 2018-10-25 富士通株式会社 Determination program, determination apparatus, and determination method
JP2020135824A (en) 2019-02-26 2020-08-31 富士ゼロックス株式会社 Information processing system and program

Also Published As

Publication number Publication date
JP2023042187A (en) 2023-03-27

Similar Documents

Publication Publication Date Title
Kokalj et al. BERT meets shapley: Extending SHAP explanations to transformer-based classifiers
US10061766B2 (en) Systems and methods for domain-specific machine-interpretation of input data
Osborne et al. Processing natural language software requirement specifications
US20180341871A1 (en) Utilizing deep learning with an information retrieval mechanism to provide question answering in restricted domains
US8666982B2 (en) Method and system to augment vehicle domain ontologies for vehicle diagnosis
Gorman et al. Improving homograph disambiguation with supervised machine learning
US8316039B2 (en) Identifying conceptually related terms in search query results
CN103154936A (en) Method and system for automated text correction
US10521655B1 (en) Generating and provisioning of additional content for biased portion(s) of a document
JP7705322B2 (en) Text analysis device and text analysis method
WO2009123260A1 (en) Cooccurrence dictionary creating system and scoring system
Banerjee et al. Large language models for few-shot automatic term extraction
Abdurakhmonova et al. Uzbek electronic corpus as a tool for linguistic analysis
Oh et al. An ensemble of transliteration models for information retrieval
CN112699675B (en) Text processing method, device, equipment and computer-readable storage medium
Zianouka et al. Automatic generation of intonation marks and prosodic segmentation for Belarusian NooJ module
Ababou et al. From extended chunking to dependency parsing using traditional Arabic grammar
McKenna et al. Learning negation scope from syntactic structure
WO2024035504A1 (en) Concurrent labeling of sequences of words and individual words
Kachanov et al. Named Entity Recognition for Code Review Comments
JP2007172260A (en) Document rule creation support apparatus, document rule creation support method, and document rule creation support program
US11314725B2 (en) Integrated review and revision of digital content
Cao et al. End-to-end event factuality identification via hybrid neural networks
Morozov et al. An abstract model of search index query in the Russian National Corpus
Turdievna Representation of linguistic issues in corpus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240412

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250321

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250627

R150 Certificate of patent or registration of utility model

Ref document number: 7705322

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150