JP2013250631A - Information processor, information processing method and program - Google Patents

Information processor, information processing method and program Download PDF

Info

Publication number
JP2013250631A
JP2013250631A JP2012123127A JP2012123127A JP2013250631A JP 2013250631 A JP2013250631 A JP 2013250631A JP 2012123127 A JP2012123127 A JP 2012123127A JP 2012123127 A JP2012123127 A JP 2012123127A JP 2013250631 A JP2013250631 A JP 2013250631A
Authority
JP
Japan
Prior art keywords
product
attribute
source code
attributes
similar
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.)
Granted
Application number
JP2012123127A
Other languages
Japanese (ja)
Other versions
JP5768009B2 (en
Inventor
Joji Okada
譲二 岡田
Yuji Sakata
祐司 坂田
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.)
NTT Data Group Corp
Original Assignee
NTT Data 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 NTT Data Corp filed Critical NTT Data Corp
Priority to JP2012123127A priority Critical patent/JP5768009B2/en
Publication of JP2013250631A publication Critical patent/JP2013250631A/en
Application granted granted Critical
Publication of JP5768009B2 publication Critical patent/JP5768009B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To efficiently change a program for determining propriety of application content for merchandise contract in accordance with new merchandise without requiring any merchandise knowledge.SOLUTION: An abstract syntax tree is generated by inputting a source code in which a check rule for determining propriety of application content with respect to merchandise on the basis of attributes constituting contract conditions of the merchandise is described for each existing merchandise. Then, a nest structure is analyzed by using the generated abstract syntax tree, and an order relation between the attributes of each existing merchandise is set, and priority of each attribute described in the source code is set on the basis of the order relation between the attributes. Then, on the basis of the priority set for each attribute and a matching state of the content of the attributes of each existing merchandise with the content of the attributes of new merchandise, similar merchandise which is the most similar to the new merchandise is determined from among the existing merchandise.

Description

本発明は、情報処理装置、情報処理方法およびプログラムに関する。   The present invention relates to an information processing apparatus, an information processing method, and a program.

金融商品や保険商品(以下、単に「商品」ともいう)などを顧客が契約しようとする際には、例えば、顧客が申込書に記入した各種の契約内容や個人情報などの申込内容が、顧客が契約しようとしている商品の契約条件に適合するか否かを審査することが行われる。このような審査のチェック項目は多数であるうえに、取り扱う商品の種類や数も多いため、人的作業では非常に時間がかかってしまう。
そこで、基本的な審査をシステム上で機械的に実施するようにされた生命保険会社向けの新契約システムが知られている(例えば、非特許文献1参照)
When a customer wants to make a contract for a financial product or insurance product (hereinafter also simply referred to as “product”), for example, the customer's application details such as various contract details and personal information entered in the application form Is examined to see if it meets the contract conditions of the product that it is trying to contract. In addition to the large number of check items for such examinations, the types and number of products handled are large, so it takes a lot of time for human work.
Therefore, a new contract system for life insurance companies is known in which a basic examination is mechanically performed on the system (for example, see Non-Patent Document 1).

