JP2019159362A - 探索プログラムおよび探索方法 - Google Patents
探索プログラムおよび探索方法 Download PDFInfo
- Publication number
- JP2019159362A JP2019159362A JP2018040514A JP2018040514A JP2019159362A JP 2019159362 A JP2019159362 A JP 2019159362A JP 2018040514 A JP2018040514 A JP 2018040514A JP 2018040514 A JP2018040514 A JP 2018040514A JP 2019159362 A JP2019159362 A JP 2019159362A
- Authority
- JP
- Japan
- Prior art keywords
- data
- search
- group
- groups
- processing unit
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
[第1の実施の形態]
第1の実施の形態を説明する。
例えば、処理部12は、グループA,Bそれぞれについて、探索を終了すると、グループAに属する中間データA11〜A16のうち、評価関数fAによる評価値が最小である中間データA14を選択する。同様に、処理部12は、グループBに属する中間データB11〜B16のうち、評価関数fBによる評価値が最小である中間データB16を選択する。
次に、第2の実施の形態を説明する。
図2は、第2の実施の形態の探索装置のハードウェア例を示すブロック図である。
加工例に対し、プログラムを生成する方法として、次の方法が考えられる。まず、加工例が、プログラム生成を行う装置(生成装置と呼ぶ)に入力される。加工例は、加工前データ31および加工後データ32を含む。
ここで、ノード間の距離について説明する。
開始ノード41は、加工前データ31に対応するノードである。ノード42は、中間データに対応するノード(中間ノード)である。ここで、ノード42または中間データの識別子をiとする。識別子がiのノード(中間データ)を、ノードi(中間データi)と言うことがある。終了ノード43は、加工後データ32に対応するノードである。
探索装置100は、パラメータ記憶部120、グルーピング定義記憶部130、データ記憶部140、プログラム記憶部150、UI(User Interface)部160および制御部170を有する。パラメータ記憶部120、グルーピング定義記憶部130、データ記憶部140およびプログラム記憶部150は、例えば、RAM102またはHDD103に確保した記憶領域を用いて実装される。UI部160および制御部170は、例えば、プログラムを用いて実装される。
グルーピング処理部172は、例えば、複数の変換方法を、グループG1,G2,G3の3つに分類したとする。探索処理部173は、A*アルゴリズムによるグラフの経路探索をグループ毎に行う。このとき、探索処理部173は、評価関数として、グループ毎のローカル評価関数を用いる。ローカル評価関数f1は、グループG1に対する評価関数である。ローカル評価関数f2は、グループG2に対する評価関数である。ローカル評価関数f3は、グループG3に対する評価関数である。
ここで、探索処理部173の探索に用いられるグループの数は、パラメータ算出部171およびグルーピング処理部172により予め決定される。
グラフ50は、加工前データから加工後データまで到達したときの探索装置100による探索経路を例示している。
図8は、探索空間削減率のグラフを示す図である。
なお、tは予め用意された変換方法の数なので既知の値である。ホップ数dは今回の探索では未知なので、推定値を用いる。具体的には、ホップ数dの推定値destは、加工前ノードと加工後ノードとの間の推定距離に比例すると考えられる。このため、グルーピング処理部172は、以下の式(3)によりdestを求める。
パラメータ情報121は、直近のM件の探索における加工前ノードから加工後ノードに至るホップ数の実績値drealに対して計算されたパラメータαの値(α=α1,α2,α3,・・・,αM)である。αの値は、新たな加工例に対して探索が行われると、当該探索結果に基づいて計算され、パラメータ情報121に追加される。新たにαの値が追加されると、パラメータ情報121から最古のαの値が削除されてもよい。
図11は、プログラム生成の手順例を示すフローチャートである。
(S10)UI部160は、ユーザによる加工例の入力を受け付ける。加工例は、加工前データおよび加工後データを含む。
(S12)パラメータ算出部171は、式(3)により、d推定値(dest)を算出する。
(S16)探索処理部173は、ステップS15の結果から、d実績値(dreal)を算出する。具体的には、探索処理部173は、加工前ノードから加工後ノードまでのホップ数(エッジ数)をカウントし、drealとする。
(S19)プログラム生成部174は、生成したプログラムを出力する。プログラム生成部174は、生成したプログラムをプログラム記憶部150に格納する。プログラム記憶部150に記憶されたプログラムは、他の加工前データの変換に用いることができる。そして、プログラム生成が終了する。
(S20)探索処理部173は、探索ホップ数Hを0に設定する。
(S23)探索処理部173は、変換方法により、加工後データが出現したか否かを判定する。加工後データが出現した場合、グラフ探索が終了する。加工後ノードが出現しない場合、ステップS24に処理が進む。
(S26)探索処理部173は、各グループのノードilの中から、グローバル評価値F(ig)が最小のノードigを選択し、ノードigを次段の探索の起点ノードとする。そして、ステップS20に処理が進む。
図13の例では、図12のステップS20〜S26の1サイクルの手順を示す。ここで、各変換方法は、N個のグループG1,G2,・・・,GNに分類されている。
探索処理部173は、ステップST1の探索において加工後データが出現するまで、ステップST1〜ST3を繰り返し行い、加工後データに一致するノードがステップST1で出現したら探索を終了する(ステップST4)。
非類似度テーブル132は、グルーピング定義記憶部130に予め格納される。非類似度テーブル132には、2つの変換方法の組毎に、当該2つの変換方法の非類似度が登録される。非類似度の値が大きいほど非類似である度合いが高い。すなわち、非類似度の値が小さいほど類似である度合いが高い。
図15は、非類似度テーブルに基づくグルーピングの例を示す図である。
図16は、加工前データおよび加工後データの例を示す図である。
グループG1に分類される変換方法の一例として、以下の文字列抽出を考える。
図17(A)は、中間データA1を示す。中間データA1は、加工前データ141の1番目の列に関して、区切り文字で区切られる最初の単語を抽出して生成される。ここで、「最初」は、該当列に設定されている文字列を左端から順に1文字ずつ走査していったときの最初であることを示す。
1行目のレコードでは、1番目の列に設定された文字列「apple(China)」の非アルファベットで始まる最初の単語は、「(China)」である。このため、探索処理部173は、「(China)」を抽出する。
図18は、ローカル評価値の計算例(その1)を示す図である。
探索処理部173は、中間データA1の1行目の1つ目のセル(文字列「apple(China)」が設定されたセル)を選択する。探索処理部173は、当該文字列と加工後データ142の同じ行の「apple」との編集距離を、両者の差分である文字列部分「(China)」の文字数“7”として求める。また、max(中間データの文字列長,加工後データの文字列長)=max(12,5)=12である。したがって、中間データA1の1つ目のセルについて、L1=7/12である。
図19は、ローカル評価値の計算例(その2)を示す図である。
探索処理部173は、中間データA2についても、図18で説明した手順により、各セルの距離評価値を計算する。中間データA2の1行目のセルについて、各セルの距離評価値は次の通りである。1つ目のセルの距離評価値は7/12である。2つ目のセルの距離評価値は2/7である。3つ目のセルの距離評価値は2/4である。4つ目のセルの距離評価値は2/4である。
図20は、中間データの例(その2)を示す図である。
図20(A)は、中間データB1を示す。中間データB1は、加工前データ141の2,3番目の列に対して、積を計算することで生成される。
1行目について、探索処理部173は、数値「100」と数値「50」との和「150」を計算する。2行目について、探索処理部173は、数値「200」と数値「100」との和「300」を計算する。
図21は、ローカル評価値の計算例(その3)を示す図である。
探索処理部173は、中間データB1の1行目の1つ目の数値セル(数値「100」が設定された1行目のセル)を選択する。探索処理部173は、当該数値と加工後データ142の同じ行の数値セルの数値「5400」との数値差5400−100=5300を求める。また、max(abs(中間データの数値),abs(加工後データの数値))=max(100,5400)=5400である。したがって、中間データB1の1つ目の数値セルについて、L2=5300/5400である。加工後データ142の1行には、数値セルが1つなので、当該L2の値はそのまま距離評価値となる。よって、探索処理部173は、中間データB1の1行目の1つ目の数値セルの距離評価値を「5300/5400」とする。
図22は、ローカル評価値の計算例(その4)を示す図である。
探索処理部173は、中間データB2についても、図21で説明した手順により、各セルの距離評価値を計算する。中間データB2の1行目の数値セルについて、各数値セルの距離評価値は次の通りである。1つ目の数値セルの距離評価値は5300/5400である。2つ目の数値セルの距離評価値は5350/5400である。3つ目の数値セルの距離評価値は5250/5400である。
グループG1では、中間データA1に対するローカル評価値f11は0.49である。また、中間データA2に対するローカル評価値f12は0.40である。ローカル評価値f12<ローカル評価値f11なので、探索処理部173は、グループG1の最終ノードを中間データA2に対応する中間ノードとする。
グローバル評価値F1=0.7×ローカル評価値f12+0.3×ローカル評価値f2(中間データA2〜加工後データ142)・・・(4)
ここで、ローカル評価値f2(中間データA2〜加工後データ142)は、(5300/5400+5350/5400+21400/21600+21500/21600)/4=1.99である。
また、中間データB1のグローバル評価値F2は、次の式(5)で表される。
ここで、ローカル評価値f1(中間データB1〜加工後データ142)は、(7/12+3/4+2/4+1/4+7/13+2/5+2/5+2/5)/8=0.415である。
そして、グローバル評価値F2<グローバル評価値F1なので、探索処理部173は、中間データA2,B1のうち、中間データB1に対応する中間ノードを、次段の探索の起点のノードと決定する。
グラフ70は、A*アルゴリズムを利用して、変換方法のグルーピングを行わずに探索を行う場合の探索経路の例を示す。この場合、使用する変換方法の数Tが増すほど、変換方法の組み合わせの数が増し、探索の処理コストが増す。具体的には、探索空間は、Tのべき(累乗)で増大する。探索空間が大きいと、評価関数の値に従って探索しても、膨大な手戻り処理が発生する可能性もある。このように、探索空間が増大すると、探索処理に時間がかかる。
11 記憶部
12 処理部
Claims (9)
- コンピュータに、
入力データおよび出力データを取得し、
複数のデータ変換方法を複数のグループに分類し、
前記複数のグループそれぞれについて、当該グループに属するデータ変換方法を用いて前記入力データから中間データを生成し、当該グループに応じた評価関数を用いて前記中間データを評価することで、当該グループ内でデータ変換方法の組み合わせを探索し、
前記複数のグループそれぞれの前記探索の結果に基づいて、前記入力データを前記出力データに変換することができるデータ変換方法の組み合わせを決定する、
処理を実行させる探索プログラム。 - 前記分類では、前記入力データと前記出力データとの間の距離を示す指標値を用いてグループ数を決定する、
請求項1記載の探索プログラム。 - 前記コンピュータに更に、他の入力データから他の出力データへの変換に使用されたデータ変換方法の数と、前記他の入力データと前記他の出力データとの間の距離を示す他の指標値と、の間の関係を示す係数を算出する処理を実行させ、
前記分類では、前記指標値と前記係数とを用いて前記グループ数を決定する、
請求項2記載の探索プログラム。 - 前記分類では、前記複数のデータ変換方法の間の類似度を示す類似度情報を参照して、決定した前記グループ数のグループを生成する、
請求項2記載の探索プログラム。 - 前記複数のデータ変換方法それぞれに対して評価関数が対応付けられており、
前記分類では、評価関数の共通性に基づいて前記複数のデータ変換方法を分類する、
請求項1記載の探索プログラム。 - 前記分類では、第1の評価関数が対応付けられた第1のデータ変換方法と第2の評価関数が対応付けられた第2のデータ変換方法とを同一グループに分類した場合、前記第1の評価関数と前記第2の評価関数とから当該同一グループに応じた評価関数を算出する、
請求項5記載の探索プログラム。 - 前記コンピュータに更に、
前記複数のグループの何れの前記探索によっても前記入力データから前記出力データに到達しなかった場合、前記複数のグループそれぞれについて前記探索によって生成された中間データの中から代表中間データを抽出し、前記複数のグループそれぞれの評価関数とは異なる共通評価関数を用いて、前記複数のグループそれぞれの前記代表中間データを評価して1つのグループの代表中間データを選択し、
前記入力データに代えて前記選択した代表中間データを基点として、前記複数のグループそれぞれの前記探索を再度実行する、
処理を実行させる請求項1記載の探索プログラム。 - 前記複数のグループそれぞれの前記代表中間データは、当該グループ内で生成された中間データのうち当該グループに応じた評価関数による評価が最も高い中間データである、
請求項7記載の探索プログラム。 - コンピュータが実行する探索方法であって、
入力データおよび出力データを取得し、
複数のデータ変換方法を複数のグループに分類し、
前記複数のグループそれぞれについて、当該グループに属するデータ変換方法を用いて前記入力データから中間データを生成し、当該グループに応じた評価関数を用いて前記中間データを評価することで、当該グループ内でデータ変換方法の組み合わせを探索し、
前記複数のグループそれぞれの前記探索の結果に基づいて、前記入力データを前記出力データに変換することができるデータ変換方法の組み合わせを決定する、
探索方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018040514A JP7037048B2 (ja) | 2018-03-07 | 2018-03-07 | 探索プログラムおよび探索方法 |
US16/268,839 US11176177B2 (en) | 2018-03-07 | 2019-02-06 | Computer-readable recording medium storing search program and search method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018040514A JP7037048B2 (ja) | 2018-03-07 | 2018-03-07 | 探索プログラムおよび探索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019159362A true JP2019159362A (ja) | 2019-09-19 |
JP7037048B2 JP7037048B2 (ja) | 2022-03-16 |
Family
ID=67844034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018040514A Active JP7037048B2 (ja) | 2018-03-07 | 2018-03-07 | 探索プログラムおよび探索方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11176177B2 (ja) |
JP (1) | JP7037048B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11385870B2 (en) | 2020-05-21 | 2022-07-12 | Fujitsu Limited | Non-transitory computer-readable recording medium, data transformation device, and data transformation method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001075844A (ja) * | 1999-08-31 | 2001-03-23 | Nec Corp | データ変換装置及びその記録媒体 |
US6542896B1 (en) * | 1999-07-20 | 2003-04-01 | Primentia, Inc. | System and method for organizing data |
US20120011084A1 (en) * | 2010-07-12 | 2012-01-12 | Microsoft Corporation | Semantic entity manipulation using input-output examples |
JP2016189045A (ja) * | 2015-03-30 | 2016-11-04 | 日本電気株式会社 | システム環境変更支援システム、方法およびプログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10171643A (ja) | 1996-12-11 | 1998-06-26 | Fuji Xerox Co Ltd | プログラム合成装置及びプログラム合成方法 |
US9946810B1 (en) * | 2010-04-21 | 2018-04-17 | Stan Trepetin | Mathematical method for performing homomorphic operations |
US9442980B1 (en) * | 2010-04-21 | 2016-09-13 | Stan Trepetin | Mathematical method for performing homomorphic operations |
US10936744B1 (en) * | 2010-04-21 | 2021-03-02 | Stanley Trepetin | Mathematical method for performing homomorphic operations |
JP5846006B2 (ja) | 2012-03-29 | 2016-01-20 | 富士通株式会社 | プログラム、コード生成方法および情報処理装置 |
-
2018
- 2018-03-07 JP JP2018040514A patent/JP7037048B2/ja active Active
-
2019
- 2019-02-06 US US16/268,839 patent/US11176177B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6542896B1 (en) * | 1999-07-20 | 2003-04-01 | Primentia, Inc. | System and method for organizing data |
JP2001075844A (ja) * | 1999-08-31 | 2001-03-23 | Nec Corp | データ変換装置及びその記録媒体 |
US20120011084A1 (en) * | 2010-07-12 | 2012-01-12 | Microsoft Corporation | Semantic entity manipulation using input-output examples |
JP2016189045A (ja) * | 2015-03-30 | 2016-11-04 | 日本電気株式会社 | システム環境変更支援システム、方法およびプログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11385870B2 (en) | 2020-05-21 | 2022-07-12 | Fujitsu Limited | Non-transitory computer-readable recording medium, data transformation device, and data transformation method |
Also Published As
Publication number | Publication date |
---|---|
US20190278785A1 (en) | 2019-09-12 |
US11176177B2 (en) | 2021-11-16 |
JP7037048B2 (ja) | 2022-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101778679B1 (ko) | 딥러닝을 이용하여 텍스트 단어 및 기호 시퀀스를 값으로 하는 복수 개의 인자들로 표현된 데이터를 자동으로 분류하는 방법 및 시스템 | |
CN112765477B (zh) | 信息处理、信息推荐的方法和装置、电子设备和存储介质 | |
JP2017517082A (ja) | 並列ディシジョン・ツリー・プロセッサー・アーキテクチャ | |
AU2017201206B2 (en) | Parameter set determination for clustering of datasets | |
JP5881048B2 (ja) | 情報処理システム、及び、情報処理方法 | |
JP6434162B2 (ja) | データ管理システム、データ管理方法およびプログラム | |
JP6208259B2 (ja) | 要因抽出システム、要因抽出方法 | |
CN103425727A (zh) | 上下文语音查询扩大方法和系统 | |
CN111581923A (zh) | 文案生成方法、装置、设备和计算机可读存储介质 | |
CN111027703A (zh) | 一种量子线路查询的方法、装置、存储介质及电子装置 | |
Boryczka et al. | An effective hybrid harmony search for the asymmetric travelling salesman problem | |
Akman et al. | K-best feature selection and ranking via stochastic approximation | |
Wang et al. | Dichotomic pattern mining with applications to intent prediction from semi-structured clickstream datasets | |
CN113918807A (zh) | 数据推荐方法、装置、计算设备及计算机可读存储介质 | |
JP7037048B2 (ja) | 探索プログラムおよび探索方法 | |
CN105824976A (zh) | 一种优化分词库的方法和装置 | |
JP5555238B2 (ja) | ベイジアンネットワーク構造学習のための情報処理装置及びプログラム | |
JP2021005282A (ja) | 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム | |
US11797562B2 (en) | Search control method and search control apparatus | |
Liu et al. | Evolving Knowledge Graph Representation Learning with Multiple Attention Strategies for Citation Recommendation System | |
KR102062139B1 (ko) | 지능형 자료구조 기반의 데이터 처리 방법 및 그를 위한 장치 | |
Phan et al. | Enhancing clinical name entity recognition based on hybrid deep learning scheme | |
Jia et al. | ERASE: Benchmarking Feature Selection Methods for Deep Recommender Systems | |
US20240095244A1 (en) | Method and information processing device | |
JP2020004057A (ja) | 選定プログラム、選定方法および選定装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201110 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20201126 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20201126 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211028 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211228 |
|
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: 20220201 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220214 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7037048 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |