JP2013524372A - インプットメソッドエディタのための拡張フレームワーク - Google Patents
インプットメソッドエディタのための拡張フレームワーク Download PDFInfo
- Publication number
- JP2013524372A JP2013524372A JP2013504089A JP2013504089A JP2013524372A JP 2013524372 A JP2013524372 A JP 2013524372A JP 2013504089 A JP2013504089 A JP 2013504089A JP 2013504089 A JP2013504089 A JP 2013504089A JP 2013524372 A JP2013524372 A JP 2013524372A
- Authority
- JP
- Japan
- Prior art keywords
- script
- ime
- candidates
- input
- user input
- 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
- 238000000034 method Methods 0.000 title claims abstract description 135
- 238000013515 script Methods 0.000 claims abstract description 261
- 238000009434 installation Methods 0.000 claims abstract description 4
- 230000008569 process Effects 0.000 claims description 62
- 238000012545 processing Methods 0.000 claims description 44
- 244000035744 Hura crepitans Species 0.000 claims description 34
- 230000004044 response Effects 0.000 claims description 30
- 238000004891 communication Methods 0.000 claims description 18
- 238000013519 translation Methods 0.000 claims description 10
- 241001415801 Sulidae Species 0.000 claims 1
- 230000006870 function Effects 0.000 description 42
- 239000002131 composite material Substances 0.000 description 41
- 238000013507 mapping Methods 0.000 description 27
- 238000004590 computer program Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000012905 input function Methods 0.000 description 5
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- PSXCGTLGGVDWFU-UHFFFAOYSA-N propylene glycol dinitrate Chemical compound [O-][N+](=O)OC(C)CO[N+]([O-])=O PSXCGTLGGVDWFU-UHFFFAOYSA-N 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- LZDYZEGISBDSDP-UHFFFAOYSA-N 2-(1-ethylaziridin-1-ium-1-yl)ethanol Chemical compound OCC[N+]1(CC)CC1 LZDYZEGISBDSDP-UHFFFAOYSA-N 0.000 description 1
- 101150066718 FMOD gene Proteins 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- JCYWCSGERIELPG-UHFFFAOYSA-N imes Chemical compound CC1=CC(C)=CC(C)=C1N1C=CN(C=2C(=CC(C)=CC=2C)C)[C]1 JCYWCSGERIELPG-UHFFFAOYSA-N 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000000007 visual effect Effects 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/14—Tree-structured documents
- G06F40/146—Coding or compression of tree-structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
- G06F3/0237—Character input methods using prediction or retrieval techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/018—Input/output arrangements for oriental characters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/454—Multi-language systems; Localisation; Internationalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
- G06F9/45512—Command shells
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Document Processing Apparatus (AREA)
- User Interface Of Digital Computer (AREA)
- Machine Translation (AREA)
Abstract
Description
この明細書は、インプットメソッドエディタ(IME)のための拡張フレームワークに関係する技術を説明する。一例の実施が英語及び中国語との関連で説明されることになるが、本開示は、容易に他の非表語文字言語(non-logographic language)(例えばドイツ語、フランス語、イタリア語、スペイン語、ポルトガル語、スウェーデン語を含む)、及び表語文字言語(logographic language)(例えば日本語、韓国語、及び/またはインド語派言語(Indic languages)を含む)に適用できる。
IMEは、一般的に“f(query)=candidate(s)(f(照会)=候補)”として提供され得る照会対候補のマッピング(mapping:対応付け)関数を提供し、ここで、“query(照会)”は、一連のASCII(アスキー)のキー(key)である。例として中国語を使用すると、結果として生じる候補は、中国語の文字列もしくは非中国語の文字列のリストを含む。例えば、
ユーザ入力に適合させる0〜Nのトリガ文字列/パターン、1つ以上のIMEが生成した候補に適合させる0〜Mのトリガ文字列/パターンを提供することによって、拡張スクリプトを登録することができる。ハンドラ拡張モードにおいて使用するために、第三者開発者は、拡張によって処理された入力モードの名前、入力関数名、簡単な説明、及びユーザがハンドラ拡張モードを活性化することを可能にするための、あつらえのホットキーまたはメニュー項目を提供することによって、拡張スクリプトを登録することができる。この情報は、IMEユーザによるダウンロード及びインストールのために中央リポジトリに保存される。
スクリプトエンジンは、スクリプトランタイム環境(script runtime environment)を初期化し、ランタイムの中に内蔵式のルーチン(built-in routine)を登録し、スクリプトリポジトリからスクリプトを読み込み、そしてIMEコアエンジンの要求ごとにマッピング関数を評価する。複数のスクリプト言語(例えば“ジャバスクリプト”、“ルア(Lua)”、または“VBスクリプト(VBScript)”)が、同時に(in parallel:並行して)サポートされ得る。例えば、スクリプトエンジンは、読み込まれたスクリプトのファイル拡張子(例えば、“.js”、“.lua”、または“.vb”)に基づいて、対応するスクリプト言語ランタイム(script language runtime)を選択すると共に、ランタイムにおける関数を評価することができる。
サンドボックス処理は、その中でプログラムが動く規制環境であり、そして、概して、規制環境の中で実行するために、スクリプトエンジンのような処理を可能にするライブラリによって手助けされる。サンドボックス処理される場合、スクリプトエンジンは制限された機能性を有する。いくらかの実施において、スクリプトエンジンは、CPUサイクル及びメモリにだけアクセスすることができる。そのような実施において、例えば、サンドボックス処理されたスクリプトエンジンは、ディスクに書くことができないか、または、それ自身の窓を表示することができない。スクリプト実行をサンドボックス処理に限定することによって、第三者のスクリプトは、アプリケーションから必然的に分離され得る。
いくらかの実施において、上述のように、IMEエンジンとサンドボックス処理との間の通信は、IPCを用いて確立され得る。IPCは、1つ以上の処理における複数のスレッドの間のデータの交換のための一連の技術を提供する。IPC方法の技術は、遠隔手続呼び出し(remote procedure call:RPC)を含むことができる。RPCは、サブルーチンまたは手続きが、呼び出しているプログラムアプリケーションのアドレス空間と異なる別のアドレス空間において実行することを可能にする。
上述のように、公のAPIによって、第三者開発者は、統一された方法においてIME拡張を書くことが可能になる。例えば、“ルア(Lua)”スクリプト言語で書かれた拡張スクリプトは、1つ以上の照会対候補のマッピング関数(query-to-candidate(s) mapping function)を含む。一例のマッピング関数は、下記を含む。
上述のように、本開示のIME拡張フレームワークは、第3者開発者がIMEと共に使用する拡張スクリプトを作成して登録することを可能にする開発者ツール(developer tool)を提供する。開発者ツールは、ホワイトリスト化された(white-listed)(すなわち認可された(approved))ルーチンを含む。使用できるルーチンを制限することによって、たとえサンドボックス処理の保護がなくても、第3者開発者は、ユーザのローカルシステムに直接影響を与えることを抑制される。“ルア(Lua)”ベースの拡張スクリプトの一例のケースにおいて、ホワイトリスト化されたルーチンは、基本ルーチン(例えば“assert”、“error”、“ipairs”、“loadstring”、“next”、“pairs”、“select”、“tonumber”、“tostring”、“type”、“unpack”)、文字列ルーチン(例えば、“string. byte”、“string. char”、“string. find”、“string. format”、“string. gmatch”、“string. gsub”、“string. len”、“string. lower”、“string. match”、“string. rep”、“string. reverse”、“string. sub”、“string. upper”)、日付け時刻ルーチン(例えば、“os. date”、“os.time”、“os.difftime”)、数学(math:計算)ルーチン(例えば、“math.abs”、“math.acos”、“math.asin”、“math.atan”、“math. ceil”、“math. cosh”、“math. cosh”、“math. cos”、“math.deg”、“math.exp”、“math.floor”、“math.fmod”、“math.frexp”、“math.log”、“math.ldexp”、“math.loglO”、“math.max”、“math.min”、“math.modf”、“math. pi”、“math.pow”、“math.rad”、“math. random”、“math.randomseed”、“math.sinh”、“math.sin”、“math.sqrt”、“math.tanh”)、及び、テーブル/リスト操作ルーチン(例えば、“table. concat”、“table. insert”、“table. maxn”、“table. remove”、“table. sort”)を含むことができる。
上述のように、本開示のIME拡張フレームワークは、更に有益な入力機能を実施するために、1つ以上のオンラインサービスプロバイダによって提供されたサービスへのアクセスを可能にする。具体的には、拡張スクリプトがオンラインデータをオンラインサービスプロバイダからフェッチする(fetch)ことを可能にするために、ハイパーテキストトランスファープロトコル(hypertext transfer protocol:HTTP)接続ルーチンを含む接続ルーチンが、スクリプトエンジンにおいて実行されたIMEモジュールによって提供され得る。いくらかの実例のAPI(example API)は、翻訳サービスを提供する“ime.***_translate(text, from language, to language, callback)”、及び検索サービスを提供する“ime.***_search(query, parameters, callback)”を含むことができる。
IMEは、伝統的な照会対候補のマッピングを使用してユーザ入力を処理するために、基本IMEモードにおいて機能し得る。IMEは、同様に、IME拡張フレームワークを使用してユーザ入力を処理するために、拡張モードにおいて機能し得る。すなわち、IMEは、特定された拡張スクリプトを使用してユーザ入力を処理するために、命令拡張モード、トリガ拡張モード、及びハンドラ拡張モードの内の1つにおいて機能し得る。
図5は、IMEの実施に関する一例の処理500を例証するフローチャートである。処理500は、図1のシステム100において、及び/または、図2のIMEシステム120に実装され得る。処理500は、特定の拡張モードが指定されたかどうかを判定する(502)。例えば、ユーザは、全てのユーザ入力を処理のためにIME拡張フレームワークに提供するために、(例えば、メニュー項目及び/またはホットキーを選択することによって)IMEがハンドラ拡張モードで動作することを指示する入力をシステム100に提供することができる。もし拡張モードが指定されるならば、IMEシステム120は、ハンドラ拡張モードにおいて動作すると共に、ユーザ入力が受け取られる(504)。
実例拡張、及び結果として生じる候補が下記で提供される。拡張、及び結果として生じる候補は、(例えば、キーボード上の)機能的なキー(functional key)、または同等の入力(例えば、タッチスクリーン、またはスタイラス入力)を用いて操作(navigate)され得る。機能的キーは、角括弧([...])を用いて表示されると共に、実例の機能的キーは、
ユーザ入力を提示するための[エンター(ENTER)]キー、
現在の候補を提示するための[スペース(SPACE)]キー、
ユーザ入力の最後の文字を削除するための[バックスペース(BACKSPACE)]キー、
ユーザ入力の現在の文字を削除するための[デリート(DEL)]キー、
それぞれ、前の候補ページ/次の候補ページに移動するための[ページダウン(PGDN)]/[ページアップ(PGUP)]キー、
候補リストの中で移動するための[↑(アップ)]/[↓(ダウン)]キー、
照会(query:クエリ)を編集するキャレット(caret:入力位置ポインタ)を移動させるための[←(左)]/[→(右)]キー、
現在の入力をキャンセルするための[エスケープ(ESC)]キー、
を含む。
いくらかの実施において、ユーザは、ユーザによって選択され得る候補スクリプト(すなわち、ユーザの装置にダウンロードされてインストールされたそれらのスクリプト)のリストを生成するIMEに対して単純なユーザ入力(例えば、単一文字“i”)を提供することができる。一例として、そして中国語を例言語として用いると、ユーザ入力“i”は、利用可能な命令拡張スクリプトの下記のリストを生成し得る。
上述のように、トリガ拡張モードは、ユーザ入力及び/または候補が、事前に登録されたトリガ文字列に適合する場合に開始される。中国語と英語を例言語として使用すると、中国の単語“shijian”は、“time(時間)”として英語に変換され得る。ユーザは、“shijian”を、IMEエンジンによって生成された下記の例候補リストをもたらすピンインIME(Pinyin IME)に入力することができる。
101 IMEコード
102 制御演算装置
103 IMEインスタンス
104 第1のデータストア
105 言語コンテキスト
105a 英語コンテキスト
105b 中国語コンテキスト
105c 韓国語コンテキスト
106 第2のデータストア
107 言語コンテキスト値
107a 英語のコンテキスト値
107b 中国語のコンテキスト値
107c 韓国語のコンテキスト値
108 入力装置
110 出力装置
112 ネットワークインタフェース
114 バスシステム
116 ネットワーク
118 遠隔計算システム
120 IMEシステム
122 IMEエンジン
124 文字データストア
126 合成入力データストア
128 言語モデルデータストア
200 IME拡張フレームワーク
202 サンドボックス処理
204 スクリプトリポジトリ
206 IPCサーバ
208 スクリプトエンジン
220 アプリケーション
222 ユーザインタフェース
230 中央レジストリ
Claims (55)
- コンピュータによって実行される方法であって、
インプットメソッドエディタ(IME)のユーザインタフェースへのユーザ入力を受け取る段階と、
スクリプトエンジンに前記ユーザ入力を提供する段階と、
スクリプトリポジトリに電子的に保存される複数のスクリプトの中からスクリプトを選択する段階と、
1つ以上の候補を生成するために、前記スクリプトエンジンを使用して前記スクリプトを通じて前記ユーザ入力を処理する段階と、
前記1つ以上の候補をIMEエンジンに提供する段階と
を含むことを特徴とするコンピュータによって実行される方法。 - サンドボックス処理を例示化する段階を更に含み、前記スクリプトエンジンが、前記サンドボックス処理の中で実行される
ことを特徴とする請求項1に記載のコンピュータによって実行される方法。 - 前記IMEエンジンが、プロセス間通信を使用して、前記スクリプトエンジンと通信する
ことを特徴とする請求項1または請求項2に記載のコンピュータによって実行される方法。 - 前記サンドボックス処理の中でIPCサーバを実行する段階を更に含み、前記IPCサーバが、前記IMEエンジンと前記スクリプトエンジンとの間の通信を可能にする
ことを特徴とする請求項3に記載のコンピュータによって実行される方法。 - 前記サンドボックス処理が、前記スクリプトエンジンの機能性を制限する
ことを特徴とする請求項2から請求項4のいずれか一項に記載のコンピュータによって実行される方法。 - 前記ユーザ入力は、前記スクリプト、及び前記スクリプトによって処理されるべき入力を特定する入力系列を含む
ことを特徴とする請求項1から請求項5のいずれか一項に記載のコンピュータによって実行される方法。 - 前記ユーザ入力を1つ以上のトリガ文字列と比較する段階と、
前記ユーザ入力が前記1つ以上のトリガ文字列の内の1つに適合することを判定する段階と、
前記1つ以上のトリガ文字列の内の1つに基づいて前記スクリプトを選択する段階と
を更に含むことを特徴とする請求項1から請求項6のいずれか一項に記載のコンピュータによって実行される方法。 - 拡張モードにおける前記IMEの動作を指示する入力を受け取る段階と、
前記入力を受け取ることに応答して、前記拡張モードで前記IMEを動作させる段階と、
前記拡張モードにおいて動作している場合に、全てのユーザ入力を前記スクリプトエンジンに提供する段階と
を更に含むことを特徴とする請求項1から請求項5のいずれか一項に記載のコンピュータによって実行される方法。 - 前記スクリプトを通じて前記ユーザ入力を処理する段階が、
ウェブ基盤のサービスとのネットワーク接続を確立する段階と、
前記ユーザ入力の少なくとも一部を前記ウェブ基盤のサービスに提供する段階と、
前記ウェブ基盤のサービスから、前記ユーザ入力の前記少なくとも一部に基づいて生成された応答を受け取る段階とを含み、
前記1つ以上の候補が、前記応答を含む
ことを特徴とする請求項1から請求項8のいずれか一項に記載のコンピュータによって実行される方法。 - 前記ウェブ基盤のサービスが、地図サービス、検索サービス、及び翻訳サービスの内の少なくとも1つを含む
ことを特徴とする請求項9に記載のコンピュータによって実行される方法。 - 候補の第1のセットを含む第1の候補リストを生成する段階と、
前記スクリプトエンジンを用いて生成された前記1つ以上の候補を包含する候補の第2のセットを含む第2の候補リストを生成する段階と、
第3の候補リストを生成するために、前記候補の第1のセットの少なくとも一部及び前記候補の第2のセットの少なくとも一部を結合する段階と、
ユーザ装置に前記第3の候補リストを表示する段階と
を更に含むことを特徴とする請求項1から請求項10のいずれか一項に記載のコンピュータによって実行される方法。 - 前記IMEエンジンが、前記ユーザインタフェース上で表示するように前記1つ以上の候補を処理する
ことを特徴とする請求項1から請求項11のいずれか一項に記載のコンピュータによって実行される方法。 - 前記1つ以上の候補の内の1つの選択を指示する第2のユーザ入力を受け取る段階と、
前記1つ以上の候補の内の前記1つをユーザ装置上で実行されるアプリケーションに入力する段階と
を更に含むことを特徴とする請求項1から請求項12のいずれか一項に記載のコンピュータによって実行される方法。 - 前記アプリケーションが、ワードプロセッシングアプリケーション、文書編集アプリケーション、表計算ソフトアプリケーション、電子メールアプリケーション、プレゼンテーションアプリケーション、及びウェブブラウザの内の1つを含む
ことを特徴とする請求項13に記載のコンピュータによって実行される方法。 - 前記スクリプトリポジトリに電子的に保存される各スクリプトが、複数の承認されたルーチンの中から選択された1つ以上のルーチンを含む
ことを特徴とする請求項1から請求項14のいずれか一項に記載のコンピュータによって実行される方法。 - 前記スクリプトのスクリプト言語を特定する段階を更に含み、前記スクリプトエンジンが、前記スクリプトを通じて前記ユーザ入力を処理するための前記スクリプト言語に対応するランタイムを例示化する
ことを特徴とする請求項1から請求項15のいずれか一項に記載のコンピュータによって実行される方法。 - 前記ユーザ入力が、第1の言語で提供される
ことを特徴とする請求項1から請求項16のいずれか一項に記載のコンピュータによって実行される方法。 - 前記1つ以上の候補が、前記第1の言語で提供される
ことを特徴とする請求項17に記載のコンピュータによって実行される方法。 - 前記1つ以上の候補が、第2の言語で提供される
ことを特徴とする請求項17に記載のコンピュータによって実行される方法。 - 前記1つ以上の候補が、前記第1の言語と第2の言語の組み合わせで提供される
ことを特徴とする請求項17に記載のコンピュータによって実行される方法。 - 前記1つ以上の候補が、1つ以上の記号を含む
ことを特徴とする請求項17から請求項20のいずれか一項に記載のコンピュータによって実行される方法。 - 入力を受け取る段階と、
前記入力に応答して、前記スクリプトを含むと共に、中央レジストリに電子的に保存される利用可能なスクリプトのリストを生成する段階と、
前記スクリプトの選択を指示する第2の入力を受け取る段階と、
前記第2の入力に応答して、前記中央レジストリから前記スクリプトを読み出す段階と、
前記スクリプトを前記スクリプトリポジトリに保存する段階と
を更に含むことを特徴とする請求項1から請求項21のいずれか一項に記載のコンピュータによって実行される方法。 - コンピュータによって実行される方法であって、
インプットメソッドエディタ(IME)のユーザインタフェースへのユーザ入力を受け取る段階と、
スクリプトエンジンに前記ユーザ入力を提供する段階と、
スクリプトリポジトリに電子的に保存される複数のスクリプトの中からスクリプトを選択する段階と、
前記スクリプトにおいて提供された指示に基づいて、ウェブ基盤のサービスとのネットワーク接続を確立する段階と、
前記ユーザ入力の少なくとも一部を前記ウェブ基盤のサービスに提供する段階と、
前記ウェブ基盤のサービスから応答を受け取る段階と、
ユーザに前記応答を表示するために、IMEエンジンに前記応答を提供する段階と
を含むことを特徴とするコンピュータによって実行される方法。 - 前記ウェブ基盤のサービスが、地図サービス、検索サービス、及び翻訳サービスの内の少なくとも1つを含む
ことを特徴とする請求項23に記載のコンピュータによって実行される方法。 - 前記ユーザ入力の前記少なくとも一部が前記地図サービスに提供され、前記応答が、前記地図サービスによって生成されると共に、ユーザが選択可能なハイパーリンクを含む
ことを特徴とする請求項24に記載のコンピュータによって実行される方法。 - 前記ユーザ入力の前記少なくとも一部が検索語として前記検索サービスに提供され、前記応答が、前記検索サービスによって生成されると共に、前記検索語に基づいて前記検索サービスによって生成された1つ以上の検索結果を含む
ことを特徴とする請求項24に記載のコンピュータによって実行される方法。 - 前記ユーザ入力の前記少なくとも一部が、前記翻訳サービスに提供されると共に、第1の言語で提供され、前記応答が、前記翻訳サービスによって生成されると共に、第2の言語で提供される
ことを特徴とする請求項24に記載のコンピュータによって実行される方法。 - コンピュータによって実行される方法であって、
インプットメソッドエディタ(IME)システムへのユーザ入力に基づいて1つ以上の候補を生成するために、前記IMEシステムによって実行可能なスクリプトファイルを受け取る段階と、
前記スクリプトファイルを、複数のスクリプトを含む中央レジストリに電子的に保存する段階と、
前記IMEシステムを包含するユーザ装置に対するダウンロード及びインストールのために前記複数のスクリプトを公開する段階と
を含むことを特徴とするコンピュータによって実行される方法。 - 前記複数のスクリプトの各スクリプトが、複数の承認されたルーチンの中から選択された1つ以上のルーチンを含む
ことを特徴とする請求項28に記載のコンピュータによって実行される方法。 - 前記複数のスクリプトの前記スクリプトが、“ジャバスクリプト”、“ルア”、及び“ブイビースクリプト”の内の1つで書かれている
ことを特徴とする請求項28または請求項29に記載のコンピュータによって実行される方法。 - 前記複数のスクリプトの内の少なくとも1つのスクリプトが、前記1つ以上の候補を表示するための指示を提供する関連するメタデータを含む
ことを特徴とする請求項28から請求項30のいずれか一項に記載のコンピュータによって実行される方法。 - 前記指示が、候補リストに前記1つ以上の候補を表示するための番号順を提供することを含む
ことを特徴とする請求項31に記載のコンピュータによって実行される方法。 - 前記指示が、候補リストに前記1つ以上の候補を表示するための文字順を提供することを含む
ことを特徴とする請求項31に記載のコンピュータによって実行される方法。 - 表示装置と、
1つ以上のスクリプトを電子的に保存するためのスクリプトリポジトリを含むコンピュータ読み取り可能な記録媒体と、
インプットメソッドエディタ(IME)を実行し、前記IMEへのユーザ入力を受け取り、スクリプトエンジンに前記ユーザ入力を提供し、前記スクリプトリポジトリから前記スクリプトを選択し、1つ以上の候補を生成するために、前記スクリプトエンジンを使用して前記スクリプトを通じて前記ユーザ入力を処理し、前記表示装置に表示されるべき前記1つ以上の候補を提供する1つ以上のプロセッサと
を備えることを特徴とするシステム。 - 前記1つ以上のプロセッサがサンドボックス処理を例示化し、前記スクリプトエンジンが前記サンドボックス処理の中で実行される
ことを特徴とする請求項34に記載のシステム。 - IMEエンジンが、プロセス間通信を使用して、前記スクリプトエンジンと通信する
ことを特徴とする請求項34または請求項35に記載のシステム。 - 前記1つ以上のプロセッサが前記サンドボックス処理の中でIPCサーバを実行し、前記IPCサーバが、前記IMEエンジンと前記スクリプトエンジンとの間の通信を可能にする
ことを特徴とする請求項36に記載のシステム。 - 前記サンドボックス処理が、前記スクリプトエンジンの機能性を制限する
ことを特徴とする請求項35から請求項37のいずれか一項に記載のシステム。 - 前記ユーザ入力は、前記スクリプト、及び前記スクリプトによって処理されるべき入力を特定する入力系列を含む
ことを特徴とする請求項34から請求項38のいずれか一項に記載のシステム。 - 前記1つ以上のプロセッサが、前記ユーザ入力を1つ以上のトリガ文字列と比較し、前記ユーザ入力が前記1つ以上のトリガ文字列の内の1つに適合することを判定し、前記1つ以上のトリガ文字列の内の1つに基づいて前記スクリプトを選択する
ことを特徴とする請求項34から請求項39のいずれか一項に記載のシステム。 - 前記1つ以上のプロセッサが、拡張モードにおける前記IMEの動作を指示する入力を受け取り、前記入力を受け取ることに応答して、前記拡張モードで前記IMEを動作させ、前記拡張モードにおいて動作している場合に、全てのユーザ入力を前記スクリプトエンジンに提供する
ことを特徴とする請求項34から請求項38のいずれか一項に記載のシステム。 - 前記1つ以上のプロセッサが、
ウェブ基盤のサービスとのネットワーク接続を確立し、
前記ユーザ入力の少なくとも一部を前記ウェブ基盤のサービスに提供すると共に、
前記ウェブ基盤のサービスから、前記ユーザ入力の前記少なくとも一部に基づいて生成された応答を受け取る
ことによって、前記スクリプトを通じて前記ユーザ入力を処理し、
前記1つ以上の候補が、前記応答を含む
ことを特徴とする請求項34から請求項41のいずれか一項に記載のシステム。 - 前記ウェブ基盤のサービスが、地図サービス、検索サービス、及び翻訳サービスの内の少なくとも1つを含む
ことを特徴とする請求項42に記載のシステム。 - 前記1つ以上のプロセッサが、候補の第1のセットを含む第1の候補リストを生成し、前記スクリプトエンジンを用いて生成された前記1つ以上の候補を包含する候補の第2のセットを含む第2の候補リストを生成し、第3の候補リストを生成するために、前記候補の第1のセットの少なくとも一部及び前記候補の第2のセットの少なくとも一部を結合し、ユーザ装置に前記第3の候補リストを表示する
ことを特徴とする請求項34から請求項43のいずれか一項に記載のシステム。 - 前記IMEエンジンが、前記ユーザインタフェース上で表示するように前記1つ以上の候補を処理する
ことを特徴とする請求項34から請求項44のいずれか一項に記載のシステム。 - 前記1つ以上のプロセッサが、前記1つ以上の候補の内の1つの選択を指示する第2のユーザ入力を受け取り、前記1つ以上の候補の内の前記1つをユーザ装置上で実行されるアプリケーションに入力する
ことを特徴とする請求項34から請求項45のいずれか一項に記載のシステム。 - 前記アプリケーションが、ワードプロセッシングアプリケーション、文書編集アプリケーション、表計算ソフトアプリケーション、電子メールアプリケーション、プレゼンテーションアプリケーション、及びウェブブラウザの内の1つを含む
ことを特徴とする請求項46に記載のシステム。 - 前記スクリプトリポジトリに電子的に保存される各スクリプトが、複数の承認されたルーチンの中から選択された1つ以上のルーチンを含む
ことを特徴とする請求項34から請求項47のいずれか一項に記載のシステム。 - 前記1つ以上のプロセッサが、前記スクリプトのスクリプト言語を特定し、前記スクリプトエンジンが、前記スクリプトを通じて前記ユーザ入力を処理するための前記スクリプト言語に対応するランタイムを例示化する
ことを特徴とする請求項34から請求項48のいずれか一項に記載のシステム。 - 前記ユーザ入力が、第1の言語で提供される
ことを特徴とする請求項34から請求項49のいずれか一項に記載のシステム。 - 前記1つ以上の候補が、前記第1の言語で提供される
ことを特徴とする請求項50に記載のシステム。 - 前記1つ以上の候補が、第2の言語で提供される
ことを特徴とする請求項50に記載のシステム。 - 前記1つ以上の候補が、前記第1の言語と第2の言語の組み合わせで提供される
ことを特徴とする請求項50に記載のシステム。 - 前記1つ以上の候補が、1つ以上の記号を含む
ことを特徴とする請求項50から請求項53のいずれか一項に記載のシステム。 - 前記1つ以上のプロセッサが、入力を受け取り、前記入力に応答して、前記スクリプトを含むと共に、中央レジストリに電子的に保存される利用可能なスクリプトのリストを生成し、前記スクリプトの選択を指示する第2の入力を受け取り、前記第2の入力に応答して、前記中央レジストリから前記スクリプトを読み出し、前記スクリプトを前記スクリプトリポジトリに保存する
ことを特徴とする請求項34から請求項54のいずれか一項に記載のシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2010/071691 WO2011127640A1 (en) | 2010-04-12 | 2010-04-12 | Extension framework for input method editor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013524372A true JP2013524372A (ja) | 2013-06-17 |
JP5921527B2 JP5921527B2 (ja) | 2016-05-24 |
Family
ID=44798249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013504089A Active JP5921527B2 (ja) | 2010-04-12 | 2010-04-12 | インプットメソッドエディタのための拡張フレームワーク |
Country Status (7)
Country | Link |
---|---|
US (1) | US9086735B2 (ja) |
EP (1) | EP2558923A4 (ja) |
JP (1) | JP5921527B2 (ja) |
KR (1) | KR101681281B1 (ja) |
CN (1) | CN103080873B (ja) |
TW (1) | TWI526880B (ja) |
WO (1) | WO2011127640A1 (ja) |
Families Citing this family (178)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US10002189B2 (en) | 2007-12-20 | 2018-06-19 | Apple Inc. | Method and apparatus for searching using an active ontology |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US10255566B2 (en) | 2011-06-03 | 2019-04-09 | Apple Inc. | Generating and processing task items that represent tasks to perform |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US9104306B2 (en) * | 2010-10-29 | 2015-08-11 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Translation of directional input to gesture |
US8689181B2 (en) * | 2010-11-23 | 2014-04-01 | Axeda Corporation | Scripting web services |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US9160785B2 (en) * | 2011-05-26 | 2015-10-13 | Candi Controls, Inc. | Discovering device drivers within a domain of a premises |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US8825748B2 (en) * | 2011-07-06 | 2014-09-02 | Sharp Laboratories Of America, Inc. | Sandboxed daemon process invocation through HTTP |
CN103164122B (zh) * | 2011-12-08 | 2015-10-28 | 中兴通讯股份有限公司 | 一种调用通讯录内容的方法及装置 |
US9348479B2 (en) | 2011-12-08 | 2016-05-24 | Microsoft Technology Licensing, Llc | Sentiment aware user interface customization |
US9378290B2 (en) | 2011-12-20 | 2016-06-28 | Microsoft Technology Licensing, Llc | Scenario-adaptive input method editor |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
CN104428734A (zh) | 2012-06-25 | 2015-03-18 | 微软公司 | 输入法编辑器应用平台 |
US8959109B2 (en) | 2012-08-06 | 2015-02-17 | Microsoft Corporation | Business intelligent in-document suggestions |
US9898445B2 (en) * | 2012-08-16 | 2018-02-20 | Qualcomm Incorporated | Resource prefetching via sandboxed execution |
JP6122499B2 (ja) | 2012-08-30 | 2017-04-26 | マイクロソフト テクノロジー ライセンシング,エルエルシー | 特徴に基づく候補選択 |
CN108052489A (zh) * | 2012-08-31 | 2018-05-18 | 微软技术许可有限责任公司 | 用于输入法编辑器的个人语言模型 |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
KR20230137475A (ko) | 2013-02-07 | 2023-10-04 | 애플 인크. | 디지털 어시스턴트를 위한 음성 트리거 |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
JP6112968B2 (ja) * | 2013-05-23 | 2017-04-12 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | コマンド生成方法、装置及びプログラム |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
DE112014002747T5 (de) | 2013-06-09 | 2016-03-03 | Apple Inc. | Vorrichtung, Verfahren und grafische Benutzerschnittstelle zum Ermöglichen einer Konversationspersistenz über zwei oder mehr Instanzen eines digitalen Assistenten |
JP6398257B2 (ja) * | 2013-06-27 | 2018-10-03 | 株式会社リコー | 通信管理システム、通信端末、通信システム、およびプログラム |
WO2015020942A1 (en) | 2013-08-06 | 2015-02-12 | Apple Inc. | Auto-activating smart responses based on activities from remote devices |
WO2015018055A1 (en) | 2013-08-09 | 2015-02-12 | Microsoft Corporation | Input method editor providing language assistance |
CN104424180B (zh) * | 2013-09-09 | 2017-11-07 | 佳能株式会社 | 文本输入方法及设备 |
US9384191B2 (en) | 2013-09-25 | 2016-07-05 | International Business Machines Corporation | Written language learning using an enhanced input method editor (IME) |
US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
EP3149728B1 (en) * | 2014-05-30 | 2019-01-16 | Apple Inc. | Multi-command single utterance input method |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US10225245B2 (en) * | 2014-11-18 | 2019-03-05 | Auth0, Inc. | Identity infrastructure as a service |
US9710316B1 (en) | 2014-12-18 | 2017-07-18 | Amazon Technologies, Inc. | Flexible scripting platform for troubleshooting |
US9785489B1 (en) * | 2014-12-18 | 2017-10-10 | Amazon Technologies, Inc. | Secure script execution using sandboxed environments |
US10152299B2 (en) | 2015-03-06 | 2018-12-11 | Apple Inc. | Reducing response latency of intelligent automated assistants |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
CN104820695A (zh) * | 2015-04-29 | 2015-08-05 | 百度在线网络技术(北京)有限公司 | 一种资源获取方法及装置 |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US10200824B2 (en) | 2015-05-27 | 2019-02-05 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
US10740384B2 (en) | 2015-09-08 | 2020-08-11 | Apple Inc. | Intelligent automated assistant for media search and playback |
US10331312B2 (en) | 2015-09-08 | 2019-06-25 | Apple Inc. | Intelligent automated assistant in a media environment |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
CN106933561A (zh) * | 2015-12-31 | 2017-07-07 | 北京搜狗科技发展有限公司 | 语音输入方法和终端设备 |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179588B1 (en) | 2016-06-09 | 2019-02-22 | Apple Inc. | INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US10275595B2 (en) * | 2016-09-29 | 2019-04-30 | Trap Data Security Ltd. | System and method for characterizing malware |
US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
CN106445189B (zh) * | 2016-12-16 | 2020-03-17 | 北京小米移动软件有限公司 | 候选词显示方法及装置 |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
US20200150780A1 (en) * | 2017-04-25 | 2020-05-14 | Microsoft Technology Licensing, Llc | Input method editor |
US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
DK201770383A1 (en) | 2017-05-09 | 2018-12-14 | Apple Inc. | USER INTERFACE FOR CORRECTING RECOGNITION ERRORS |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
DK180048B1 (en) | 2017-05-11 | 2020-02-04 | Apple Inc. | MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
DK201770427A1 (en) | 2017-05-12 | 2018-12-20 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
DK201770411A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | MULTI-MODAL INTERFACES |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
DK179560B1 (en) | 2017-05-16 | 2019-02-18 | Apple Inc. | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
US10303715B2 (en) | 2017-05-16 | 2019-05-28 | Apple Inc. | Intelligent automated assistant for media exploration |
US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
US10445429B2 (en) | 2017-09-21 | 2019-10-15 | Apple Inc. | Natural language understanding using vocabularies with compressed serialized tries |
US10755051B2 (en) | 2017-09-29 | 2020-08-25 | Apple Inc. | Rule-based natural language processing |
US10540187B2 (en) * | 2017-10-13 | 2020-01-21 | International Business Machines Corporation | User-initiated dynamic data application programming interface creation |
US11113411B2 (en) | 2017-10-20 | 2021-09-07 | Dropbox, Inc. | Authentication security model for a content management system |
US10878019B2 (en) * | 2017-10-20 | 2020-12-29 | Dropbox, Inc. | Hosted storage for third-party services |
US10979235B2 (en) | 2017-10-20 | 2021-04-13 | Dropbox, Inc. | Content management system supporting third-party code |
US10636424B2 (en) | 2017-11-30 | 2020-04-28 | Apple Inc. | Multi-turn canned dialog |
US10394584B2 (en) * | 2017-12-18 | 2019-08-27 | Atlassian Pty Ltd | Native execution bridge for sandboxed scripting languages |
US10733982B2 (en) | 2018-01-08 | 2020-08-04 | Apple Inc. | Multi-directional dialog |
US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS |
DK179822B1 (da) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US11076039B2 (en) | 2018-06-03 | 2021-07-27 | Apple Inc. | Accelerated task performance |
US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
DK201970511A1 (en) | 2019-05-31 | 2021-02-15 | Apple Inc | Voice identification in digital assistant systems |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | USER ACTIVITY SHORTCUT SUGGESTIONS |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
US11227599B2 (en) | 2019-06-01 | 2022-01-18 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
WO2021056255A1 (en) | 2019-09-25 | 2021-04-01 | Apple Inc. | Text detection using global geometry estimators |
US11681804B2 (en) | 2020-03-09 | 2023-06-20 | Commvault Systems, Inc. | System and method for automatic generation of malware detection traps |
WO2021203343A1 (zh) * | 2020-04-09 | 2021-10-14 | 北京微动数联科技有限公司 | Web请求处理方法和装置 |
US11043220B1 (en) | 2020-05-11 | 2021-06-22 | Apple Inc. | Digital assistant hardware abstraction |
US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
US11490204B2 (en) | 2020-07-20 | 2022-11-01 | Apple Inc. | Multi-device audio adjustment coordination |
US11438683B2 (en) | 2020-07-21 | 2022-09-06 | Apple Inc. | User identification using headphones |
CN111858675A (zh) * | 2020-07-24 | 2020-10-30 | 北京玉符科技服务有限公司 | 自定义属性编辑器 |
US11637937B2 (en) * | 2020-11-18 | 2023-04-25 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, and non-transitory storage medium |
CN112800473B (zh) * | 2021-03-17 | 2022-01-04 | 好人生(上海)健康科技有限公司 | 一种基于大数据安全屋的数据处理方法 |
US11620110B1 (en) | 2022-06-07 | 2023-04-04 | Snowflake Inc. | Registration of multiple user defined functions |
US11930045B1 (en) | 2023-04-28 | 2024-03-12 | Snowflake Inc. | Secure network access from sandboxed applications |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07129565A (ja) * | 1993-10-29 | 1995-05-19 | Sharp Corp | 情報処理装置 |
JP2009223782A (ja) * | 2008-03-18 | 2009-10-01 | Nec Corp | 文字入力装置、携帯端末装置、文字入力方法及びそのプログラム |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0260658A (ja) | 1988-08-29 | 1990-03-01 | Terumo Corp | 中空糸膜型物質移動装置 |
JP3589682B2 (ja) | 1993-03-16 | 2004-11-17 | 富士通株式会社 | 文書作成装置 |
US6003050A (en) * | 1997-04-02 | 1999-12-14 | Microsoft Corporation | Method for integrating a virtual machine with input method editors |
US7174288B2 (en) * | 2002-05-08 | 2007-02-06 | Microsoft Corporation | Multi-modal entry of ideogrammatic languages |
US8245270B2 (en) | 2005-09-01 | 2012-08-14 | Microsoft Corporation | Resource based dynamic security authorization |
US7725922B2 (en) * | 2006-03-21 | 2010-05-25 | Novell, Inc. | System and method for using sandboxes in a managed shell |
CN101286154B (zh) * | 2007-04-09 | 2016-08-10 | 谷歌股份有限公司 | 输入法编辑器用户档案 |
CN101286093A (zh) * | 2007-04-09 | 2008-10-15 | 谷歌股份有限公司 | 客户端输入方法 |
CN101286094A (zh) | 2007-04-10 | 2008-10-15 | 谷歌股份有限公司 | 多模式输入法编辑器 |
CN105204617B (zh) | 2007-04-11 | 2018-12-14 | 谷歌有限责任公司 | 用于输入法编辑器集成的方法和*** |
KR20100056938A (ko) * | 2008-11-20 | 2010-05-28 | 엔에이치엔(주) | 웹 페이지를 생성하기 위해 사용되는 컴포넌트 기반의 자바웹 애플리케이션 개발 프레임워크 |
CN101488154B (zh) * | 2009-03-04 | 2011-10-05 | 西安双捷科技有限责任公司 | 用于网页的文字输入实现方法 |
KR101743122B1 (ko) * | 2009-11-27 | 2017-06-15 | 구글 인코포레이티드 | 클라이언트-서버 입력 방법 편집기 구조 |
-
2010
- 2010-04-12 EP EP10849650.6A patent/EP2558923A4/en not_active Withdrawn
- 2010-04-12 KR KR1020127029136A patent/KR101681281B1/ko active IP Right Grant
- 2010-04-12 US US13/142,746 patent/US9086735B2/en active Active
- 2010-04-12 JP JP2013504089A patent/JP5921527B2/ja active Active
- 2010-04-12 CN CN201080067382.XA patent/CN103080873B/zh active Active
- 2010-04-12 WO PCT/CN2010/071691 patent/WO2011127640A1/en active Application Filing
-
2011
- 2011-04-12 TW TW100112677A patent/TWI526880B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07129565A (ja) * | 1993-10-29 | 1995-05-19 | Sharp Corp | 情報処理装置 |
JP2009223782A (ja) * | 2008-03-18 | 2009-10-01 | Nec Corp | 文字入力装置、携帯端末装置、文字入力方法及びそのプログラム |
Non-Patent Citations (4)
Title |
---|
CSND200800107005; 清水 哲郎: '情報ポータルをめざす最新版ATOKの新機能 ATOKダイレクトの可能性を探る' PCfan 第15巻第7号, 20080315, p.84-85, (株)毎日コミュニケーションズ * |
CSNG200801088005; 吉濱 佐知子: 'Web2.0アプリケーションにおける代表的な攻撃手法とその対策' 情報処理 第50巻第1号, 20090115, p.44-54, 社団法人情報処理学会 * |
JPN6013062754; 清水 哲郎: '情報ポータルをめざす最新版ATOKの新機能 ATOKダイレクトの可能性を探る' PCfan 第15巻第7号, 20080315, p.84-85, (株)毎日コミュニケーションズ * |
JPN6013062757; 吉濱 佐知子: 'Web2.0アプリケーションにおける代表的な攻撃手法とその対策' 情報処理 第50巻第1号, 20090115, p.44-54, 社団法人情報処理学会 * |
Also Published As
Publication number | Publication date |
---|---|
US20120041752A1 (en) | 2012-02-16 |
KR101681281B1 (ko) | 2016-12-12 |
TW201205352A (en) | 2012-02-01 |
CN103080873B (zh) | 2016-10-05 |
KR20130072209A (ko) | 2013-07-01 |
TWI526880B (zh) | 2016-03-21 |
EP2558923A4 (en) | 2014-11-19 |
JP5921527B2 (ja) | 2016-05-24 |
WO2011127640A1 (en) | 2011-10-20 |
US9086735B2 (en) | 2015-07-21 |
EP2558923A1 (en) | 2013-02-20 |
CN103080873A (zh) | 2013-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5921527B2 (ja) | インプットメソッドエディタのための拡張フレームワーク | |
US9009030B2 (en) | Method and system for facilitating text input | |
TWI510965B (zh) | 輸入方法編輯器整合 | |
TWI437449B (zh) | 多重模式輸入方法及輸入方法編輯器系統 | |
US8904012B2 (en) | Client-server input method editor architecture | |
RU2395837C2 (ru) | Механизм для обеспечения расширенных функциональных возможностей для инструкций командной строки | |
US11763078B2 (en) | Provisional selection drives edit suggestion generation | |
WO2008122243A1 (fr) | Procédé et système permettant d'appeler rapidement une commande de programme et système destiné à un procédé d'entrée | |
US20070244691A1 (en) | Translation of user interface text strings | |
KR20090127936A (ko) | 클라이언트 입력 방식 | |
US8219905B2 (en) | Automatically detecting keyboard layout in order to improve the quality of spelling suggestions | |
US20090148073A1 (en) | Allowing users to automatically change typographical letter case using application independent functionality | |
JP2007510203A (ja) | 部分的に未解決の入力を分析する機構 | |
Vu et al. | Voicify Your UI: Towards Android App Control with Voice Commands | |
EP4031960A1 (en) | Locally implemented terminal latency mitigation | |
CN107077365B (zh) | 有选择地加载预编译的头部和/或其部分 | |
WO2003079188A1 (fr) | Procede de fonctionnement d'un objet logiciel au moyen d'une langue naturelle et programme correspondant | |
Little et al. | Sloppy programming | |
WO2022241640A1 (en) | A split keyboard with different languages as input | |
Rojbi et al. | KeybNav: a new system for web navigation through a keyboard | |
JP2022177381A (ja) | 文書処理プログラム | |
Tateosian et al. | Beginning Python | |
JP2020095369A (ja) | 文書処理装置、文書処理装置の制御プログラム、および文書処理装置を用いた文書処理方法 | |
KR20190100572A (ko) | 중국상표 한자독음 검색엔진 및 중국상표 검색방법 | |
Burdette | The JavaScript Pocket Guide |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131022 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131224 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140324 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20150105 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150507 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20150515 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20150717 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160412 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5921527 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
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 |