本多 正憲、“金融業界の業務とシステムを知る Part10 生保編(2) 契約業務の効率化に不可欠な基幹系システムの仕組みを知る”、[online]、nikkei BPnet、[平成24年4月19日検索]、インターネット(URL:http://itpro.nikkeibp.co.jp/article/lecture/20070301/263653/?ST=lecture)Masanori Honda, “Knowing Businesses and Systems in the Financial Industry, Part 10 Life Insurance (2) Knowing the Structure of Core Systems Essential to Efficient Contracts”, [online], nikkei BPnet, [April 19, 2012 Day search], Internet (URL: http://itpro.nikkeibp.co.jp/article/lecture/20070301/263653/?ST=lecture)

例えば、金融商品や保険商品などにおいて新商品が発売された場合には、この新商品にも対応して申込内容の適否をチェックできるように審査用のプログラムを変更することになる。
これらの商品は類似のものが多く存在している。このために、例えば保守性などを考慮してソースコードを効率よく変更しようとすれば、類似した商品を的確に特定することが必要になる。このため、新商品に応じてソースコードの変更を行うエンジニアは商品について十分な知識を有している必要がある。しかし、現実においてこのようなエンジニアを確実に確保することは難しいということもあり、ソースコード変更作業の効率を妨げている。
For example, when a new product is released as a financial product or an insurance product, the screening program is changed so that the suitability of application contents can be checked corresponding to the new product.
There are many similar products. For this reason, for example, if the source code is to be changed efficiently in consideration of maintainability, it is necessary to accurately identify similar products. For this reason, an engineer who changes the source code according to a new product needs to have sufficient knowledge about the product. However, in reality, it is difficult to reliably secure such engineers, which hinders the efficiency of source code modification work.

本発明は、このような事情に鑑みてなされたもので、商品知識を必要とすることなく、商品契約のための申込内容の適否を判定するプログラムを新商品に応じて効率的に変更できるようにすることを目的とする。   The present invention has been made in view of such circumstances, and a program for determining the suitability of application contents for a product contract can be efficiently changed according to a new product without requiring product knowledge. The purpose is to.

上述した課題を解決するために、本発明の一態様としての情報処理装置は、商品に対する申込内容についての適否を前記商品の属性に基づいて判定するための判定規則が既存の商品ごとに記述されたソースコードを入力して抽象構文木を生成する構文解析部と、生成された抽象構文木を利用してネスト構造を解析することで、前記既存の商品ごとにおける前記属性間の順序関係を設定するネスト構造解析部と、設定された前記属性間の順序関係に基づいて、前記ソースコードに記述される属性ごとの優先順を設定する優先順設定部と、前記属性ごとに設定された優先順と、前記既存の商品の属性の内容と新商品の属性の内容との一致状態に基づいて、前記既存の商品のうちから新商品に最も類似する類似商品を判定する類似商品判定部とを備える。   In order to solve the above-described problem, an information processing apparatus according to one aspect of the present invention describes a determination rule for determining whether or not an application content for a product is appropriate based on an attribute of the product for each existing product. The syntactic analysis unit that generates the abstract syntax tree by inputting the source code, and the nested structure is analyzed using the generated abstract syntax tree to set the order relationship between the attributes for each existing product A priority structure setting unit for setting a priority order for each attribute described in the source code based on an order relation between the set attributes, and a priority order set for each attribute And a similar product determination unit that determines a similar product most similar to the new product from the existing products based on the matching state between the content of the attribute of the existing product and the content of the attribute of the new product. That.

また、本発明の情報処理装置において、前記ソースコードにおいて前記類似商品の判定規則が記述されている箇所に基づいて、前記新商品の判定規則の追加のために前記ソースコードにおいて変更すべき内容を判定する変更判定部をさらに備える。   Further, in the information processing apparatus of the present invention, based on the location where the determination rule for the similar product is described in the source code, the contents to be changed in the source code for the addition of the determination rule for the new product A change determination unit for determining is further provided.

また、本発明の情報処理装置において、前記ネスト構造解析部は、前記ソースコードにおいて属性を含む条件式の内容に基づいて前記既存の商品ごとにおける属性に重み付け値を設定することにより前記属性間の順序関係を設定し、前記優先順設定部は、前記既存の商品ごとにおける属性に設定された重み付け値に基づいて前記ソースコードに記述される属性ごとの優先順を設定し、前記類似商品判定部は、前記新商品と前記既存の商品の各々とで内容が一致する属性に設定された前記重み付け値に基づいて求めた類似度が最も高い既存の商品を前記類似商品として判定する。   In the information processing apparatus according to the present invention, the nested structure analysis unit sets a weighting value for the attribute for each existing product based on the content of the conditional expression including the attribute in the source code. An order relationship is set, and the priority order setting unit sets a priority order for each attribute described in the source code based on a weighting value set for the attribute for each existing product, and the similar product determination unit Determines the existing product having the highest similarity determined based on the weighting value set in the attribute that matches the content of the new product and each of the existing products as the similar product.

また、本発明の情報処理装置において、前記ネスト構造解析部は、同じ階層において複数の条件文に同じ属性が含まれている場合、前記同じ属性についての重み付け値を大きく変更するように設定する。   In the information processing apparatus of the present invention, the nested structure analysis unit sets the weighting value for the same attribute to be greatly changed when the same attribute is included in a plurality of conditional statements in the same hierarchy.

また、本発明の情報処理装置において、前記ネスト構造解析部は、条件式に含まれる属性についての真偽を示す値が複数である場合、前記属性についての重み付け値を小さく変更するように設定する。   In the information processing apparatus according to the present invention, the nest structure analysis unit sets the weighting value for the attribute to be small when there are a plurality of values indicating the authenticity of the attribute included in the conditional expression. .

また、本発明の情報処理装置において、前記優先順設定部は、前記ネスト構造として解析された前記属性間の順序関係についての推移律に基づいて前記優先順を設定し、前記類似商品判定部は、前記優先順が高い方から順に、前記新商品と前記既存の商品の各々とで属性の内容が不一致となるまで属性の内容を比較した結果、内容が一致する属性の数が最も多い既存の商品を前記類似商品として判定する。   In the information processing apparatus of the present invention, the priority order setting unit sets the priority order based on a transition rule about the order relation between the attributes analyzed as the nested structure, and the similar product determination unit includes: As a result of comparing the contents of the attributes until the contents of the attributes do not match between the new product and each of the existing products in order from the highest priority, the number of attributes with the same content is the largest. A product is determined as the similar product.

また、本発明の情報処理装置において、前記ネスト構造解析部は、前記ソースコードにおいて属性を含む条件式の内容に基づいて前記既存の商品ごとにおける属性に重み付け値を設定することにより前記属性間の順序関係を設定し、前記優先順設定部は、前記推移律に基づいて前記優先順を設定した結果、優先順が同じとなった複数の属性については、これら複数の属性に設定された前記重み付け値を利用して異なる優先順を設定する。   In the information processing apparatus according to the present invention, the nested structure analysis unit sets a weighting value for the attribute for each existing product based on the content of the conditional expression including the attribute in the source code. The order relation is set, and the priority order setting unit sets the priority order based on the transition rule. As a result, for the plurality of attributes having the same priority order, the weighting set for the plurality of attributes is set. Use values to set different priorities.

また、本発明の一態様としての情報処理方法は、商品に対する申込内容についての適否を前記商品の属性に基づいて判定するための判定規則が既存の商品ごとに記述されたソースコードを入力して抽象構文木を生成する構文解析ステップと、生成された抽象構文木を利用してネスト構造を解析することで、前記既存の商品ごとにおける前記属性間の順序関係を設定するネスト構造解析ステップと、設定された前記属性間の順序関係に基づいて、前記ソースコードに記述される属性ごとの優先順を設定する優先順設定ステップと、前記属性ごとに設定された優先順と、前記既存の商品の属性の内容と新商品の属性の内容との一致状態に基づいて、前記既存の商品のうちから新商品に最も類似する類似商品を判定する類似商品判定ステップとを備える。   Also, an information processing method as one aspect of the present invention includes inputting a source code in which a determination rule for determining the suitability of application contents for a product based on the attribute of the product is described for each existing product. A syntactic analysis step for generating an abstract syntax tree; and a nest structure analysis step for setting an order relationship between the attributes for each of the existing products by analyzing a nest structure using the generated abstract syntax tree; A priority order setting step for setting a priority order for each attribute described in the source code based on the order relation between the set attributes, a priority order set for each attribute, and the existing product A similar product determination step for determining a similar product most similar to the new product from the existing products based on the matching state between the attribute content and the new product attribute content. That.

また、本発明の一態様としてのプログラムは、コンピュータに、商品に対する申込内容についての適否を前記商品の属性に基づいて判定するための判定規則が既存の商品ごとに記述されたソースコードを入力して抽象構文木を生成する構文解析ステップと、生成された抽象構文木を利用してネスト構造を解析することで、前記既存の商品ごとにおける前記属性間の順序関係を設定するネスト構造解析ステップと、設定された前記属性間の順序関係に基づいて、前記ソースコードに記述される属性ごとの優先順を設定する優先順設定ステップと、前記属性ごとに設定された優先順と、前記既存の商品の属性の内容と新商品の属性の内容との一致状態に基づいて、前記既存の商品のうちから新商品に最も類似する類似商品を判定する類似商品判定ステップとを実行させるためのものである。   Further, the program as one aspect of the present invention inputs a source code in which a determination rule for determining the suitability of application contents for a product based on the attribute of the product is described for each existing product to a computer. A syntactic analysis step for generating an abstract syntax tree; and a nest structure analysis step for setting an order relationship between the attributes for each of the existing products by analyzing a nested structure using the generated abstract syntax tree; A priority order setting step for setting a priority order for each attribute described in the source code based on the order relation between the set attributes; a priority order set for each attribute; and the existing product Similar product determination that determines a similar product that is most similar to the new product from the existing products based on a match state between the content of the attribute of the new product and the content of the attribute of the new product It is intended for executing the step.

以上説明したように、本発明によれば、商品知識を必要とすることなく、商品契約のための申込内容の適否を判定するプログラムを新商品に応じて効率的に変更できるという効果が得られる。   As described above, according to the present invention, it is possible to efficiently change a program for determining the suitability of application contents for a product contract according to a new product without requiring product knowledge. .

本発明の実施形態におけるソースコード処理装置の構成例を示す図である。It is a figure which shows the structural example of the source code processing apparatus in embodiment of this invention. 新商品と類似商品の契約条件およびチェックルールの関係例を示す図である。It is a figure which shows the example of a relationship between the contract conditions and check rules of a new product and similar products. 新商品と複数の類似商品候補との契約条件の例を示す図である。It is a figure which shows the example of contract conditions with a new product and several similar goods candidate. 第1の本実施形態におけるソースコードと商品のチェックルールの内容例を示す図である。It is a figure which shows the example of the content of the check rule of the source code and goods in 1st this embodiment. 第1の実施形態におけるソースコードと商品のチェックルールの内容の例を示す図である。It is a figure which shows the example of the content of the check rule of the source code and goods in 1st Embodiment. 第1の実施形態におけるソースコードと商品のチェックルールの内容の例を示す図である。It is a figure which shows the example of the content of the check rule of the source code and goods in 1st Embodiment. 第1の実施形態における抽象構文木の例を示す図である。It is a figure which shows the example of the abstract syntax tree in 1st Embodiment. 第1の実施形態における情報テーブルと優先順情報の例を示す図である。It is a figure which shows the example of the information table and priority order information in 1st Embodiment. 第1の実施形態における類似商品判定部が実行する類似商品判定の処理を説明するための図である。It is a figure for demonstrating the process of the similar goods determination which the similar goods determination part in 1st Embodiment performs. 第1の実施形態において変更判定部が判定したソースコードにおける変更箇所と記述変更内容についての表示態様例を示す図である。It is a figure which shows the example of a display mode about the change location and description change content in the source code which the change determination part determined in 1st Embodiment. 第1の実施形態におけるソースコード処理装置が実行する処理手順例を示す図である。It is a figure which shows the example of a process sequence which the source code processing apparatus in 1st Embodiment performs. 第1の実施形態における類似商品判定部が実行する類似商品判定のための処理手順例を示す図である。It is a figure which shows the example of a process sequence for the similar goods determination which the similar goods determination part in 1st Embodiment performs. 第2の実施形態におけるネスト構造解析部の動作例を示す図である。It is a figure which shows the operation example of the nest structure analysis part in 2nd Embodiment. 第2の実施形態における優先順設定部の動作例を示す図である。It is a figure which shows the operation example of the priority order setting part in 2nd Embodiment. 第2の実施形態における類似商品判定部の動作例を示す図である。It is a figure which shows the operation example of the similar goods determination part in 2nd Embodiment. 第2の実施形態におけるネスト構造解析部が実行するネスト情報生成のための処理手順例を示す図である。It is a figure which shows the example of a process sequence for the nest information generation which the nest structure analysis part in 2nd Embodiment performs. 第2の実施形態における類似商品判定部が実行する類似商品判定のための処理手順例を示す図である。It is a figure which shows the process sequence example for the similar goods determination which the similar goods determination part in 2nd Embodiment performs.

<第1の実施形態>
[ソースコード処理装置の構成]
図1は、本発明の実施形態における情報処理装置であるソースコード処理装置100の構成例を示している。なお、本実施形態におけるソースコード処理装置100は、顧客が金融商品を契約するにあたって、顧客の申込内容がその金融商品の契約条件に適合するか否かを判定(審査)するプログラムのソースコードを対象として処理する。
<First Embodiment>
[Configuration of source code processing device]
FIG. 1 shows a configuration example of a source code processing device 100 that is an information processing device according to an embodiment of the present invention. Note that the source code processing apparatus 100 according to the present embodiment has a source code of a program that determines (examines) whether a customer's application content meets the contract conditions of the financial product when the customer contracts the financial product. Treat as a target.

本実施形態のソースコード処理装置100は、ソースコード記憶部101、構文解析部102、ネスト構造解析部103、優先順設定部104、類似商品判定部105、新商品データ記憶部106、変更判定部107、表示部108、ソースコード変更部109および操作部110を備える。   The source code processing device 100 of this embodiment includes a source code storage unit 101, a syntax analysis unit 102, a nested structure analysis unit 103, a priority order setting unit 104, a similar product determination unit 105, a new product data storage unit 106, and a change determination unit. 107, a display unit 108, a source code changing unit 109, and an operation unit 110.

ソースコード記憶部101は、ソースコードを記憶する。このソースコードは、上記のように顧客が金融商品(以下、単に「商品」という)を契約するにあたって、顧客の申込内容についての適否を商品の契約条件を形成する属性に基づいて判定するためプログラムに対応するものである。つまり、このソースコードは、商品に対する申込内容についての適否を商品の契約条件を形成する属性に基づいて判定するためのチェックルール(判定規則)が既存の商品ごとに記述されたものである。なお、本実施形態において、このソースコードを記述するためのプログラム言語については特に限定されるものではない。   The source code storage unit 101 stores source code. This source code is a program for determining the suitability of a customer's application based on attributes that form the contract conditions of the product when the customer contracts for a financial product (hereinafter simply referred to as “product”) as described above. It corresponds to. In other words, this source code describes a check rule (determination rule) for each existing product for determining whether or not the application content for the product is appropriate based on an attribute forming the contract condition of the product. In the present embodiment, the programming language for describing the source code is not particularly limited.

構文解析部102は、ソースコード記憶部101に記憶されているソースコードを入力して抽象構文木を生成する。   The syntax analysis unit 102 inputs the source code stored in the source code storage unit 101 and generates an abstract syntax tree.

ネスト構造解析部103は、構文解析部102により生成された生成された抽象構文木を利用してネスト構造を解析することで、既存の商品ごとにおける属性間の順序関係を設定する。   The nest structure analysis unit 103 sets an order relationship between attributes for each existing product by analyzing the nest structure using the generated abstract syntax tree generated by the syntax analysis unit 102.

優先順設定部104は、ネスト構造解析部103により設定された属性間の順序関係に基づいて、前記ソースコードに記述される属性ごとの優先順を設定する。そのうえで、第1の実施形態における優先順設定部104は、ネスト構造として解析された属性間の順序関係についての推移律に基づいて優先順を設定する。   The priority order setting unit 104 sets a priority order for each attribute described in the source code based on the order relation between attributes set by the nested structure analysis unit 103. In addition, the priority order setting unit 104 in the first embodiment sets the priority order based on the transition rule about the order relation between attributes analyzed as a nested structure.

類似商品判定部105は、属性ごとに設定された優先順と、既存の商品の属性の内容と新商品の属性の内容との一致状態に基づいて、既存の商品のうちから新商品に最も類似する類似商品を判定する。具体的に、第1の実施形態における類似商品判定部105は、優先順が高い方から順に、新商品と既存の商品の各々とで属性の内容が不一致となるまで属性の内容を比較した結果、内容が一致する属性の数が最も多い既存の商品を類似商品として判定する。   The similar product determination unit 105 is most similar to the new product among the existing products based on the priority order set for each attribute and the matching state between the content of the attribute of the existing product and the content of the attribute of the new product. Determine similar products. Specifically, the similar product determination unit 105 according to the first embodiment compares the attribute contents until the attribute contents do not match between the new product and each of the existing products in order from the highest priority. The existing product having the largest number of attributes having the same content is determined as a similar product.

新商品データ記憶部106は、新商品に関する契約条件を示す新商品データを記憶する。なお、ソースコード記憶部101と新商品データ記憶部106に対応するハードウェアは、例えばHDD(Hard Disc Drive)やフラッシュメモリなどとすることができる。また、ソースコード記憶部101と新商品データ記憶部106としてのハードウェアは共通とすることができる。   The new product data storage unit 106 stores new product data indicating contract conditions for new products. The hardware corresponding to the source code storage unit 101 and the new product data storage unit 106 can be, for example, an HDD (Hard Disc Drive), a flash memory, or the like. Moreover, the hardware as the source code storage unit 101 and the new product data storage unit 106 can be made common.

変更判定部107は、ソースコードにおいて類似商品のチェックルールが記述されている箇所に基づいて、新商品のチェックルールの追加のためにソースコードにおいて変更すべき内容を判定する。
本実施形態の変更判定部107は、ソースコードにおいて変更すべき内容として、ソースコードにおいて変更すべき箇所(変更箇所)と、この変更箇所における記述の変更内容(記述変更内容)を判定する。ここで変更箇所とはソースコードにおける行(ステップ)、または行内の位置などである。また、記述変更内容とは、単語やステップの追加または削除などである。
The change determination unit 107 determines the contents to be changed in the source code in order to add the check rule for the new product based on the location where the check rule for the similar product is described in the source code.
The change determination unit 107 according to the present embodiment determines a portion to be changed in the source code (change portion) and a description change content (description change content) in the changed portion as the content to be changed in the source code. Here, the changed part is a line (step) in the source code or a position in the line. Further, the description change contents include addition or deletion of words or steps.

表示部108は、変更判定部107により判定されたソースコードにおいて変更すべき内容を変更判定部107の制御に応じて表示する。
なお、変更判定部107が例えば変更箇所のみを判定し、表示部108にその変更箇所が示されるように表示させることも考えられる。
The display unit 108 displays the contents to be changed in the source code determined by the change determination unit 107 according to the control of the change determination unit 107.
Note that it is also conceivable that the change determination unit 107 determines, for example, only the changed part and displays the changed part on the display unit 108.

エンジニア(ユーザ)は、表示部108に表示された内容を確認して、新商品に対応するチェックルールが反映されるようにソースコードを変更するための操作を操作部110に対して行う。
ソースコード変更部109は、操作部110に対して行われたソースコード変更のための操作に応じてソースコード記憶部101に記憶されているソースコードの内容を変更する。
The engineer (user) confirms the content displayed on the display unit 108 and performs an operation on the operation unit 110 to change the source code so that the check rule corresponding to the new product is reflected.
The source code changing unit 109 changes the contents of the source code stored in the source code storage unit 101 in accordance with an operation for changing the source code performed on the operation unit 110.

操作部110は、ソースコード処理装置100をエンジニアが操作するための操作デバイスを一括して示したもので、例えばキーボードやマウスなどを含む。   The operation unit 110 collectively indicates operation devices for an engineer to operate the source code processing apparatus 100, and includes, for example, a keyboard and a mouse.

[ソースコード変更の基本概念]
続いて、本実施形態における新商品に応じたソースコード変更の基本概念について説明する。なお、本実施形態においては、金融商品を対象とした商品申込みに関する審査業務に対応する場合を例として説明するが、対象とする商品は金融商品には限定されるものではない。
図2(a)には、新商品の契約条件(仕様)の一例が示されている。この新商品の契約条件の内容は、「商品タイプ」が「国債」、「商品ID」が「90」、「発売年」が「2012年」、「償還期間」が「10年」となっている。
なお、上記の契約条件における「商品タイプ」、「商品ID」、「発売年」、「償還期間」などの項目は、本実施形態においては、商品の属性として扱われる。なお、図2においては便宜上、上記の4つの属性を例示しているが、さらに多くの属性が商品ごとに設定されてよい。
[Basic concept of source code change]
Next, the basic concept of source code change according to the new product in this embodiment will be described. In the present embodiment, the case of dealing with examination work related to product application for financial products will be described as an example, but the target products are not limited to financial products.
FIG. 2A shows an example of a contract condition (specification) for a new product. The contract terms of this new product are “Product Type” “Government Bond”, “Product ID” “90”, “Release Year” “2012”, “Redemption Period” “10 years”. Yes.
It should be noted that items such as “product type”, “product ID”, “release year”, and “redemption period” in the above contract conditions are treated as product attributes in the present embodiment. In FIG. 2, the above four attributes are illustrated for convenience, but more attributes may be set for each product.

本実施形態において、新商品に応じたソースコードの変更を行うにあたっては、既存の商品のうちから、新商品に類似した類似商品を探し出す。そして、ソースコードにおいてこの類似商品に対応するチェックルールが記述された部分の内容をコピーし、このコピーした内容を新商品の契約内容に対応させて変更する。   In the present embodiment, when changing the source code according to the new product, a similar product similar to the new product is searched from existing products. Then, the contents of the portion where the check rule corresponding to the similar product is described in the source code are copied, and the copied content is changed corresponding to the contract content of the new product.

図2(b)は、新商品に類似するものとして抽出された類似商品の契約条件を示している。この類似商品の契約条件は、「商品タイプ」の属性が「国債」、「商品ID」の属性が「75」、「発売年」の属性が「2012年」、「償還期間」の属性が「5年」となっている。   FIG. 2B shows contract conditions for similar products extracted as being similar to the new product. The contract condition of this similar product is that the “product type” attribute is “government bond”, the “product ID” attribute is “75”, the “release year” attribute is “2012”, and the “redemption period” attribute is “ 5 years ".

図2(c)は、図3(b)の類似商品に対応してソースコードから抽出したチェックルールの内容例を示している。図2(c)によれば、類似商品のチェックルールは、「取引機関が「窓口販売」である場合はエラー」、「領域払込が「3回払い」である場合はエラー」、「取引機関が「A銀行」かつ料金払込が「2回払い」である場合はエラー」・・・・というように、エラー(不適合)となる条件が示される。なお、図2(c)においては、理解のためにチェックルールの内容を記載しているが、ソースコードにおいては、この内容が所定のプログラミング言語により記述されている。   FIG. 2C shows an example of the contents of a check rule extracted from the source code corresponding to the similar product in FIG. According to FIG. 2 (c), the check rules for similar products are as follows: "Error if the trading institution is" window sales "", "Error if the area payment is" 3 times payment "", "Transaction institution Is “A bank” and the fee payment is “twice payment”, an error (nonconformity) condition is indicated. In FIG. 2C, the content of the check rule is described for the sake of understanding, but in the source code, this content is described in a predetermined programming language.

そして、新商品に対応しては、図2(c)のチェックルールの内容をコピーし、この内容を新商品の契約条件に合わせて変更する。図2(d)には、新商品に対応して図2(c)の内容を変更した結果として、2番目と3番目の項目の「領域払込が「3回払い」はエラー」、「取引機関が「A銀行」かつ料金払込が「2回払い」はエラー」の内容を削除している。
そして、本実施形態では、例えば図2(d)に示した変更をソースコードに反映させる。これにより、変更後のソースコードによって、新商品の契約申込に対する適否の判定(審査)を行うことができる。
And corresponding to a new product, the content of the check rule of FIG.2 (c) is copied, and this content is changed according to the contract conditions of a new product. In FIG. 2 (d), as a result of changing the contents of FIG. 2 (c) corresponding to the new product, the second and third items “area payment is“ three times payment ”error”, “transaction The contents of “Error is in the case where the institution is“ A bank ”and the payment is“ twice payment ”” are deleted.
In this embodiment, for example, the change shown in FIG. 2D is reflected in the source code. Accordingly, it is possible to determine (examine) whether or not the new product contract application is appropriate based on the changed source code.

ここで、新商品に対応する類似商品を特定するにあたっては、単に内容が一致する属性の数に依存するのではなく、重要度の高い属性ができるだけ数多く一致していることが必要である。
この点について、図3を参照して説明する。図3(a)は、新商品の契約条件の例を示し、図3(b)、(c)、(d)は、それぞれ、図3(a)の新商品に対する類似商品候補α、β、γの契約条件の例を示している。
この場合において、図3(b)に示す類似商品候補αは、「商品タイプ」の属性と「償還期間」の属性の内容がそれぞれ「国債」と「10年」であり、図3(a)の新商品と一致している。
また、類似商品候補βは、図3(c)に示すように、「商品タイプ」の属性と「購入可能者」の属性の内容がそれぞれ「国債」と「個人」であり、図3(a)の新商品と一致している。
また、類似商品候補γは、図3(d)に示すように、「発売年」の属性と「償還期間」の各属性の内容が「2012年」と「10年」で、図3(a)の新商品と一致している。
Here, when specifying a similar product corresponding to a new product, it is necessary not only to depend on the number of attributes whose contents match, but to match as many as many important attributes as possible.
This point will be described with reference to FIG. 3A shows an example of contract conditions for a new product, and FIGS. 3B, 3C, and 3D show similar product candidates α, β, An example of contract conditions for γ is shown.
In this case, the similar product candidate α shown in FIG. 3B has the “product type” attribute and the “redemption period” attribute content “government bond” and “10 years”, respectively, and FIG. Is consistent with new products.
As shown in FIG. 3C, the similar product candidate β has “product type” attribute and “purchasable person” attribute contents “government bond” and “individual”, respectively. ) Match new products.
In addition, as shown in FIG. 3D, the similar product candidate γ has “2012” and “10 years” as the contents of each attribute of “release year” and “redemption period”. ) Match new products.

