JP2013250631A - Information processor, information processing method and program - Google Patents
Information processor, information processing method and program Download PDFInfo
- 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
Links
- 230000010365 information processing Effects 0.000 title claims description 24
- 238000003672 processing method Methods 0.000 title claims description 4
- 230000008859 change Effects 0.000 claims abstract description 47
- 238000004458 analytical method Methods 0.000 claims description 66
- 230000007704 transition Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 description 26
- 238000000034 method Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 10
- 238000013500 data storage Methods 0.000 description 8
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Abstract
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).
例えば、金融商品や保険商品などにおいて新商品が発売された場合には、この新商品にも対応して申込内容の適否をチェックできるように審査用のプログラムを変更することになる。
これらの商品は類似のものが多く存在している。このために、例えば保守性などを考慮してソースコードを効率よく変更しようとすれば、類似した商品を的確に特定することが必要になる。このため、新商品に応じてソースコードの変更を行うエンジニアは商品について十分な知識を有している必要がある。しかし、現実においてこのようなエンジニアを確実に確保することは難しいということもあり、ソースコード変更作業の効率を妨げている。
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. .
<第1の実施形態>
[ソースコード処理装置の構成]
図1は、本発明の実施形態における情報処理装置であるソースコード処理装置100の構成例を示している。なお、本実施形態におけるソースコード処理装置100は、顧客が金融商品を契約するにあたって、顧客の申込内容がその金融商品の契約条件に適合するか否かを判定(審査)するプログラムのソースコードを対象として処理する。
<First Embodiment>
[Configuration of source code processing device]
FIG. 1 shows a configuration example of a source
本実施形態のソースコード処理装置100は、ソースコード記憶部101、構文解析部102、ネスト構造解析部103、優先順設定部104、類似商品判定部105、新商品データ記憶部106、変更判定部107、表示部108、ソースコード変更部109および操作部110を備える。
The source
ソースコード記憶部101は、ソースコードを記憶する。このソースコードは、上記のように顧客が金融商品(以下、単に「商品」という)を契約するにあたって、顧客の申込内容についての適否を商品の契約条件を形成する属性に基づいて判定するためプログラムに対応するものである。つまり、このソースコードは、商品に対する申込内容についての適否を商品の契約条件を形成する属性に基づいて判定するためのチェックルール(判定規則)が既存の商品ごとに記述されたものである。なお、本実施形態において、このソースコードを記述するためのプログラム言語については特に限定されるものではない。
The source
構文解析部102は、ソースコード記憶部101に記憶されているソースコードを入力して抽象構文木を生成する。
The
ネスト構造解析部103は、構文解析部102により生成された生成された抽象構文木を利用してネスト構造を解析することで、既存の商品ごとにおける属性間の順序関係を設定する。
The nest
優先順設定部104は、ネスト構造解析部103により設定された属性間の順序関係に基づいて、前記ソースコードに記述される属性ごとの優先順を設定する。そのうえで、第1の実施形態における優先順設定部104は、ネスト構造として解析された属性間の順序関係についての推移律に基づいて優先順を設定する。
The priority
類似商品判定部105は、属性ごとに設定された優先順と、既存の商品の属性の内容と新商品の属性の内容との一致状態に基づいて、既存の商品のうちから新商品に最も類似する類似商品を判定する。具体的に、第1の実施形態における類似商品判定部105は、優先順が高い方から順に、新商品と既存の商品の各々とで属性の内容が不一致となるまで属性の内容を比較した結果、内容が一致する属性の数が最も多い既存の商品を類似商品として判定する。
The similar
新商品データ記憶部106は、新商品に関する契約条件を示す新商品データを記憶する。なお、ソースコード記憶部101と新商品データ記憶部106に対応するハードウェアは、例えばHDD(Hard Disc Drive)やフラッシュメモリなどとすることができる。また、ソースコード記憶部101と新商品データ記憶部106としてのハードウェアは共通とすることができる。
The new product
変更判定部107は、ソースコードにおいて類似商品のチェックルールが記述されている箇所に基づいて、新商品のチェックルールの追加のためにソースコードにおいて変更すべき内容を判定する。
本実施形態の変更判定部107は、ソースコードにおいて変更すべき内容として、ソースコードにおいて変更すべき箇所(変更箇所)と、この変更箇所における記述の変更内容(記述変更内容)を判定する。ここで変更箇所とはソースコードにおける行(ステップ)、または行内の位置などである。また、記述変更内容とは、単語やステップの追加または削除などである。
The
The
表示部108は、変更判定部107により判定されたソースコードにおいて変更すべき内容を変更判定部107の制御に応じて表示する。
なお、変更判定部107が例えば変更箇所のみを判定し、表示部108にその変更箇所が示されるように表示させることも考えられる。
The
Note that it is also conceivable that the
エンジニア(ユーザ)は、表示部108に表示された内容を確認して、新商品に対応するチェックルールが反映されるようにソースコードを変更するための操作を操作部110に対して行う。
ソースコード変更部109は、操作部110に対して行われたソースコード変更のための操作に応じてソースコード記憶部101に記憶されているソースコードの内容を変更する。
The engineer (user) confirms the content displayed on the
The source
操作部110は、ソースコード処理装置100をエンジニアが操作するための操作デバイスを一括して示したもので、例えばキーボードやマウスなどを含む。
The
[ソースコード変更の基本概念]
続いて、本実施形態における新商品に応じたソースコード変更の基本概念について説明する。なお、本実施形態においては、金融商品を対象とした商品申込みに関する審査業務に対応する場合を例として説明するが、対象とする商品は金融商品には限定されるものではない。
図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
[ソースコードの例]
図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
The three products whose check rules are described in the
5 and 6 show the
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
First, the
図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
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
図7の抽象構文木200の場合のネスト構造は、ブロックBK1、BK2、BK3に対応する3つの木構造部分に分けられる。これに応じて、ネスト構造解析部103は、ブロックBK1、BK2、BK3ごとのネスト構造に対応するネスト情報を生成し、これらのネスト情報をネスト情報テーブルとして出力する。
The nested structure in the case of the
図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
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
例えば図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
これにより、ネスト構造解析部103は、図8(a)においてネスト情報ID=1のネスト情報として示すように、「商品タイプ>償還期間>ID|購入者」という内容のネスト情報を生成する。なお、上記の順序関係を示す式において「|」の記号は、一つの条件式において複数の属性が存在していることを示す。つまり、「|」の記号に対して前後に記述される2つの項については、論理積と論理和のいずれも問わないということを意味する。
したがって、ブロックBK1における属性の順序関係は、「商品タイプ」に次いで「償還期間」となり、その次は「ID」と「購入者」が並列になるというものである。
As a result, the nest
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
また、ネスト構造解析部103は、ブロックBK3に対応する木構造部分を深さ優先で探索することにより、図8(a)においてネスト情報ID=3のネスト情報として示すように、「商品タイプ>ID|販売所」という内容のネスト情報を生成する。つまり、ブロックBK3における属性の順序関係は、「商品タイプ」に次いで、「ID」と「販売所」が並列になるというものである。
Further, the nest
次に、優先順設定部104は、図8(a)に示すネスト情報テーブル300に基づいて、ソースコードのIF文に出現する属性ごとに優先順を設定する。ここで、ネスト情報テーブル300において、ソースコードのIF文に出現するすべての属性が抽出され、ブロックごとに対応してその順序関係が設定されている。
Next, the priority
そこで、優先順設定部104は、ネスト情報テーブル300におけるネスト情報ごとにおいて示される属性の順序関係に推移律を適用して、ネスト情報テーブル300において示されているすべての属性ごとの優先順を設定する。これにより、ソースコードのIF文に出現するすべての属性ごとに優先順が設定されたことになる。
なお、図8(a)に示すネスト情報の各々は、ブロックごとに対応するものであるが、1つのブロックは、1つの商品に対応するチェックルールに対応する。したがって、ネスト情報の各々は、対応の商品における属性の順序関係を示している。
Therefore, the priority
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
In the
図8(b)の優先順情報400に示される優先順は、ネストが浅いIF文に出現している属性のほうが高くなっている。ソースコード120においては、複数の商品で共通して使用することが多い属性を含むIF文ほどネストが浅くなる。つまり、IF文に含まれる属性は、そのIF文のネストが浅いほど重要度が高いということになる。この点に着目し、優先順設定部104は、ネストが浅いIF文に含まれる属性の優先順が高くなるように優先順の設定を行うものである。
In the priority order shown in the
次に、類似商品判定部105は、ソースコード120においてチェックルールが記述される「ID=13」、「ID=10」、「ID=20」の既存の商品の属性の内容を、図8(b)に示される優先順情報400が示す優先順にしたがってソートする。類似商品判定部105は、このソート結果を、既存商品属性テーブルとして生成する。
Next, the similar
図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
次に、類似商品判定部105は、既存の商品ごとに、優先順が高いほうの属性から順に、新商品属性テーブル600が示す属性の内容との比較を行っていく。この際、類似商品判定部105は、既存の商品ごとの比較の処理について、不一致の結果が得られた段階で終了させる。
Next, the similar
具体的に、図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
そこで、類似商品判定部105は、優先順が2番目の「償還期間」の属性の内容を図9(a)の1行目と図9(b)とで比較する。この場合にも、「償還期間」の属性の内容は「10年」で一致している。
Therefore, the similar
そこで、類似商品判定部105は、さらに。その右側に配列されている次の優先順の「購入者」の属性の内容を図9(a)の1行目と図9(b)とで比較する。この段階で、「購入者」の属性の内容は、図9(a)の1行目が「法人、個人」であるのに対して、図9(b)は「法人」のみであることから、その内容が不一致となる。そこで、類似商品判定部105は、図9(a)の1行目の商品についての属性内容の比較を終了させる。
Therefore, the similar
次に、類似商品判定部105は、図9(a)の2行目の「ID=13」の商品について、「商品タイプ」の内容を図9(b)と比較する。この場合、「商品タイプ」の属性の内容は、互いに「国債」で一致する。
Next, the similar
そこで、類似商品判定部105は、優先順が2番目の「償還期間」の属性の内容を図9(a)の2行目と図9(b)とで比較する。この場合、「償還期間」の属性の内容は、図9(a)の2行目が「5年」であるのに対して、図9(b)は「10年」であることから、その内容が不一致となる。そこで、類似商品判定部105は、図9(a)の2行目の商品についての属性内容の比較を終了させる。
Therefore, the similar
次に、類似商品判定部105は、図9(a)の3行目の「ID=20」の商品について、「商品タイプ」の内容を図9(b)と比較する。この場合、「商品タイプ」の内容は、互いに「国債」で一致する。この場合、「商品タイプ」の属性の内容は、図9(a)の3行目が「地方債」であるのに対して、図9(b)は「国債」であることから、その内容が不一致となる。そこで、類似商品判定部105は、図9(a)の3行目の商品についての属性内容の比較を終了させる。
Next, the similar
図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
上記のように認識された属性の数が多い既存の商品ほど、新商品との間で優先順が高い(つまり、重要度が高い)属性を多く共有していることになるので、新商品との類似度が高いと見てよい。そこで、類似商品判定部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
そして、類似商品判定部105は、このように求められた類似度が最大値の商品を類似商品として判定する。図9(c)の場合であれば、類似商品判定部105は、1行目における「ID=10」の商品を類似商品として判定する。
Then, the similar
変更判定部107は、類似商品判定部105による類似商品の判定結果に基づき、新商品のチェックルールの追加のためにソースコード120において変更すべき内容を判定する。
このために、変更判定部107は、類似商品判定部105により類似商品として判定された商品のID(商品ID)を入力する。また、ソースコード記憶部101に記憶されているソースコード120を読み出す。そして、変更判定部107は、類似商品として判定された商品のIDを利用して、ソースコード120において類似商品のチェックルールが記述されたブロックを探索する。
The
For this purpose, the
具体的に、図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
次に、変更判定部107は、新商品データ記憶部106から新商品データを読み出す、そして、変更判定部107は、ブロックBK2において記述されるチェックルールと新商品データにおいて示される新商品のチェックルールとの差分を認識する。この場合において、変更判定部107は、差分として、ブロックBK2のチェックルールにおいて、新商品の商品IDのみが記述されていないことを認識する。
Next, the
そこで、この場合の変更判定部107は、上記のように認識した差分にしたがって、ブロックBK2においてIF文にIDの属性を含む、「IF ID = 10」の行が変更箇所であると判定する。
Therefore, the
さらに、本実施形態の変更判定部107は、変更箇所における記述変更内容も判定する。この場合には、「IF ID = 10」のIF文に対して新商品の「ID=30」を追加すべきであるため、変更判定部107は、変更箇所「IF ID = 10」の行について、「IF ID = 10 OR 30」と、「OR 30」を末尾に追加するように記述を変更すべきであると判定する。
Furthermore, the
そして、変更判定部107は、上記の判定結果(変更箇所と記述変更内容)を表示部108に表示させる。
図10は、表示部108に表示される判定結果の内容が示されている。この図に示すように、表示部108には、例えば、ソースコード120が示される。そのうえで、このソースコード120における変更箇所である「IF ID = 10」のIF文において、その後ろに「OR 30」を追加して表示し、この「OR 30」が記述変更内容であることを示すハイライト表示indにより強調する。
Then, the
FIG. 10 shows the contents of the determination result displayed on the
この図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
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
[処理手順例]
図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
First, the
ネスト構造解析部103は、ステップS102により生成された抽象構文木200を利用して、ブロックごと(つまり、既存の商品ごと)の属性の順序関係を示すネスト情報を生成する(ステップS103)。
The nest
優先順設定部104は、ステップS103により生成されたブロックごとのネスト情報から、ソースコード120において記述されているすべての属性についての優先順を設定する(ステップS104)。
The priority
類似商品判定部105は、ステップS104により設定された属性ごとの優先順と、既存の商品ごとの属性の内容と、新商品データ記憶部106から読み出した新商品データが示す新商品の属性の内容とに基づいて、既存の商品のうちから、新商品に類似する類似商品を1つ判定する(ステップS105)。
The similar
変更判定部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
Then, the
そして、ソースコード変更部109は、操作部110に対してエンジニアが行ったソースコード120を変更するための操作に応じて、ソースコード記憶部101に記憶されているソースコード120を変更する(ステップS108)。
Then, the source
図12のフローチャートは、類似商品判定部105が図11のステップS105として実行する類似商品判定のための処理手順例を示している。
The flowchart in FIG. 12 illustrates an example of a processing procedure for determining similar products executed by the similar
まず、類似商品判定部105は、図9(b)に示した新商品属性テーブル600を予め生成する(ステップS201)。つまり、類似商品判定部105は、新商品の属性を、図11のステップS104により設定された優先順に対応させてソートする。
First, the similar
次に、類似商品判定部105は、図9(a)、(c)に示した既存商品属性テーブル500における行番号を示す変数nに「1」を代入する(ステップS202)。
Next, the similar
次に、類似商品判定部105は、既存商品属性テーブル500におけるn行目を選択し(ステップS203)、さらに、優先順を示す変数mに「1」を代入する(ステップS204))。
そのうえで、類似商品判定部105は、既存商品属性テーブル500のn行目と新商品属性テーブル600において優先順がm番目の属性の内容を比較する(ステップS205)。
Next, the similar
In addition, the similar
類似商品判定部105は、ステップS205による比較結果として、両者の属性の内容が一致したか否かについて判定する(ステップS206)。ここで、一致したのであれば(ステップS206−YES)、類似商品判定部105は、変数mをインクリメントして(ステップS207)、ステップS205に戻る。これにより、次の優先順の属性の内容についての比較が引き続き行われる。
The similar
これに対して、内容が一致していない場合(ステップ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
次に、類似商品判定部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
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
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
<第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
第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
On the other hand, in the second embodiment, the nest
[属性に対する重み付け値の設定例]
図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
First, in FIG. 13A, three conditional statements (IF statements) of conditional statements L1, L2, and L3 are described in the same hierarchy in the
このように、同じ階層において複数の条件文に同じ属性が含まれている場合、この属性は重要度が高いということがいえる。そこで、同じ階層において複数の条件文に同じ属性が含まれている場合、ネスト構造解析部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
一例として、図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
これに対して、条件文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
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
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
一例として、ネスト構造解析部103は、条件文L4に含まれる「商品タイプ」の属性に対してはデフォルトとしての「0.4」の重み付け値を設定する。
これに対して、条件文L5に含まれる「ID」の属性については、デフォルトの「0.4」より低い重み付け値として、例えば、「0.4」の1/2倍の「0.2」を設定する。なお、このように重み付け値を小さくするように設定するにあたっては、真の値の数が多くなるのに応じて小さくするように変更してよい。
As an example, the nested
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
なお、第2の実施形態におけるネスト構造解析部103が既存の商品ごとの属性間の順序関係を設定するにあたっては、図13(a)のみの手法を採用してもよいし、図13(b)のみの手法を採用してもよいし、図13(a)と図13(b)の手法を併用してもよい。
Note that when the nest
そして、第2の実施形態における優先順設定部104は、既存の商品ごとの属性間の順序関係の設定根拠である重み付け値を利用して、ソースコード120において記述される属性ごとの優先順を設定する。具体的には、重み付け値の高い属性の順にしたがって優先順を設定すればよい。
Then, the priority
ただし、第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
図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
In this
そして、第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
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
そのうえで、第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
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
[処理手順例]
図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
ネスト構造解析部103は、まず、抽象構文木200におけるルートのノードを選択する(ステップS301)。
The nest
そのうえで、ネスト構造解析部103は、選択しているノードがIF文(条件文)であるか否かについて判定する(ステップS302)。
IF文である場合(ステップS302−YES)、ネスト構造解析部103は、そのIF文の条件式の内容にしたがって、図13にて説明したように、そのIF文に含まれる属性についての重み付け値を設定する(ステップS303)。そして、ネスト構造解析部103は、その条件式に含まれていた属性に、ステップS303により設定した重み付け値を対応付けて保持し(ステップS304)、この後にステップS305に進む。
In addition, the nested
If it is an IF statement (step S302—YES), the nested
IF文でない場合(ステップS302−NO)、また、ステップS304を実行した後、ネスト構造解析部103は、現在選択しているノードの子ノードのうちで、未探索の子ノードが存在するか否かについて判定する(ステップS305)。
If it is not an IF statement (step S302-NO), and after executing step S304, the nested
未探索の子ノードが存在しない場合(ステップ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
次に、ネスト構造解析部103は、ステップS306により出力した属性とこれらに対応付けられた重み付け値のデータを消去する(ステップS307)。
Next, the nest
次に、ネスト構造解析部103は、これまでに選択しているノードの親ノードに選択を変更したうえで(ステップS308)、この選択した親ノードを子とする子ノードのうちで未探索のものが存在するか否かについて判定する(ステップS309)。
Next, the nest
未探索の子ノードが存在する場合(ステップS309−YES)、ネスト構造解析部103は、未探索の子ノードを1つ選択し(ステップS310)、ステップS302の処理に戻る。これにより、他のブロック(つまり、他の既存の商品)に対応するネスト情報を生成するための処理に移行する。
When there is an unsearched child node (YES in step S309), the nest
一方、未探索の子ノードが存在しない場合(ステップS309−NO)、ネスト構造解析部103は、さらに、ステップS307により選択した親ノードが抽象構文木200のルートか否かについて判定する(ステップS311)。
On the other hand, when there is no unsearched child node (step S309-NO), the nest
抽象構文木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
If it is the root of the abstract syntax tree 200 (step S311-YES), all nodes in the
なお、これまでの説明では、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
図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
まず、類似商品判定部105は、例えば図9(b)に示した新商品属性テーブル600を予め生成する(ステップS401)。
First, the similar
次に、類似商品判定部105は、図9(a)、(c)に示した既存商品属性テーブル500における行番号を示す変数nに「1」を代入する(ステップS402)。
Next, the similar
次に、類似商品判定部105は、既存商品属性テーブル500におけるn行目を選択する(ステップS403)。
そして、類似商品判定部105は、n行目の既存の商品と新商品とで属性ごとに内容を比較する(ステップS404)。そして、類似商品判定部105は、ステップS404による比較結果に基づいて、n行目の既存の商品についての新商品との類似度Dを算出する(ステップS405)。この類似度Dは、図15にて説明したように、内容が一致した属性の重み付け値を加算することにより求めることができる。
Next, the similar
And the similar
次に、類似商品判定部105は、変数nが最大値であるか否かについて判定する(ステップS406)。
変数nが最大値ではない場合(ステップS406−NO)、類似商品判定部105は、変数nをインクリメントしたうえで(ステップS407)、ステップS403に戻ることで、既存商品属性テーブル500における次の行を対象として属性内容の比較を行う。
一方、変数nが最大値である場合(ステップS406−YES)、類似商品判定部105は、類似度Dが最大値の行に対応する既存の商品を類似商品として判定する(ステップS408)。
Next, the similar
When the variable n is not the maximum value (step S406—NO), the similar
On the other hand, when the variable n is the maximum value (step S406—YES), the similar
[変形例]
なお、本実施形態の変形例として、優先順設定については、第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
In addition, the priority
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
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
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)
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)
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 |
-
2012
- 2012-05-30 JP JP2012123127A patent/JP5768009B2/en active Active
Patent Citations (3)
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)
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 |