特許第6335794号(P6335794)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ タッチタイプ リミテッドの特許一覧

<>
  • 特許6335794-ユーザデータ入力の予測 図000057
  • 特許6335794-ユーザデータ入力の予測 図000058
  • 特許6335794-ユーザデータ入力の予測 図000059
  • 特許6335794-ユーザデータ入力の予測 図000060
  • 特許6335794-ユーザデータ入力の予測 図000061
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6335794
(24)【登録日】2018年5月11日
(45)【発行日】2018年5月30日
(54)【発明の名称】ユーザデータ入力の予測
(51)【国際特許分類】
   G06F 17/27 20060101AFI20180521BHJP
   G06F 17/22 20060101ALI20180521BHJP
【FI】
   G06F17/27 660
   G06F17/27 630
   G06F17/22 694
【請求項の数】14
【全頁数】31
(21)【出願番号】特願2014-553807(P2014-553807)
(86)(22)【出願日】2013年1月28日
(65)【公表番号】特表2015-510179(P2015-510179A)
(43)【公表日】2015年4月2日
(86)【国際出願番号】GB2013050182
(87)【国際公開番号】WO2013110955
(87)【国際公開日】20130801
【審査請求日】2015年12月10日
(31)【優先権主張番号】1201425.4
(32)【優先日】2012年1月27日
(33)【優先権主張国】GB
(31)【優先権主張番号】1205598.4
(32)【優先日】2012年3月29日
(33)【優先権主張国】GB
(73)【特許権者】
【識別番号】513289112
【氏名又は名称】タッチタイプ リミテッド
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【弁理士】
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】メドロック ベンジャミン
(72)【発明者】
【氏名】オズボーン ジョセフ ハイム ベネディクト
【審査官】 成瀬 博之
(56)【参考文献】
【文献】 米国特許出願公開第2011/0197128(US,A1)
【文献】 特開平11−167569(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/20−17/28
(57)【特許請求の範囲】
【請求項1】
電子装置にテキストを入力するためのシステムであって、
ユーザ入力信号を、連続する文字シーケンスを含む入力シーケンスに変換するように構成された入力シーケンス生成器であって、前記文字シーケンスの少なくとも1つの文字について、キーボード中の当該文字に対応するキーの位置と前記キーボードのレイアウトに基づいて、前記キーを取り囲む文字を含む文字セットを生成し、各文字セットは、各文字セット内の各文字に関連する確率値が存在するように前記文字セット内の文字にわたる確率分散を有する、入力シーケンス生成器と、
候補生成器とを備え、
該候補生成器は、
前記入力シーケンスのいずれか2つの隣接する文字セットに対応するいずれか2つの隣接するノード間に1又はそれ以上の用語境界ノードを挿入して、前記入力シーケンスを、1又はそれ以上の候補に対応する1又はそれ以上の経路を含む確率的制約シーケンスグラフに変換することにより、前記入力シーケンスから、1又はそれ以上の用語境界により分離された2又はそれ以上の用語シーケンスを各々が含む前記1又はそれ以上の候補を生成し、前記確率的制約シーケンスグラフは、一群のノードと、各々が1つのノードを別のノードに接続する有向辺とを含み、前記各文字セット内の前記各文字にノードが割り当てられ、各ノードの入力辺には、当該ノードに割り当てられた文字に関連する前記確率値が割り当てられ、前記1又はそれ以上の用語境界ノードの各々は、所定の確率tを有し、
各々が対応する発生確率を有する用語シーケンスを含む文脈言語モデル内で前記候補の1又はそれ以上の用語シーケンスを探索し、
前記文脈言語モデルからの前記候補の前記1又はそれ以上の用語シーケンスに対応する確率を前記候補に割り当てる、
ことにより各候補に第1の確率を割り当て、
前記確率的制約シーケンスグラフ内の前記候補を表す前記経路の累積確率を求めることにより、各候補の第2の確率を生成し、
各候補の第1の確率と第2の確率を組み合わせた確率に基づいて1又はそれ以上の候補を廃棄する、
ように構成される、
ことを特徴とするシステム。
【請求項2】
前記候補生成器は、前記文脈言語モデル内で、文脈シーケンスと前記候補の組み合わせを含むシーケンスを前記候補毎に探索するように構成され、前記文脈シーケンスは、1又はそれ以上の用語境界により分離された1又はそれ以上の用語を含む、前記入力シーケンスに先行するユーザ入力テキストである、
ことを特徴とする請求項1に記載のシステム。
【請求項3】
前記入力シーケンス生成器は、既に行われたユーザ選択に基づいて、前記ユーザ入力信号から、ユーザがコミットしたテキストに対応する前記文脈シーケンスを取得するようにさらに構成される、
ことを特徴とする請求項2に記載のシステム。
【請求項4】
前記候補生成器は、前記入力シーケンスの文字セットを表すいずれかのノードの代用として用語境界ノードを挿入するように構成される、
ことを特徴とする請求項1に記載のシステム。
【請求項5】
前記候補生成器は、
最も確率の高い候補の組み合わせた確率を求め、
対象とする候補の組み合わせた確率を求め、
前記最も確率の高い候補と前記対象とする候補との前記組み合わせた確率の比率が閾値tよりも小さい場合に前記対象とする候補を廃棄する、
ことにより候補を廃棄するように構成される、
ことを特徴とする請求項に記載のシステム。
【請求項6】
前記候補生成器は、廃棄されなかったいずれかの候補の第3の確率を求めて、前記第2の確率と前記第3の確率の積である候補の全体的確率に基づいて1又は複数の候補を前記入力シーケンスに対する予測として出力するように構成され、前記第3の確率は、前記文脈言語モデル内で、文脈シーケンス、並びにその有効な表記及び語彙揺れを前記候補と組み合わせたものを含むシーケンスを探索することによって求められ、前記文脈シーケンスは、1又はそれ以上の用語境界により分離された1又はそれ以上の用語を含む、前記入力シーケンスに先行するユーザ入力テキストであり、
ことを特徴とする請求項又は項に記載のシステム。
【請求項7】
前記用語境界はスペース文字である、
ことを特徴とする請求項1から6のいずれか1項に記載のシステム。
【請求項8】
入力シーケンス生成器を用いて、ユーザ入力信号を、連続する文字シーケンスを含む入力シーケンスに変換するステップであって、前記ユーザ入力信号を入力シーケンスに変換するステップは、前記文字シーケンスの少なくとも1つの文字について、キーボード中の当該文字に対応するキーの位置と前記キーボードのレイアウトに基づいて、前記キーを取り囲む文字を含む文字セットを生成するステップを含み、各文字セットは、各文字セット内の各文字に関連する確率値が存在するように前記文字セット内の文字にわたる確率分散を有する、ステップと、
候補生成器を用いて、前記入力シーケンスのいずれか2つの隣接する文字セットに対応するいずれか2つの隣接するノード間に1又はそれ以上の用語境界ノードを挿入して、前記入力シーケンスを、1又はそれ以上の候補に対応する1又はそれ以上の経路を含む確率的制約シーケンスグラフに変換することにより、前記入力シーケンスから、1又はそれ以上の用語境界により分離された2つの用語を各々が含む1又はそれ以上の候補を生成するステップであって、前記確率的制約シーケンスグラフは、一群のノードと、各々が1つのノードを別のノードに接続する有向辺とを含み、前記各文字セット内の前記各文字にノードが割り当てられ、各ノードの入力辺には、当該ノードに割り当てられた文字に関連する前記確率値が割り当てられ、前記1又はそれ以上の用語境界ノードの各々は、所定の確率tを有する、ステップと、
各々が対応する発生確率を有する用語シーケンスを含む文脈言語モデル内で前記候補の1又はそれ以上の用語シーケンスを探索し、
前記文脈言語モデルからの前記候補の前記1又はそれ以上の用語シーケンスに対応する確率を前記候補に割り当てる、
ことにより、前記候補生成器を用いて、各候補に第1の確率を割り当てるステップと、
前記確率的制約シーケンスグラフ内の前記候補を表す前記経路の累積確率を求めることにより、前記候補生成器を用いて、各候補の第2の確率を生成するステップと、
各候補の第1の確率と第2の確率を組み合わせた確率に基づいて、前記候補生成器を用いて、1又はそれ以上の候補を廃棄するステップと、
を含むことを特徴とする方法。
【請求項9】
前記文脈言語モデル内で前記候補を探索するステップは、文脈シーケンスと前記候補の組み合わせを含むシーケンスを前記候補毎に探索するステップを含み、前記文脈シーケンスは、1又はそれ以上の用語境界により分離された1又はそれ以上の用語を含む、前記入力シーケンスに先行するユーザ入力テキストである、
ことを特徴とする請求項に記載の方法。
【請求項10】
前記方法は、前記入力シーケンス生成器を用いて、既に行われたユーザ選択に基づいて、前記ユーザ入力信号から、ユーザがコミットしたテキストに対応する前記文脈シーケンスを取得するステップをさらに含むことを特徴とする請求項に記載の方法。
【請求項11】
前記方法は、前記候補生成器を用いて、前記入力シーケンスの文字セットを表すいずれかのノードの代用として用語境界ノードを挿入するステップをさらに含むことを特徴とする請求項に記載の方法。
【請求項12】
前記廃棄するステップは、
最も確率の高い候補の組み合わせた確率を求め、
対象とする候補の組み合わせた確率を求め、
前記最も確率の高い候補と前記対象とする候補との前記組み合わせた確率の比率が閾値tよりも小さい場合に前記対象とする候補を廃棄する、
ことを特徴とする請求項に記載の方法。
【請求項13】
前記用語境界はスペース文字である、
ことを特徴とする請求項から12のいずれか1項に記載の方法。
【請求項14】
入力シーケンス生成器を用いて、ユーザ入力信号を、連続する文字シーケンスを含む入力シーケンスに変換するステップであって、前記ユーザ入力信号を入力シーケンスに変換するステップは、前記文字シーケンスの少なくとも1つの文字について、キーボード中の当該文字に対応するキーの位置と前記キーボードのレイアウトに基づいて、前記キーを取り囲む文字を含む文字セットを生成するステップを含み、各文字セットは、各文字セット内の各文字に関連する確率値が存在するように前記文字セット内の文字にわたる確率分散を有する、ステップと、
前記入力シーケンスのいずれか2つの隣接する文字セットに対応するいずれか2つの隣接するノード間に1又はそれ以上の用語境界ノードを挿入するように構成された候補生成器を用いて、前記入力シーケンスを、1又はそれ以上の候補に対応する1又はそれ以上の経路を含む確率的制約シーケンスグラフに変換することにより、前記入力シーケンスから、1又はそれ以上の用語境界により分離された2つの用語を各々が含む1又はそれ以上の候補を生成するステップであって、前記確率的制約シーケンスグラフは、一群のノードと、各々が1つのノードを別のノードに接続する有向辺とを含み、前記各文字セット内の前記各文字にノードが割り当てられ、各ノードの入力辺には、当該ノードに割り当てられた文字に関連する前記確率値が割り当てられ、前記1又はそれ以上の用語境界ノードの各々は、所定の確率tを有する、ステップと、
各々が対応する発生確率を有する用語シーケンスを含む文脈言語モデル内で前記候補の1又はそれ以上の用語シーケンスを探索し、
前記文脈言語モデルからの前記候補の前記1又はそれ以上の用語シーケンスに対応する確率を前記候補に割り当てる、
ことにより、前記候補生成器を用いて、各候補に第1の確率を割り当てるステップと、
前記確率的制約シーケンスグラフ内の前記候補を表す前記経路の累積確率を求めることにより、前記候補生成器を用いて、各候補の第2の確率を生成するステップと、
各候補の第1の確率推定値と第2の確率を組み合わせた確率に基づいて、前記候補生成器を用いて、1又はそれ以上の候補を廃棄するステップと、
をプロセッサに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザが入力したテキストから複数の用語を予測するためのシステム及び方法に関し、具体的には、ユーザが入力したテキスト内の1又はそれ以上の用語境界を予測するためのシステム及び方法に関する。
【背景技術】
【0002】
例えば、Google(商標)社から市販されているAndroid(商標)ICSキーボード又はApple(登録商標)社から市販されているiOSキーボードなどの、ユーザが入力したテキスト内の用語境界を何らかの形で検出するシステムが知られている。しかしながら、これらのシステムは、用語境界の検出に限界がある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】国際出願第2011/001419号
【特許文献2】英国特許出願公開第1108200号明細書
【特許文献3】英国特許出願公開第1200643号明細書
【特許文献4】国際出願第2010/001898号
【発明の概要】
【発明が解決しようとする課題】
【0004】
Google(商標)社から市販されているAndroid(商標)ICSキーボードの例では、ユーザが潜在的語彙からの2つの有効な単語を分離スペース又はスペース以外の文字によって分離せずに入力した場合、システムは、スペースにより分離された2つの単語を提示し、適切な場合には誤った文字を置き換える。しかしながら、このシステムには、特に以下のようないくつかの限界がある。
・ いずれかの単語にタイプミス又はスペルミスがある場合には動作しない。
・ 自動アポストロフィ挿入などの他の入力操作機能と共に動作しない。
・ 一度に2つの単語しか分析できず、すなわち1つの単語境界しか識別することができない。
【0005】
Apple(商標)社製のiOSキーボードは、限られたタイプミス又はスペルミスを補うことができるという点でAndroid(商標)版よりも進んでいる。しかしながら、iOSキーボードも、1つの単語境界の識別に制限される。
【0006】
これらの制限の1つ又はそれ以上を克服することにより、ユーザが用語境界を明確に挿入することなく、語句全体、さらにはメッセージ全体を入力できるようにすることが本発明の目的である。
【課題を解決するための手段】
【0007】
本発明の第1の態様では、電子装置にテキストを入力するためのシステムを提供し、このシステムは、
候補生成器を備え、この候補生成器は、
連続する文字シーケンスを含む入力シーケンスから、1又はそれ以上の用語境界により分離された2又はそれ以上の用語を各々が含む1又はそれ以上の候補を生成し、
各々が対応する発生確率を有する用語シーケンスを含む文脈言語モデル内で候補の1又はそれ以上の用語を探索し、
文脈言語モデルからの候補の1又はそれ以上の用語に対応する確率を候補に割り当てる、
ことにより各候補に第1の確率推定値を割り当て、
対応する第1の確率推定値に基づいて1又はそれ以上の候補を廃棄する、
ように構成される。
【0008】
1つの実施形態では、1又はそれ以上の用語が候補を含む。候補生成器は、文脈言語モデル内で、文脈シーケンスと候補の組み合わせを含むシーケンスを候補毎に探索するように構成され、文脈シーケンスは、1又はそれ以上の用語境界により分離された1又はそれ以上の用語を含む、入力シーケンスに先行するユーザ入力テキストであることが好ましい。
【0009】
システムは、ユーザ入力信号を入力シーケンス及び文脈シーケンスに変換するように構成された入力シーケンス生成器をさらに備えることができる。入力シーケンス生成器は、文字セットシーケンスを生成することによってユーザ入力信号を入力シーケンスに変換し、各文字セットは、各セット内の各文字に関連する確率値が存在するようにセット内の文字にわたる確率分散を有する。
【0010】
候補生成器は、入力シーケンスを、1又はそれ以上の候補に対応する1又はそれ以上の経路を含む確率的制約シーケンスグラフに変換することにより、入力シーケンスから1又はそれ以上の候補を生成するように構成されることが好ましい。確率的制約シーケンスグラフは、一群のノードと、各々が1つのノードを別のノードに接続する有向辺とを含む有向非巡回グラフの変種であり、確率的制約シーケンスグラフにおいて、各文字セット内の各文字にノードが割り当てられ、各ノードの入力辺は、関連する文字の確率に対応することが好ましい。確率的グラフの各経路は同じ長さに制約されることが好ましい。
【0011】
候補生成器は、確率的制約シーケンスグラフに1又はそれ以上の用語境界ノードを挿入するように構成され、1又はそれ以上の用語境界ノードの各々は、入力シーケンスにおいて生じる確率tを有することが好ましい。候補生成器は、入力シーケンスのいずれか2つの隣接する文字セットに対応するいずれか2つの隣接するノード間に用語境界ノードを挿入するように構成されることが好ましい。さらに、候補生成器は、入力シーケンスの文字セットを表すいずれかのノードの代用として用語境界ノードを挿入するように構成することができる。
【0012】
候補生成器は、確率的制約シーケンスグラフに1又はそれ以上のワイルドカードノードを挿入するように構成され、この1又はそれ以上のワイルドカードノードの各々は、確率的制約シーケンスグラフに、入力シーケンスの文字セットに加えてあらゆる文字が挿入されるようにすることが好ましい。
【0013】
候補生成器は、確率的制約シーケンスグラフ内の候補を表す経路の累積確率を求めることにより、候補の第2の確率推定値を生成するように構成することができる。候補生成器は、各候補の第1の確率と第2の確率を組み合わせるように構成されることが好ましい。
【0014】
候補生成器は、
最も確率の高い候補の組み合わせた確率を求め、
対象とする候補の組み合わせた確率を求め、
これらの最も確率の高い候補と対象とする候補の組み合わせた確率の比率が閾値tよりも小さい場合に候補を廃棄する、
ことにより候補を廃棄するように構成されることが好ましい。
【0015】
候補生成器は、廃棄されなかったいずれかの候補の第3の確率を求めるように構成することができる。第3の確率は、文脈言語モデル内で、文脈シーケンス、並びにその有効な表記及び語彙揺れを候補と組み合わせたものを含むシーケンスを探索することによって求めることができ、文脈シーケンスは、1又はそれ以上の用語境界により分離された1又はそれ以上の用語を含む、入力シーケンスに先行するユーザ入力テキストである。候補の全体的確率は、第2の確率と第3の確率の積とすることができる。
【0016】
最も確率の高い候補の1又はそれ以上を、候補生成器から候補ディスプレイに出力してユーザに提示することができる。
【0017】
1つの実施形態では、用語境界がスペース文字である。
【0018】
本発明の第2の態様では、連続する文字シーケンスを含む入力シーケンス内の用語境界を推測する方法を提供し、この方法は、
候補生成器を用いて、入力シーケンスから、1又はそれ以上の用語境界により分離された2つの用語を各々が含む1又はそれ以上の候補を生成するステップと、
各々が対応する発生確率を有する用語シーケンスを含む文脈言語モデル内で候補の1又はそれ以上の用語を探索し、
文脈言語モデルからの候補の1又はそれ以上の用語に対応する確率を候補に割り当てる、
ことにより各候補に第1の確率推定値を割り当てるステップと、
対応する第1の確率推定値に基づいて1又はそれ以上の候補を廃棄するステップと、
を含む。
【0019】
1つの実施形態では、1又はそれ以上の用語が候補を含む。文脈言語モデル内で候補を探索するステップは、文脈シーケンスと候補の組み合わせを含むシーケンスを候補毎に探索するステップを含み、文脈シーケンスは、1又はそれ以上の用語境界により分離された1又はそれ以上の用語を含む、入力シーケンスに先行するユーザ入力テキストであることが好ましい。
【0020】
この方法は、シーケンス生成器を用いて、ユーザ入力信号を入力シーケンス及び文脈シーケンスに変換するステップをさらに含むことが好ましい。ユーザ入力信号を入力シーケンスに変換するステップは、文字セットシーケンスを生成するステップを含み、各文字セットは、各セット内の各文字に関連する確率値が存在するようにセット内の文字にわたる確率分散を有することが好ましい。
【0021】
入力シーケンスから1又はそれ以上の候補を生成するステップは、入力シーケンスを、1又はそれ以上の候補に対応する1又はそれ以上の経路を含む確率的制約シーケンスグラフに変換するステップを含むことができる。確率的制約シーケンスグラフは、一群のノードと、各々が1つのノードを別のノードに接続する有向辺とを含む有向非巡回グラフの変種であり、確率的制約シーケンスグラフにおいて、各文字セット内の各文字にノードが割り当てられ、各ノードの入力辺は、関連する文字の確率に対応することが好ましい。確率的グラフの各経路は同じ長さに制約されることが好ましい。
【0022】
方法は、候補生成器を用いて、確率的制約シーケンスグラフに1又はそれ以上の用語境界ノードを挿入するステップをさらに含み、1又はそれ以上の用語境界ノードの各々は、入力シーケンスにおいて生じる確率tを有する。用語境界ノードは、入力シーケンスのいずれか2つの隣接する文字セットに対応するいずれか2つの隣接するノード間に挿入されることが好ましい。
【0023】
用語境界ノードは、入力シーケンスの文字セットを表すいずれかのノードの代用として挿入することができる。
【0024】
方法は、候補生成器を用いて、確率的制約シーケンスグラフに1又はそれ以上のワイルドカードノードを挿入するステップをさらに含み、該1又はそれ以上のワイルドカードノードの各々は、確率的制約シーケンスグラフに、入力シーケンスの文字セットに加えてあらゆる文字が挿入されるようにすることが好ましい。
【0025】
方法は、候補生成器を用いて、確率的制約シーケンスグラフ内の候補を表す経路の累積確率を求めることにより、候補の第2の確率推定値を生成するステップをさらに含むことが好ましい。候補生成器を用いて、各候補の第1の確率と第2の確率の積を求めることができる。
【0026】
候補を廃棄するステップは、
候補生成器を用いて、最も確率の高い候補の組み合わせた確率を求めるステップと、
候補生成器を用いて、対象とする候補の組み合わせた確率を求めるステップと、
これらの最も確率の高い候補と対象とする候補の組み合わせた確率の比率が閾値tよりも小さい場合に、候補生成器を用いて候補を廃棄するステップと、
を含むことが好ましい。
【0027】
方法は、候補生成器を用いて、廃棄されなかったいずれかの候補の第3の確率を求めるステップをさらに含むことが好ましい。第3の確率は、候補生成器を用いて、文脈言語モデル内で、文脈シーケンス、並びにその有効な表記及び語彙揺れを候補と組み合わせたものを含むシーケンスを探索することによって求めることができ、文脈シーケンスは、1又はそれ以上の用語境界により分離された1又はそれ以上の用語を含む、入力シーケンスに先行するユーザ入力テキストである。候補の全体的確率は、第2の確率に第3の確率を乗じることによって求めることができる。
【0028】
方法は、最も確率の高い候補の1又はそれ以上を前記候補生成器から候補ディスプレイに出力してユーザに提示するステップを含むことができる。
【0029】
1つの実施形態では、用語境界がスペース文字である。
【0030】
本発明の第3の態様では、上述した方法をプロセッサに実行させるためのコンピュータプログラム手段を記憶するコンピュータ可読媒体を含むコンピュータプログラム製品を提供する。
【0031】
本発明の第4の態様では、
ユーザが現在入力中のテキストを表示するように構成されたテキストペインと、
ユーザが現在入力中のテキストが何を表そうとしているかについての予測である候補を表示するための予測ペインと、
ユーザが入力したテキストを受け付けるための、スペースキーを表すキーを含まない仮想キーボードと、
を含むユーザインターフェイスを提供する。
【0032】
予測ペインは、ユーザの入力シーケンスを表示する第1のペインと、及びユーザの入力シーケンスに対する予測を表示する第2のペインという2つの予測ペインを含むことが好ましい。
【0033】
以下、添付図面を参照しながら本発明を詳細に説明する。
【図面の簡単な説明】
【0034】
図1】本発明による高水準予測アーキテクチャを示す図である。
図2a】本発明によるインターフェイス例を示す図である。
図2b】本発明によるインターフェイス例を示す図である。
図3】本発明によるシステムの使用を示す作業例である。
図4】本発明による方法のフロー図である。
【発明を実施するための形態】
【0035】
本発明は、確率的文脈モデルを用いてテキスト入力内の見込まれる用語境界の位置を推測する、携帯電話機又はタブレットなどの電子装置におけるテキスト入力システム及び方法を提供する。
【0036】
本システムは、潜在的語彙から複数用語境界推測結果を生成する方法と、これらの結果を文脈的言語データに基づいてフィルタ処理する確率的方法とを組み合わせたものである。
【0037】
このシステムは、(全体が引用により本明細書に組み入れられる)国際出願第2011/001419号に記載されるような付加確率的文字操作と組み合わせて、タイプミス又はスペルミスを同時に訂正できるとともに、その他の確率的に導き出される(英語の自動アポストロフィ挿入などの)文字ストリーム操作も可能なシステムをもたらすことが好ましい。従って、このシステムは、高確率複数用語テキスト予測を生成する(そしてユーザ又はシステムに提供する)ことができる。
【0038】
従って、本システム及び方法は、いずれも単語を手動で分離する必要性を取り除くことによってユーザの入力速度を高めるための手段を提供するとともに、そうしようとするのに上手くいかないユーザ(例えば、ユーザが分離の代わりの疑似文字を入力した場合、又はユーザがいずれかの文字又は分離を挿入できなかった場合)に訂正フィードバックも提供する。
【0039】
以下の例は、いくつかのユーザテキスト入力例を所与として本発明のシステム及び方法の出力(1又はそれ以上の用語のテキスト予測)を実証するものである。これらの例では、用語境界を含まないユーザ入力テキスト、境界の代わりの疑似文字を含むテキスト入力などの、いくつかの異なるテキスト入力シナリオにわたってシステム/方法の能力を実証する。
【0040】
ユーザによる、用語境界を含まないテキスト入力の例
「seeyoulater」というユーザ入力に対し、本システム/方法は「see you later」を予測/出力する。
【0041】
ユーザによる、境界の代わりの疑似文字を含むテキスト入力の例
「seecyoublater」というユーザ入力に対し、本システム/方法は「see you later」を予測/出力する。
【0042】
開示するシステム及び方法は、例えば以下のように、プレフィックスマッチをリアルタイムで解決することができる。
「seeyoula」というユーザ入力に対し、本システム/方法は「see you later」を予測/出力する。
【0043】
開示するシステム/方法は、例えば以下のように、タイプミス/スペルミスの誤りを補うと同時に単語境界及びプレフィックスを推測することができる。
「seeyooulayer」というユーザテキスト入力に対し、本システム/方法は「see you later」を予測/出力する。
「whatstheti」というユーザテキスト入力に対し、本システム/方法は「what’s the time」を予測/出力する。
【0044】
本システム/方法は、確率的にランク付けした1又はそれ以上の予測の組を生成してユーザに提示するように構成することができる。例えば、本システム/方法は、「thedrmin」というユーザ入力から、以下のランク付けした予測を出力することができる。
「these mints」
「the seminar」
<その他>
【0045】
図1に、本システムの概要を排他的ではなく一般的に示す。
【0046】
このシステムは、全体が引用により本明細書に組み入れられる国際出願第GB2011/001419号に記載されるような、既存の確率的テキスト入力システムを強化するように設計されることが好ましい。しかしながら、このシステムを単独で使用して、例えば本出願の背景技術の段落で説明したような既存のテキスト入力システムを単純に強化することもできる。
【0047】
図1に示すように、システムは候補生成器2を含む。システムは、入力シーケンス生成器1及び候補ディスプレイ3も含むことが好ましい。候補ディスプレイ3は、1又はそれ以上の候補40をユーザに表示するように構成される。
【0048】
入力シーケンス生成器1は、ユーザ入力からテキストシーケンスを生成するように構成される。ユーザ入力は、例えば以下のような、異なるタイプのテキスト入力インターフェイスを与えられた様々な範囲の異なる電子装置との異なるタイプの相互作用に対応する様々な範囲のユーザ信号10により生成することができる。
・ 当業で周知のQWERTY(又は他のレイアウト)キーボード
・ 当業で周知の確率的仮想QWERTY(又は他のレイアウト)キーボード
・ より高度なキープレスモデル(全体が引用により本明細書に組み入れられる英国特許出願第1108200号、「ユーザ入力予測」など)
・ 確率的連続ストロークインターフェイス(全体が引用により本明細書に組み入れられる英国特許出願第1200643号、「テキスト入力システム及び方法」など)
【0049】
入力シーケンス生成器1は、ユーザにより生成された入力信号10を受け付け、所与の言語の構造的文字シーケンスを戻す。入力シーケンス生成器1は、入力シーケンス20及び文脈シーケンス30という2つの構造的文字シーケンスを出力する。
【0050】
文脈シーケンス30は、不変の文字シーケンスを含む。入力シーケンス20は、本明細書で確率的文字列と呼ぶ形をとる。確率的文字列は一連の文字セットを含み、各セットは、各セット内の各文字が関連する確率値を有するように、その文字要素にわたる確率分散を有する。確率的文字列が3つの文字セットにわたるシーケンスを含み、({−}で示す)各セットが合計で1になる対応する確率を有する2又はそれ以上の文字を含む例を以下に示す。
{{{a,0.8},{s,0,1},{z,0.1}},{{r,0.9},{t,0.05},{f,0.05}},{{e,0.8},{w,0.2}}}
【0051】
一例として、ユーザが「The devil makes work for idle han」というシーケンスを入力しており、「han」の直後にカーソルが位置する。この例では、「idle」という単語までの文字が文脈シーケンス30であってこれに含まれ、「h」、「a」及び「n」という文字により意図された文字にわたる分散が入力シーケンス20になる。
文脈「The devil makes work for idle」
入力「han」
【0052】
一般に、文脈シーケンス30は、既にユーザがコミットしたテキストと見なすことができ、入力シーケンス20は、ユーザが現在入力しようとしているテキストと見なすことができる。入力シーケンス20は、連続する文字シーケンスである。連続する文字シーケンスとは、明確な用語境界を含まない連続する文字シーケンスのことである。候補生成器2は、入力シーケンス20全体を、2又はそれ以上の用語間に1又はそれ以上の推測される用語境界を含む2又はそれ以上の用語の予測に置換するように構成され、この置換は、誤り文字をスペースに置換すること、用語の1又はそれ以上を訂正すること、及び/又は句読点を挿入することを含むことができる。
【0053】
例えば、ユーザが「The devil makes」という表現をシステムに対して既にコミットしており、現在「workforidlehan」と入力している場合、「The devil makes」は文脈シーケンス30であるのに対し、「workforidlehan」は入力シーケンス20に対応する。
【0054】
従って、入力シーケンス生成器1は、ユーザが(例えば候補予測40の前回のユーザ選択50によって)システムにコミットしたテキストに対応する文脈シーケンス30と、ユーザが現在入力しているが、これからシステムにコミットする必要がある、連続する文字シーケンスの形のテキストに対応する入力シーケンス20とを生成するように構成される。
【0055】
文脈シーケンス30及び入力シーケンス20は、入力シーケンス生成器1から出力され、候補生成器2により入力として受け付けられる。
【0056】
候補生成器2は、必要に応じて用語境界が推測される複数用語シーケンスに各々が対応する1又はそれ以上の候補予測40を生成するように構成される。これを行うために、候補生成器2は、ユーザが入力しようと意図している/意図していた可能性によってシーケンスをランク付けするように構成される。
【0057】
これは、以下に準拠するセット内のシーケンスにわたるランク付けと同じである。
(1)
式中、eは観察根拠(observed evidence)であり、Mは確率的推論を行うために使用されるトレーニングモデルの組である。換言すれば、このシステムは、予測を引き出せる元となる全てのシーケンスの組にわたり、根拠を所与としてシーケンスの条件付き確率を推定する。式(1)は、ベイズの定理を用いて再構成すると以下のようになる。
(2)
分母内のターゲットシーケンスを周辺化すると以下のようになる。
(3)
【0058】
P(e|s,M)を計算するために、ターゲットシーケンスを所与として、関連モデル下における何らかの分散から独立して生成される互いに素な集合[e1...eN] に根拠を分離することができると仮定する。従って、以下の仮定を行う。
仮定1:ターゲットシーケンスを所与として、根拠を異なる集合に分離し、各集合内の根拠が他の全てと条件付きで無関係になるようにすることができる。
各eは、関連するモデルMを有する。
【0059】
この独立仮定は、数学的に以下のように表される。
(4)
【0060】
これにより、各々が適当なモデルを有する多くの根拠ソースを組み合わせることができるフレームワークの構築が可能になる。
【0061】
モデルR∈Mは、ターゲットシーケンスの事前分布に関連付けられることが好ましい。この式と上記の仮定を所与とした場合、式(3)は次のように言い換えることができる。
(5)
【0062】
式(5)の分母はsに関して一定であり、従ってランク付けに影響を与えず、結果としての確率値に対する正規化係数としてのみ機能する。開示するシステムを実装する場合、正規化した確率値をもたらすための式(11)に関して後述するように、この値を近似値として推定することができる。しかしながら、この値はランク付けに影響しないため、テキスト予測のランク付けで十分と考えられるので、本発明のシステムが分母を推定する必要はない。
【0063】
上記の式(5)を所与とした場合、根拠ソースe及び関連するモデルM毎の根拠の可能性の各々P(e|s,M)と共に、ターゲットシーケンスの事前分布P(s|R)を計算しなければならない。
【0064】
開示するシステムは、根拠の解釈候補を周辺化することにより確率的フレームワーク内の根拠の可能性を計算するための、候補モデル1及び候補モデル2という2つの方法を提供する。
【0065】
候補モデル1
単一の根拠ソースから根拠の可能性を評価する場合、「ユーザが意図した」シーケンスと観察根拠との間の中間段階である「候補」の観点からモデルを表すことが有用な場合が多い。この可能性は、次のように書き換えることができる。
(6)
式中、cは単一の候補であり、ここで本発明者らは、候補モデルMcandidate及びシーケンスモデルMsequenceという、所与の根拠ソースを表すMの2つのサブモデルを有する。ここでのキーとなる仮定は以下の通りである。
仮定2:対象とするモデル下での可能性は候補の周辺化として表すことができ、この候補を所与とする場合、根拠はターゲットシーケンスから条件付きで独立している。
【0066】
この仮定を適用すると、根拠項からsに対する依存を除外することができる。
(7)
【0067】
候補モデル2
候補モデルの別の変種は、最初にベイズの規則を用いて根拠の可能性を変換する。
(8)
【0068】
根拠の条件付きシーケンス確率は、次のように書き換えることができる。
(9)
式中、cは単一の候補であり、ここで発明者らは、所与の根拠ソースであるMの、候補モデルMcandidate及びシーケンスモデルMsequenceという2つのサブモデルを有する。この場合、キーとなる仮定は以下の通りである。
仮定3:対象となるモデル下での可能性は候補の周辺化として表すことができ、この候補を所与とする場合、ターゲットシーケンスは根拠から条件付きで独立している。
【0069】
この仮定を適用すると、根拠項からsに対する依存を除外することができる。
(10)
【0070】
候補生成器2は、入力シーケンス生成器1によって出力された文脈シーケンス30及び入力シーケンス20に対応する文脈及び入力という2つのソースからの根拠を使用する。
【0071】
上述したように、文脈は、ユーザが既に何を入力したかに関する観察根拠を表し、文脈シーケンスが複数の単語を含む場合には、用語境界を含む文字シーケンスの形をとる。入力は、ユーザが現在入力しているものに関する観察根拠を表し、確率的文字列の形をとる。
【0072】
式(5)をこれら2つの根拠ソースでインスタンス化すると、以下のようになる。
(11)
【0073】
この式では、ランク付けに影響しないという理由で任意であるZが正規化係数を表し、その概算量については、全体が引用により本明細書に組み入れられる国際出願第2011/001419号にさらに詳細に説明されている。具体的には、正規化定数Zは以下に近似する。
【0074】
この近似は、以下のようにシステムに実装することができる。関数zは、シーケンスセットTにわたって以下のように考慮される。
【0075】
zは以下のように計算される。
式中、uは「未知」のシーケンスを表し、kは|S|−|T|の推定値であり、|S|は、全ての考えられるターゲットシーケンスの組内のシーケンスの数であり、|T|は、潜在的な根拠モデルの少なくとも1つが「既知」の推定値を有するシーケンスの数である。各個々の根拠の条件付きモデルMは、P(e|u,M)の推定値、すなわち「未知」のシーケンスを所与とする根拠観察にわたる分散を戻す。基本的に、このことは、各根拠の条件付きモデルがその独自の分散上の平滑化に関与するが、全体的な推定される「未知」のシーケンス数に比例するkに関連付けられなければならないことを意味する。実際には、各モデルは、S’⊂SとするシーケンスセットS’について知っており、P(e|s,M)の推定値は一定であり、全てのs∈S’に関してP(e|u,M)と同等である。この手の平滑化は、各根拠ソースに関連するモデルにおいて、システムが様々なレベルの確かさを考慮できるようにする。
【0076】
開示するシステムは、上述したモデルフレームワーク内で3つのモデルを実装する。
【0077】
ターゲットシーケンスの事前分布モデルRは以下により構成される。
・ ユニグラムモデル−文脈を考慮することなく、ある言語のシーケンスに分散を行い、各シーケンスを原子単位として内部的に処理し、例えば、ユニグラムモデルはサイズ1のnグラムである。
【0078】
入力根拠モデルMinputは2つのモデルで構成される。
・ 候補モデル:Minput−candidate−特定の解釈候補を所与として入力観察に条件付き分散を行う。
・ シーケンスモデル:Minput−sequence−意図されたターゲットシーケンスを所与として候補に条件付き分散を行う。
【0079】
文脈根拠モデルMcontextは2つのモデルで構成される。
・ 候補モデル:Mcontext−candidate−特定の解釈候補を所与として文脈観察に条件付き分散を行う。
・ シーケンスモデル:Mcontext−sequence−特定の文脈を所与として言語又は言語セット内のシーケンスに条件付き分散を行う。
【0080】
候補生成器2は、候補ディスプレイ3上にテキスト予測として1つ又はそれ以上が表示されるこれらの候補のうちのどの候補40が最高ランクの確率を有しているかを決定するために、式(11)の分子内の個々の推定値を計算するように構成される。
【0081】
以下、式(11)内の関連する個々の確率の各々をいかに計算するかについて説明する。従って、入力可能性P(input|s,Minput)、文脈可能性P(context|s,Mcontext)、ターゲットシーケンスの事前分布推定値P(s|R)の各々の計算について説明する。Zの計算は任意であり、従って詳細には説明しない。
【0082】
ターゲットシーケンスの事前分布
ターゲットシーケンスの事前分布は、以下のように計算されることが好ましい。
式中、Vは、Runigramに含まれるシーケンスセットであり、モデルの実装は、平滑化した周波数ベースのユニグラム言語モデル及び平滑化したマルコフチェーン文字モデルを構築するための既知の技術に従う。以下、これらのモデルを実装するためのいくつかの適用可能な技術を列挙する。しかしながら、列挙していない他の好適な技術も適用される。
・ 平滑化したnグラム用語又は文字モデル(当業で周知)。
・ <参考文献:英国特許出願公開第0917753号>に記載されるような適応的マルチ言語モデル。
・ <参考文献:Scheffler2008>などに記載されるようなPPM(部分的マッチングによる予測)言語モデル。
・ 構成語彙成分から確率的にシーケンスを生成するように構成された形態学的分析エンジン。
【0083】
システムは、ターゲットシーケンスの事前分布モデルRを含むことにより、意図されたシーケンスの予測精度を高める。さらに、ターゲットシーケンスの事前分布モデルRは、見知らぬターゲットシーケンスの文字ベースの推測を可能にし、すなわちシステムは、未知のターゲットシーケンスをより良好に推測して、全ての考えられるターゲットシーケンスにわたって近似させることができる。
【0084】
入力可能性P(input|s,Minput
入力可能性P(input|s,Minput)は、候補モデル1により、特定の式(7)において以下のように推定される。
(12)
【0085】
式中、式(7)の根拠ソースeは入力(入力シーケンス20)であり、関連するモデルは、Minput−candidate andinput−sequenceを含む入力モデルMinputである。
【0086】
従って、入力可能性P(input|s,Minput)を求めるには、入力候補推定値P(input|c,Minput−candidate)、及び入力シーケンス推定値P(c|s,Minput−sequence)を求める必要があり、これらの各々については以下で詳細に説明する。
【0087】
入力候補推定値P(input|c,Minput−candidate
全体が引用により本明細書に組み入れられる国際出願第2011/001419号には、各ノードが1又はそれ以上の文字から成るサブシーケンスを含む、有向非巡回グラフ(DAG)の変種である確率的制約シーケンスグラフ(PCSG)が記載されている。この1又はそれ以上の文字から成るサブシーケンスは、入力シーケンス20の文字セットの2つ又はそれ以上にわたる文字セット又はシーケンスからの個々の文字に対応する。ノードまでの辺(edges)の各々には、入力シーケンス20の(単複の)文字セット内の文字にわたる(単複の)確率分散に基づく確率が割り当てられる。PCSGは、各経路が同じ長さに制約されるという特性も有する。
【0088】
正式には、PCSGは、ノードセットN、ルートノードr、有向辺セットE、及びパラメータ(確率)セットθを含む4タプルから成る。
(17)
【0089】
2つのノードnとn’の間の辺は(n→n’)によって示され、辺に沿ってnからn’に移動する確率はP(n’|n)によって示される。Gを通る経路はノードrから開始し、各訪問したノードから出力辺を含まないノードに達するまで1つの出力辺を正確にたどる。Gには以下の特性が当てはまる。
1)Gが有向非巡回グラフ(DAG)である。
2)
すなわちルートを除く全てのノードが少なくとも1つの入力辺を有していなければならない。
3)
すなわち所与のノードから分岐した全ての経路が次の共通ノードにおいて即座に再結合する。この特性はグラフの構造を厳しく制約し、全ての経路が同じ長さを有して経路確率計算における正規化要件を軽減することを意味する。
【0090】
入力候補モデル関数は、所与の経路の確率を以下のように計算する(入力候補推定値と同等)。
式中、P(p|G)は経路の可能性であり、経路内の各辺の積として計算される。
式中、Kは経路内の辺の数である。この好ましい式は、ノード間の非明示的な独立仮定を意味する。この非明示的な独立については、PCSG例の説明後に後述する。
【0091】
従って、辺上の確率には以下の特性が当てはまる。
【0092】
換言すれば、所与のノードnからの全ての出力辺上の確率は合計1でなければならない。このことは、
すなわちPCSG内の全ての経路の確率の総和が1に等しいことも意味する。
【0093】
開示するシステムでは、入力候補の組が拡張PCSG(EPCSG)として表される。個々の入力候補は、EPCSG内の固有の経路によって表される。入力候補毎に、その代表的な経路の正規化した確率を計算することができる。
【0094】
最初に、(入力候補の組にマッピング可能な)入力シーケンス20からPCSGが生成される。次に、このPCSGが、より表現的でありながら依然として制約された候補を可能にする追加構造で強化される。
【0095】
以下、入力シーケンスが以下のような場合のシナリオにおけるPCSGの例を示す。
【0096】
これは、入力シーケンス生成器1が、例えばユーザが「H」という文字の後に「e」という文字を入力しようと意図したと推定し、従って観察される入力イベントが0.5及び0.8というそれぞれの確率を有すると予想されるシナリオを符号化したものである。しかしながら、入力シーケンス生成器は、各所与の組の文字にわたる確率分散で2つの文字セットを含む確率的文字列を生成することにより、ユーザが「H」及び「e」以外の文字を入力したいと意図した可能性があることも考慮する。
【0097】
これらの確率分散の生成方法は本開示の主題ではない。むしろ、例えば以下を含む技術範囲が適用可能であることを強調する。
− 特定のキーボードレイアウト上の所与のターゲットキーを取り囲む文字に基づいて分散を生成することができ、例えばQWERTYキーボードなどでは、ユーザが「H」キーに対応する領域をタップした場合、この入力シーケンスは文字「G」及び「J」を何らかの確率で含む可能性がある。
− (仮想タッチ画面キーボード上の)タッチ座標と指定されたキーの座標との間の距離(又は平方根などの何らかの距離関数)に基づいて分散を生成することもできる。
【0098】
候補生成器2は、入力シーケンス20から未強化のPCSGを生成し、このPCSGでは、入力シーケンス内の各文字セット内の各文字にその固有のノードが割り当てられ、以下のように見えると考えられる。
【0099】
各文字セットは、グラフ内で兄弟ノードセットとして追加され、その直後にヌルノードに再結合してから次の兄弟ノードセットに進む。各兄弟ノードの入力辺確率は、そのセット内の文字の確率値に対応する。
【0100】
上述したように、経路の可能性のための好ましい式P(p|G)は、ノード間の非明示的独立仮定を意味する。この例では、各文字セットの文字にわたる確率分散が、他の文字セット内の文字にわたる確率分散とは無関係なことにより、このことが証明される。従って、文字セットから生成された各兄弟ノードセットは、他の兄弟ノードセットから切り離された無関係な確率分散を有する。このPCSGの構造から、所与の経路では、各兄弟ノードセットからのこのようなノードを1つだけ使用することができる。
【0101】
全体が引用により本明細書に組み入れられる国際出願第2011/001419号に記載されるように、PCSGを2つの追加構造で強化して、以下を含むEPCSGを形成することができる。
・ 誤り文字を含む入力シーケンスを可能にする空ノードサブ経路。
・ ユーザがターゲットシーケンスから1又はそれ以上の文字を省いたインスタンスを可能にする「ワイルドカード」構造。
【0102】
この(EPCSGを提供する)ようにして強化された同じPCSGを以下に示す。
【0103】
システムは、所定の確率ペナルティeにより、入力シーケンスに対応する文字の代わりにヌル文字を挿入してユーザからの誤った入力に対処することができる。これを行うために、候補生成器2は、上述した各兄弟ノードセット内の追加ノードとして(「φ」によって表される)ヌル文字を挿入するように構成される。従って、EPCSGには、1又はそれ以上のヌル文字を含む経路をたどることによって1又はそれ以上の文字をスキップする経路が存在する。
【0104】
また、システムは、所定のペナルティwにより、入力内で完全に省かれた文字もターゲットシーケンス内で可能にする。この「*」を付けたノードは、文字セット内で考えられるあらゆる文字(例えば、「ワイルドカード」)を含む分岐の省略表現である。上述したEPCSGによれば、候補生成器2は、各兄弟文字ノードセット間にワイルドカード構造(ワイルドカードを表すノードなど)を挿入するように構成される。この構造では、入力に基づくだけでは予測されない省かれた文字を候補内で考慮することができる。
【0105】
本システムの候補生成器2は、EPCSGに用語境界の形のさらなる構造を挿入する。スペースなどの用語境界を文字と考える必要はない。言語によっては、単語間にスペースが存在しないものもあるが、このシステムは、どこで1つの単語が終わって別の単語が始まるかを予測し、すなわち用語境界を識別する。これを行うために、候補生成器2は、ユーザがスペースなどの用語境界ではなく文字を入力してしまったことを訂正するために、上述した各兄弟ノードセット内に(「_」で表記する)用語境界を追加ノードとして挿入するように構成される。さらに、候補生成器は、各兄弟文字ノードセット間にもさらなる用語境界ノードを挿入する。任意に使用されるワイルドカード構造間の用語境界を考慮しなければならないので、単一のワイルドカード構造を2つの同一構造に分割し、その中に用語境界構造を挿入しなければならない。用語境界構造は、用語境界ノードと、用語境界を任意にするヌル文字ノードとで単純に構成される。
【0106】
ワイルドカード構造及びヌル文字構造に加え、用語境界構造で強化したEPCSG例を以下に示す。
【0107】
これらの用語境界ノードにより、以下の2つの主な意味合いが加わる。
・ システムは、所定の確率ペナルティsにより、誤り文字を用語境界に置換することができる。このモデルケースでは、例えばユーザが改行を入力しようとしたが誤って偽入力を追加してしまった。
・ 所定の確率ペナルティtにより、メインのEPCSGにより生成されたものであるか、それともワイルドカード分岐(従って用語境界ノードの両側に存在する)により生成されたものであるかに関わらず、文字間に改行を追加することができる。
【0108】
従って、辺の特性:
を保持するには、辺確率を合計1になるように基準化する必要があるが、挿入された構造の確率e、s、t及びwが予め設定されているので可能である。
【0109】
EPCSGにおけるこれらの追加構造により、グラフ内の考えられる経路数は大幅に増加する。これを解消するために、本発明は、EPCSG経路確率及び境界推測用語シーケンスの文脈確率の両方を考慮した新規の確率的プルーニング技術を使用する候補生成器2を提供する。
【0110】
候補生成器2は、文脈言語モデルMcontextを利用して、各複数用語候補の文脈確率推定値を生成する。Mcontextを使用して入力候補の文脈確率推定値を生成することは、ターゲットシーケンスを所与とする関連モデル(Mcontext,Minput)の下で、入力根拠(入力シーケンス20)及び文脈根拠(文脈シーケンス30)を、何らかの分散から単独で生成される非重複セットに分離できるという仮定に明らかに反する。
【0111】
候補生成器2は、各複数用語候補の文脈確率推定値を用いてEPCSG内の経路をプルーニングするように構成され、これについては以下でさらに詳述する。経路をプルーニングすることによって探索空間が大幅に減少し、(境界を含まない)連続テキスト内の用語境界の識別が計算的に可能になる。
【0112】
P(t)、P(t|ti−1)及びP(t|ti−2)の確率推定値、及び評価すべきk長のシーケンスを提供する、例えば三重文字モデル(サイズ3のnグラム)などの文脈言語モデルMcontextを所与とする場合、文脈確率推定値:
(13)
は、次式を計算することにより形成される。
(14)
【0113】
例えば、文脈シーケンス30が「have you ever」であり、入力シーケンス20の候補(すなわち、EPCSG内の経路)が「been to London」である場合、候補生成器2は、「you ever been」、「ever been to」及び「been to London」という3つの三重文字を生成するようになる。三重文字「have you ever」は、完全に文脈シーケンス30から構成される。コミットされた入力であるこのような三重文字はいずれも1の確率を有し、従って結果を変化させることができないので考慮されない。次に、これらの3つの三重文字の各々の確率を共に乗じることにより、この例の文脈確率推定値が生成される。
【0114】
これには上記の式(14)が反映され、この例のk長シーケンスの長さは5であり、{you,ever,been,to,London}を含む。
【0115】
文脈シーケンスが存在せずに入力シーケンスが同じである場合、候補生成器2は、1つの三重文字「been to London」の文脈確率推定値に対して候補をプルーニングするようになる。この結果、「been to London to see」などのより長い入力を用いて、3つの三重文字「been to London」、「to London to」、「London to see」の文脈確率推定値に対して候補がプルーニングされるようになる。
【0116】
候補の確率推定値を提供するには、あらゆる好適な文脈言語モデルを使用することができ、本システムは、例示目的で使用する三重文字モデルの使用に限定されるものではない。
【0117】
従って、本発明は、入力シーケンスの内容全体、及び文脈シーケンス30が存在する場合には文脈シーケンスの用語全体に基づくプルーニングを提供する。
【0118】
このようにトレーニングされた文脈データを使用することにより、意図されていたかどうかに関わらず以前にはモデルによって確認できなかった語句を廃棄できるようになる。
【0119】
候補生成器は、EPCSGの経路をプルーニングするために、所与の候補の文脈確率推定値と、その累積されたPCSG経路確率とを、これらの2つの確率の積を求めることによって組み合わせるように構成される。候補生成器2は、現在最も確率の高いシーケンスとそれよりも確率の低いシーケンスとの比率、すなわち最も確率の高い経路とプルーニングを検討される経路との確率比に対し、閾値tを用いて下限を設定する。従って、以下の式が成り立つ場合、経路n...nがプルーニングされる。
(15)
【0120】
一方で、式14及び15に関して上述したもの以外のプルーニング技術を使用することもできる。「確率推定値」という用語は、真に数学的な確率を意味することも、或いはランク付け又はスコア付けなどの他のいずれかの形の推定確率を意味することもできる。式14の項に重み付けすることにより、候補に割り当てられる確率推定値又は「スコア」を候補内の先に出現する用語の方に偏向(biased)させて、EPCSGの太い帯をできるだけ早く無視できるようにすることができ、従って本方法が全ての経路を求めてEPCSG全体をトラバースする必要がなくなるので、計算効率を高めることができる。さらに、探索される用語シーケンスを、候補を構成する用語シーケンス全体よりも小さくし、例えば候補の最初の1つ又は2つの用語を含むようにすることもできる。いずれにせよ、候補に割り当てられるスコア/確率推定値は、依然として文脈モデルMcontext内の候補の用語シーケンスを探索することにより決定されるようになる。さらに、式15の代わりに他の閾値境界設定方法を使用することもできる。
【0121】
好ましい実施形態では、候補生成器2が、文脈可能性と、特に文脈シーケンス推定値とを決定するために使用される同じ三重文字を評価することによって入力候補をプルーニングできるようになるという理由で、式14の確率推定値を計算するように構成される。これにより、以下の式(17)に関して説明するように、候補生成器2がプルーニングしていない候補の三重文字結果をキャッシュして再使用することができる(及びプルーニング候補に関しては、三重文字結果を廃棄することができる)ので、必要な計算回数が減少する。
【0122】
経路をプルーニングすることにより、式12及び16において評価する候補が少なくなるので、候補生成器2による(式11を介した)予測の計算も減少する。
【0123】
候補生成器2は、文脈確率推定値に基づいて(EPCSG内に存在する可能性はあるものの)経路をプルーニングすることができる。一方、ここでこのプルーニングが行われなければ、同じ候補が式11内の文脈モデルから極めて低いスコアを受け取るようになり(これらがプルーニングされるようになった理由とまさに同じ理由で)、これによりこれらの候補には極めて低い確率が与えられ、代わりにこの後の段階で廃棄されるようになる。
【0124】
入力シーケンス推定値P(Cj|s,Minput−sequence
入力シーケンス推定値:P(Cj|s,Minput−sequence)は、ターゲットシーケンスを所与とする候補シーケンスにわたる分散であり、正規化インジケータ関数として以下のように推定することができる。
(16)
この場合、δ(t,t’)は、t’がtのプレフィックスである場合にはδ(t,t’)=1、そうでない場合にはδ(t,t’)=0であり、 またZは、
すなわち全ての候補の総和である。
【0125】
候補の一意性を仮定し、候補セットが全ての考えられるシーケンスを含むことができる場合、ターゲットの長さシーケンスnに対して正確にn個のマッチするプレフィックス、従って候補が存在するので、正規化係数:Z=length(s)を再計算することができる。
【0126】
文脈可能性P(context|s,Mcontext
文脈可能性P(context|s,Mcontext)は、候補モデル2と、特に根拠ソースeが文脈である場合の式(8)及び(10)とによって以下のように推定される。
(17)
【0127】
式17におけるjの総和は、文脈の語彙揺れ及び表記揺れの総和に関連する。プルーニング段階で入力候補が廃棄された場合、この用語シーケンスではこのような揺れを評価する必要はない。
【0128】
式(17)に示すように、候補生成器2は、文脈可能性を計算するために、文脈シーケンス推定値P(s|c,Mcontext−sequence)、文脈候補推定値P(c|context,Mcontext−candidate)、文脈の事前分布推定値P(context|Mcontext)、及びターゲットシーケンスの事前分布推定値P(s|Mcontext)を計算するように構成され、以下、これらの各々について詳細に説明する。
【0129】
文脈シーケンス推定値P(s|c,Mcontext−sequence
文脈シーケンス推定値P(s|c,Mcontext−sequence)は、文脈シーケンスモデルの下で特定の候補シーケンスcjを所与とする場合のターゲットシーケンスの確率sである。正式には、文脈シーケンスモデルは、文脈シーケンス、すなわちモデルのパラメータをθSとするf(ttarget,tcontext)=P(ttarget|tcontext,θ)を所与とするターゲットシーケンスの確率を戻す関数である。従って、文脈シーケンス確率は、P(s|c,S)=f(s,c)のように計算される。
【0130】
以下のように、個別に又は組み合わせて使用される適用可能な技術がいくつか存在する。
・ nグラム言語モデル(当業で周知)
・ 全体が本明細書に組み入れられる国際出願第2010/001898号に記載される適応的マルチ言語モデル。
・ 当業で周知のPPM(部分的マッチングによる予測)言語モデル
・ 当業で周知の生成HMM(隠れマルコフモデル)確率的品詞タガー
・ 好適に構成されたニューラルネットワーク
【0131】
文脈候補推定値P(c|context,Mcontext−candidate
文脈候補推定値(c|context,Mcontext−candidate)は、任意のシーケンスをtとし、モデルのパラメータをθcontext−candidateとする、fcontext−candidate(t,context)=P(t|context,θcontext−candidate)の形の関数である。従って、文脈候補条件推定値は以下のように計算される。
【0132】
文脈シーケンスにおけるこのような揺れを考慮する場合、(例えば、大文字化、短縮、頭字語などの)文脈用語の表記揺れに関するグラフ分岐と共に、EPCSGを使用する技術を入力候補推定法と同じように使用する。
【0133】
以下の12個の文脈候補シーケンスの例を示す。
【0134】
これらは、以下のPCSGによって表される(「|」で示す明確な単語境界及びヌル文字「φ」による空シーケンス)。
【0135】
以下の(19)の文脈候補モデルに従って、例えば以下のように辺に確率が割り当てられる。
【0136】
次に上記の12個のシーケンスの候補確率がPCSGから以下のように生成される(簡潔にするために3つの例のみを示す)。


【0137】
PCSGを構築してノードに確率を割り当てるために使用されるモデルの詳細は、システムの特定のインスタンスによって異なる。上記のスキームでは、3つの一般的な揺れのインスタンスを符号化する。
単語境界における(潜在的に明確な)分岐
格揺れにおける分岐
語彙揺れにおける分岐
【0138】
このフレームワークでは、あらゆるタイプの揺れを符号化できることが理解されるであろう。別の例は、前の提案を分岐させることであり、例えば、システムが「on」と「in」の両方を予測し、ユーザが「in」を選択した場合、この分岐は、「in」に確率の重みを割り当てるが、ユーザが誤った提案をうっかり受け入れた確率を表すように「on」にもわずかな確率を割り当てた分岐として符号化することができる。上記の例では、以下の原理が符号化される。
小文字のイニシャル「s」を含む「sunday」は、短縮形の「Sun」よりも確率が低く、この短縮形自体は、完全な揺れである「Sunday」よりも確率が低い。
「pm」が数字の「3」から離れているトークン化した例は、トークン化していない例よりもわずかに確率が低い。
期間の揺れである「p.m.」は、期間の形ではない「pm」よりも若干確率が低い。
【0139】
文脈候補PCSGの特定のインスタンスは、初期シーケンスsから以下のようにアルゴリズム的に構築されることが好ましい。
ルートに連結されている単一のノードn内にsを封入することにより、sをPCSGに変化させる。
揺れ点に分岐ノードを導入することにより、nを反復的に分解する。
【0140】
例えば、「sunday at 3pm」という元々のシーケンスに作用するPCSG構築アルゴリズムを検討する。まず、ステップ1は以下のようになる。
【0141】
システムは確率的トークナイザを導入し、その結果、以下のようになる。
【0142】
なお、修飾は、上記のPCSGの特性3に起因して、常に分岐−再結合の構造を挿入する形をとるが、1つのノードの分岐である特別な例も存在し、これは経路確率全体に影響を与えないという理由で後続の処理にとって都合が良い。このモデルに従って辺確率が加わり、これについては以下でさらに詳述する。このアルゴリズムを続けると、以下のように格揺れ分析器が導入される。
【0143】
最後に、以下のように語彙揺れ分析器が導入される。
【0144】
なお、PCSGの特性3に起因して、再分岐前に分岐を収束させなければならない。すなわち、2つの分岐点が連続して生じた場合、場合によっては空ノードを挿入しなければならない。
【0145】
PCSGには、辺確率が割り当てられることが好ましい。辺確率の割り当ては、文脈候補モデルのパラメータに関して行われることが好ましい。これらの確率の直感的解釈は以下の2要素から成る。
(1)ユーザが特定の分岐に割り当てられたシーケンスを意図した可能性の推定値を表すこと。例えば、ユーザが「Dear ben」と入力した場合、本発明者らは、実際にはこれらが「Dear Ben」と入力することを意図されたものであることを何らかの確率で認めたいと望むことがある。
(2)特定の分岐が観察されるシーケンスの有効な異形表記である「バックオフ」の可能性を表すこと。例えば、ユーザが「See you on Thur」と入力した場合、「Thur」の別の表記形態は「Thurs」になる。
【0146】
ある背景モデル情報を所与とした場合、その推定される異形表記の可能性により、特定の辺に割り当てられる確率に影響を与えることもできる。例えば、文脈シーケンスモデルSを実際に再使用して異なる異形表記の可能性の推定値を取得し、これを他の確率的尺度と組み合わせて使用して分岐確率をもたらすことができる。文脈シーケンスモデルをこのように利用することは、この文脈シーケンスモデルSのインスタンスを文脈候補モデルCが実際に含み、その結果、候補とシーケンスモデルの間の独立仮定に明らかに反するようになること(上記の特性7)を意味するが、この文脈の例では、この仮定が実際に呼び出されることはなく、従って比較的安全である。
【0147】
明確化のためには実例が役立つ。好ましい実施形態では、文脈候補モデルが以下のアルゴリズムを使用して確率を割り当てると仮定する。
観察されるシーケンスが0.8の確率を受け取り、その他のシーケンスは均等に分岐を受け取る。
文脈シーケンスモデル推定値によって値を基準化する。
上記のPCSGの特性(19)に従うように値を正規化する。
【0148】
上記のPCSGの例から、以下の分岐を検討することができる。
【0149】
最初に観察されたのは「sunday」であるため、上記アルゴリズムの段階1ではこれに最初に0.8の確率が割り当てられ、その他の辺には、各々0.1が割り当てられる。文脈シーケンスモデルによって推定値が戻される例は以下の通りである。


式中、Cは、この例では文脈候補モデルが文脈シーケンスモデルを利用していることを示す。従って、この例では、各辺に割り当てられた正規化されていない確率、及び正規化された(おおよその)確率は(それぞれ)以下のようになる。
【0150】
文脈の事前分布推定値P(context|Mcontext
文脈の事前分布P(context|Mcontext)は、文脈に関連する元々のシーケンスtの頻度を以下のように正規化することによって近似させることができる。
(21)
式中、freq(t)は、トレーニングデータ内のシーケンスの頻度tであり、分母は、トレーニングデータ内の全てのシーケンスの頻度の和である。シーケンス「t」は、文脈シーケンス30である。文脈の事前分布は、予測の導出元である対応するモデルMcontextが所与の文脈シーケンス30を含む確率に従って文脈候補の確率値に重み付けする。これを行うために、文脈の事前分布は、式の推定値に従って予測値に重み付けする。
【0151】
実際には、この推定値が、例えば見知らぬシーケンスの発生頻度を推定することによって平滑化される。
【0152】
ターゲットシーケンスの事前分布推定値P(S|Mcontext
同様に、トレーニングデータ内の平滑化頻度分析を用いて、ターゲットシーケンスの事前分布P(S|Mcontext)、すなわち式(17)の分母を推定することができ、例えば、文脈トレーニングデータ内の全てのシーケンスにわたるターゲットシーケンスの頻度を正規化することにより、ターゲットシーケンスの事前分布を近似させることができる。
式中、freq(s)は、トレーニングデータ内のターゲットシーケンスの頻度であり、分母は、トレーニングデータ内の全てのターゲットシーケンスの全ての頻度の和である。分母は、(複製をカウントした)トレーニングデータ内の総用語数として概算的に同等に求めることができる。
【0153】
候補ディスプレイ3
候補生成器2は、最高ランクの候補をテキスト予測として、又は最高ランクの候補の1つよりも多くを1つよりも多くのテキスト予測として候補ディスプレイ3に出力し、ユーザに提示するように構成される。最高ランクの候補とは、式(11)によって求められる最も確率の高い候補のことであり、Zを計算することが好ましいが任意である。
【0154】
1つの実施形態では、仮想キーボードと共に候補ディスプレイ3上に候補40を表示してユーザが選択できるようにする。候補が選択されると、この候補の生成元である入力シーケンス20に対応する入力テキストの部分が置換される。
【0155】
別の実施形態では、ユーザが候補40を選択せずにタイピングを継続する。複数用語の候補をユーザに提示した後にも入力を提供し続け、それでも最高ランクの候補の最初の用語が変化しない場合、この最初の用語を予測から抽出し、作成中のテキストに対して「コミット」する(従って文脈の一部にする)ことができる。図2a及び図2bに一例を示す。
【0156】
図2aに示すように、候補生成器2は、この例では「please call me」及び「please call Melanie」である2つの最高ランクの候補40を候補ディスプレイ3に出力するように構成することができる。
【0157】
或いは、図2bに示すように、候補生成器2を、この例では「call me back」及び「calkmebac」である逐語的入力と共に最高ランクの候補40を候補ディスプレイ3に出力するように構成することもできる。
【0158】
なお、図2a及び図2bの例示的なユーザインターフェイスは、従来の「スペース」キーを含んでいない。開示するシステムを候補ディスプレイ及び選択インターフェイスと組み合わせることで、スペースキーを必要としないテキスト入力インターフェイスが可能になる。スペースキーのないキーボードは、貴重な画面空間を節約し、他のキーがより多くの空間を利用できるようになり、又は画面サイズを小さくすることができるので便利である。
【0159】
システムの使用例
ユーザが「When you get this、send me a reply」というメッセージをタイプしている状況について検討する。さらに、何らかの段階で本発明者らの入力ディスプレイフィールドが以下の状態にあると考える。
【0160】
この場合、入力シーケンス生成器1は、以下の文脈シーケンス30及び入力シーケンス20を出力することができる。
・文脈シーケンス30:「When you get this、 send me」
・入力シーケンス20:{{a,0.8},{s,0.1},{z,0.1}},
{{r,0.9},{t,0.05},{f,0.05}},
{{e,0.8},{w,0.2}}
【0161】
図3に示すように、候補生成器2は、入力モデル推定値P(input|s,Minput)を計算して、以下の候補を関連する確率と共に生成する。
{are,0.576}
{arena,0.576}
{ate,0.032}
{a text,0.032}
{a reply,0.576}
{a repot,0.576}
【0162】
図3に、グラフ評価の一部の視覚的な例を示し、各評価段階における各候補の確率を強調表示している。
【0163】
なお、図3に示すように、複数用語「a repot」(「a reply」及び「a text」に比べて非常に低い確率の二重音字)は、一旦形成されても、その文脈確率の低さために候補生成器2によってプルーニングされる。
【0164】
候補生成の最後には、意図されたシーケンスではない最高スコアの候補がいくつか存在する。
【0165】
しかしながら、候補生成器2は、同じ候補及び文脈シーケンス30を所与とする文脈モデルMcontext(この場合は三重文字モデル)を使用して、以下の候補を関連する確率と共に生成することもできる。
{[send me]are,0.0000023}
{[send me]arena,0.000000002}
{[send me]ate,0.00000007}
{[send me]a text,0.007}
{[send me]a reply,0.005}
【0166】
実際には、文脈に関する限り最も見込みのある候補は「a text」である。最後に、候補生成器2は、2つのモデルからの確率推定値を組み合わせる。当然ながら、好ましい場合には、これらの確率推定値の相対的ランクに影響を与えることなくこれらを正規化することもでき、従ってこれについては簡潔にするために省いている。
【0167】
従って、最終的な推定値例は以下のようになる。
{are,0.00000132}
{arena,0.00000000159}
{ate,0.00000000224}
{a text,0.000224}
{a reply,0.00288}
【0168】
従って、この基本的な例では、組み合わさったモデルセットが、「a reply」を最上位の予測として正しく選択し、第2の予測は、ユーザが単純にTキーの代わりにRキーを打ってしまった状況では明らかに候補に値する「a text」になっている。
【0169】
逆もまた当てはまり、ユーザがRキーの代わりにTキーを打ってしまった場合、(具体的には2番目の文字における)入力確率ストリングの分散はT文字を支持して逆になり、上位2つの結果が単純に逆になると思われる。いずれにせよ、意図された結果が非常に高くランク付けされ、候補ディスプレイ3を介してユーザに提示されるよう準備される。
【0170】
本システムに関して説明したように、また図4に示すように、一般的方法は、候補生成器2を用いて、1又はそれ以上の用語境界により分離された2又はそれ以上の用語を各々が含む1又はそれ以上の候補を入力シーケンス20から生成するステップ(100)と、各候補に第1の確率推定値を割り当てるステップと(200)を含む。第1の確率推定値は、各々が対応する発生確率を有する用語シーケンスを含む文脈言語モデル内の候補の1又はそれ以上の用語を探索することによって各候補に割り当てられ、文脈言語モデルからの候補の1又はそれ以上の用語に対応する確率を候補に割り当てる。この方法の最終ステップは、対応する第1の確率推定値に基づいて1又はそれ以上の候補を廃棄するステップ(300)を含む。
【0171】
この方法の他の態様は、上述したシステムに類似し、例えば方法の好ましい実施形態では、1又はそれ以上の候補を生成するステップが、候補生成器2を用いて入力シーケンスから確率的制約シーケンスグラフ(「PCSG」)を生成し、用語境界ノードを挿入するステップを含む。
【0172】
文脈候補推定値を決定するための一般化構造(及び特にワイルドカード分岐)をPCSGに実装するシステムに関して上述したように、方法の好ましい実施形態では、シーケンス予測の組の少なくとも1つが、ユーザがユーザインターフェイスに入力したテキストの調整又は訂正バージョンに対応する。
【0173】
この説明はほんの一例にすぎず、説明した実施形態には、特許請求の範囲に定める本発明の範囲から逸脱することなく変更及び修正を行うことができると理解されるであろう。
図1
図2a
図2b
図3
図4