ここで、図3(b)、(c)、(d)に示される類似商品候補α、β、γは、いずれも、2つの属性の内容が新商品と一致している。ただし、その2つの属性の組み合わせが類似商品候補α、β、γとで互いに異なる。
前述のように、類似商品は、重要度の高い属性ができるだけ数多く新商品と一致していることが必要である。したがって、これらの類似商品候補α、β、γの新商品に対する類似性の高さは、新商品と内容が一致する属性の組み合わせにより異なる。
この場合において、例えば、最も重要度が高い属性は「商品タイプ」であり、次いで重要度が高い属性は「償還期間」である。したがって、類似商品候補α、β、γのうち、新商品と最も類似しているものは、図3(b)のように、「商品タイプ」と「償還期間」の属性の組み合わせの内容が新商品と一致している類似商品候補αということになる。つまり、この場合は、類似商品候補αが類似商品として選択される。
Here, in the similar product candidates α, β, and γ shown in FIGS. 3B, 3C, and 3D, the contents of the two attributes coincide with the new product. However, the combination of the two attributes is different for similar product candidates α, β, and γ.
As described above, it is necessary that similar products have as many high-priority attributes as possible to match new products. Accordingly, the degree of similarity of these similar product candidates α, β, and γ with respect to the new product differs depending on the combination of attributes whose contents match the new product.
In this case, for example, the attribute having the highest importance is “product type”, and the attribute having the next highest importance is “redemption period”. Therefore, among the similar product candidates α, β, and γ, the most similar to the new product has a new combination of “product type” and “redemption period” attributes as shown in FIG. This is a similar product candidate α that matches the product. That is, in this case, the similar product candidate α is selected as the similar product.

例えば、エンジニアが上記のように商品の属性の重要性を考慮して新商品の類似商品を特定しようとするには、十分な商品の知識が必要であるが、このような人材を確保するのは難しい。また、このような人材が確保できたとしても、既存の商品の数は膨大であるために、類似商品を最終的に特定するまでには相当の時間がかかってしまう。
そこで、本実施形態のソースコード処理装置100は、以降説明するように新商品に応じた類似商品を自動で判定する。
For example, in order for engineers to identify similar products of new products in consideration of the importance of product attributes as described above, sufficient knowledge of products is necessary. Is difficult. Even if such human resources can be secured, since the number of existing products is enormous, it takes considerable time to finally identify similar products.
Therefore, the source code processing device 100 according to the present embodiment automatically determines a similar product corresponding to the new product as described below.

[ソースコードの例]
図4は、ソースコード処理装置100のソースコード記憶部101に記憶されるソースコード120の例を示している。この図に示すソースコード120は、3つの既存の商品のチェックルールが記述されている例である。なお、ソースコード120にそのチェックルールが記述される既存の商品の数は特に限定されるものではなく、さらに多数であってよい。
図4のソースコード120にチェックルールが記述されている3つの商品とは、それぞれ、「ID(商品ID)」の属性について「ID=13」、「ID=10」、「ID=20」のものである。図4におけるブロックBK1は、「ID=13」の商品に対応する複数のチェックルールが記述されたブロックを示す。
また、図5と図6には、それぞれ、図3と同じソースコード120が示されている。
図5におけるブロックBK2は、「ID=10」の商品に対応する複数のチェックルールが記述されたブロックを示す。
図6におけるブロックBK3は、「ID=20」の商品に対応する複数のチェックルールが記述されたブロックを示す。
[Example of source code]
FIG. 4 shows an example of the source code 120 stored in the source code storage unit 101 of the source code processing apparatus 100. The source code 120 shown in this figure is an example in which check rules for three existing products are described. Note that the number of existing products whose check rules are described in the source code 120 is not particularly limited, and may be more.
The three products whose check rules are described in the source code 120 of FIG. 4 are “ID = 13”, “ID = 10”, and “ID = 20” for the attribute of “ID (product ID)”, respectively. Is. A block BK1 in FIG. 4 indicates a block in which a plurality of check rules corresponding to the product with “ID = 13” are described.
5 and 6 show the same source code 120 as in FIG.
A block BK2 in FIG. 5 indicates a block in which a plurality of check rules corresponding to the product with “ID = 10” are described.
A block BK3 in FIG. 6 indicates a block in which a plurality of check rules corresponding to the product with “ID = 20” are described.

[ソースコード処理装置の処理例]
以降、ソースコード処理装置100が類似商品判定と、ソースコードにおいて変更すべき内容の判定のために実行する処理の一例について説明する。
まず、構文解析部102は、図4〜図6に示した内容のソースコード120をソースコード記憶部101から読み込む。そして、この読み込んだソースコード120を構文解析することにより、抽象構文木を生成する。
[Processing example of source code processing device]
Hereinafter, an example of processing executed by the source code processing device 100 for determining similar products and determining contents to be changed in the source code will be described.
First, the syntax analysis unit 102 reads the source code 120 having the contents shown in FIGS. 4 to 6 from the source code storage unit 101. Then, by parsing the read source code 120, an abstract syntax tree is generated.

図7は、図4〜図6に示した内容のソースコード120を構文解析して生成された抽象構文木200の例を示している。
図7において、ノードnd1がルートである。そのうえで、ノードnd2〜nd11を含む木構造部分は、図4に示したブロックBK1に対応する。
また、ノードnd2、nd4およびnd12〜nd20を含む木構造部分は、図5のブロックBK2に対応する。
また、ノードnd21〜nd27を含む木構造部分は、図6のブロックBK3に対応する。
FIG. 7 shows an example of an abstract syntax tree 200 generated by parsing the source code 120 having the contents shown in FIGS.
In FIG. 7, the node nd1 is the root. In addition, the tree structure portion including the nodes nd2 to nd11 corresponds to the block BK1 shown in FIG.
Further, the tree structure portion including the nodes nd2, nd4, and nd12 to nd20 corresponds to the block BK2 in FIG.
Further, the tree structure portion including the nodes nd21 to nd27 corresponds to the block BK3 in FIG.

次に、ネスト構造解析部103は、図7に示すように生成された抽象構文木200を入力して、そのネスト構造を解析する。ネストとは、ソースコードにおけるブロックの入れ子の構造をいう。   Next, the nested structure analysis unit 103 receives the generated abstract syntax tree 200 as shown in FIG. 7 and analyzes the nested structure. Nesting refers to the nested structure of blocks in source code.

図7の抽象構文木200の場合のネスト構造は、ブロックBK1、BK2、BK3に対応する3つの木構造部分に分けられる。これに応じて、ネスト構造解析部103は、ブロックBK1、BK2、BK3ごとのネスト構造に対応するネスト情報を生成し、これらのネスト情報をネスト情報テーブルとして出力する。   The nested structure in the case of the abstract syntax tree 200 of FIG. 7 is divided into three tree structure portions corresponding to the blocks BK1, BK2, and BK3. In response to this, the nest structure analysis unit 103 generates nest information corresponding to the nest structure for each of the blocks BK1, BK2, and BK3, and outputs the nest information as a nest information table.

図8(a)は、図7の抽象構文木200に対応して出力されるネスト情報テーブル300の例を示している。
この図に示すネスト情報テーブル300は、ネスト情報IDに対してネスト情報が対応付けられた構造である。ネスト情報ID=1はブロックBK1に対応する。ネスト情報ID=2はブロックBK2に対応する。ネスト情報ID=3はブロックBK1に対応する。
ネスト情報を生成するにあたり、ネスト構造解析部103は、深さ優先探索を行うことで、ネストが浅いほうのIF文(条件文)において判定に用いられる属性が先で、ネストが深いほうのIF文において判定に用いられる属性が後となるように属性間の順序関係を設定する。
FIG. 8A shows an example of a nested information table 300 output corresponding to the abstract syntax tree 200 of FIG.
The nest information table 300 shown in this figure has a structure in which nest information is associated with a nest information ID. Nest information ID = 1 corresponds to the block BK1. Nest information ID = 2 corresponds to the block BK2. Nest information ID = 3 corresponds to block BK1.
In generating the nest information, the nest structure analysis unit 103 performs depth-first search, so that the attribute used for the determination in the IF statement (conditional statement) with the shallower nest is first and the IF with the deeper nest The order relation between attributes is set so that the attribute used for determination in the sentence is later.

例えば図7のブロックBK1の木構造部分について深さ優先探索によりノードを探索していくことによっては、ネスト構造解析部103は、ネストの最も浅いIF文において判定に用いられる属性はノードnd3において示される「商品タイプ」であることを認識する。また、ネスト構造解析部103は、次に深いネストのIF文において判定に用いられる属性は、ノードnd6において示される「償還期間」であることを認識し、さらに次に深いネストのIF文において判定に用いられる属性は、ノードnd8において示される「ID」と「購入者」であることを認識する。   For example, by searching for the node by the depth-first search for the tree structure portion of the block BK1 in FIG. 7, the nest structure analysis unit 103 shows the attribute used for the determination in the IF statement having the shallowest nest at the node nd3. Recognize that it is a “product type”. Further, the nest structure analysis unit 103 recognizes that the attribute used for the determination in the next deeply nested IF statement is the “redemption period” indicated in the node nd6, and further determines in the next deepest nested IF statement. It is recognized that the attributes used for are “ID” and “purchaser” shown in the node nd8.

これにより、ネスト構造解析部103は、図8(a)においてネスト情報ID=1のネスト情報として示すように、「商品タイプ>償還期間>ID|購入者」という内容のネスト情報を生成する。なお、上記の順序関係を示す式において「|」の記号は、一つの条件式において複数の属性が存在していることを示す。つまり、「|」の記号に対して前後に記述される2つの項については、論理積と論理和のいずれも問わないということを意味する。
したがって、ブロックBK1における属性の順序関係は、「商品タイプ」に次いで「償還期間」となり、その次は「ID」と「購入者」が並列になるというものである。
As a result, the nest structure analysis unit 103 generates nest information with the content “product type> redemption period> ID | purchaser” as shown as nest information with nest information ID = 1 in FIG. It should be noted that the symbol “|” in the expression indicating the order relationship indicates that a plurality of attributes exist in one conditional expression. That is, for the two terms described before and after the symbol “|”, it means that neither logical product nor logical sum is required.
Accordingly, the order relationship of the attributes in the block BK1 is “redemption period” next to “product type”, followed by “ID” and “purchaser” in parallel.

また、ネスト構造解析部103は、ブロックBK2に対応する木構造部分を深さ優先で探索することにより、ネスト構造解析部103は、図8(a)においてネスト情報ID=2のネスト情報として示すように、「商品タイプ>償還期間>購入金額」という内容のネスト情報を生成する。つまり、ブロックBK2における属性の順序関係は、「商品タイプ」に次いで「償還期間」となり、その次は、「購入金額」になるというものである。   Also, the nest structure analysis unit 103 searches the tree structure portion corresponding to the block BK2 with depth priority, so that the nest structure analysis unit 103 shows the nest information with nest information ID = 2 in FIG. As described above, nest information having the content “product type> redemption period> purchase amount” is generated. That is, the order relationship of the attributes in the block BK2 is “the redemption period” next to “product type”, and then “the purchase amount”.

