JP6285943B2 - 文字列変換の帰納的合成のための順位付け - Google Patents
文字列変換の帰納的合成のための順位付け Download PDFInfo
- Publication number
- JP6285943B2 JP6285943B2 JP2015537832A JP2015537832A JP6285943B2 JP 6285943 B2 JP6285943 B2 JP 6285943B2 JP 2015537832 A JP2015537832 A JP 2015537832A JP 2015537832 A JP2015537832 A JP 2015537832A JP 6285943 B2 JP6285943 B2 JP 6285943B2
- Authority
- JP
- Japan
- Prior art keywords
- representation
- string
- output
- ranking
- substring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000009466 transformation Effects 0.000 title claims description 14
- 230000015572 biosynthetic process Effects 0.000 title description 10
- 238000003786 synthesis reaction Methods 0.000 title description 3
- 238000000844 transformation Methods 0.000 title 1
- 230000014509 gene expression Effects 0.000 claims description 112
- 238000000034 method Methods 0.000 claims description 90
- 238000012549 training Methods 0.000 claims description 58
- 230000008569 process Effects 0.000 claims description 54
- 238000006243 chemical reaction Methods 0.000 claims description 39
- 230000009471 action Effects 0.000 claims description 29
- 238000011112 process operation Methods 0.000 claims description 9
- 238000010801 machine learning Methods 0.000 claims description 8
- 238000012706 support-vector machine Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 4
- 230000006399 behavior Effects 0.000 claims description 3
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 description 10
- 238000013459 approach Methods 0.000 description 9
- 230000001939 inductive effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 241001620634 Roger Species 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 125000002015 acyclic group Chemical group 0.000 description 2
- 239000000969 carrier Substances 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 101150049453 tagD gene Proteins 0.000 description 1
- 101150007587 tpx gene Proteins 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Machine Translation (AREA)
- Stored Programmes (AREA)
- Document Processing Apparatus (AREA)
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
[0022] 本明細書において説明される順位付け技法の実施形態は、統計的および機械的学習技法を使用して、帰納的プログラム合成において使用するための所望の順位付け関数を学習する。一般に、正および負の例のトレーニングデータセットは、入力−出力例の所与のセットから自動的に作成される。トレーニングデータセットから、ドメイン固有言語のプログラムにおける表現を尤度測度に割り当てる順位付け関数が学習される。次いで、これらの順位付け関数が使用されて、ごく少数の入力−出力例から、学習されたプログラムの尤度が算出される。
[0023] このセクションでは、順位付け技法の実施形態を実装するための文字列変換言語が説明される。文字列変換言語LSについての構文は、以下の通りである。
Trace expr e :=Concatenate(f1,...,fn)
Atomic expr f :=SubStr(vi,p1,p2)
|ConstStr(s)
Position expr p :=Cpos(k)|Pos(r1,r2,c)
Integer expr c :=k
Regular expr r :=TokenSeq(T1,...,Tm).
[0025] LS表現の大きなセットを表すデータ構造は、以下の通りである。
[0027] 正規表現および位置表現(これらの双方は、何らかの有限のセットから値を取る)の場合、そのような表現を順位付けするために、頻度に基づく順位付けが実行される。取り得る各表現値をトレーニングデータから推定されるその表現値の頻度にマッピングする辞書Dが存在する。正規表現の尤度スコアは、その頻度スコアに正比例するように定義される。位置表現の尤度スコアは、その頻度スコア、およびその構成要素である正規表現の尤度スコアの平方根の任意の線形関数となるように定義され得る。
[0028] 無限のセットから値を取るアトミック表現fなどの表現の場合、特徴に基づく順位付けが実行される。特徴のセットφ(e)は、基となる入力−出力例から算出され、尤度は、機械学習手続から取得される。アトミック表現fについての定数文字列表現と部分文字列表現との間の選択を順位付けするために、サポートベクターマシン(SVM:support vector machine)バイナリ分類手続が、一実施形態において使用される。
[0029] アトミック表現から構成される連結表現の場合、パスに基づく順位付けが実行される。一実施形態において、このパスに基づく順位付けは、連結表現において見出される個々のアトミック表現についてのスコアを結合することに関与する。1つの実装において、アトミック表現についての尤度スコアは、これらを乗算することによって結合され、別の実装において、これらは互いに加算される。
[0030] このセクションでは、頻度に基づく順位付け(または、それぞれ特徴に基づく順位付け)についての入力−出力例のセットから、正の例(または、正および負の例)から成るトレーニングデータを自動的に生成するための方法の一実施形態が説明される。各々が複数の入力−出力例{(i1,o1),...,(in,on)}から成るタスクの大きなセットが取得される。合成手続は、各入力−出力例(ik,ok)と調和する全てのプログラム
[0031] 2つの無閉路有向グラフ(dags)DkおよびD∩≡(D1∩D2...Dn)が与えられると、課題は、2つのdagにおけるエッジを揃えて、正および負の表現値を算出することである。dagを揃えた後、これらの間の共通エッジは、正の表現値を構成し、Dkには存在するが、D∩には存在しないエッジは、負の表現値を構成する。
[0033] 正規表現および位置表現を順位付けする場合、これらの双方は有限のセットから値を取るため、頻度に基づく順位付けアプローチが実行される。トークンシーケンス表現についてのトークンシーケンスとこれらの頻度スコアのデータベースも、作成される。頻度は、正のトレーニング表現のセットから推定される。頻度は、ある表現が発生する各異なるコンテキストについても推定され得る。例えば、ある位置表現は、左端位置表現または右端位置表現のどちらかであり得る(その位置表現がSubStr表現の第1の引数として発生するか、または第2の引数として発生するかを意味する)。正規表現も、ある位置表現内の2つの異なるコンテキストにおいて発生する。
[0034] 文字列変換を学習する際の主要な曖昧さのうちの1つは、出力文字列中の部分文字列が定数文字列であるのか、または入力文字列の部分文字列であるのかに関する決定を行うことに由来する。そのような決定を行うことは、位置ペアおよび定数文字列についての取り得る値だけでなく、入力文字列および出力文字列にも依存するため、無限に多くの取り得る入力文字列および出力文字列が存在することから、この場合において頻度に基づく順位付けを使用することは不可能である。代わりに、一実施形態において、特徴に基づく順位付けアプローチが使用されて、SubStr表現とConstStr表現との間で選択がされる。より詳細には、特徴のセットが、各SubStr表現について定義される。使用され得る特徴の例は、以下を含むが、以下に限定されない。
a)IsOutputLeftTok:出力部分文字列の左端位置がトークンによって認識され得るかを示すブール値
b)IsOutputLeftConstant:出力部分文字列の左端位置の文字が定数であるかを示すブール値
c)IsOutputRightTok:出力部分文字列の右端位置がトークンによって認識され得るかを示すブール値
d)IsOutputRightConstant:出力部分文字列の右端位置の文字が定数であるかを示すブール値
e)IsOutputTok:出力部分文字列がトークンを意味するかを意味するブール値
f)IsInputLeftTok:入力部分文字列の左端位置がトークンによって認識され得るかを意味するブール値
g)IsInputRightTok:入力部分文字列の右端位置がトークンによって認識され得るかを意味するブール値
h)IsInputTok:入力部分文字列がトークンであるかを意味するブール値
i)Casing:出力部分文字列を取得するために実行されるケーシング
j)LenSubstring:部分文字列の長さ
k)RelLenInSubstring:入力文字列の長さに対する部分文字列の相対的な長さ(lenSubstring/lenInputString)
l)RelLenOutSubstring:出力文字列の長さに対する部分文字列の相対的な長さ(lenSubstring/lenOutputString)
m)頻度に基づく順位付け体系を使用して推定される、構成要素となる位置表現の尤度スコア
[0036] このセクションでは、dagによって表されるプログラムがどのように順位付けされるかが説明されるであろう。
[0037] dagの各エッジは、SubStr表現およびConstStr表現のセットから成る。一実施形態において、特徴に基づく順位付けは、+1と0との間の尤度スコアを各SubStr表現に割り当てる一方で、ConstStr表現の尤度スコアは、0.5になるように決められる。
[0038] dagDにおける各パスは、所与の出力例に適合する幾つかのプログラムを表す。エッジeの尤度スコアw(e)は、そのエッジにおける任意のSubStr表現またはConstStr表現の最も高い尤度スコアとして定義される。パスの尤度スコアは、そのパス上の対応するエッジ表現の尤度スコアを乗算する(加算する)ことによって算出されるように、w(p)≡Πe∈edges(p)w(e)として定義される。次いで、ダイクストラの最短パス手続が使用されて、dagにおける最高位のパスが算出され、最高位の出力文字列を生成するために、このパスが実行される。パスの尤度スコアは、全てのエッジの尤度スコアの積/和、エッジの数、任意のエッジの最小/最大の尤度スコアなど、様々な特徴のより洗練された関数とすることもできる。さらに、この関数は、機械的学習技法を使用することによって学習されることもできる。
[0039] 本明細書において説明される順位付け技法の実施形態の前述の態様は、1つの一般的な実装において、図1において概説されるプロセスによって実現され得る。より詳細には、(後述の例示的な動作環境において説明されるコンピューティング装置のいずれかなどの)コンピューターは、候補変換プログラムを順位付けして、1つまたは複数の変換プログラムの順位付けされたグループを確立するために使用される。1つまたは複数の変換プログラムの各々は、ユーザーによって入力された各入力文字列から、1つまたは複数のユーザー供給された入力−出力例の各々と調和する、ユーザー所望の形式における出力文字列を生成する。より詳細には、候補変換プログラムのセットは、入力として受信される(プロセス動作100)。候補変換プログラムの各々は、1つまたは複数のユーザー供給された入力−出力例から、従来の方法を使用して帰納的に合成され、各ユーザー供給された入力例から各ユーザー供給された出力例によって提示される形式で出力文字列を生成する。既述したように、各変換プログラムは、部分表現から構成されるプログラム表現から構成されることに留意されたい。次に、(より小さい部分表現からより大きい部分表現まで)順位付け体系が確立された各候補変換プログラムの各部分表現について、尤度スコアは、その部分表現について確立された順位付け体系を使用して確立される(プロセス動作102)。順位付け体系の各々は、部分表現が、ユーザーによって入力された各入力から、ユーザー供給された入力−出力例の各々と調和する、ユーザー所望の形式で出力文字列を生成することが可能なプログラムの一部である尤度を示す尤度スコアを生成することに留意されたい。次いで、全体的な順位付けスコアが、候補変換プログラムごとに、その候補変換プログラムについて確立された部分表現尤度スコアから算出される(プロセス動作104)。
[0049] 最高位の候補変換プログラムを選択することに関与する後者の実施形態に関して、これは、コンピューティング装置が文字列変換を実行する適用において使用され得る。より詳細には、図6を参照すると、1つの一般的な実装において、1つまたは複数のユーザー供給された入力−出力例から帰納的に合成された候補変換プログラムのセットが入力される(プロセス動作600)。既述したように、候補変換プログラムの各々は、各ユーザー供給された入力例から各ユーザー供給された出力例によって提示される形式で出力文字列を生成する。
[0051] このセクションでは、2つの例示的な変換シナリオが提供される。本明細書において説明される順位付け技法の実施形態は、これらのシナリオにおいて見出される少数の入力−出力例に基づいて、入力される各入力文字列から所望の出力文字列を生成することが可能な変換プログラムを確立するために採用され得る。
a)部分文字列の長さ:部分文字列「r」の長さは1であるため、部分文字列「r」が入力部分文字列である可能性は低い。
b)部分文字列の相対的な長さ:出力文字列と比較した部分文字列「r」の相対的な長さも非常に小さく、すなわち、1/10である。
c)定数の隣接文字:「r」の隣接文字「M」および「.」は、双方ともに定数表現である。
a)p1:3番目のアルファベットトークン文字列を抽出する。
b)p2:4番目の英数字のトークン文字列を抽出する。
c)p3:コンマおよび空白のトークンから成る1番目と2番目のトークンシーケンスの間の部分文字列を抽出する。
d)p4:3番目の大文字トークン(包括的)と左から2番目のコンマトークンとの間の部分文字列を抽出する。
[0057] 本明細書において説明される順位付け技法の実施形態は、多数のタイプの汎用または専用コンピューティングシステム環境または構成内で動作可能である。図9は、本明細書において説明されるような様々な実施形態および順位付け技法の実施形態の要素が実装され得る汎用コンピューターシステムの簡略化された例を例示する。図9において破線または点線によって表されるいかなる四角形も、簡略化されたコンピューティング装置の代替的な実施形態を表すこと、および、以下に説明されるように、これらの代替的な実施形態のうちのいずれかまたは全ては、本文書全体にわたって説明される他の代替的な実施形態と組み合わせて使用され得ることが留意されるべきである。
[0065] 本説明全体にわたる前述された実施形態のいずれかまたは全部は、任意の所望の組み合わせにおいて使用されて、付加的な混合実施形態を形成し得ることに留意されたい。また、主題は、構造的な特徴および/または方法論的な動作に固有の言語において説明されてきたが、添付の特許請求の範囲において定義される主題は、必ずしも上述された具体的な特徴または動作に限定されないことが理解されるべきである。むしろ、上述された具体的な特徴および動作は、請求項を実装する例示的な形式として開示される。
Claims (19)
- 各々が部分表現を含むプログラム表現を含む候補変換プログラムを順位付けして、ユーザーによって入力される入力文字列から、1つまたは複数のユーザー供給される入力−出力例の各々と調和する、各々がユーザー所望の形式で出力文字列を生成する1つまたは複数の変換プログラムの順位付けされたグループを確立するために、コンピューターにより実装されるプロセスであって、
コンピューターを使用して、以下のプロセス動作、すなわち、
前記1つまたは複数のユーザー供給される入力−出力例から帰納的に合成された、各々が各ユーザー供給される入力例から各ユーザー供給される出力例によって提示される形式で出力文字列を生成する候補変換プログラムのセットを入力することと、
各候補変換プログラムについて、
より小さい方からより大きい方への順に、順位付け体系が確立された、前記候補変換プログラムの各部分表現について、前記部分表現についての前記順位付け体系を使用して尤度スコアを確立することと、
前記候補変換プログラムについて確立された前記部分表現の尤度スコアから、前記候補変換プログラムについての全体的な順位付けスコアを算出することとを実行させることを含む、コンピューターにより実装されるプロセス。 - 部分表現が、正規表現または位置表現またはアトミック表現または連結表現のいずれかであり、前記順位付け体系が、前記正規表現、位置表現、アトミック表現、および連結表現の各々をこの順序で順位付けするために確立される、請求項1に記載のプロセス。
- アトミック表現が、定数文字列表現または部分文字列表現のいずれかであり、アトミック表現についての順位付け体系を確立するプロセス動作が、
前記アトミック表現が定数文字列表現であるのか、または部分文字列表現であるのかを識別する動作と、
各タスクが複数の入力−出力例から成るタスクのトレーニングセットを入力する動作と、
前記トレーニングセットからトレーニングデータを生成する動作と、
各部分文字列表現および各定数文字列表現に尤度スコアを割り当てるために、機械学習分類子をトレーニングする動作と含む、請求項2に記載のプロセス。 - 各部分文字列表現に尤度スコアを割り当てるプロセス動作が、0から1までの範囲における値を有する尤度スコアを割り当てることを含み、各定数文字列表現に尤度スコアを割り当てるプロセス動作が、所定の尤度スコア値を割り当てることを含む、請求項3に記載のプロセス。
- 前記タスクのトレーニングセットからトレーニングデータを生成するプロセス動作が、
前記トレーニングセット内の各タスクについて、
前記タスク内の入力−出力例ごとに、
前記入力−出力例から帰納的に合成され、各々が前記例内の入力文字列のタプルから前記例内の前記出力文字列を生成する、変換プログラムのセットを確立する動作と、
前記変換プログラムのセットから正のトレーニング部分表現のセットを確立する動作と、
前記変換プログラムのセットから負のトレーニング部分表現のセットを確立する動作と、
前記正および負のトレーニング部分表現のセット内の各部分文字列表現から前記トレーニングデータを生成する動作とを含む、請求項3に記載のプロセス。 - 前記正および負のトレーニング部分表現のセット内の各部分文字列表現からトレーニングデータを生成する前記プロセス動作が、
特徴の各々が、前記出力文字列内の部分文字列が前記正および負のトレーニング部分表現のセット内の部分文字列表現によって生成されるかを示す、1つまたは複数の特徴のセットを入力する動作と、
前記正および負のトレーニング部分表現のセット内の各部分文字列表現について、各要素が、クラスラベルのために予約される要素を除いて、前記特徴のうちの1つにそれぞれ関連付けられる特徴値に対応する、要素の所定の順序を含む特徴ベクトルを生成する動作とを含み、前記特徴ベクトルの生成は、
前記要素の所定の順序に対応する順序における前記特徴の各々について、前記特徴が考慮中の前記部分文字列表現によって生成される前記出力文字列内の部分文字列において提示される場合、第1のバイナリ値を有する特徴値を、対応する特徴ベクトル要素に割り当て、前記特徴が考慮中の前記部分文字列表現によって生成される前記出力文字列中の部分文字列において提示されない場合、第2のバイナリ値を有する特徴値を、前記対応する特徴ベクトル要素に割り当てることと、
前記クラスラベルのために予約される前記特徴ベクトル要素について、前記部分文字列表現が前記正のトレーニング部分表現のセットに存在する場合、1つのバイナリ値を割り当て、前記部分文字列表現が前記負のトレーニング部分表現のセットに存在する場合、異なるバイナリ値を割り当てることとを含む、請求項5に記載のプロセス。 - 前記1つまたは複数の特徴のセットは、
前記出力部分文字列の左端位置がトークンによって認識されること、
前記出力部分文字列の前記左端位置の文字が定数であること、
前記出力部分文字列の右端位置がトークンによって認識されること、
前記出力部分文字列の前記右端位置の文字が定数であること、
出力部分文字列はトークンを示すこと、
前記入力部分文字列の左端位置がトークンによって認識されること、
前記入力部分文字列の右端位置がトークンによって認識されること、
入力部分文字列はトークンであること、
前記出力部分文字列を取得するために実行されるケーシング、
前記部分文字列の長さ、
前記入力文字列の前記長さに対する前記部分文字列の相対的な長さ、
前記出力文字列の前記長さに対する前記部分文字列の相対的な長さ、または
構成要素となる位置表現の尤度スコア、
の少なくとも1つを含む、請求項6に記載のプロセス。 - 前記機械学習分類子は、サポートベクターマシン(SVM)バイナリ分類子である、請求項6に記載のプロセス。
- タスク内の入力−出力例から確立される前記変換プログラムのセットから正のトレーニング部分表現のセットを確立する前記プロセス動作が、前記タスク内の前記入力−出力例から合成される変換プログラムの全てのセットの共通部分において見出される各部分表現を、正のトレーニング部分表現として指定することを含む、請求項5に記載のプロセス。
- 前記タスク内の前記入力−出力例から確立される前記変換プログラムのセットから負のトレーニング部分表現のセットを確立する前記プロセス動作が、正のトレーニング部分表現として識別されない前記変換プログラムのセット内の各部分表現を、負のトレーニング部分表現として指定することを含む、請求項9に記載のプロセス。
- 正規表現および位置表現について順位付け体系を確立する前記プロセス動作が、有限な数の予め定義されたトークンを有するセットから値を取る出力部分文字列を生成する部分表現を、前記正のトレーニング部分表現のセット内のそれらの部分表現の頻度に基づいて、頻度に基づくスコアにマッピングする辞書を算出する動作を含む、請求項5に記載のプロセス。
- 連結表現について順位付け体系を確立する前記プロセス動作が、連結表現において見出される個々のアトミック表現についてのスコアを結合することを含む、請求項2に記載のプロセス。
- 連結表現において見出だされる個々のアトミック表現についてスコアを連結する前記プロセス動作が、前記スコアを乗算すること、または前記スコアを加算することの1つを含む、請求項12に記載のプロセス。
- 1つまたは複数の変換プログラムの前記順位付けされたグループとして、所定の数の上位の候補変換プログラムを選択するプロセス動作をさらに含む、請求項1に記載のプロセス。
- 1つまたは複数の変換プログラムの前記順位付けされたグループとして、所定の数の上位の候補変換プログラムを選択する前記プロセス動作が、前記最高位の候補変換プログラムを選択することを含む、請求項14に記載のプロセス。
- 各々のプログラムが部分表現を含むプログラム表現を含む候補変換プログラムを順位付けして、ユーザーによって入力される入力文字列から、1つまたは複数のユーザー供給される入力−出力例の各々と調和する、各々がユーザー所望の形式で出力文字列を生成する1つまたは複数の変換プログラムの順位付けされたグループを確立するためのシステムであって、
1つまたは複数のコンピューティング装置であって、前記コンピューティング装置は複数のコンピューティング装置がある場合はいつでもコンピューターネットワークを介して相互に通信する、1つまたは複数のコンピューティング装置と、
前記1つまたは複数のコンピューティング装置によって実行されるプログラムモジュールを有するコンピュータープログラムとを含み、前記1つまたは複数のコンピューティング装置は、
前記1つまたは複数のユーザー供給される入力−出力例から帰納的に合成された、各々が各ユーザー供給される入力例から各ユーザー供給される出力例によって提示される形式で出力文字列を生成する前記候補変換プログラムのセットを入力し、
各候補変換プログラムについて、
より小さい方からより大きい方への順に、順位付け体系が確立された、前記候補変換プログラムの各部分表現について、前記部分表現について確立された前記順位付け体系を使用して尤度スコアを確立し、
前記候補変換プログラムについて確立された前記部分表現の尤度スコアから、前記候補変換プログラムについての全体的な順位付けスコアを算出するように、前記コンピュータープログラムの前記プログラムモジュールにより誘導される、システム。 - 候補変換プログラムの順位付けの前に前記順位付け体系を確立するためのプログラムモジュールをさらに含み、各順位付け体系は前記部分表現が、ユーザーによって入力される入力文字列から、前記1つまたは複数のユーザー供給される入力−出力例の各々と調和する、ユーザー所望の形式で出力文字列を生成することができるプログラムの一部である尤度を示す尤度スコアを生成し、前記順位付け体系確立プログラムモジュールが、正規表現、位置表現、アトミック表現、および連結表現の各々をこの順序で順位付けする前記順位付け体系を確立するためのサブモジュールを含み、部分表現は、正規表現または位置表現またはアトミック表現または連結表現のいずれかである、請求項16に記載のシステム。
- 順位付け体系が確立された前記候補変換プログラムの各部分表現について、前記部分表現のために確立された前記順位付け体系を使用して尤度スコアを確立する前記プログラムモジュールは、
正規表現および位置表現を頻度に基づくスコアにマッピングする辞書を採用することを含む、正規表現および位置表現のための頻度に基づく順位付けを使用することと、
アトミック表現のための特徴に基づく順位付けを使用することであって、アトミック表現は定数文字列表現または部分文字列表現のどちらかであり、前記特徴に基づく順位付けは、
前記アトミック表現が定数文字列表現または部分文字列表現のどちらかあるか特定することと、
前記アトミック表現が定数文字列表現である場合はいつでも、所定の尤度スコア値を割り当てることと、
前記アトミック表現が部分文字列表現である場合にはいつでも、尤度スコアを各部分文字列表現に割り当てるようにトレーニングされた機械学習分類子を使用して尤度スコア値を割り当てることと、を含む、アトミック表現のための特徴に基づく順位付けを使用することと、
連結表現において見出される個々のアトミック表現についてのスコアを結合することを含む、連結表現を順位付けるためのパスに基づく順位付けを使用すること、のためのサブモジュールを含む、請求項17に記載のシステム。 - 1つまたは複数の変換プログラムの前記順位付けされたグループとして、所定の数の前記上位の候補変換プログラムを選択するためのプログラムモジュールをさらに含む、請求項16に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/653,581 | 2012-10-17 | ||
US13/653,581 US9002758B2 (en) | 2012-10-17 | 2012-10-17 | Ranking for inductive synthesis of string transformations |
PCT/US2013/065497 WO2014062948A2 (en) | 2012-10-17 | 2013-10-17 | Ranking for inductive synthesis of string transformations |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016502701A JP2016502701A (ja) | 2016-01-28 |
JP2016502701A5 JP2016502701A5 (ja) | 2016-11-04 |
JP6285943B2 true JP6285943B2 (ja) | 2018-02-28 |
Family
ID=49517708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015537832A Active JP6285943B2 (ja) | 2012-10-17 | 2013-10-17 | 文字列変換の帰納的合成のための順位付け |
Country Status (6)
Country | Link |
---|---|
US (1) | US9002758B2 (ja) |
EP (1) | EP2909740B1 (ja) |
JP (1) | JP6285943B2 (ja) |
KR (1) | KR102129640B1 (ja) |
CN (1) | CN104737155B (ja) |
WO (1) | WO2014062948A2 (ja) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9002758B2 (en) * | 2012-10-17 | 2015-04-07 | Microsoft Technology Licensing, Llc | Ranking for inductive synthesis of string transformations |
US9880997B2 (en) * | 2014-07-23 | 2018-01-30 | Accenture Global Services Limited | Inferring type classifications from natural language text |
US9891895B2 (en) | 2015-09-14 | 2018-02-13 | Microsoft Technology Licensing, Llc | User interaction models for disambiguation in programming-by-example |
US10528328B2 (en) | 2015-12-08 | 2020-01-07 | Microsoft Technology Licensing, Llc | Learning from input patterns in Programing-By-Example |
US10095484B2 (en) | 2015-12-15 | 2018-10-09 | International Business Machines Corporation | Automatic program synthesis using monadic second-order logic |
US20180039693A1 (en) * | 2016-08-05 | 2018-02-08 | Microsoft Technology Licensing, Llc | Learned data filtering |
US10621195B2 (en) | 2016-09-20 | 2020-04-14 | Microsoft Technology Licensing, Llc | Facilitating data transformations |
US10706066B2 (en) | 2016-10-17 | 2020-07-07 | Microsoft Technology Licensing, Llc | Extensible data transformations |
US11620304B2 (en) | 2016-10-20 | 2023-04-04 | Microsoft Technology Licensing, Llc | Example management for string transformation |
US11256710B2 (en) | 2016-10-20 | 2022-02-22 | Microsoft Technology Licensing, Llc | String transformation sub-program suggestion |
US11892987B2 (en) | 2016-10-20 | 2024-02-06 | Microsoft Technology Licensing, Llc | Automatic splitting of a column into multiple columns |
US10776380B2 (en) | 2016-10-21 | 2020-09-15 | Microsoft Technology Licensing, Llc | Efficient transformation program generation |
US11372830B2 (en) | 2016-10-24 | 2022-06-28 | Microsoft Technology Licensing, Llc | Interactive splitting of a column into multiple columns |
US10846298B2 (en) | 2016-10-28 | 2020-11-24 | Microsoft Technology Licensing, Llc | Record profiling for dataset sampling |
US11163788B2 (en) | 2016-11-04 | 2021-11-02 | Microsoft Technology Licensing, Llc | Generating and ranking transformation programs |
US11170020B2 (en) | 2016-11-04 | 2021-11-09 | Microsoft Technology Licensing, Llc | Collecting and annotating transformation tools for use in generating transformation programs |
CN110352423B (zh) * | 2016-11-04 | 2021-04-20 | 渊慧科技有限公司 | 使用噪声信道模型生成目标序列的方法、存储介质和系统 |
US10698571B2 (en) * | 2016-12-29 | 2020-06-30 | Microsoft Technology Licensing, Llc | Behavior feature use in programming by example |
US10713429B2 (en) | 2017-02-10 | 2020-07-14 | Microsoft Technology Licensing, Llc | Joining web data with spreadsheet data using examples |
US10782939B2 (en) * | 2017-08-07 | 2020-09-22 | Microsoft Technology Licensing, Llc | Program predictor |
US10831451B2 (en) * | 2017-12-01 | 2020-11-10 | Microsoft Technology Licensing, Llc | Synthesized programming-by-example programs |
US11132180B2 (en) * | 2018-01-05 | 2021-09-28 | Microsoft Technology Licensing, Llc | Neural-guided deductive search for program synthesis |
CN110610450B (zh) * | 2018-06-15 | 2023-05-05 | 伊姆西Ip控股有限责任公司 | 数据处理方法、电子设备和计算机可读存储介质 |
WO2020245993A1 (ja) * | 2019-06-06 | 2020-12-10 | 富士通株式会社 | 情報処理プログラム、情報処理方法、および情報処理装置 |
EP3754564A1 (en) * | 2019-06-21 | 2020-12-23 | Fujitsu Limited | Ising machine data input apparatus and method of inputting data into an ising machine |
US11074048B1 (en) | 2020-04-28 | 2021-07-27 | Microsoft Technology Licensing, Llc | Autosynthesized sublanguage snippet presentation |
US11327728B2 (en) | 2020-05-07 | 2022-05-10 | Microsoft Technology Licensing, Llc | Source code text replacement by example |
US11900080B2 (en) | 2020-07-09 | 2024-02-13 | Microsoft Technology Licensing, Llc | Software development autocreated suggestion provenance |
US11875136B2 (en) | 2021-04-01 | 2024-01-16 | Microsoft Technology Licensing, Llc | Edit automation using a temporal edit pattern |
US11941372B2 (en) | 2021-04-01 | 2024-03-26 | Microsoft Technology Licensing, Llc | Edit automation using an anchor target list |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5642472A (en) * | 1994-05-20 | 1997-06-24 | Lucent Technologies Inc. | Software discovery system |
EP1388812A1 (en) | 2002-07-04 | 2004-02-11 | Ronald E. Dr. Kates | Method for training a learning-capable system |
US8799234B2 (en) * | 2010-07-12 | 2014-08-05 | Microsoft Corporation | Semantic entity manipulation using input-output examples |
JP2007200263A (ja) * | 2006-01-25 | 2007-08-09 | Yasushi Suga | 漢字辞書検索装置 |
US8060880B2 (en) * | 2007-05-04 | 2011-11-15 | Microsoft Corporation | System using backward inter-procedural analysis for determining alternative coarser grained lock when finer grained locks exceeding threshold |
US8181163B2 (en) * | 2007-05-07 | 2012-05-15 | Microsoft Corporation | Program synthesis and debugging using machine learning techniques |
US8316345B2 (en) * | 2007-06-01 | 2012-11-20 | Microsoft Corporation | Program abstraction based on program control |
US8266598B2 (en) * | 2008-05-05 | 2012-09-11 | Microsoft Corporation | Bounding resource consumption using abstract interpretation |
US8719801B2 (en) * | 2008-06-25 | 2014-05-06 | Microsoft Corporation | Timing analysis of concurrent programs |
US8402439B2 (en) * | 2008-06-27 | 2013-03-19 | Microsoft Corporation | Program analysis as constraint solving |
US8271404B2 (en) * | 2008-10-02 | 2012-09-18 | Microsoft Corporation | Template based approach to discovering disjunctive and quantified invariants over predicate abstraction |
US8397221B2 (en) * | 2008-10-07 | 2013-03-12 | Microsoft Corporation | Calculating resource bounds of programs manipulating recursive data structures and collections |
US20100223213A1 (en) | 2009-02-27 | 2010-09-02 | Optillel Solutions, Inc. | System and method for parallelization of machine learning computing code |
US8249336B2 (en) * | 2009-08-14 | 2012-08-21 | Microsoft Corporation | Learning string transformations from examples |
US8752029B2 (en) * | 2009-09-29 | 2014-06-10 | Microsoft Corporation | Computing a symbolic bound for a procedure |
US8972930B2 (en) | 2010-06-04 | 2015-03-03 | Microsoft Corporation | Generating text manipulation programs using input-output examples |
US9613115B2 (en) | 2010-07-12 | 2017-04-04 | Microsoft Technology Licensing, Llc | Generating programs based on input-output examples using converter modules |
CN101976233B (zh) * | 2010-09-30 | 2012-11-14 | 北京新媒传信科技有限公司 | 基于序列模式的新词发现方法 |
US10409892B2 (en) * | 2011-01-26 | 2019-09-10 | Microsoft Technology Licensing, Llc | Formatting data by example |
US8484550B2 (en) * | 2011-01-27 | 2013-07-09 | Microsoft Corporation | Automated table transformations from examples |
US8825572B2 (en) * | 2011-02-01 | 2014-09-02 | Microsoft Corporation | Program synthesis with existentially and universally quantified belief propagation using probabilistic inference |
US8650207B2 (en) * | 2011-12-02 | 2014-02-11 | Microsoft Corporation | Inductive synthesis of table-based string transformations |
US9002758B2 (en) * | 2012-10-17 | 2015-04-07 | Microsoft Technology Licensing, Llc | Ranking for inductive synthesis of string transformations |
-
2012
- 2012-10-17 US US13/653,581 patent/US9002758B2/en active Active
-
2013
- 2013-10-17 CN CN201380054348.2A patent/CN104737155B/zh active Active
- 2013-10-17 WO PCT/US2013/065497 patent/WO2014062948A2/en active Application Filing
- 2013-10-17 EP EP13786055.7A patent/EP2909740B1/en active Active
- 2013-10-17 JP JP2015537832A patent/JP6285943B2/ja active Active
- 2013-10-17 KR KR1020157009902A patent/KR102129640B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
US20140108305A1 (en) | 2014-04-17 |
US9002758B2 (en) | 2015-04-07 |
WO2014062948A2 (en) | 2014-04-24 |
WO2014062948A3 (en) | 2014-11-20 |
EP2909740A2 (en) | 2015-08-26 |
KR20150070171A (ko) | 2015-06-24 |
EP2909740B1 (en) | 2019-04-24 |
KR102129640B1 (ko) | 2020-07-08 |
CN104737155B (zh) | 2017-07-21 |
JP2016502701A (ja) | 2016-01-28 |
CN104737155A (zh) | 2015-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6285943B2 (ja) | 文字列変換の帰納的合成のための順位付け | |
US10310812B2 (en) | Matrix ordering for cache efficiency in performing large sparse matrix operations | |
JP5939588B2 (ja) | 関連ノードを探索する方法、並びに、そのコンピュータ、及びコンピュータ・プログラム | |
CN111522967B (zh) | 知识图谱构建方法、装置、设备以及存储介质 | |
US8312041B2 (en) | Resource description framework network construction device and method using an ontology schema having class dictionary and mining rule | |
JP2016502701A5 (ja) | ||
JP7397903B2 (ja) | インテリジェント対話方法、装置、電子機器及び記憶媒体 | |
JP2011258184A (ja) | コンピュータ解析のためにテキスト文書を表現するためのグラフィカル・モデル | |
US10628413B2 (en) | Mapping questions to complex database lookups using synthetic events | |
US11182681B2 (en) | Generating natural language answers automatically | |
CN105701083A (zh) | 文本表示方法和装置 | |
CN112214584A (zh) | 使用知识图利用实体关系来发现答案 | |
JP5980520B2 (ja) | 効率的にクエリを処理する方法及び装置 | |
CN113516491B (zh) | 推广信息展示方法、装置、电子设备及存储介质 | |
EP2778971A1 (en) | Rule triggering for search rule engine | |
JP2011227749A (ja) | 略語完全語復元装置とその方法と、プログラム | |
WO2023103914A1 (zh) | 文本情感分析方法、装置及计算机可读存储介质 | |
US10872122B2 (en) | Knowledge management system and process for managing knowledge | |
WO2022262632A1 (zh) | 网页搜索方法、装置及存储介质 | |
JPWO2011004524A1 (ja) | テキストマイニング装置 | |
CN109471969A (zh) | 一种应用搜索方法、装置及设备 | |
CN111723177B (zh) | 信息提取模型的建模方法、装置及电子设备 | |
CN107038148A (zh) | Xml文档的解析方法及解析装置 | |
JP2013218627A (ja) | 構造化文書からの情報抽出方法、装置、及びプログラム | |
CN113033205A (zh) | 实体链接的方法、装置、设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160914 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160914 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170925 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170927 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171222 |
|
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: 20180111 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180202 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6285943 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 |