【手続補正書】
【提出日】平成28年9月14日(2016.9.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
各々が部分表現を含むプログラム表現を含む候補変換プログラムを順位付けして、ユーザーによって入力される入力文字列から、１つまたは複数のユーザー供給される入力−出力例の各々と調和する、各々がユーザー所望の形式で出力文字列を生成する１つまたは複数の変換プログラムの順位付けされたグループを確立するために、コンピューターにより実装されるプロセスであって、
コンピューターを使用して、以下のプロセス動作、すなわち、
前記１つまたは複数のユーザー供給される入力−出力例から帰納的に合成された、各々が各ユーザー供給される入力例から各ユーザー供給される出力例によって提示される形式で出力文字列を生成する候補変換プログラムのセットを入力することと、
各候補変換プログラムについて、
より小さい方からより大きい方への順に、順位付け体系が確立された、前記候補変換プログラムの各部分表現について、前記部分表現についての前記順位付け体系を使用して尤度スコアを確立することと、
前記候補変換プログラムについて確立された前記部分表現の尤度スコアから、前記候補変換プログラムについての全体的な順位付けスコアを算出することとを実行させることを含む、コンピューターにより実装されるプロセス。
【請求項２】
部分表現が、正規表現または位置表現またはアトミック表現または連結表現のいずれかであり、前記順位付け体系が、前記正規表現、位置表現、アトミック表現、および連結表現の各々をこの順序で順位付けするために確立される、請求項１に記載のプロセス。
【請求項３】
アトミック表現が、定数文字列表現または部分文字列表現のいずれかであり、アトミック表現についての順位付け体系を確立するプロセス動作が、
前記アトミック表現が定数文字列表現であるのか、または部分文字列表現であるのかを識別する動作と、
各タスクが複数の入力−出力例から成るタスクのトレーニングセットを入力する動作と、
前記トレーニングセットからトレーニングデータを生成する動作と、
各部分文字列表現および各定数文字列表現に尤度スコアを割り当てるために、機械学習分類子をトレーニングする動作と含む、請求項２に記載のプロセス。
【請求項４】
各部分文字列表現に尤度スコアを割り当てるプロセス動作が、０から１までの範囲における値を有する尤度スコアを割り当てることを含み、各定数文字列表現に尤度スコアを割り当てるプロセス動作が、所定の尤度スコア値を割り当てることを含む、請求項３に記載のプロセス。
【請求項５】
前記タスクのトレーニングセットからトレーニングデータを生成するプロセス動作が、
前記トレーニングセット内の各タスクについて、
前記タスク内の入力−出力例ごとに、
前記入力−出力例から帰納的に合成され、各々が前記例内の入力文字列のタプルから前記例内の前記出力文字列を生成する、変換プログラムのセットを確立する動作と、
前記変換プログラムのセットから正のトレーニング部分表現のセットを確立する動作と、
前記変換プログラムのセットから負のトレーニング部分表現のセットを確立する動作と、
前記正および負のトレーニング部分表現のセット内の各部分文字列表現から前記トレーニングデータを生成する動作とを含む、請求項３に記載のプロセス。
【請求項６】
前記正および負のトレーニング部分表現のセット内の各部分文字列表現からトレーニングデータを生成する前記プロセス動作が、
特徴の各々が、前記出力文字列内の部分文字列が前記正および負のトレーニング部分表現のセット内の部分文字列表現によって生成されるかを示す、１つまたは複数の特徴のセットを入力する動作と、
前記正および負のトレーニング部分表現のセット内の各部分文字列表現について、各要素が、クラスラベルのために予約される要素を除いて、前記特徴のうちの１つにそれぞれ関連付けられる特徴値に対応する、要素の所定の順序を含む特徴ベクトルを生成する動作とを含み、前記特徴ベクトルの生成は、
前記要素の所定の順序に対応する順序における前記特徴の各々について、前記特徴が考慮中の前記部分文字列表現によって生成される前記出力文字列内の部分文字列において提示される場合、第１のバイナリ値を有する特徴値を、対応する特徴ベクトル要素に割り当て、前記特徴が考慮中の前記部分文字列表現によって生成される前記出力文字列中の部分文字列において提示されない場合、第２のバイナリ値を有する特徴値を、前記対応する特徴ベクトル要素に割り当てることと、
前記クラスラベルのために予約される前記特徴ベクトル要素について、前記部分文字列表現が前記正のトレーニング部分表現のセットに存在する場合、１つのバイナリ値を割り当て、前記部分文字列表現が前記負のトレーニング部分表現のセットに存在する場合、異なるバイナリ値を割り当てることとを含む、請求項５に記載のプロセス。
【請求項７】
前記１つまたは複数の特徴のセットは、
前記出力部分文字列の左端位置がトークンによって認識されること、
前記出力部分文字列の前記左端位置の文字が定数であること、
前記出力部分文字列の右端位置がトークンによって認識されること、
前記出力部分文字列の前記右端位置の文字が定数であること、
出力部分文字列はトークンを示すこと、
前記入力部分文字列の左端位置がトークンによって認識されること、
前記入力部分文字列の右端位置がトークンによって認識されること、
入力部分文字列はトークンであること、
前記出力部分文字列を取得するために実行されるケーシング、
前記部分文字列の長さ、
前記入力文字列の前記長さに対する前記部分文字列の相対的な長さ、
前記出力文字列の前記長さに対する前記部分文字列の相対的な長さ、または
構成要素となる位置表現の尤度スコア、
の少なくとも１つを含む、請求項６に記載のプロセス。
【請求項８】
前記機械学習分類子は、サポートベクターマシン（ＳＶＭ）バイナリ分類子である、請求項６に記載のプロセス。
【請求項９】
タスク内の入力−出力例から確立される前記変換プログラムのセットから正のトレーニング部分表現のセットを確立する前記プロセス動作が、前記タスク内の前記入力−出力例から合成される変換プログラムの全てのセットの共通部分において見出される各部分表現を、正のトレーニング部分表現として指定することを含む、請求項５に記載のプロセス。
【請求項１０】
前記タスク内の前記入力−出力例から確立される前記変換プログラムのセットから負のトレーニング部分表現のセットを確立する前記プロセス動作が、正のトレーニング部分表現として識別されない前記変換プログラムのセット内の各部分表現を、負のトレーニング部分表現として指定することを含む、請求項９に記載のプロセス。
【請求項１１】
正規表現および位置表現について順位付け体系を確立する前記プロセス動作が、有限な数の予め定義されたトークンを有するセットから値を取る出力部分文字列を生成する部分表現を、前記正のトレーニング部分表現のセット内のそれらの部分表現の頻度に基づいて、頻度に基づくスコアにマッピングする辞書を算出する動作を含む、請求項５に記載のプロセス。
【請求項１２】
連結表現について順位付け体系を確立する前記プロセス動作が、連結表現において見出される個々のアトミック表現についてのスコアを結合することを含む、請求項２に記載のプロセス。
【請求項１３】
連結表現において見出だされる個々のアトミック表現についてスコアを連結する前記プロセス動作が、前記スコアを乗算すること、または前記スコアを加算することの１つを含む、請求項１２に記載のプロセス。
【請求項１４】
１つまたは複数の変換プログラムの前記順位付けされたグループとして、所定の数の上位の候補変換プログラムを選択するプロセス動作をさらに含む、請求項１に記載のプロセス。
【請求項１５】
１つまたは複数の変換プログラムの前記順位付けされたグループとして、所定の数の上位の候補変換プログラムを選択する前記プロセス動作が、前記最高
位の候補変換プログラムを選択することを含む、請求項１４に記載のプロセス。
【請求項１６】
文字列変換を実行するためにコンピューターにより実装されるプロセスであって、
コンピューターを使用して、以下のプロセス動作、すなわち、
１つまたは複数のユーザー供給される入力−出力例から帰納的に合成された、各々が各ユーザー供給される入力例から各ユーザー供給される出力例によって提示される形式で出力文字列を生成する、各々が部分表現を含むプログラム表現を含む候補変換プログラムのセットを入力することと、
最高位の変換プログラムを識別するために前記候補変換プログラムのセットを順位づけることと、
出力文字列を生成するためにユーザー供給された入力文字列に前記最高位の変換プログラムを適用することとを実行させることを含む、コンピューターにより実装されるプロセス。
【請求項１７】
各々のプログラムが部分表現を含むプログラム表現を含む候補変換プログラムを順位付けして、ユーザーによって入力される入力文字列から、１つまたは複数のユーザー供給される入力−出力例の各々と調和する、各々がユーザー所望の形式で出力文字列を生成する１つまたは複数の変換プログラムの順位付けされたグループを確立するためのシステムであって、
１つまたは複数のコンピューティング装置であって、前記コンピューティング装置は複数のコンピューティング装置がある場合はいつでもコンピューターネットワークを介して相互に通信する、１つまたは複数のコンピューティング装置と、
前記１つまたは複数のコンピューティング装置によって実行されるプログラムモジュールを有するコンピュータープログラムとを含み、前記１つまたは複数のコンピューティング装置は、
前記１つまたは複数のユーザー供給される入力−出力例から帰納的に合成された、各々が各ユーザー供給される入力例から各ユーザー供給される出力例によって提示される形式で出力文字列を生成する前記候補変換プログラムのセットを入力し、
各候補変換プログラムについて、
より小さい方からより大きい方への順に、順位付け体系が確立された、前記候補変換プログラムの各部分表現について、前記部分表現について確立された前記順位付け体系を使用して尤度スコアを確立し、
前記候補変換プログラムについて確立された前記部分表現の尤度スコアから、前記候補変換プログラムについての全体的な順位付けスコアを算出するように、前記コンピュータープログラムの前記プログラムモジュールにより誘導される、システム。
【請求項１８】
候補変換プログラムの順位付けの前に前記順位付け体系を確立するためのプログラムモジュールをさらに含み、各順位付け体系は前記部分表現が、ユーザーによって入力される入力文字列から、前記１つまたは複数のユーザー供給される入力−出力例の各々と調和する、ユーザー所望の形式で出力文字列を生成することができるプログラムの一部である尤度を示す尤度スコアを生成し、前記順位付け体系確立プログラムモジュールが、正規表現、位置表現、アトミック表現、および連結表現の各々をこの順序で順位付けする前記順位付け体系を確立するためのサブモジュールを含み、部分表現は、正規表現または位置表現またはアトミック表現または連結表現のいずれかである、請求項１７に記載のシステム。
【請求項１９】
順位付け体系が確立された前記候補変換プログラムの各部分表現について、前記部分表現のために確立された前記順位付け体系を使用して尤度スコアを確立する前記プログラムモジュールは、
正規表現および位置表現を頻度に基づくスコアにマッピングする辞書を採用することを含む、正規表現および位置表現のための頻度に基づく順位付けを使用することと、
アトミック表現のための特徴に基づく順位付けを使用することであって、アトミック表現は定数文字列表現または部分文字列表現のどちらかであり、前記特徴に基づく順位付けは、
前記アトミック表現が定数文字列表現または部分文字列表現のどちらかあるか特定することと、
前記アトミック表現が定数文字列表現である場合はいつでも、所定の尤度スコア値を割り当てることと、
前記アトミック表現が部分文字列表現である場合にはいつでも、尤度スコアを各部分文字列表現に割り当てるようにトレーニングされた機械学習分類子を使用して尤度スコア値を割り当てることと、を含む、アトミック表現のための特徴に基づく順位付けを使用することと、
連結表現において見出される個々のアトミック表現についてのスコアを結合することを含む、連結表現を順位付けるためのパスに基づく順位付けを使用すること、のためのサブモジュールを含む、請求項１８に記載のシステム。
【請求項２０】
１つまたは複数の変換プログラムの前記順位付けされたグループとして、所定の数の前記上位の候補変換プログラムを選択するためのプログラムモジュールをさらに含む、請求項１７に記載のシステム。