また、ネスト構造解析部103は、ブロックBK3に対応する木構造部分を深さ優先で探索することにより、図8(a)においてネスト情報ID=3のネスト情報として示すように、「商品タイプ>ID|販売所」という内容のネスト情報を生成する。つまり、ブロックBK3における属性の順序関係は、「商品タイプ」に次いで、「ID」と「販売所」が並列になるというものである。   Further, the nest structure analysis unit 103 searches the tree structure portion corresponding to the block BK3 with depth priority, and as shown as the nest information of the nest information ID = 3 in FIG. Nest information having the contents of ID | sales office is generated. That is, the order relationship of the attributes in the block BK3 is that “ID” and “sales office” are arranged in parallel after “product type”.

次に、優先順設定部104は、図8(a)に示すネスト情報テーブル300に基づいて、ソースコードのIF文に出現する属性ごとに優先順を設定する。ここで、ネスト情報テーブル300において、ソースコードのIF文に出現するすべての属性が抽出され、ブロックごとに対応してその順序関係が設定されている。   Next, the priority order setting unit 104 sets a priority order for each attribute that appears in the IF statement of the source code, based on the nested information table 300 shown in FIG. Here, in the nest information table 300, all attributes appearing in the IF sentence of the source code are extracted, and the order relation is set for each block.

そこで、優先順設定部104は、ネスト情報テーブル300におけるネスト情報ごとにおいて示される属性の順序関係に推移律を適用して、ネスト情報テーブル300において示されているすべての属性ごとの優先順を設定する。これにより、ソースコードのIF文に出現するすべての属性ごとに優先順が設定されたことになる。
なお、図8(a)に示すネスト情報の各々は、ブロックごとに対応するものであるが、1つのブロックは、1つの商品に対応するチェックルールに対応する。したがって、ネスト情報の各々は、対応の商品における属性の順序関係を示している。
Therefore, the priority order setting unit 104 applies a transition rule to the attribute order relationship shown for each nested information in the nested information table 300, and sets the priority order for every attribute shown in the nested information table 300. To do. Thereby, the priority order is set for every attribute appearing in the IF sentence of the source code.
Each of the nest information shown in FIG. 8A corresponds to each block, but one block corresponds to a check rule corresponding to one product. Therefore, each of the nest information indicates an order relationship of attributes in the corresponding product.

優先順設定部104は、設定した優先順を示す優先順情報を出力する。図8(b)は、図8(a)のネスト情報テーブル300に基づいて設定した優先順を示す優先順情報400の例である。
この図8(b)に示す優先順情報400においては、「商品タイプ」の属性が最も優先順が高く、次いで、「償還期間」の属性の優先順が高い。また、「償還期間」に次いでは、「購入者」、「ID」、「購入金額」、「販売所」の4つの属性が並列に同じ優先順である。
The priority order setting unit 104 outputs priority order information indicating the set priority order. FIG. 8B is an example of priority order information 400 indicating the priority order set based on the nest information table 300 of FIG.
In the priority order information 400 shown in FIG. 8B, the “product type” attribute has the highest priority, and then the “redemption period” attribute has the highest priority. Following the “redemption period”, the four attributes of “purchaser”, “ID”, “purchase amount”, and “sales office” are in the same priority order in parallel.

図8(b)の優先順情報400に示される優先順は、ネストが浅いIF文に出現している属性のほうが高くなっている。ソースコード120においては、複数の商品で共通して使用することが多い属性を含むIF文ほどネストが浅くなる。つまり、IF文に含まれる属性は、そのIF文のネストが浅いほど重要度が高いということになる。この点に着目し、優先順設定部104は、ネストが浅いIF文に含まれる属性の優先順が高くなるように優先順の設定を行うものである。   In the priority order shown in the priority order information 400 of FIG. 8B, the attribute appearing in the IF sentence with a shallow nest is higher. In the source code 120, an IF statement including an attribute that is often used in common for a plurality of products is shallower. In other words, the attribute included in the IF statement is more important as the IF statement is nested more shallowly. Focusing on this point, the priority order setting unit 104 sets the priority order so that the priority order of the attributes included in the IF sentence with a shallow nesting becomes higher.

次に、類似商品判定部105は、ソースコード120においてチェックルールが記述される「ID=13」、「ID=10」、「ID=20」の既存の商品の属性の内容を、図8(b)に示される優先順情報400が示す優先順にしたがってソートする。類似商品判定部105は、このソート結果を、既存商品属性テーブルとして生成する。   Next, the similar product determination unit 105 displays the contents of the attributes of the existing products of “ID = 13”, “ID = 10”, and “ID = 20” in which the check rules are described in the source code 120 in FIG. Sorting is performed according to the priority order indicated by the priority order information 400 shown in b). The similar product determination unit 105 generates this sort result as an existing product attribute table.

図9(a)の既存商品属性テーブル500は、「ID=13」、「ID=10」、「ID=20」の商品ごとの属性の内容を、図8(b)に示される優先順情報が示す優先順にしたがってソートした結果を示している。   The existing product attribute table 500 in FIG. 9A includes the attribute contents for each product of “ID = 13”, “ID = 10”, and “ID = 20” in the priority order information shown in FIG. Shows the result of sorting according to the priority order indicated by.

この既存商品属性テーブル500においては、最も左の列の属性が優先順が最も高く、右となるのに応じて低くなっていく。なお、優先順が同じで並列となった属性については、所定規則にしたがって配列順を決定してソートすればよい。   In the existing product attribute table 500, the attribute in the leftmost column has the highest priority, and becomes lower as it goes to the right. In addition, what is necessary is just to determine the arrangement order according to a predetermined rule, and to sort about the attribute which became the same priority and became parallel.

また、類似商品判定部105は、図9(b)に示す新商品属性テーブル600も生成する。このために、類似商品判定部105は、新商品データ記憶部106から新商品データを読み出す。そして、類似商品判定部105は、読み出した新商品データが示す新商品の属性の内容を、図8(b)の優先順情報400が示す優先順にしたがってソートすることで、新商品属性テーブル600を生成する。   The similar product determination unit 105 also generates a new product attribute table 600 shown in FIG. For this purpose, the similar product determination unit 105 reads new product data from the new product data storage unit 106. Then, the similar product determination unit 105 sorts the content of the new product attribute indicated by the read new product data according to the priority order indicated by the priority order information 400 in FIG. Generate.

次に、類似商品判定部105は、既存の商品ごとに、優先順が高いほうの属性から順に、新商品属性テーブル600が示す属性の内容との比較を行っていく。この際、類似商品判定部105は、既存の商品ごとの比較の処理について、不一致の結果が得られた段階で終了させる。   Next, the similar product determination unit 105 performs comparison with the content of the attribute indicated by the new product attribute table 600 in order from the attribute with the highest priority for each existing product. At this time, the similar product determination unit 105 ends the comparison process for each existing product when a mismatch result is obtained.

具体的に、図9(a)と図9(b)において優先順が最も高い属性は「商品タイプ」である。
そこで、類似商品判定部105は、まず、図9(a)の1行目の「ID=10」の商品について、「商品タイプ」の内容を図9(b)と比較する。この場合、「商品タイプ」の内容は、互いに「国債」で一致する。
Specifically, the attribute having the highest priority in FIG. 9A and FIG. 9B is “product type”.
Therefore, the similar product determination unit 105 first compares the content of “product type” with FIG. 9B for the product of “ID = 10” in the first line of FIG. In this case, the contents of the “product type” match each other with “government bonds”.

そこで、類似商品判定部105は、優先順が2番目の「償還期間」の属性の内容を図9(a)の1行目と図9(b)とで比較する。この場合にも、「償還期間」の属性の内容は「10年」で一致している。   Therefore, the similar product determination unit 105 compares the contents of the attribute of the “redemption period” with the second priority in the first row of FIG. 9A and FIG. 9B. Also in this case, the content of the attribute of “redemption period” matches with “10 years”.

そこで、類似商品判定部105は、さらに。その右側に配列されている次の優先順の「購入者」の属性の内容を図9(a)の1行目と図9(b)とで比較する。この段階で、「購入者」の属性の内容は、図9(a)の1行目が「法人、個人」であるのに対して、図9(b)は「法人」のみであることから、その内容が不一致となる。そこで、類似商品判定部105は、図9(a)の1行目の商品についての属性内容の比較を終了させる。   Therefore, the similar product determination unit 105 further. The content of the attribute of “purchaser” in the next priority order arranged on the right side is compared between the first line of FIG. 9A and FIG. 9B. At this stage, the attribute of the “purchaser” is “corporate, individual” in the first line of FIG. 9A, whereas FIG. 9B is only “corporation”. , The contents are inconsistent. Therefore, the similar product determination unit 105 ends the comparison of the attribute contents for the product on the first line in FIG.

次に、類似商品判定部105は、図9(a)の2行目の「ID=13」の商品について、「商品タイプ」の内容を図9(b)と比較する。この場合、「商品タイプ」の属性の内容は、互いに「国債」で一致する。   Next, the similar product determination unit 105 compares the content of “product type” with FIG. 9B for the product with “ID = 13” in the second row of FIG. In this case, the contents of the “product type” attribute match each other with “government bonds”.

そこで、類似商品判定部105は、優先順が2番目の「償還期間」の属性の内容を図9(a)の2行目と図9(b)とで比較する。この場合、「償還期間」の属性の内容は、図9(a)の2行目が「5年」であるのに対して、図9(b)は「10年」であることから、その内容が不一致となる。そこで、類似商品判定部105は、図9(a)の2行目の商品についての属性内容の比較を終了させる。   Therefore, the similar product determination unit 105 compares the contents of the attribute of the “redemption period” with the second priority in the second row of FIG. 9A and FIG. 9B. In this case, the content of the attribute of “redemption period” is “5 years” in the second line of FIG. 9A, whereas “10 years” in FIG. 9B. The contents are inconsistent. Therefore, the similar product determination unit 105 ends the comparison of the attribute contents for the product on the second line in FIG.

次に、類似商品判定部105は、図9(a)の3行目の「ID=20」の商品について、「商品タイプ」の内容を図9(b)と比較する。この場合、「商品タイプ」の内容は、互いに「国債」で一致する。この場合、「商品タイプ」の属性の内容は、図9(a)の3行目が「地方債」であるのに対して、図9(b)は「国債」であることから、その内容が不一致となる。そこで、類似商品判定部105は、図9(a)の3行目の商品についての属性内容の比較を終了させる。   Next, the similar product determination unit 105 compares the content of “product type” with FIG. 9B for the product of “ID = 20” in the third row of FIG. In this case, the contents of the “product type” match each other with “government bonds”. In this case, the content of the “product type” attribute is “local bond” in the third line of FIG. 9A, whereas “government bond” in FIG. 9B. Is inconsistent. Therefore, the similar product determination unit 105 ends the comparison of the attribute contents for the product in the third row in FIG.

図9(c)は、上記のように比較を行った結果を既存商品属性テーブル500に反映させたものである。これまでの比較結果から、類似商品判定部105は、図9(a)の1行目の「ID=10」の商品は、新商品と内容が一致した属性の数が「2」であることを認識する。また、図9(a)の2行目の「ID=13」の商品は、新商品と内容が一致した属性の数が「1」であることを認識する。また、図9(a)の3行目の「ID=20」の商品は、新商品と内容が一致した属性の数が「0」であることを認識する。   FIG. 9C reflects the result of the comparison as described above in the existing product attribute table 500. Based on the comparison results so far, the similar product determination unit 105 indicates that the number of attributes whose contents match that of the new product is “2” for the product of “ID = 10” in the first row of FIG. Recognize Further, the product of “ID = 13” on the second line in FIG. 9A recognizes that the number of attributes whose contents match that of the new product is “1”. Further, the product of “ID = 20” on the third line in FIG. 9A recognizes that the number of attributes whose contents match the new product is “0”.

上記のように認識された属性の数が多い既存の商品ほど、新商品との間で優先順が高い(つまり、重要度が高い)属性を多く共有していることになるので、新商品との類似度が高いと見てよい。そこで、類似商品判定部105は、例えば上記のように既存の商品ごとに認識した属性の数を、図9(c)の最も右の列に示すように、類似度として求める。つまり、図9(a)の1行目の「ID=10」の商品の類似度は「2」であり、2行目の「ID=13」の商品の類似度は「1」であり、3行目の「ID=20」の商品の類似度は「0」である。   As existing products with a higher number of recognized attributes share more attributes with higher priority (i.e., higher importance) with new products, You can see that the degree of similarity is high. Therefore, the similar product determination unit 105 obtains the number of attributes recognized for each existing product as described above, for example, as the degree of similarity, as shown in the rightmost column of FIG. 9C. That is, the similarity of the product of “ID = 10” on the first line in FIG. 9A is “2”, and the similarity of the product of “ID = 13” on the second line is “1”. The similarity of the product with “ID = 20” in the third row is “0”.

そして、類似商品判定部105は、このように求められた類似度が最大値の商品を類似商品として判定する。図9(c)の場合であれば、類似商品判定部105は、1行目における「ID=10」の商品を類似商品として判定する。   Then, the similar product determination unit 105 determines a product having the maximum similarity obtained in this way as a similar product. In the case of FIG. 9C, the similar product determination unit 105 determines the product with “ID = 10” in the first row as a similar product.

変更判定部107は、類似商品判定部105による類似商品の判定結果に基づき、新商品のチェックルールの追加のためにソースコード120において変更すべき内容を判定する。
このために、変更判定部107は、類似商品判定部105により類似商品として判定された商品のID(商品ID)を入力する。また、ソースコード記憶部101に記憶されているソースコード120を読み出す。そして、変更判定部107は、類似商品として判定された商品のIDを利用して、ソースコード120において類似商品のチェックルールが記述されたブロックを探索する。
The change determination unit 107 determines contents to be changed in the source code 120 in order to add a new product check rule based on the similar product determination result by the similar product determination unit 105.
For this purpose, the change determination unit 107 inputs the ID (product ID) of the product determined as the similar product by the similar product determination unit 105. Also, the source code 120 stored in the source code storage unit 101 is read. Then, the change determination unit 107 searches for a block in which the check rule for the similar product is described in the source code 120 using the ID of the product determined as the similar product.

具体的に、図9(c)にて類似商品であると判定された商品は、「ID=10」の商品である。この「ID=10」の商品のチェックルールが記述されたブロックをソースコード120から探索するために、変更判定部107は、例えばIF文に「ID=10」を含むブロックを探索する。この結果、変更判定部107は、「ID=10」の商品のチェックルールが記述されたブロックとして、図5のブロックBK2を探索する。   Specifically, the product determined to be a similar product in FIG. 9C is the product with “ID = 10”. In order to search the source code 120 for a block in which the check rule for the product with “ID = 10” is described, the change determination unit 107 searches for a block including “ID = 10” in the IF sentence, for example. As a result, the change determination unit 107 searches the block BK2 in FIG. 5 as a block in which the check rule for the product with “ID = 10” is described.

次に、変更判定部107は、新商品データ記憶部106から新商品データを読み出す、そして、変更判定部107は、ブロックBK2において記述されるチェックルールと新商品データにおいて示される新商品のチェックルールとの差分を認識する。この場合において、変更判定部107は、差分として、ブロックBK2のチェックルールにおいて、新商品の商品IDのみが記述されていないことを認識する。   Next, the change determination unit 107 reads the new product data from the new product data storage unit 106, and the change determination unit 107 checks the check rule described in the block BK2 and the new product check rule indicated in the new product data. And recognize the difference. In this case, the change determination unit 107 recognizes that only the product ID of the new product is not described as a difference in the check rule of the block BK2.

そこで、この場合の変更判定部107は、上記のように認識した差分にしたがって、ブロックBK2においてIF文にIDの属性を含む、「IF ID = 10」の行が変更箇所であると判定する。   Therefore, the change determination unit 107 in this case determines that the line “IF ID = 10”, which includes the ID attribute in the IF statement in the block BK2, is the changed portion according to the difference recognized as described above.

さらに、本実施形態の変更判定部107は、変更箇所における記述変更内容も判定する。この場合には、「IF ID = 10」のIF文に対して新商品の「ID=30」を追加すべきであるため、変更判定部107は、変更箇所「IF ID = 10」の行について、「IF ID = 10 OR 30」と、「OR 30」を末尾に追加するように記述を変更すべきであると判定する。   Furthermore, the change determination unit 107 of the present embodiment also determines the description change content at the changed part. In this case, since “ID = 30” of the new product should be added to the IF statement of “IF ID = 10”, the change determination unit 107 sets the line “IF ID = 10” for the change part It is determined that the description should be changed so that “IF ID = 10 OR 30” and “OR 30” are added at the end.

そして、変更判定部107は、上記の判定結果(変更箇所と記述変更内容)を表示部108に表示させる。
図10は、表示部108に表示される判定結果の内容が示されている。この図に示すように、表示部108には、例えば、ソースコード120が示される。そのうえで、このソースコード120における変更箇所である「IF ID = 10」のIF文において、その後ろに「OR 30」を追加して表示し、この「OR 30」が記述変更内容であることを示すハイライト表示indにより強調する。
Then, the change determination unit 107 causes the display unit 108 to display the above determination result (change location and description change content).
FIG. 10 shows the contents of the determination result displayed on the display unit 108. As shown in this figure, the source code 120 is displayed on the display unit 108, for example. In addition, in the IF statement of “IF ID = 10” which is the changed portion in the source code 120, “OR 30” is added and displayed after this to indicate that this “OR 30” is the description change content. Emphasize by highlight display ind.

この図10に示す表示を見たエンジニアは、例えば、このように表示された内容を確認したうえで、新商品のチェックルールが反映されるようにソースコード120を書き換えるための操作を操作部110に対して行う。この操作に応じてソースコード変更部109は、ソースコード記憶部101に記憶されているソースコード120を変更する。
このように、本実施形態においては、例えばエンジニアが十分な商品知識を有していなくとも、ソースコード処理装置が新商品に対応する類似商品を自動で判定する。そして、類似商品の判定結果に基づいて、ソースコード120において変更すべき内容を判定してエンジニアに通知することができる。なお、変更判定部107の判定結果の表示態様については特に図10に示したものに限定されない。
The engineer who has seen the display shown in FIG. 10, for example, confirms the content displayed in this way, and then performs an operation for rewriting the source code 120 so that the check rule for the new product is reflected. To do. In response to this operation, the source code changing unit 109 changes the source code 120 stored in the source code storage unit 101.
Thus, in the present embodiment, for example, even if the engineer does not have sufficient product knowledge, the source code processing apparatus automatically determines a similar product corresponding to the new product. And based on the determination result of similar goods, the contents which should be changed in the source code 120 can be determined, and an engineer can be notified. Note that the display mode of the determination result of the change determination unit 107 is not particularly limited to that shown in FIG.

[処理手順例]
図11のフローチャートは、ソースコード処理装置100が実行する処理手順例を示している。
まず、構文解析部102は、ソースコード記憶部101からソースコード120を読み込む(ステップS101)。次に、構文解析部102は、読み込んだソースコード120の構文解析を行って、抽象構文木200を生成する(ステップS102)。
[Example of processing procedure]
The flowchart in FIG. 11 illustrates an example of a processing procedure executed by the source code processing device 100.
First, the syntax analysis unit 102 reads the source code 120 from the source code storage unit 101 (step S101). Next, the syntax analysis unit 102 performs syntax analysis of the read source code 120 to generate an abstract syntax tree 200 (step S102).

ネスト構造解析部103は、ステップS102により生成された抽象構文木200を利用して、ブロックごと(つまり、既存の商品ごと)の属性の順序関係を示すネスト情報を生成する(ステップS103)。   The nest structure analysis unit 103 uses the abstract syntax tree 200 generated in step S102 to generate nest information indicating the order relationship of attributes for each block (that is, for each existing product) (step S103).

優先順設定部104は、ステップS103により生成されたブロックごとのネスト情報から、ソースコード120において記述されているすべての属性についての優先順を設定する(ステップS104)。   The priority order setting unit 104 sets the priority order for all attributes described in the source code 120 from the nesting information for each block generated in step S103 (step S104).

類似商品判定部105は、ステップS104により設定された属性ごとの優先順と、既存の商品ごとの属性の内容と、新商品データ記憶部106から読み出した新商品データが示す新商品の属性の内容とに基づいて、既存の商品のうちから、新商品に類似する類似商品を1つ判定する(ステップS105)。   The similar product determination unit 105 sets the priority order for each attribute set in step S104, the content of the attribute for each existing product, and the content of the new product attribute indicated by the new product data read from the new product data storage unit 106. Based on the above, one similar product similar to the new product is determined from the existing products (step S105).

変更判定部107は、ステップS105により判定された類似商品の商品IDと、新商品データとに基づいて、ソースコード120における変更箇所と、その変更箇所における記述変更内容を判定する(ステップS106)。
そして、変更判定部107は、判定結果である変更箇所と記述変更内容をソースコードとともに表示部108に表示させる(ステップS107)。
Based on the product ID of the similar product determined in step S105 and the new product data, the change determination unit 107 determines the changed location in the source code 120 and the description change content at the changed location (step S106).
Then, the change determination unit 107 causes the display unit 108 to display the change location and the description change content as the determination result together with the source code (step S107).

そして、ソースコード変更部109は、操作部110に対してエンジニアが行ったソースコード120を変更するための操作に応じて、ソースコード記憶部101に記憶されているソースコード120を変更する(ステップS108)。   Then, the source code changing unit 109 changes the source code 120 stored in the source code storage unit 101 in accordance with an operation for changing the source code 120 performed by the engineer on the operation unit 110 (Step S110). S108).

図12のフローチャートは、類似商品判定部105が図11のステップS105として実行する類似商品判定のための処理手順例を示している。   The flowchart in FIG. 12 illustrates an example of a processing procedure for determining similar products executed by the similar product determining unit 105 as step S105 in FIG.

まず、類似商品判定部105は、図9(b)に示した新商品属性テーブル600を予め生成する(ステップS201)。つまり、類似商品判定部105は、新商品の属性を、図11のステップS104により設定された優先順に対応させてソートする。   First, the similar product determination unit 105 generates a new product attribute table 600 shown in FIG. 9B in advance (step S201). That is, the similar product determination unit 105 sorts the attributes of the new products in correspondence with the priority order set in step S104 of FIG.

次に、類似商品判定部105は、図9(a)、(c)に示した既存商品属性テーブル500における行番号を示す変数nに「1」を代入する(ステップS202)。   Next, the similar product determination unit 105 assigns “1” to the variable n indicating the row number in the existing product attribute table 500 shown in FIGS. 9A and 9C (step S202).

次に、類似商品判定部105は、既存商品属性テーブル500におけるn行目を選択し(ステップS203)、さらに、優先順を示す変数mに「1」を代入する(ステップS204))。
そのうえで、類似商品判定部105は、既存商品属性テーブル500のn行目と新商品属性テーブル600において優先順がm番目の属性の内容を比較する(ステップS205)。
Next, the similar product determination unit 105 selects the n-th row in the existing product attribute table 500 (step S203), and further substitutes “1” for the variable m indicating the priority order (step S204).
In addition, the similar product determination unit 105 compares the contents of the m-th priority attribute in the n-th row of the existing product attribute table 500 and the new product attribute table 600 (step S205).

類似商品判定部105は、ステップS205による比較結果として、両者の属性の内容が一致したか否かについて判定する(ステップS206)。ここで、一致したのであれば(ステップS206−YES)、類似商品判定部105は、変数mをインクリメントして(ステップS207)、ステップS205に戻る。これにより、次の優先順の属性の内容についての比較が引き続き行われる。   The similar product determination unit 105 determines whether or not the contents of both attributes match as a comparison result in step S205 (step S206). If they match (step S206—YES), the similar product determination unit 105 increments the variable m (step S207), and returns to step S205. Thereby, the comparison about the content of the attribute of the next priority order is continued.

これに対して、内容が一致していない場合(ステップS206−NO)、類似商品判定部105は、既存商品属性テーブル500のn行目の商品についての類似度Dに対して、変数mの値を代入する(ステップS208)。つまり、類似商品判定部105は、図9の説明にしたがって、内容が一致していたと判定された属性の数に応じた値を類似度Dとして求めるものである。   On the other hand, when the contents do not match (step S206—NO), the similar product determination unit 105 determines the value of the variable m with respect to the similarity D for the product in the nth row of the existing product attribute table 500. Is substituted (step S208). That is, the similar product determination unit 105 obtains a value corresponding to the number of attributes determined to match as the similarity D in accordance with the description of FIG.

次に、類似商品判定部105は、変数nが最大値であるか否かについて判定する(ステップS209)。図9との例の対応では、変数nの最大値は「3」である。
変数nが最大値ではない場合には(ステップS209−NO)、まだ、属性内容の比較を行っていない既存商品属性テーブル500の行が残っている。そこで、この場合、類似商品判定部105は、変数nをインクリメントしたうえで(ステップS210)、ステップS203に戻ることで、既存商品属性テーブル500における次の行を対象として属性内容の比較を行う。
一方、変数nが最大値である場合には(ステップS209−YES)、既存商品属性テーブル500のすべての行について属性内容の比較を行ったことになる。そこで、この場合の類似商品判定部105は、類似度Dが最大値の行に対応する既存の商品を類似商品として判定する(ステップS211)
Next, the similar product determination unit 105 determines whether or not the variable n is the maximum value (step S209). In correspondence with the example of FIG. 9, the maximum value of the variable n is “3”.
When the variable n is not the maximum value (step S209—NO), there is still a row of the existing product attribute table 500 that has not been compared with the attribute contents. Therefore, in this case, the similar product determination unit 105 increments the variable n (step S210), and returns to step S203 to compare the attribute contents for the next line in the existing product attribute table 500.
On the other hand, when the variable n is the maximum value (step S209—YES), the attribute contents are compared for all the rows of the existing product attribute table 500. Therefore, the similar product determination unit 105 in this case determines an existing product corresponding to the row having the maximum similarity D as a similar product (step S211).

<第2の実施形態>
[ネスト構造解析部、優先順設定部、類似商品判定部の動作例]
次に、第2の実施形態について説明する。なお、第2の実施形態におけるソースコード処理装置100の全体構成としては、図1と同様でよい。また、第2の実施形態におけるソースコード処理装置100が実行する処理手順の全体としては、図11と同様でよい。
<Second Embodiment>
[Operation example of nest structure analysis unit, priority order setting unit, similar product determination unit]
Next, a second embodiment will be described. The overall configuration of the source code processing apparatus 100 in the second embodiment may be the same as that shown in FIG. Further, the overall processing procedure executed by the source code processing device 100 in the second embodiment may be the same as that shown in FIG.

第1の実施形態と第2の実施形態においては、属性に対する優先順の設定手法が異なる。第1の実施形態においては、ネスト構造解析部103により解析されたブロックごとの属性の順序関係に対して推移律を適用して属性ごとの優先順を設定した。
これに対して、第2の実施形態では、ネスト構造解析部103は、ネストの深さによるのではなく、各ネスト情報における属性に重み付け値を設定し、この重み付け値に応じてブロックごとの属性の順序関係を設定する。そして、優先順設定部104は、このネスト情報ごとの属性の重み付け値に基づき、属性ごとの優先順を設定する。さらに、類似商品判定部105は、新商品と既存の商品の各々とで内容が一致する属性に設定された前記重み付け値に基づいて求めた類似度が最も高い既存の商品を類似商品として判定する。
The first embodiment and the second embodiment are different in the priority order setting method for attributes. In the first embodiment, the transition order is applied to the order relation of attributes for each block analyzed by the nested structure analysis unit 103 to set the priority order for each attribute.
On the other hand, in the second embodiment, the nest structure analysis unit 103 sets a weighting value for the attribute in each nest information, not depending on the depth of nest, and the attribute for each block according to this weighting value. Set the order relationship. Then, the priority order setting unit 104 sets the priority order for each attribute based on the attribute weight value for each nest information. Furthermore, the similar product determination unit 105 determines an existing product having the highest similarity obtained based on the weighting value set in the attribute that matches the content of the new product and each of the existing products as the similar product. .

[属性に対する重み付け値の設定例]
図13(a)、(b)は、それぞれ、第2の実施形態におけるネスト構造解析部103がネスト情報を生成する際の属性に対する重み付け値の設定例を示している。
まず、図13(a)においては、ソースコード120における同じ階層において、条件文L1、L2、L3の3つの条件文(IF文)が記述されている。このうち、条件文L1は「ID(商品ID)」の属性を含んでいるが、条件文L2、L3は、いずれも「商品タイプ」の属性を含んでいる。つまり、「商品タイプ」の属性については、同じ階層において複数の条件文に含まれている。
[Example of setting weight values for attributes]
FIGS. 13A and 13B respectively show setting examples of weight values for attributes when the nest structure analysis unit 103 in the second embodiment generates nest information.
First, in FIG. 13A, three conditional statements (IF statements) of conditional statements L1, L2, and L3 are described in the same hierarchy in the source code 120. Among these, the conditional statement L1 includes an attribute of “ID (product ID)”, but the conditional statements L2 and L3 both include an attribute of “product type”. That is, the “product type” attribute is included in a plurality of conditional statements in the same hierarchy.

このように、同じ階層において複数の条件文に同じ属性が含まれている場合、この属性は重要度が高いということがいえる。そこで、同じ階層において複数の条件文に同じ属性が含まれている場合、ネスト構造解析部103は、この属性の重み付け値を大きく変更するように設定する。   Thus, when the same attribute is included in a plurality of conditional statements in the same hierarchy, it can be said that this attribute has high importance. Therefore, when the same attribute is included in a plurality of conditional statements in the same hierarchy, the nested structure analysis unit 103 sets so as to greatly change the weight value of this attribute.

一例として、図13(a)の場合において、重み付け値のデフォルトの値は「0.4」であるとする。図13(a)のソースコード120において、同じ階層で「ID」の属性を含むのは条件文L1のみであるから、ネスト構造解析部103は、「ID」の属性に対してデフォルトとしての「0.4」の重み付け値を設定する。   As an example, in the case of FIG. 13A, it is assumed that the default value of the weighting value is “0.4”. In the source code 120 of FIG. 13A, since only the conditional statement L1 includes the attribute “ID” in the same hierarchy, the nested structure analysis unit 103 sets “ID” as a default to the attribute “ID”. A weight value of “0.4” is set.

これに対して、条件文L2、L3の2つは、ともに同じ階層であって、かつ、同じ「商品タイプ」の属性を含んでいる。そこで、ネスト構造解析部103は、「商品タイプ」の属性については、デフォルトの「0.4」より大きい重み付け値として、例えば、「0.4」の2倍の「0.8」を設定する。
なお、このように重み付け値を大きく変更するように設定するにあたっては、同じ階層において存在する同じ属性の数が多くなるのに応じて大きくしていくように変更してよい。
On the other hand, the two conditional statements L2 and L3 are both in the same hierarchy and include the same “product type” attribute. Therefore, for the attribute of “product type”, the nested structure analysis unit 103 sets, for example, “0.8” which is twice as large as “0.4” as a weighting value larger than the default “0.4”. .
In setting the weight value to be greatly changed in this way, the weight value may be changed to increase as the number of the same attributes existing in the same hierarchy increases.

また、図13(b)においては、ソースコード120における同じ階層において、条件文L4、L5の2つの条件文(IF文)が記述されている。このうち、条件文L4に含まれる「商品タイプ」の属性についての真の値は「国債」の1つのみである。
これに対して、条件文L5は、「IF ID = 10 OR 20 OR 30」と記述されているように、その条件式における「ID」の属性についての真の値は、「10」、「20」「30」の3である。つまり、条件文L5における真の値は複数である。このように、条件式に含まれる属性についての真の値が複数である場合、ネスト構造解析部103は、前記属性についての重み付け値を小さく変更するように設定する。
In FIG. 13B, two conditional statements (IF statements) of conditional statements L4 and L5 are described in the same hierarchy in the source code 120. Among these, the true value for the “product type” attribute included in the conditional statement L4 is only one “government bond”.
In contrast, in the conditional statement L5, as described as “IF ID = 10 OR 20 OR 30”, the true values for the attribute of “ID” in the conditional expression are “10”, “20 3 of “30”. That is, there are a plurality of true values in the conditional statement L5. As described above, when there are a plurality of true values for the attribute included in the conditional expression, the nest structure analyzing unit 103 sets the weighting value for the attribute to be small.

一例として、ネスト構造解析部103は、条件文L4に含まれる「商品タイプ」の属性に対してはデフォルトとしての「0.4」の重み付け値を設定する。
これに対して、条件文L5に含まれる「ID」の属性については、デフォルトの「0.4」より低い重み付け値として、例えば、「0.4」の1/2倍の「0.2」を設定する。なお、このように重み付け値を小さくするように設定するにあたっては、真の値の数が多くなるのに応じて小さくするように変更してよい。
As an example, the nested structure analysis unit 103 sets a default weight value of “0.4” for the “product type” attribute included in the conditional statement L4.
On the other hand, for the attribute of “ID” included in the conditional statement L5, for example, “0.2” that is 1/2 times “0.4” as a weighting value lower than the default “0.4”. Set. In setting the weighting value to be small as described above, the weighting value may be changed so as to decrease as the number of true values increases.

また、ネスト構造解析部103は、条件式の内容によっては、条件式に含まれる属性についての偽の値が複数である場合、前記属性についての重み付け値を小さく変更するように設定してもよい。つまり、ネスト構造解析部103は、ソースコードの条件式に含まれる属性についての真偽を示す値が複数である場合、属性についての重み付け値を小さく変更するように設定するものである。   Further, depending on the content of the conditional expression, the nested structure analysis unit 103 may set the weighting value for the attribute to be small when there are a plurality of false values for the attribute included in the conditional expression. . That is, the nest structure analysis unit 103 sets the weighting value for the attribute to be small when there are a plurality of values indicating the authenticity of the attribute included in the conditional expression of the source code.

なお、第2の実施形態におけるネスト構造解析部103が既存の商品ごとの属性間の順序関係を設定するにあたっては、図13(a)のみの手法を採用してもよいし、図13(b)のみの手法を採用してもよいし、図13(a)と図13(b)の手法を併用してもよい。   Note that when the nest structure analysis unit 103 in the second embodiment sets the order relationship between attributes for each existing product, the method of FIG. 13 (a) alone may be employed, or FIG. ) Only, or the methods shown in FIGS. 13A and 13B may be used in combination.

そして、第2の実施形態における優先順設定部104は、既存の商品ごとの属性間の順序関係の設定根拠である重み付け値を利用して、ソースコード120において記述される属性ごとの優先順を設定する。具体的には、重み付け値の高い属性の順にしたがって優先順を設定すればよい。   Then, the priority order setting unit 104 in the second embodiment uses the weighting value, which is the basis for setting the order relation between attributes for each existing product, to set the priority order for each attribute described in the source code 120. Set. Specifically, the priority order may be set in the order of the attribute having the highest weighting value.

ただし、第2の実施形態においては、特に図13(b)の手法が採用された場合に、ネスト情報テーブル300におけるネスト情報間で、同じ属性に設定された重み付け値が異なる可能性がある。
具体例として、図14(a)においては、ネスト情報ID=「1」と「2」のネスト情報における「商品タイプ」の属性に対する重み付け値Kは「1.0」であるのに対して、ネスト情報ID=「3」の「商品タイプ」の属性に対する重み付け値Kは「1.2」である。
However, in the second embodiment, particularly when the method of FIG. 13B is employed, there is a possibility that the weight values set for the same attribute are different between the nest information in the nest information table 300.
As a specific example, in FIG. 14A, the weight value K for the attribute of “product type” in the nested information with the nested information ID = “1” and “2” is “1.0”. The weighting value K for the attribute of “product type” with nest information ID = “3” is “1.2”.

また、ネスト情報ID=「1」と「2」のネスト情報における「償還期間」の属性に対する重み付け値Kは「0.8」であるのに対して、ネスト情報ID=「3」の「償還期間」の属性に対する重み付け値Kは「0.5」である。   Further, the weighting value K for the attribute of “redemption period” in the nest information of the nest information ID = “1” and “2” is “0.8”, whereas the “redemption” of the nest information ID = “3”. The weighting value K for the “period” attribute is “0.5”.

また、ネスト情報ID=「1」のネスト情報における「ID」の属性に対する重み付け値Kは「0.3」であるのに対して、ネスト情報ID=「3」の「ID」の属性に対する重み付け値Kは「0.4」である。   The weighting value K for the attribute “ID” in the nest information with the nest information ID = “1” is “0.3”, whereas the weighting value K for the attribute “ID” with the nest information ID = “3”. The value K is “0.4”.

このような場合には、例えば所定の規則にしたがって属性に対して1つの正規の重み付け値を決定する。例えば、優先順設定部104は、例えば複数の重み付け値のうちの最頻値、最大値、最小値のいずれかを正規の重み付け値として決定することができる。あるいは、優先順設定部104は、複数の重み付け値の平均値を算出し、この平均値を正規の重み付け値として決定することができる。   In such a case, for example, one regular weighting value is determined for the attribute according to a predetermined rule. For example, the priority order setting unit 104 can determine, for example, one of a mode value, a maximum value, and a minimum value among a plurality of weight values as a normal weight value. Alternatively, the priority order setting unit 104 can calculate an average value of a plurality of weight values and determine the average value as a normal weight value.

図14(b)は、優先順設定部104が、図14(a)のネスト情報テーブル300に対応して、平均値の算出により求めた正規の重み付け値にしたがって優先順を設定した場合の優先順情報400を示している。
この優先順情報400においては、「商品タイプ」、「償還期限」、「購入金額」、「販売所」、「ID」、「購入者」の順で優先順が設定されている。「商品タイプ」の重み付け値Kは「1.1」、「償還期間」の重み付け値Kは「0.7」、「購入金額」の重み付け値Kは「0.6」、「販売所」の重み付け値Kは「0.4」、「ID」の重み付け値Kは「0.35」、「購入者」の重み付け値Kは「0.3」である。
FIG. 14B shows the priority when the priority order setting unit 104 sets the priority order according to the normal weight value obtained by calculating the average value corresponding to the nest information table 300 of FIG. The order information 400 is shown.
In this priority order information 400, the priority order is set in the order of “product type”, “redemption date”, “purchase amount”, “sales office”, “ID”, “purchaser”. The “product type” weight value K is “1.1”, the “redemption period” weight value K is “0.7”, the “purchase price” weight value K is “0.6”, and “sales office”. The weighting value K is “0.4”, the “ID” weighting value K is “0.35”, and the “purchaser” weighting value K is “0.3”.

そして、第2の実施形態における類似商品判定部105は、既存の商品についての新商品との類似度を以下のように求める。
図15(a)には、図9(b)と同様の新商品属性テーブル600が示されている。また、図15(b)には、優先順設定部104が設定した優先順にしたがって類似商品判定部105が生成した既存商品属性テーブル500の例が示されている。なお、この図に示す属性ごとの重み付け値Kは、説明の便宜上、図14(b)とは異なる結果のものを用いている。この図15(b)の例では、「商品タイプ」(重み付け値K=0.8)、「償還期間」(重み付け値K=0.6)、「購入者」(重み付け値K=0.4)、「ID」(重み付け値K=0.3)・・・の優先順となっている。
And the similar goods determination part 105 in 2nd Embodiment calculates | requires the similarity with the new goods about the existing goods as follows.
FIG. 15A shows a new product attribute table 600 similar to FIG. 9B. FIG. 15B shows an example of an existing product attribute table 500 generated by the similar product determination unit 105 according to the priority order set by the priority order setting unit 104. Note that the weighting value K for each attribute shown in this figure is different from that shown in FIG. 14B for convenience of explanation. In the example of FIG. 15B, “product type” (weighting value K = 0.8), “redemption period” (weighting value K = 0.6), “buyer” (weighting value K = 0.4). ), “ID” (weighting value K = 0.3)...

そのうえで、第2の実施形態における類似商品判定部105は、既存商品属性テーブル500における行(既存の商品)ごとに、新商品属性テーブル600と内容が一致している属性を特定する。そして、内容が一致していた属性の重み付け値を加算することにより、既存商品属性テーブル500における行(既存の商品)ごとの類似度を求める。
図15の場合であれば、図15(b)においてハッチングで示すように、既存商品属性テーブル500の1行目においては、「商品タイプ」の属性と「償還期間」の2つの属性の内容が、それぞれ、「国債」と「10年」で新商品属性テーブル600と一致している。この場合、「商品タイプ」の属性の重み付け値が0.8で、「償還期間」の属性の重み付け値が0.6なので、類似度は1.4である。
また、既存商品属性テーブル500の2行目においては、「商品タイプ」の属性と「購入者」の2つの属性の内容が、それぞれ、「国債」と「個人」で新商品属性テーブル600と一致している。したがって、この既存商品属性テーブル500の2行目に対応する類似度は1.2である。
また、既存商品属性テーブル500の3行目においては、「償還期間」の属性の内容のみが「10年」で新商品属性テーブル600と一致している。したがって、この既存商品属性テーブル500の3行目に対応する類似度は0.6である。
In addition, the similar product determination unit 105 in the second embodiment specifies an attribute whose content matches that of the new product attribute table 600 for each row (existing product) in the existing product attribute table 500. And the similarity for every line (existing goods) in the existing goods attribute table 500 is calculated | required by adding the weighting value of the attribute with which the content corresponded.
In the case of FIG. 15, as indicated by hatching in FIG. 15B, the contents of two attributes of “product type” and “redemption period” are displayed in the first line of the existing product attribute table 500. , “JGB” and “10 years” respectively match the new product attribute table 600. In this case, since the weight value of the attribute “product type” is 0.8 and the weight value of the attribute “redemption period” is 0.6, the similarity is 1.4.
Further, in the second line of the existing product attribute table 500, the contents of the two attributes “product type” and “purchaser” are “government bond” and “individual”, respectively, which are the same as the new product attribute table 600. I'm doing it. Therefore, the similarity corresponding to the second line of the existing product attribute table 500 is 1.2.
In the third line of the existing product attribute table 500, only the content of the “redemption period” attribute is “10 years” and matches the new product attribute table 600. Therefore, the similarity corresponding to the third line of the existing product attribute table 500 is 0.6.

このように類似度を求めたうえで、類似商品判定部105は、類似度が最大値のものを類似商品として判定する。つまり、図15の場合には、既存商品属性テーブル500の1行目における「ID=10」の商品が類似商品であるとして判定される。   Thus, after calculating | requiring a similarity, the similar goods determination part 105 determines a thing with the maximum similarity as a similar goods. That is, in the case of FIG. 15, it is determined that the product with “ID = 10” in the first line of the existing product attribute table 500 is a similar product.

[処理手順例]
図16のフローチャートは、第2の実施形態におけるネスト構造解析部103が、図11のステップS103として実行するネスト情報生成のための処理手順例を示している。
[Example of processing procedure]
The flowchart in FIG. 16 illustrates an example of a processing procedure for generating nest information that is executed as the step S103 in FIG. 11 by the nest structure analysis unit 103 in the second embodiment.

ネスト構造解析部103は、まず、抽象構文木200におけるルートのノードを選択する(ステップS301)。   The nest structure analysis unit 103 first selects a root node in the abstract syntax tree 200 (step S301).

そのうえで、ネスト構造解析部103は、選択しているノードがIF文(条件文)であるか否かについて判定する(ステップS302)。
IF文である場合(ステップS302−YES)、ネスト構造解析部103は、そのIF文の条件式の内容にしたがって、図13にて説明したように、そのIF文に含まれる属性についての重み付け値を設定する(ステップS303)。そして、ネスト構造解析部103は、その条件式に含まれていた属性に、ステップS303により設定した重み付け値を対応付けて保持し(ステップS304)、この後にステップS305に進む。
In addition, the nested structure analysis unit 103 determines whether or not the selected node is an IF statement (conditional statement) (step S302).
If it is an IF statement (step S302—YES), the nested structure analysis unit 103, according to the content of the conditional expression of the IF statement, as described in FIG. 13, weighting values for attributes included in the IF statement Is set (step S303). Then, the nested structure analysis unit 103 holds the attribute included in the conditional expression in association with the weighting value set in step S303 (step S304), and then proceeds to step S305.

IF文でない場合(ステップS302−NO)、また、ステップS304を実行した後、ネスト構造解析部103は、現在選択しているノードの子ノードのうちで、未探索の子ノードが存在するか否かについて判定する(ステップS305)。   If it is not an IF statement (step S302-NO), and after executing step S304, the nested structure analysis unit 103 determines whether there is an unsearched child node among the child nodes of the currently selected node. Is determined (step S305).

未探索の子ノードが存在しない場合(ステップS305−NO)、つまり、最も深い階層のノードに到達した場合、ネスト構造解析部103は、現在において保持しているすべての属性とこれらに対応付けられている重み付け値を1つのネスト情報として出力する(ステップS306)。このように、最も深い階層のノードにまで探索されるごとにネスト情報が1つずつ順次出力され、これらのネスト情報によりネスト情報テーブル300が生成される。   When there are no unsearched child nodes (step S305-NO), that is, when the node at the deepest level is reached, the nested structure analysis unit 103 associates all the currently held attributes with these attributes. The weighting value is output as one nest information (step S306). In this way, each time the search is performed up to the deepest hierarchy node, the nest information is sequentially output one by one, and the nest information table 300 is generated from the nest information.

次に、ネスト構造解析部103は、ステップS306により出力した属性とこれらに対応付けられた重み付け値のデータを消去する(ステップS307)。   Next, the nest structure analysis unit 103 deletes the attribute output in step S306 and the weight value data associated therewith (step S307).

次に、ネスト構造解析部103は、これまでに選択しているノードの親ノードに選択を変更したうえで(ステップS308)、この選択した親ノードを子とする子ノードのうちで未探索のものが存在するか否かについて判定する(ステップS309)。   Next, the nest structure analysis unit 103 changes the selection to the parent node of the node that has been selected so far (step S308), and has not yet searched among the child nodes that have the selected parent node as a child. It is determined whether or not something exists (step S309).

未探索の子ノードが存在する場合(ステップS309−YES)、ネスト構造解析部103は、未探索の子ノードを1つ選択し(ステップS310)、ステップS302の処理に戻る。これにより、他のブロック(つまり、他の既存の商品)に対応するネスト情報を生成するための処理に移行する。   When there is an unsearched child node (YES in step S309), the nest structure analysis unit 103 selects one unsearched child node (step S310), and the process returns to step S302. Accordingly, the process proceeds to processing for generating nested information corresponding to another block (that is, another existing product).

一方、未探索の子ノードが存在しない場合(ステップS309−NO)、ネスト構造解析部103は、さらに、ステップS307により選択した親ノードが抽象構文木200のルートか否かについて判定する(ステップS311)。   On the other hand, when there is no unsearched child node (step S309-NO), the nest structure analysis unit 103 further determines whether the parent node selected in step S307 is the root of the abstract syntax tree 200 (step S311). ).

抽象構文木200のルートでない場合(ステップS311−NO)、ネスト構造解析部103は、ステップS308に戻ることで、前回のステップS308により選択した親ノードの親ノードをさらに選択する。
そして、抽象構文木200のルートである場合には(ステップS311−YES)、抽象構文木200におけるすべてのノードが探索され、すべてのブロック(既存の商品)に対応するネスト情報が得られている。この場合、ネスト構造解析部103は、これまでの抽象構文木200の探索を終了する。
If it is not the root of the abstract syntax tree 200 (step S311-NO), the nested structure analysis unit 103 returns to step S308 to further select the parent node of the parent node selected in the previous step S308.
If it is the root of the abstract syntax tree 200 (step S311-YES), all nodes in the abstract syntax tree 200 are searched, and nesting information corresponding to all blocks (existing products) is obtained. . In this case, the nested structure analysis unit 103 ends the search for the abstract syntax tree 200 so far.

なお、これまでの説明では、IF文に含まれる属性を対象として重み付けを行っているが、例えば、IF−ELSE文などの他の条件文に含まれる属性を対象とすることも考えられる。
また、第1の実施形態におけるネスト構造解析部103も、図16に準じた探索処理を行うことにより、図8(a)に示したネスト情報テーブル300を生成することができる。ただし、第1の実施形態においては、ステップS303による重み付け値の設定は行う必要はなく、ステップS304においては、条件式に含まれていた属性のみを保持すればよい。また、ステップS306においては、保持している属性のみによるネスト情報を出力すればよく、ステップS307においては、出力済みの属性のみを消去すればよい。
In the description so far, weighting is performed on the attribute included in the IF sentence. However, for example, an attribute included in another conditional sentence such as an IF-ELSE sentence may be targeted.
Also, the nest structure analysis unit 103 in the first embodiment can generate the nest information table 300 shown in FIG. 8A by performing a search process according to FIG. However, in the first embodiment, it is not necessary to set the weighting value in step S303, and in step S304, only the attributes included in the conditional expression need be retained. Further, in step S306, it is only necessary to output the nesting information based only on the retained attributes, and in step S307, only the already output attributes need be deleted.

図17のフローチャートは、第2の実施形態における類似商品判定部105が図11のステップS105として実行する類似商品判定のための処理手順例を示している。   The flowchart in FIG. 17 illustrates an example of a processing procedure for similar product determination executed by the similar product determination unit 105 in the second embodiment as step S105 in FIG.

まず、類似商品判定部105は、例えば図9(b)に示した新商品属性テーブル600を予め生成する(ステップS401)。   First, the similar product determination unit 105 generates in advance a new product attribute table 600 shown in FIG. 9B, for example (step S401).

次に、類似商品判定部105は、図9(a)、(c)に示した既存商品属性テーブル500における行番号を示す変数nに「1」を代入する(ステップS402)。   Next, the similar product determination unit 105 assigns “1” to the variable n indicating the row number in the existing product attribute table 500 shown in FIGS. 9A and 9C (step S402).

次に、類似商品判定部105は、既存商品属性テーブル500におけるn行目を選択する(ステップS403)。
そして、類似商品判定部105は、n行目の既存の商品と新商品とで属性ごとに内容を比較する(ステップS404)。そして、類似商品判定部105は、ステップS404による比較結果に基づいて、n行目の既存の商品についての新商品との類似度Dを算出する(ステップS405)。この類似度Dは、図15にて説明したように、内容が一致した属性の重み付け値を加算することにより求めることができる。
Next, the similar product determination unit 105 selects the n-th row in the existing product attribute table 500 (step S403).
And the similar goods determination part 105 compares the content for every attribute with the existing goods and new goods of the nth line (step S404). Then, the similar product determination unit 105 calculates the similarity D with the new product for the existing product in the n-th row based on the comparison result in step S404 (step S405). As described with reference to FIG. 15, the similarity D can be obtained by adding the weight values of the attributes whose contents match.

次に、類似商品判定部105は、変数nが最大値であるか否かについて判定する(ステップS406)。
変数nが最大値ではない場合(ステップS406−NO)、類似商品判定部105は、変数nをインクリメントしたうえで(ステップS407)、ステップS403に戻ることで、既存商品属性テーブル500における次の行を対象として属性内容の比較を行う。
一方、変数nが最大値である場合(ステップS406−YES)、類似商品判定部105は、類似度Dが最大値の行に対応する既存の商品を類似商品として判定する(ステップS408)。
Next, the similar product determination unit 105 determines whether or not the variable n is the maximum value (step S406).
When the variable n is not the maximum value (step S406—NO), the similar product determination unit 105 increments the variable n (step S407), and then returns to step S403, whereby the next line in the existing product attribute table 500 is displayed. Compare the attribute contents for.
On the other hand, when the variable n is the maximum value (step S406—YES), the similar product determination unit 105 determines an existing product corresponding to the row having the maximum similarity D as a similar product (step S408).

[変形例]
なお、本実施形態の変形例として、優先順設定については、第1の実施形態と、第2の実施形態とが以下のように組み合わされてもよい。
つまり、変形例におけるネスト構造解析部103は、第2の実施形態にしたがって重み付け値を対応付けて属性の順序関係を設定する。
そのうえで、優先順設定部104は、まず、推移律により属性ごとの優先順を設定する。そして、推移律に基づいて優先順を設定した結果、優先順が同じとなった複数の属性については、さらに、これら複数の属性に設定された重み付け値を利用して異なる優先順を設定するというものである。つまり、推移律に基づいて設定した優先順が同じとなった複数の属性については、改めて、これら複数の属性に設定された重み付け値により異なる優先順を決定するものである。
この際において、図14にて説明したように、ネスト情報間において同じ属性に対して設定された重み付け値が複数存在する状態となった場合には、平均値を求めるなどの所定の演算によって1つの正規の重み付け値を決定すればよい。
[Modification]
As a modification of the present embodiment, for priority order setting, the first embodiment and the second embodiment may be combined as follows.
That is, the nested structure analysis unit 103 according to the modification sets the order relationship of attributes by associating weight values according to the second embodiment.
In addition, the priority order setting unit 104 first sets the priority order for each attribute by the transition rule. As a result of setting the priority order based on the transition rule, for the plurality of attributes having the same priority order, a different priority order is set using the weighting values set for the plurality of attributes. Is. That is, for a plurality of attributes having the same priority order set based on the transition rule, different priority orders are determined again according to the weighting values set for the plurality of attributes.
At this time, as described with reference to FIG. 14, when a plurality of weighting values set for the same attribute exist between the nest information, 1 is obtained by a predetermined calculation such as obtaining an average value. One regular weight value may be determined.

また、これまでの実施形態の説明にあっては金融商品を例に挙げているが、例えば保険商品や証券などであってもよい。また、これら以外にも、例えばクレジットカードの審査などをあはじめ、申込みの際に審査が必要となる多様なサービスなどにも対応できる。   In the description of the embodiments so far, the financial product is taken as an example, but it may be, for example, an insurance product or a security. In addition to these, for example, it is possible to respond to various services that require examination at the time of application, such as examination of credit cards.

また、図1に示す各機能部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりソースコードの処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。   1 is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into a computer system and executed. You may perform the process of. Here, the “computer system” includes an OS and hardware such as peripheral devices.

また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
Further, the “computer system” includes a homepage providing environment (or display environment) if a WWW system is used.
The “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system. Further, the “computer-readable recording medium” refers to a volatile memory (RAM) in a computer system that becomes a server or a client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. In addition, those holding programs for a certain period of time are also included. The program may be a program for realizing a part of the functions described above, and may be a program capable of realizing the functions described above in combination with a program already recorded in a computer system.

以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。   The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes designs and the like that do not depart from the gist of the present invention.

100 ソースコード処理装置
101 ソースコード記憶部
102 構文解析部
103 ネスト構造解析部
104 優先順設定部
105 類似商品判定部
106 新商品データ記憶部
107 変更判定部
108 表示部
109 ソースコード変更部
110 操作部
120 ソースコード
200 抽象構文木
300 ネスト情報テーブル
400 優先順情報
500 既存商品属性テーブル
600 新商品属性テーブル
DESCRIPTION OF SYMBOLS 100 Source code processing apparatus 101 Source code storage part 102 Syntax analysis part 103 Nest structure analysis part 104 Priority order setting part 105 Similar product determination part 106 New product data storage part 107 Change determination part 108 Display part 109 Source code change part 110 Operation part 120 Source code 200 Abstract syntax tree 300 Nest information table 400 Priority order information 500 Existing product attribute table 600 New product attribute table

Claims (9)

商品に対する申込内容についての適否を前記商品の属性に基づいて判定するための判定規則が既存の商品ごとに記述されたソースコードを入力して抽象構文木を生成する構文解析部と、
生成された抽象構文木を利用してネスト構造を解析することで、前記既存の商品ごとにおける前記属性間の順序関係を設定するネスト構造解析部と、
設定された前記属性間の順序関係に基づいて、前記ソースコードに記述される属性ごとの優先順を設定する優先順設定部と、
前記属性ごとに設定された優先順と、前記既存の商品の属性の内容と新商品の属性の内容との一致状態に基づいて、前記既存の商品のうちから新商品に最も類似する類似商品を判定する類似商品判定部と、
を備えることを特徴とする情報処理装置。
A parsing unit for generating an abstract syntax tree by inputting a source code in which a determination rule for determining the suitability of application content for a product based on the attribute of the product is described for each existing product;
By analyzing a nested structure using the generated abstract syntax tree, a nested structure analysis unit that sets an order relationship between the attributes for each existing product;
A priority order setting unit that sets a priority order for each attribute described in the source code based on the set order relationship between the attributes;
Based on the priority set for each attribute and the matching state between the attribute content of the existing product and the content of the attribute of the new product, a similar product most similar to the new product is selected from the existing products. A similar product determination unit for determining,
An information processing apparatus comprising:
前記ソースコードにおいて前記類似商品の判定規則が記述されている箇所に基づいて、前記新商品の判定規則の追加のために前記ソースコードにおいて変更すべき内容を判定する変更判定部をさらに備える、
ことを特徴とする請求項1に記載の情報処理装置。
Based on the location where the determination rule for the similar product is described in the source code, further includes a change determination unit that determines content to be changed in the source code for the addition of the determination rule for the new product.
The information processing apparatus according to claim 1.
前記ネスト構造解析部は、
前記ソースコードにおいて属性を含む条件式の内容に基づいて前記既存の商品ごとにおける属性に重み付け値を設定することにより前記属性間の順序関係を設定し、
前記優先順設定部は、
前記既存の商品ごとにおける属性に設定された重み付け値に基づいて前記ソースコードに記述される属性ごとの優先順を設定し、
前記類似商品判定部は、
前記新商品と前記既存の商品の各々とで内容が一致する属性に設定された前記重み付け値に基づいて求めた類似度が最も高い既存の商品を前記類似商品として判定する、
ことを特徴とする請求項1または2に記載の情報処理装置。
The nest structure analysis unit
Setting an order relationship between the attributes by setting a weighting value for the attribute for each existing product based on the content of the conditional expression including the attribute in the source code;
The priority order setting unit
Set a priority order for each attribute described in the source code based on a weighting value set for the attribute for each existing product,
The similar product determination unit
Determining an existing product having the highest degree of similarity determined based on the weighting value set to an attribute whose contents match between the new product and each of the existing products as the similar product,
The information processing apparatus according to claim 1, wherein the information processing apparatus is an information processing apparatus.
前記ネスト構造解析部は、
同じ階層において複数の条件文に同じ属性が含まれている場合、前記同じ属性についての重み付け値を大きく変更するように設定する、
ことを特徴とする請求項3に記載の情報処理装置。
The nest structure analysis unit
When the same attribute is included in a plurality of conditional statements in the same hierarchy, the weighting value for the same attribute is set to be greatly changed.
The information processing apparatus according to claim 3.
前記ネスト構造解析部は、
条件式に含まれる属性についての真偽を示す値が複数である場合、前記属性についての重み付け値を小さく変更するように設定する、
ことを特徴とする請求項3または4に記載の情報処理装置。
The nest structure analysis unit
When there are a plurality of values indicating the authenticity of the attribute included in the conditional expression, the weighting value for the attribute is set to be changed to be small.
The information processing apparatus according to claim 3, wherein the information processing apparatus is an information processing apparatus.
前記優先順設定部は、
前記ネスト構造として解析された前記属性間の順序関係についての推移律に基づいて前記優先順を設定し、
前記類似商品判定部は、
前記優先順が高い方から順に、前記新商品と前記既存の商品の各々とで属性の内容が不一致となるまで属性の内容を比較した結果、内容が一致する属性の数が最も多い既存の商品を前記類似商品として判定する、
ことを特徴とする請求項1に記載の情報処理装置。
The priority order setting unit
Setting the priority order based on the transition rule about the order relation between the attributes analyzed as the nested structure;
The similar product determination unit
As a result of comparing the attribute contents until the attribute contents do not match between the new product and each of the existing products in order from the highest priority, the existing products with the largest number of attributes with matching contents Is determined as the similar product,
The information processing apparatus according to claim 1.
前記ネスト構造解析部は、
前記ソースコードにおいて属性を含む条件式の内容に基づいて前記既存の商品ごとにおける属性に重み付け値を設定することにより前記属性間の順序関係を設定し、
前記優先順設定部は、
前記推移律に基づいて前記優先順を設定した結果、優先順が同じとなった複数の属性については、これら複数の属性に設定された前記重み付け値を利用して異なる優先順を設定する、
ことを特徴とする請求項6に記載の情報処理装置。
The nest structure analysis unit
Setting an order relationship between the attributes by setting a weighting value for the attribute for each existing product based on the content of the conditional expression including the attribute in the source code;
The priority order setting unit
As a result of setting the priority order based on the transition rule, for a plurality of attributes having the same priority order, a different priority order is set using the weighting values set for the plurality of attributes.
The information processing apparatus according to claim 6.
商品に対する申込内容についての適否を前記商品の属性に基づいて判定するための判定規則が既存の商品ごとに記述されたソースコードを入力して抽象構文木を生成する構文解析ステップと、
生成された抽象構文木を利用してネスト構造を解析することで、前記既存の商品ごとにおける前記属性間の順序関係を設定するネスト構造解析ステップと、
設定された前記属性間の順序関係に基づいて、前記ソースコードに記述される属性ごとの優先順を設定する優先順設定ステップと、
前記属性ごとに設定された優先順と、前記既存の商品の属性の内容と新商品の属性の内容との一致状態に基づいて、前記既存の商品のうちから新商品に最も類似する類似商品を判定する類似商品判定ステップと、
を備えることを特徴とする情報処理方法。
A parsing step of generating an abstract syntax tree by inputting a source code in which a determination rule for determining the suitability of the application content for a product based on the attribute of the product is described for each existing product;
Nest structure analysis step for setting the order relation between the attributes for each existing product by analyzing the nested structure using the generated abstract syntax tree;
A priority order setting step for setting a priority order for each attribute described in the source code based on the set order relation between the attributes;
Based on the priority set for each attribute and the matching state between the attribute content of the existing product and the content of the attribute of the new product, a similar product most similar to the new product is selected from the existing products. A similar product determination step for determining;
An information processing method comprising:
コンピュータに、
商品に対する申込内容についての適否を前記商品の属性に基づいて判定するための判定規則が既存の商品ごとに記述されたソースコードを入力して抽象構文木を生成する構文解析ステップと、
生成された抽象構文木を利用してネスト構造を解析することで、前記既存の商品ごとにおける前記属性間の順序関係を設定するネスト構造解析ステップと、
設定された前記属性間の順序関係に基づいて、前記ソースコードに記述される属性ごとの優先順を設定する優先順設定ステップと、
前記属性ごとに設定された優先順と、前記既存の商品の属性の内容と新商品の属性の内容との一致状態に基づいて、前記既存の商品のうちから新商品に最も類似する類似商品を判定する類似商品判定ステップと、
を実行させるためのプログラム。
On the computer,
A parsing step of generating an abstract syntax tree by inputting a source code in which a determination rule for determining the suitability of the application content for a product based on the attribute of the product is described for each existing product;
Nest structure analysis step for setting the order relation between the attributes for each existing product by analyzing the nested structure using the generated abstract syntax tree;
A priority order setting step for setting a priority order for each attribute described in the source code based on the set order relation between the attributes;
Based on the priority set for each attribute and the matching state between the attribute content of the existing product and the content of the attribute of the new product, a similar product most similar to the new product is selected from the existing products. A similar product determination step for determining;
A program for running
JP2012123127A 2012-05-30 2012-05-30 Information processing apparatus, information processing method, and program Active JP5768009B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012123127A JP5768009B2 (en) 2012-05-30 2012-05-30 Information processing apparatus, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012123127A JP5768009B2 (en) 2012-05-30 2012-05-30 Information processing apparatus, information processing method, and program

Publications (2)

Publication Number Publication Date
JP2013250631A true JP2013250631A (en) 2013-12-12
JP5768009B2 JP5768009B2 (en) 2015-08-26

Family

ID=49849299

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012123127A Active JP5768009B2 (en) 2012-05-30 2012-05-30 Information processing apparatus, information processing method, and program

Country Status (1)

Country Link
JP (1) JP5768009B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112232824A (en) * 2019-07-15 2021-01-15 招商证券股份有限公司 Abstract syntax tree-based risk result calculation method and equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02116972A (en) * 1988-10-26 1990-05-01 Fujitsu Ltd Retrieval system for program data base
JPH03218522A (en) * 1990-01-24 1991-09-26 Fujitsu Ltd Automatic generation system for program specification
JPH0540616A (en) * 1991-08-02 1993-02-19 Hitachi Ltd Method for generating program specifications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02116972A (en) * 1988-10-26 1990-05-01 Fujitsu Ltd Retrieval system for program data base
JPH03218522A (en) * 1990-01-24 1991-09-26 Fujitsu Ltd Automatic generation system for program specification
JPH0540616A (en) * 1991-08-02 1993-02-19 Hitachi Ltd Method for generating program specifications

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112232824A (en) * 2019-07-15 2021-01-15 招商证券股份有限公司 Abstract syntax tree-based risk result calculation method and equipment

Also Published As

Publication number Publication date
JP5768009B2 (en) 2015-08-26

Similar Documents

Publication Publication Date Title
US20160055150A1 (en) Converting data into natural language form
US20110320470A1 (en) Generating and presenting a suggested search query
AU2019201244B2 (en) Natural language processing and artificial intelligence based search system
Felix et al. The exploratory labeling assistant: Mixed-initiative label curation with large document collections
JP2021111367A (en) Automatic parameter-value solution for api evaluation
US20160267117A1 (en) Answering natural language table queries through semantic table representation
US11354345B2 (en) Clustering topics for data visualization
US11250044B2 (en) Term-cluster knowledge graph for support domains
US11030228B2 (en) Contextual interestingness ranking of documents for due diligence in the banking industry with topicality grouping
US10657331B2 (en) Dynamic candidate expectation prediction
US9262735B2 (en) Identifying and amalgamating conditional actions in business processes
JP7065718B2 (en) Judgment support device and judgment support method
US11593385B2 (en) Contextual interestingness ranking of documents for due diligence in the banking industry with entity grouping
Draws et al. Explainable cross-topic stance detection for search results
US8862609B2 (en) Expanding high level queries
JP7261095B2 (en) BUSINESS MATCHING SUPPORT DEVICE AND BUSINESS MATCHING SUPPORT METHOD
JP5768009B2 (en) Information processing apparatus, information processing method, and program
Riadsolh et al. Cloud-Based Sentiment Analysis for Measuring Customer Satisfaction in the Moroccan Banking Sector Using Na? ve Bayes and Stanford NLP
JP6178480B1 (en) DATA ANALYSIS SYSTEM, ITS CONTROL METHOD, PROGRAM, AND RECORDING MEDIUM
Iyengar et al. Big data analytics in healthcare using spreadsheets
Alam et al. A data-driven score model to assess online news articles in event-based surveillance system
CN113191777A (en) Risk identification method and device
KR20100088892A (en) System for grouping documents
JP2009140048A (en) Reputation relation extracting device, its method, and program
Doan et al. Online Review Content Moderation Using Natural Language Processing and Machine Learning Methods: 2021 Systems and Information Engineering Design Symposium (SIEDS)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140827

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150515

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150622

R150 Certificate of patent or registration of utility model

Ref document number: 5768009

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350