JP5926378B2 - テキスト入力方法、装置、およびシステム - Google Patents

テキスト入力方法、装置、およびシステム Download PDF

Info

Publication number
JP5926378B2
JP5926378B2 JP2014519401A JP2014519401A JP5926378B2 JP 5926378 B2 JP5926378 B2 JP 5926378B2 JP 2014519401 A JP2014519401 A JP 2014519401A JP 2014519401 A JP2014519401 A JP 2014519401A JP 5926378 B2 JP5926378 B2 JP 5926378B2
Authority
JP
Japan
Prior art keywords
word
user
sentence
probability
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.)
Active
Application number
JP2014519401A
Other languages
English (en)
Other versions
JP2014521158A (ja
Inventor
▲鏡▼▲輝▼ 肖
▲鏡▼▲輝▼ 肖
Original Assignee
シェンツェン・シ・ジ・ガン・ス・インフォメーション・テクノロジー・カンパニー・リミテッド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from CN201110197062.2A external-priority patent/CN102880611B/zh
Priority claimed from CN201110209014.0A external-priority patent/CN102902362B/zh
Application filed by シェンツェン・シ・ジ・ガン・ス・インフォメーション・テクノロジー・カンパニー・リミテッド filed Critical シェンツェン・シ・ジ・ガン・ス・インフォメーション・テクノロジー・カンパニー・リミテッド
Publication of JP2014521158A publication Critical patent/JP2014521158A/ja
Application granted granted Critical
Publication of JP5926378B2 publication Critical patent/JP5926378B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements 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/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • G06F40/129Handling non-Latin characters, e.g. kana-to-kanji conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)

Description

本発明は、テキスト入力技術に関し、特に、テキスト入力方法、装置、およびシステムに関する。
入力ソフトウェアは、一種の頻繁に使用される単語の入力システムである。
従来のテキスト入力方法は、通常、入力方法を構築するための普遍的言語モデルを中心的に使用する。普遍的言語モデルは、大量のトレーニング材料を分析することによって得られる。当該トレーニング材料は通常、インターネットから自動的に取得される。当該トレーニング材料は一般に大部分のユーザの入力要件を表す。即ち、普遍的言語モデルは、大部分のユーザの共通の単語選択習慣に基づいて生成される。しかし、入力ソフトウェアを用いて単語を入力するとき、ユーザは通常、当該ユーザが日常的に使用する単語を高速に取得することを望む。単語を選択するとき、様々なユーザが、当該ユーザの身分、関心、習慣、および当該ユーザが普段使用している文字フィールドに従って1番目に順位付けられる、様々な種類の候補文章を望むことがある。例えば、科学研究者と銀行員は通常、単語を入力するときに自身の分野の専門用語が1番目に順位付けられることを望む。別の例として、北東の四川省出身の人は自身の方言の単語が候補文章リストにおいて1番目に順位付けされることを望む。普遍的言語モデルを使用する従来の入力方法は、様々なユーザの入力要求を満たすことはできない。したがって、入力正解率は低く、ユーザの入力速度が影響を受ける。
さらに、標準Ngram言語モデルのモデリング方法には欠陥がある。他方、標準Ngram言語モデルはシンプルなモデルである。しかし、実際の適用では、ユーザの中国語入力、手書き認識、音声認識要求は様々であり無限である。例えば、ユーザは、中国語入力、手書き認識および音声認識のような気まぐれで無限の要求を有しうる。例えば、ユーザは、テクニカル・レポートを書くときもあればインターネットでチャットするときもある。これらの2つの状況では、ユーザの中国語入力要求は異なる。別の例では、様々な年齢のユーザが様々な生活体験に起因して様々な会話習慣を有することがある。これらのユーザが日常的に入力する内容が、中国語入力に反映され、大きな違いをもたらす。したがって、シンプルなモデルでは、様々な年齢のユーザが中国語を入力するための様々な要求と異なる状況下における1人のユーザの様々な要求とを満たすことはできない。様々な要求に対して同じモデルを使用すると、ユーザの入力の認識精度が影響を受ける。他方、標準Ngram言語モデルには自己学習機構がない。標準Ngram言語モデルにおいてパラメータが決定されると、当該パラメータをユーザの入力習慣に従ってインテリジェントに調節することはできない。したがって、ユーザの入力を認識する正解率は比較的低い。
本発明の1例では、入力速度を増大させるためのテキスト入力方法を提供する。本発明の1例では、入力されたテキストを認識する正解率を増大させるためのテキスト入力装置を提供する。本発明の1例では、入力速度を増大させるためのテキスト入力システムを提供する。
1例によれば、テキスト入力方法は、ユーザ識別子を取得し、当該ユーザ識別子に従って当該ユーザ識別子に対応するユーザ言語モジュールを発見し、ユーザ入力を取得し、当該ユーザ入力に従って候補文章リストを生成し、普遍的言語モデルを取得し、当該ユーザ言語モデルと当該普遍的言語モデルに従って当該候補文章リスト内の各候補文章のオンスクリーン確率を計算するステップ、または、普遍的言語モデルに従ってユーザ入力における各単語の標準条件確率をそれぞれ計算し、予め構成したキャッシュ・ベースの言語モデリング・ポリシ、当該ユーザ入力、および予めキャッシュしたユーザ入力に従って当該ユーザ入力における各単語のキャッシュ条件確率をそれぞれ計算するステップと、当該標準条件確率と当該キャッシュ条件確率に従って各単語の混合条件確率を計算し、当該混合条件確率に従って各候補文章のオンスクリーン確率を取得するステップと、候補文章を、当該候補文章のオンスクリーン確率に従って当該候補文章リストにおいてソートするステップと、ソートした当該候補文章リストを出力するステップと、を含む。
別の例によれば、テキスト入力方法は、クライアントにより、ユーザ識別子を取得し、当該ユーザ識別子に従って当該ユーザ識別子に対応するユーザ言語モデルを発見するステップと、当該クライアントにより、ユーザ入力を取得し、当該ユーザ入力に従って候補文章リストを生成するサーバに当該ユーザ入力をアップロードするステップと、当該サーバにより、普遍的言語モデルを取得し、当該ユーザ言語モデルと当該普遍的言語モデルに従って当該候補文章リスト内の各候補文章のオンスクリーン確率を計算するステップと、当該サーバにより、当該候補文章リスト内の当該候補文章を、当該候補文章のオンスクリーン確率に従ってソートし、ソートした当該候補文章リストを当該クライアントに発行するステップと、クライアントにより、ソートした候補文章リストを受信し、ソートした候補文章リストを出力するステップと、を含む。
さらに別の例によれば、テキスト入力方法は、クライアントにより、ユーザ識別子を取得し、当該ユーザ識別子に従って当該ユーザ識別子に対応するユーザ言語モデルを発見するステップと、当該クライアントにより、ユーザ入力を取得し、当該ユーザ入力に従って候補文章リストを生成するステップと、当該クライアントにより、普遍的言語モデルを取得し、当該ユーザ言語モデルと当該普遍的言語モデルに従って当該候補文章リスト内の各候補文章のオンスクリーン確率を計算するステップと、クライアントにより、当該候補文章リスト内の当該候補文章を当該候補文章のオンスクリーン確率に従ってソートし、ソートした当該候補文章リストを出力するステップと、を含む。
1例によれば、テキスト入力システムは、ユーザ識別子を取得し、当該ユーザ識別子に従って当該ユーザ識別子に対応するユーザ言語モデルを発見するための検索モジュールと、ユーザ入力を取得し、当該ユーザ入力に従って候補文章リストを生成するための候補文章リスト生成モジュールと、当該候補文章リスト内の各候補文章のオンスクリーン確率を当該ユーザ言語モデルと普遍的言語モデルに従って計算するための確率計算モジュールと、当該候補文章リスト内の当該候補文章を当該候補文章のオンスクリーン確率に従ってソートするためのソート・モジュールと、ソートされた当該候補文章リストを出力するための出力モジュールと、を備える。
1例によれば、テキスト処理システムは、クライアントとサーバを備え、当該クライアントは、ユーザ識別子を取得し、当該ユーザ識別子に従って当該ユーザ識別子に対応するユーザ言語モデルを発見し、ユーザ入力を取得し、当該ユーザ入力を当該サーバにアップロードし、ソートされた候補文章リストを当該サーバから受信して、ソートされた当該候補文章リストを出力し、当該サーバは、当該ユーザ入力に従って候補文章リストを生成し、普遍的言語モデルを取得し、当該候補文章リスト内の各候補文章のオンスクリーン確率を当該ユーザ言語モデルと普遍的言語モデルに従って計算し、当該候補文章リスト内の当該候補文章を当該候補文章のオンスクリーン確率に従ってソートし、ソートした当該候補文章リストを当該クライアントに発行する。
1例によれば、テキスト処理装置は、普遍的言語モデル・モジュール、キャッシュ・モジュール、キャッシュ・ベースの言語モデリング・モジュールおよび混合モデル・モジュールを備え、当該普遍的言語モデル・モジュールはユーザ入力を受信し、当該ユーザ入力における各単語の標準条件確率をそれぞれ計算し、当該標準条件確率を当該混合モデル・モジュールに出力し、当該キャッシュ・モジュールは、当該混合モデル・モジュールにより出力された文章をキャッシュし、当該キャッシュ・ベースの言語モデリング・モジュールは、当該ユーザ入力における各単語のキャッシュ条件確率を、予め構成したキャッシュ・ベースの言語モデリング・ポリシ、当該ユーザ入力および当該キャッシュ・モジュールにキャッシュした文章にしたがってそれぞれ計算し、当該キャッシュ条件確率を当該混合モデル・モジュールに出力し、当該混合モデル・モジュールは、当該標準条件確率と当該キャッシュ条件確率に従って各単語の混合条件確率を計算し、当該混合条件確率に従って各出力文章の文章確率を計算し、最大文章確率の出力文章を選択して、当該最大文章確率の文章を出力する。
上述のテキスト入力方法、装置およびシステムは、ユーザ言語モデルと普遍的言語モデルを組み合わせる。ユーザの言語はユーザ入力に従うトレーニングにより取得されるので、候補文章リストにおいて1番目に順位付けられるソートされた候補文章はユーザの会話習慣に良好に従う。したがって、ユーザは必要な候補文章をより迅速に取得することができる。テキスト入力の正解率が高まり、入力速度も高まる。
本発明の背景技術または発明を実施するための形態で用いる図面を以下で簡単に説明して、本発明の背景技術または例における技術的解決策をより明確にする。以下の図面は幾つかの例にすぎない。当業者は、創造的な作業なしに以下に従って他の図面を得ることができるはずである。
本発明の1例に従うテキスト入力方法を示す流れ図である。 本発明の別の例に従うテキスト入力方法を示す流れ図である。 さらに本発明の別の例に従うテキスト入力方法を示す流れ図である。 本発明の1例に従うテキスト入力システムを示す略図である。 本発明の別の例に従うテキスト入力システムを示す略図である。 本発明の1例に従う言語モデリング方法を示す流れ図である。 本発明の別の例に従う言語モデリング方法を示す流れ図である。 本発明の1例に従う言語モデリング装置を示す略図である。
1例では、図1に示すように、テキスト入力方法は以下を含む。
ブロックS102で、ユーザ識別子を取得し、当該ユーザ識別子に対応するユーザ言語モデルを取得する。ユーザ識別子はユーザを一意に識別するものである。ユーザ識別子は、ユーザが入力ソフトウェアに登録したアカウント、または、ユーザに割り当てられた識別番号、または、ユーザが使用する装置に関連付けられたIPアドレス、MACアドレスであってもよい。
1例では、ブロックS102の前に、当該ユーザ識別子に対応するユーザ言語モデルを生成する必要がある。ユーザが単語を入力するたびに、ユーザ言語モデルが、ユーザが入力した単語の情報に従って更新される。ユーザ言語モデルはユーザが入力した単語に従ってトレーニングされるので、当該ユーザ言語モデルはユーザの言語習慣に従う。ユーザ言語モデルをトレーニングにより取得した後、当該ユーザ言語モデルをユーザのローカル記憶域に格納するか、または、サーバにアップロードして記憶してもよい。
ブロックS104で、ユーザの入力を取得し、当該ユーザの入力に従って候補文章リストを生成する。当該ユーザの入力は、音声入力、手書き文字、光学文字または文字列であってもよい。従来式のテキスト入力方法を使用して、ユーザの入力にマッチする候補文章を発見し、候補文章リストを生成してもよい。
ブロックS106では、普遍的言語モデルを取得し、当該候補文章リスト内の各候補文章のオンスクリーン確率をユーザ言語モデルと普遍的言語モデルに従って計算する。普遍的言語モデルは、例えば、インターネット上で多数のユーザが入力した文章から取得した大量のトレーニング材料の統計分析により取得した従来の統計的言語モデルであってもよい。当該ユーザ言語モデルは、ユーザ自身に対応する。異なるユーザに対応するユーザ言語モデルが異なってもよい。普遍的言語モデルをサーバまたはユーザ装置に格納してもよい。
ユーザ言語モデルは、ユーザの入力に従うトレーニングにより取得される。入力ソフトウェアを用いた第1の入力の間に、ユーザ言語モデルが更新されていないので、候補文章リスト内の各候補文章のオンスクリーン確率を普遍的言語モデルに従って計算できることに留意されたい。当該方法と原理は、普遍的言語モデルを用いた従来の入力方法と同様でありここでは説明しない。
ユーザが入力ソフトウェアを用いてテキストを入力するたびに、ユーザが入力した単語が記録される。ユーザ言語モデルは、ユーザが入力した単語の情報に従って更新される。ユーザ言語モデルはユーザ識別子と関連付けられて格納される。次に単語が入力されたとき、候補単語リスト内の各候補文章のオンスクリーン確率は、ユーザ言語モデルと普遍的言語モデルの両方に従って計算することができる。
1例では、普遍的言語モデルとユーザ言語モデルの両方がユーザ装置に格納される。したがって、普遍的言語モデルとユーザ言語モジュールが、候補文章リスト内の各候補文章のオンスクリーン確率を計算するためにユーザ装置のローカル記憶域から取得される。本方法では、ユーザ装置は要求をサーバに送信する必要はない。この方式を、ローカル入力方法と称する。
別の例では、普遍的言語モデルとユーザ言語モデルが、普遍的言語モデルとユーザ言語モデルを取得して候補文章リスト内の各候補文章のオンスクリーン確率を計算するサーバに格納される。このように、入力方法の処理はサーバにより実装される。この方式を、クラウド入力方法と称する。
ブロックS108では、候補文章リスト内の候補文章がそのオンスクリーン確率に従ってソートされる。本例では、候補文章リスト内の候補文章はそのオンスクリーン確率に従って昇順にソートされる。最上位の単語は、ユーザの言語習慣に従い、ユーザが望むものであろう。したがって、ユーザは必要な候補文章をより迅速に発見でき、テキスト入力精度とテキスト入力速度が高まる。
ブロックS110では、ソートされた候補文章リストを出力する。ユーザは、必要な候補文章を候補文章リストから選択してもよい。選択された候補文章は、入力ソフトウェアから、様々な種類のアプリケーション・プログラム、例えば、テキスト・ドキュメント、ノートブック、プレゼンテーション・ドキュメント等に出力される。
1例では、ブロックS110で、最大オンスクリーン確率の候補文章を出力する。最大オンスクリーン確率の候補文章は出力リストの1番目に順位付けられる。ユーザは、最大オンスクリーン確率の候補文章を迅速に選択することができる。
別の例では、ブロックS110で、ローカル入力方法で取得した最大オンスクリーン確率の第1の候補文章を出力し、クラウド入力方法で取得した最大オンスクリーン確率の第2の候補文章も出力される。当該第1の候補文章と第2の候補文章は出力リストに出力される。当該第1の候補文章が1番目に順位付けられ、第2の候補文章が第1の候補文章に続く。したがって、ユーザは、上述の2つの入力方法で取得した最大オンスクリーン確率の候補文章のうち何れか1つを迅速に選択することができる。
1例では、上述のテキスト入力方法はさらに、ユーザ識別子に対応するユーザ言語モデルを生成するステップと、ユーザが単語を入力した後に、ユーザが入力した単語の情報に従ってユーザ言語モデルを更新するステップを含む。特に、ユーザ識別子に対応するユーザ単語辞書が生成される。ユーザが単語を入力するたびに、ユーザが入力した単語の単語情報と頻度情報が単語辞書に追加される。ユーザ言語モデルが更新されたとき、単語情報と頻度情報が単語辞書から取得される。単語が分割され、分割された単語に対して単語頻度処理動作が実施される。ユーザ言語モデルが、分割された単語と処理された単語頻度とに従って更新される。単語頻度は、単語がユーザ辞書に出現する回数を示す。
1例では、同一の言語モデルをユーザ言語モデルおよび普遍的言語モデルに対して使用してもよい。例えば、Ngram言語モデルを使用してもよい。しかし、ユーザ言語モデルと普遍的言語モデルのトレーニング集合は異なる。ユーザ言語モデルのトレーニング集合は、一意なユーザに対応するユーザ辞書の中の全単語から成る集合である。普遍的言語モデルのトレーニング集合は、多数のユーザが入力した単語の集合である。当該トレーニング集合をインターネットから取得してもよい。ユーザ言語モデルの確率計算式は次式であってもよい。
Figure 0005926378
ここで、Puser(S)はm個の単語を含む文章S=w・・・wの確率を示す。文章Sは単語w・・・wを含む。ここで、wは、m個の単語を含む文章Sの中の単語である。例えば、文章「have you eat today」を「have/you/eat/today」に分割してもよい。最大尤度法を使用してPuser(w|wi−n+1...wi−1)の確率統計値を計算してもよい。計算式を次式で示してもよい。
Figure 0005926378
ここで、c(wi−n+1...wi−1)は単語列wi−n+1...wi−1がトレーニング集合に出現する回数を示し、c(wi−n+1...wi−1)は単語列wi−n+1...wi−1がトレーニング集合に出現する回数を示す。当該トレーニング集合は、ユーザ単語辞書内の全単語列から成る集合である。
1例では、ユーザ言語モデルは低級の言語モデル、例えばUnigram言語モデルを使用してもよい。Ngram言語モデルと比較すると、この言語モデルはあまり記憶空間を占有せず、モバイル端末での使用に適合する。本例では、ユーザ言語モデルの確率計算式は以下の通りである。
Figure 0005926378
ここで、Puser(S)はm個の単語を含む文章S=w・・・wの確率を示す。
本発明の別の例では、ユーザ言語モデルがBigram言語モデルを使用してもよい。上記の2つの言語モデルと比べると、この言語モデルは、高速なモデル生成速度を有し、クラウド入力方法での使用に適合する。本例では、当該言語モデルに使用される確率計算式は以下の通りである。
Figure 0005926378
ここで、Puser(S)はm個の単語を含む文章S=w・・・wの確率を示し、Puser(w|wi−1)は文章Sが2つの単語wとwi−1に分割されることを示し、Puser(w|wi−1)の計算式は以下の通りである。
Figure 0005926378
ここで、c(wi−1)は、文章Sがトレーニング集合に出現する回数を示し、c(wi−1)は単語wi−1がトレーニング集合に出現する回数を示す。
1例では、ユーザ言語モデルと普遍的言語モデルに従う候補文章リスト内の各候補文章のオンスクリーン確率を計算するプロセスでは、ユーザ言語モデルと普遍的言語モデルに線形補間動作を実施して混合モデルを生成し、当該混合モデルに従って候補文章リスト内の各候補文章のオンスクリーン確率を計算する。
本例では、普遍的言語モデルが従来のNgram言語モデルであってもよい。したがって、ユーザ言語モデルの条件確率が普遍的言語モデルの条件確率と組み合わせられる。混合条件確率が計算される。当該計算式は以下のようであってもよい。
Figure 0005926378
ここで、Pmixture(w|wi−n+1...wi−1)は混合条件確率を示し、P(w|wi−n+1...wi−1)は普遍的言語モデルの条件確率を示し、Puser(w|wi−n+1...wi−1)はユーザ言語モデルの条件確率を示し、
Figure 0005926378
は0と1の間の値を有する補間パラメータを示す。混合条件確率によれば、生成される混合モデルは以下の通りである。
Figure 0005926378
ここで、P(S)はm個の単語を含む文章S=w・・・wの確率を示す。
候補文章リスト内の候補文章のオンスクリーン確率は、混合モデルにより計算される、候補文章がユーザにより選択される確率である。オンスクリーン確率が高まれば、候補文章が候補文章リストのより上位に順位付けされるようになる。したがって、ユーザは必要な単語をより迅速に発見することができる。テキスト入力速度が高まる。1例では、図2に示すように、テキスト入力方法は以下を含む。
ブロックS202では、クライアントがユーザ識別子を取得し、当該ユーザ識別子に対応するユーザ言語モデルをサーバから発見する。
ユーザ識別子はユーザを一意に識別するものである。当該ユーザ識別子は、ユーザが入力ソフトウェアに登録したアカウント、または、当該ユーザに割り当てられた識別番号、または、ユーザの装置に関連付けられたIPアドレスもしくはMACアドレスであってもよい。身分認証の後、ユーザが入力ソフトウェアにログインする。クライアントはユーザ識別子を取得し、対応するユーザ言語モデルを発見するサーバに当該ユーザ識別子を送信する。
1例では、当該ユーザ識別子に対応するユーザ言語モデルをサーバで前もって生成する。ユーザが単語を入力するたびに、サーバが、ユーザが入力した単語の情報を取得し、ユーザが入力した単語の情報に従ってユーザ言語モデルを更新する。当該ユーザ識別子に対応するユーザ言語モデルはサーバに格納されているので、サーバ内のユーザ言語モデルをユーザの入力に沿って連続的に更新することができる。したがって、サーバ内のユーザ言語モデルはますます正確になることができる。ユーザが様々な装置で入力ソフトウェアを使用すると、サーバは最新のユーザ言語モデルをユーザ装置に送信する。したがって、ユーザ言語モデルの同期が実現され、ユーザ言語モデルが様々なユーザ装置に適合する。
ブロックS204では、クライアントがユーザの入力を取得し、当該入力をサーバに送信する。サーバは当該ユーザの入力に従って候補文章リストを生成する。
ユーザの入力が、音声入力、手書き文字、または光学文字もしくは文字列であってもよい。クライアントは当該ユーザ入力をサーバに送信する。サーバは、従来のテキスト入力方法に従って、ユーザ入力にマッチする候補文章を単語辞書から発見して候補文章リストを生成する。テキスト入力方法の処理はサーバにより実装される。この種のテキスト入力方法を、「クラウド入力方法」と称する。
ブロックS206では、サーバは普遍的言語モデルを取得し、ユーザ言語モデルと普遍的言語モデルに従って候補文章リスト内の各候補文章のオンスクリーン確率を計算する。
普遍的言語モデルが、インターネット上の多数のユーザが入力したテキストから取得した大量の材料を用いたトレーニングから得た、従来の統計的言語モデルであってもよい。ユーザ言語モデルは、一意なユーザに対応する。様々なユーザが様々なユーザ言語モデルに対応する。
ユーザ言語モデルはユーザの入力に従うトレーニングにより取得される。入力ソフトウェアを用いた最初の入力の最中は、ユーザ言語モデルがまだ更新されていないので、候補文章リスト内の各候補文章のオンスクリーン確率を普遍的言語モデルに従って計算してもよいことに留意されたい。当該方法と原理は普遍的言語モデルを用いた従来の入力方法と同様であり、ここでは説明しない。
ユーザが入力ソフトウェアを用いて単語を入力するたびに、ユーザが入力した単語が記録される。当該言語モデルはユーザが入力した単語に従って更新される。ユーザ言語モデルはユーザ識別子と関連付けられて格納される。次に単語が入力されたとき、候補単語リスト内の各候補文章のオンスクリーン確率を、ユーザ言語モデルと普遍的言語モデルの両方に従って計算することができる。
1例では、上述のテキスト入力方法がさらに、ユーザ識別子に対応するユーザ言語モデルを生成し、ユーザが単語を入力した後に、ユーザが入力した単語の情報に従ってユーザ言語モデルを更新するステップを含む。特に、ユーザ識別子に対応するユーザ単語辞書が生成される。ユーザが単語を入力するたびに、ユーザが入力した単語の単語情報と頻度情報が単語辞書に追加される。ユーザ言語モデルが更新されると、当該単語情報と頻度情報が単語辞書から取得される。単語は分割され、分割された単語に対して単語頻度処理動作が実施される。ユーザ言語モデルが、分割された単語と処理された単語頻度に従って更新される。単語頻度とは、単語がユーザ辞書に出現する回数を示す。
1例では、ユーザ言語モデルがBigram言語モデルであってもよい。当該モデルの生成は上述したので、ここでは繰り返さない。
1例では、候補文章リスト内の各候補文章のオンスクリーン確率をユーザ言語モデルと普遍的言語モデルに従って計算するプロセスでは、線形補間をユーザ言語モデルと普遍的言語モデルに対して実施して混合モデルを生成し、候補文章リスト内の各候補文章のオンスクリーン確率を当該混合モデルに従って計算する。
候補文章リスト内の候補文章のオンスクリーン確率は、混合モデルによって計算される、候補文章をユーザが選択できる確率である。オンスクリーン確率が大きくなれば、候補文章リスト内の候補文章の順位がより高まる。したがって、ユーザは必要な単語をより迅速に発見することができ、テキスト入力速度が高まる。
ブロックS208では、サーバが、候補文章リスト内の候補文章をそのオンスクリーン確率に従ってソートし、ソートされた候補文章リストをユーザ装置に送信する。
ブロックS210では、ユーザ装置が、ソートされた候補文章リストを受信して出力する。ユーザは必要な単語を候補文章リストから選択してもよい。選択した候補文章を入力ソフトウェアからアプリケーション・プログラム、例えば、テキスト・ドキュメント、ノートブック、プレゼンテーション・ドキュメント等に出力する。1例では、テキスト入力方法が提供される。
図3は、本発明の1例に従うテキスト入力方法を示す流れ図である。図3に示すように当該方法は以下を含む。
ブロックS302では、クライアントが、ユーザ識別子を取得し、当該ユーザ識別子に従ってユーザ装置において対応するユーザ言語モデルを発見する。
ユーザ識別子はユーザを一意に識別する。ユーザ識別子は、ユーザが入力ソフトウェアに登録したアカウント、または、ユーザに割り当てられた識別番号、または、ユーザの装置に関連付けられたIPアドレスもしくはMACアドレスであってもよい。身分認証の後、ユーザが入力ソフトウェアにログインする。クライアントは、ユーザ識別子を取得し、当該ユーザ識別子を対応するユーザ言語モデルを発見するサーバに送信する。
ブロックS304では、ユーザ装置がユーザ入力を取得し、当該ユーザ入力に従って候補文章リストを生成する。
当該ユーザ入力は音声入力、手書き文字、光学文字または文字列であってもよい。普遍的言語モデルとユーザ言語モデルは両方ともユーザ装置に格納される。ユーザ言語モデルと普遍的言語モデルをユーザ装置から直接取得して、候補文章リスト内の各候補文章のオンスクリーン確率を計算してもよい。本例では、ユーザ装置は要求をサーバに送信する必要はない。当該方法は「ローカル入力方法」とも称する。
ブロックS306では、ユーザ装置が当該ユーザ装置自体から普遍的言語モデルを取得し、ユーザ言語モデルと普遍的言語モデルに従って候補文章リスト内の各候補文章のオンスクリーン確率を計算する。
普遍的言語モデルが、インターネット上の多数のユーザが入力したテキストから取得した大量の材料を用いたトレーニングから得た、従来の統計的言語モデルであってもよい。当該ユーザ言語モデルは、一意なユーザに対応する。様々なユーザが様々なユーザ言語モデルに対応する。
ユーザ言語モデルはユーザの入力に従うトレーニングにより取得される。入力ソフトウェアを用いた第1の入力時間の最中は、ユーザ言語モデルがまだ更新されていないので、候補文章リスト内の各候補文章のオンスクリーン確率を普遍的言語モデルに従って計算してもよいことに留意されたい。当該方法と原理は普遍的言語モデルを用いた従来の入力方法と同様でありここでは説明しない。
ユーザが入力ソフトウェアを用いて単語を入力するたびに、ユーザが入力した単語が記録される。当該言語モデルはユーザが入力した単語に従って更新される。ユーザ言語モデルはユーザ識別子と関連付けられて格納される。次に単語が入力されたとき、候補単語リスト内の各候補文章のオンスクリーン確率を、ユーザ言語モデルと普遍的言語モデルの両方に従って計算することができる。
1例では、当該ユーザ言語モデルがBigram言語モデルを使用してもよい。当該モデルの生成は上述したので、ここでは繰り返さない。
1例では、候補文章リスト内の各候補文章のオンスクリーン確率をユーザ言語モデルと普遍的言語モデルに従って計算するプロセスでは、線形補間をユーザ言語モデルと普遍的言語モデルに対して実施して混合モデルを生成し、候補文章リスト内の各候補文章のオンスクリーン確率を当該混合モデルに従って計算する。
候補文章リスト内の候補文章のオンスクリーン確率は、混合モデルによって計算される、候補文章をユーザが選択できる確率である。オンスクリーン確率が大きくなれば、候補文章リスト内の候補文章の順位がより高まる。したがって、ユーザは必要な単語をより迅速に発見することができ、テキスト入力速度が高まる。
ブロックS308では、ユーザ装置は候補文章リスト内の候補文章をそのオンスクリーン確率に従ってソートし、ソートされた候補文章リストを出力する。
1例では、図4に示すように、テキスト入力システムが、検索モジュール102、候補文章リスト生成モジュール104、確率計算モジュール106、ソート・モジュール108および出力モジュール110を備える。
検索モジュール102は、ユーザ識別子を取得し、当該ユーザ識別子に従って対応するユーザ言語モデルを発見する。
ユーザ識別子はユーザを一意に識別する。ユーザ識別子は、ユーザが入力ソフトウェアに登録したアカウント、または、ユーザに割り当てられた識別番号、または、ユーザの装置に関連付けられたIPアドレスもしくはMACアドレスであってもよい。
1例では、図5に示すように、上述のテキスト入力システムがさらに、ユーザ言語モデル生成モジュール112とユーザ言語モデル更新モジュール114を備えてもよい。
ユーザ言語モデル生成モジュール112を、ユーザ装置内でまたはサーバ側で構成してもよい。生成されたユーザ言語モデルをユーザ装置またはサーバに格納してもよい。
ユーザ言語モデル更新モジュール114は、ユーザが単語を入力するたびに、ユーザが入力した単語に従ってユーザ言語モデルを更新する。
ユーザ言語モデル更新モジュール114をユーザ装置またはサーバ側に配置してもよい。更新されたユーザ言語モデルをユーザ装置に格納するか、または、ユーザ装置によってサーバにアップロードして記憶してもよい。したがって、サーバ内のユーザ言語モデルを、ユーザの入力に沿って連続的に更新することができる。したがって、サーバ内のユーザ言語モデルががますます正確になる。ユーザが入力ソフトウェアを様々なユーザ装置で使用すると、サーバは最新のユーザ言語モデルをユーザ装置に送信する。したがって、ユーザ言語モデルの同期が実現され、当該ユーザ言語モデルが様々なユーザ装置に適合する。
候補文章リスト生成モジュール114はユーザ入力を取得し、当該ユーザ入力に従って候補文章リストを生成する。
当該ユーザ入力は音声入力、手書き文字、光学文字または文字列であってもよい。従来のテキスト入力方法を使用して、ユーザ入力にマッチする候補文章を発見して候補文章リストを生成してもよい。
1例では、候補文章リスト生成モジュール104が、従来のテキスト入力方法を使用してユーザ入力にマッチする候補文章を発見して候補文章リストを生成するサーバの中にあってもよい。テキスト入力方法の処理はサーバにより実装される。このテキスト入力方法は「クラウド入力方法」とも称される。
確率計算モジュール106は、普遍的言語モデルを取得し、候補文章リスト内の各候補文章のオンスクリーン確率をユーザ言語モデルと普遍的言語モデルに従って計算する。
普遍的言語モデルが、インターネット上の多数のユーザが入力したテキストから取得した大量の材料を用いたトレーニングから得た、従来の統計的言語モデルであってもよい。ユーザ言語モデルは、一意なユーザに対応する。様々なユーザが様々なユーザ言語モデルに対応する。
ユーザ言語モデルはユーザの入力に従うトレーニングにより取得される。入力ソフトウェアを用いた第1の入力時間の最中は、ユーザ言語モデルがまだ更新されていないので、候補文章リスト内の各候補文章のオンスクリーン確率を普遍的言語モデルに従って計算してもよいことに留意されたい。当該方法と原理は普遍的言語モデルを用いた従来の入力方法と同様でありここでは説明しない。
ユーザが入力ソフトウェアを用いて単語を入力するたびに、ユーザが入力した単語が記録される。当該言語モデルはユーザが入力した単語に従って更新される。ユーザ言語モデルはユーザ識別子と関連付けられて格納される。次に単語が入力されたとき、候補単語リスト内の各候補文章のオンスクリーン確率を、ユーザ言語モデルと普遍的言語モデルの両方に従って計算することができる。
ソート・モジュール108は、候補文章リスト内の候補文章をそのオンスクリーン確率に従ってソートする。
本例では、候補文章リスト内の候補文章は、そのオンスクリーン確率に従って昇順にソートされる。最上位の単語は、ユーザの言語習慣に良く従い、ユーザが望むものであろう。したがって、ユーザは必要な候補文章をより迅速に発見でき、テキスト入力精度とテキスト入力精度とテキスト入力速度が高まる。出力モジュール110は、ソートされた候補文章リストを出力する。
ユーザは、必要な候補文章を候補文章リストから選択してもよい。選択した候補文章は、入力ソフトウェアから様々な種類のアプリケーション・プログラム、例えば、テキスト・ドキュメント、ノートブック、プレゼンテーション・ドキュメント等に出力される。
1例では、ユーザ言語モデル更新モジュール114は、ユーザ入力の単語情報と単語頻度情報を記録し、当該単語情報と単語頻度情報を取得し、当該単語を分割し、分割した単語に対して当該単語頻度情報に従って単語頻度の処理を実施し、分割された単語と処理された単語頻度に従ってユーザ言語モデルを更新する。当該単語頻度は、単語がユーザ単語辞書に出現する回数を示す。
1例では、同一の言語モデルをユーザ言語モデルと普遍的言語モデルに対して使用してもよく、例えば、Ngram言語モデルを使用してもよい。ユーザ言語モデルと普遍的言語モデルのトレーニング集合は異なる。ユーザ言語モデルのトレーニング集合は、一意なユーザに対応するユーザ単語辞書の中の全単語の集合である。普遍的言語モデルのトレーニング集合は、大量のユーザが入力した単語の集合である。当該トレーニング集合をインターネットから取得してもよい。ユーザ言語モデルの確率計算式は次式であってもよい。
Figure 0005926378
ここで、Puser(S)はm個の単語を含む文章S=w・・・wの確率を示す。文章Sは単語w・・・wを含む。ここで、wは、m個の単語を含む文章Sの中の単語である。例えば、文章「have you eat today」を「have/you/eat/today」に分割してもよい。最大尤度法を使用してPuser(w|wi−n+1...wi−1)の確率統計値を計算してもよい。計算式を次式で示してもよい。
Figure 0005926378
ここで、c(wi−n+1...wi−1)は単語列wi−n+1...wi−1がトレーニング集合に出現する回数を示し、c(wi−n+1...wi−1)は単語列wi−n+1...wi−1がトレーニング集合に出現する回数を示す。当該トレーニング集合は、ユーザ単語辞書内の全単語の集合列である。
1例では、ユーザ言語モデルは低級の言語モデル、例えばUnigram言語モデルを使用してもよい。Ngram言語モデルと比較すると、この言語モデルはあまり記憶空間を占有せず、モバイル端末での使用に適合する。本例では、ユーザ言語モデルの確率計算式は以下の通りである。
Figure 0005926378
ここで、Puser(S)はm個の単語を含む文章S=w・・・wの確率を示す。
本発明の別の例では、ユーザ言語モデルがBigram言語モデルを使用してもよい。上記の2つの言語モデルと比べると、この言語モデルは、高速なモデル生成速度を有し、クラウド入力方法での使用に適合する。本例では、当該言語モデルに使用される確率計算式は以下の通りである。
Figure 0005926378
ここで、Puser(S)はm個の単語を含む文章S=w・・・wの確率を示し、Puser(w|wi−1)は文章Sが2つの単語wとwi−1に分割されることを示し、Puser(w|wi−1)の計算式は以下の通りである。
Figure 0005926378
ここで、c(wi−1)は、文章Sがトレーニング集合に出現する回数を示し、c(wi−1)は単語wi−1がトレーニング集合に出現する回数を示す。
1例では、オンスクリーン確率生成モジュール106は、ユーザ言語モデルと普遍的言語モデルに線形補間動作を実施して混合モデルを生成し、当該混合モデルに従って候補文章リスト内の各候補文章のオンスクリーン確率を計算する。
本例では、普遍的言語モデルが従来のNgram言語モデルであってもよい。したがって、ユーザ言語モデルの条件確率が普遍的言語モデルの条件確率と組み合わせられる。混合条件確率が計算される。当該計算式は以下のようであってもよい。
Figure 0005926378
ここで、Pmixture(w|wi−n+1...wi−1)は混合条件確率を示し、P(w|wi−n+1...wi−1)は普遍的言語モデルの条件確率を示し、Puser(w|wi−n+1...wi−1)ははユーザ言語モデルの条件確率を示し、
Figure 0005926378
は0と1の間の値を有する補間パラメータを示す。混合条件確率によれば、生成される混合モデルは以下の通りである。
Figure 0005926378
ここで、P(S)はm個の単語を含む文章S=w・・・wの確率を示す。
候補文章リスト内の候補文章のオンスクリーン確率は、混合モデルによって計算される、候補文章をユーザが選択できる確率である。オンスクリーン確率が大きくなれば、候補文章リスト内の候補文章の順位がより高まる。したがって、ユーザは必要な単語をより迅速に発見することができ、テキスト入力速度が高まる。
本発明の1例ではさらに、テキスト入力方法と装置を提供する。以降では、詳細な説明を提供する。
現時点では、一般的な言語モデリング方法には統計的言語モデリング方法とNgram言語モデリング方法がある。以降では、当該方法を簡単に説明する。
従来の言語モデリング方法では、確率理論と数学的統計理論を中国語の文章の確率を計算する基礎とし、正確な文章が不正確な文章より高い確率で出力されるようにする。例えば、中国語の文章「SHUO MING CI CHU HAN YU YU JU DE GAI LV」に関して、統計的言語モデリングでは、当該中国語の文章は幾つかの単語、例えば、「SHUO MING\CI CHU・・・」に分割してもよい。m個の単語(mは自然数)を含む中国語の文章S=w・・・wに関して、Bayes理論によれば、当該中国語の文章の確率(正確に出力される確率)は複数の単語の条件確率の積、即ち、
Figure 0005926378
であってもよい。ここで、wは中国語の文章におけるi番目の単語を示す。p(w/w・・・wi−1)は中国語の文章w・・・wにおける単語wの条件確率を示す。
上式から、条件確率p(w/w・・・wi−1)のパラメータ空間が変数iの増大とともに指数関数的に増大することがわかる。変数iが大きい場合には、現在のスケールのトレーニング材料に対して、確率p(w/w・・・wi−1)の正確な値を推定するのは困難である。当該トレーニング材料は、統計的方法に従って大量のトレーニング・テキストに基づいて形成したカテゴリに従って編成した1組の連続するテキストである。当該トレーニング材料をコンピュータによりバッチで処理してもよい。したがって、実際の言語モデリング方法では、条件確率p(w/w・・・wi−1)は多少簡略化され、標準Ngram言語モデリング方法が提供される。
標準Ngram言語モデルは、一般的な統計的言語モデルである。当該モデルは、中国語の文章をMarkov列とみなし、Markov特徴をみたす。特に、標準Ngram言語モデルは統計的言語モデルにおける条件確率p(w/w・・・wi−1)に対して以下の仮定をおく。
(1)有限履歴の仮定:現在入力されている文章の中の単語の条件確率は単純に前のn−1個の単語に関連し、中国語の文章全体には関連しない。ここで、nは前もって定義した自然数である。
(2)時間均一性の仮定:現在の単語の条件確率は、単語が中国語の文章に出現する位置とは無関係である。
以上の仮定に基づいて、標準Ngramモデルで確率を計算する式を以下のように簡略化することができる。
Figure 0005926378
以上の仮定に基づいて、標準統計的言語モデルにおける条件確率p(w/w・・・wi−1)を標準Ngram言語モデルにおけるp(w/wi−n+1i−n+2・・・wi−1)として簡略化する。新たな確率計算式では、現在の単語に関連する履歴単語の数は、標準統計的言語モデルにおける変数i−1ではなく、n−1に固定される。したがって、言語のパラメータ空間が削減される。Ngram確率を既存のトレーニング材料に基づいて正確に推定することができる。したがって、標準Ngram言語モデルは実現可能である。標準Ngram言語モデルでは、最大尤度推定法を用いて条件確率p(w/wi−n+1i−n+2・・・wi−1)を推定する。この推定式は以下で示される。
Figure 0005926378
ここで、c(wi−n+1...wi−1)は単語列wi−n+1...wi−1(文章内の一部の単語)がNgram言語モデルのトレーニング材料に出現する回数を示す。
しかし、標準Ngram言語モデリング方法には欠陥がある。他方、標準Ngram言語モデルはシンプルなモデルである。実際の適用では、中国語入力、手書き認識および音声認識のような気まぐれで無限の要求を有しうる。例えば、ユーザは、テクニカル・レポートを書くときもあればインターネットでチャットするときもある。これらの2つの状況では、ユーザの中国語入力要求は異なる。別の例では、様々な年齢のユーザが様々な生活体験のために様々な会話習慣を有することがある。これらのユーザが日常的に入力する内容が、中国語入力に反映され、大きな違いをもたらす。したがって、シンプルなモデルでは、様々な年齢のユーザが中国語を入力するための様々な要求と異なる状況下における1人のユーザの様々な要求とを満たすことはできない。様々な要求に対して同じモデルを使用すると、ユーザの入力の認識精度が影響を受ける。他方、標準Ngram言語モデルには自己学習機構がない。標準Ngram言語モデルにおいてパラメータが決定されると、当該パラメータをユーザの入力習慣に従ってインテリジェントに調節することはできない。したがって、ユーザの入力を認識する正解率は比較的低い。
本発明の例により提供する方法と装置は、様々なユーザの中国語を入力する要求を満たすことができ、認識正解率を高めることができる。
言語モデリングに現在使用されている標準Ngram言語モデルはシンプルなモデルであり、様々なユーザの文章を入力するための様々な要求を満たすことはできない。標準Ngram言語モデルは自己学習機構を有さないので、ユーザの入力習慣に従うインテリジェントな調整を学習して実施することはできない。したがって、ユーザの入力を認識する正解率は低い。以降では、中国語を例示的なユーザの入力とし、本発明の解決策を説明する。
実際の適用では、統計値の収集を通じて、ユーザが現在入力している内容(文章)が短期安定性を有すること、即ち、或る期間内のユーザの入力が一般に或る話題に関することがわかる。したがって、現在ユーザが入力している内容は比較的高い確率で後の入力でも出現する。換言すれば、音声入力、手書きまたはキーボード入力のようなどのような入力方式が使用されても、或る期間内のユーザの入力は同じ話題に関する。現在の入力されている話題または内容は「短期安定性」を有する。
したがって、以上の分析に基づいて、本発明の1例では、標準Ngram言語モデルとは対照的に、キャッシュ・ベースの言語モデリング方法を提供する。キャッシュ・データ構造に基づいて、現在ユーザにより入力されている内容を格納する。キャッシュされているデータに対して数学的分析を行って、ユーザ入力の数学モデルを生成する。ユーザの入力に沿って、キャッシュ・データ構造内の内容を連続的に更新する。ユーザの入力習慣はリアルタイムに学習される。したがって、マンマシン対話がよりインテリジェントになる。生成されたユーザ入力の数学モデルがますます正確になり、ユーザの実際の入力要求が満たされる。したがって、続くユーザの入力の最中に、より正確な認識を生成された数学モデルに従ってユーザの入力に対して実施することができる。動的学習が実現され、ユーザの入力要求が満たされる。
図6は、本発明の1例に従う言語モデリング方法を示す流れ図である。図6に示すように、当該方法は以下を含む。
ブロック601で、ユーザの入力を受信する。ユーザの入力における各単語の条件確率は、前もって生成された標準Ngram言語モデルに従ってそれぞれ計算される。
当該ブロックでは、ユーザの入力は、入力方法、手書き内容および音声入力等を介して入力された内容を含む。
入力方法で入力された内容に関して、キーボード処理プログラムが、ユーザが入力した文字を受信し、入力方法に従って当該文字に対して認識処理を実施してぴん音情報を取得し、当該ぴん音情報を対応する候補文字にマップして当該ユーザ入力を形成するマッピング・ユニットに当該ぴん音を出力する。
手書き入力に関して、予め構成した手書き認識プログラムがユーザの手書き情報を取り出して、手書き情報を取得する。マッピング・ユニットにより処理した後、当該手書き情報を対応する候補文字にマップしてユーザ入力を形成する。
音声入力に関して、予め構成した音声処理プログラムがサンプリング、量子化、フィルタリング、および雑音除去処理を実施して音声情報を取得する。マッピング・ユニットにより処理した後、音声情報を対応する候補文字にマップしてユーザ入力を形成する。
上述の例では、マッピング・ユニットにより実施されたぴん音情報、手書き情報および音声情報に対する処理は関連する技術文書から取得できるので、ここでは説明しない。
標準 Ngram言語モデルに従うユーザ入力における各単語の条件確率の計算は関連技術のものと同様であり、ここでは説明しない。
ブロック602では、予めキャッシュしたユーザ入力を決定する。ユーザ入力と当該予めキャッシュしたユーザ入力に従って、当該ユーザ入力における各単語の条件確率を、予め構成したキャッシュ・ベースの言語モデリング・ポリシに従って計算する。
当該ブロックでは、ユーザ入力が最初の入力である場合には、当該予めキャッシュしたユーザ入力は空である。各単語の確率の計算は関連技術のものと同様である。予め構成したキャッシュ・ベースの言語モデリング・ポリシは以下の通りである。
Figure 0005926378
ここで、pchache(w/wi−n+1i−n+2・・・wi−1,)は、i番目の単語wのキャッシュされた条件確率を示し、c(wi−n+1...wi−1)はキャッシュされたトレーニング材料に単語列wi−n+1...wi−1が出現する回数、即ち、i番目の単語とi番目の単語の前のn(予め定義した定数)個の単語を含む単語列が、キャッシュされたトレーニング材料に出現する回数を示し、c(wi−n+1...wi−2i−1)はキャッシュされたトレーニングに単語列wi−n+1...wi−2i−1が出現する回数、即ち、i番目の単語の前の所定数の単語を含む単語列が、キャッシュされたトレーニング材料をに出現する回数を示し、f(t)は時間関数を示す。当該式を以下でさらに詳細に説明する。
ブロック603では、混合条件確率が、標準Ngram言語モデルに基づいて計算された各単語の条件確率とキャッシュされたモデリング・ポリシに従って計算された各単語の条件確率とに従って計算され、各出力文章の文章確率が当該混合条件確率に基づいて計算される。当該ブロックでは、混合条件確率を計算するための式が以下のようであってもよい。
Figure 0005926378
ここで、αは0と1の間の定数である補間パラメータを示す。その値を実際の要件に従って決定してもよい。p(w/wi−n+1i−n+2・・・wi−1)は、標準Ngram言語モデルに基づいて計算したi番目の単語wの標準条件確率を示す。各出力文章の文章確率(即ち、オンスクリーン確率)を計算する式は以下の通りである。
Figure 0005926378
ブロック604では、最大確率の出力文章が出力されキャッシュされる。
図7は、本発明の1例に従う言語モデリング方法を示す流れ図である。図7に示すように、当該方法は以下を含む。
ブロック701では、標準Ngram言語モデルを前もって生成する。当該ブロックでは、標準Ngram言語モデルの生成は関連技術と同様である。標準Ngram言語モデルを、最大尤度推定法を用いてトレーニング材料から取得してもよい。
この時点では、ユーザは内容をまだ入力していない。したがって、予め構成したキャッシュは空である。
ブロック702では、ユーザの入力内容を受信する。ユーザの入力内容における各出力文章の文章確率(即ち、オンスクリーン確率)を、予め構成した標準Ngram言語モデルに従って計算する。
当該ブロックでは、ユーザは会話、手書き文字、光学文字またはキーボード入力を介して内容を入力してもよい。ユーザが入力を開始すると、その内容がマッピング・ユニットによって、標準Ngram言語モデル、即ち、入力内容のカーネル計算手続きに従って処理される候補単語にマップされる。夫々の可能な出力文章の確率を、標準Ngram言語モデルに従って計算する。当該手続きは関連技術と同様であり、ここでは説明しない。
ブロック703では、最大確率の出力文章を選択して出力する。当該ブロックでは、標準Ngram言語モデルに従って計算された夫々の可能な出力文章の確率に従って、最大確率の出力文章をユーザ出力として選択する。即ち、最大確率の出力文章を、認識された中国語の文章とする。1つの中国語の文章が1つまたは複数の単語を含んでもよい。
ブロック704では、出力文章が調節され、調節された出力文章が予め構成したキャッシュ領域に出力される。当該ブロックでは、ユーザが、出力文章が自身の入力要求を満たすかどうかをチェックしてもよい。出力文章が自身の入力要求にマッチしない場合には、調節を行ってもよい。例えば、ユーザが期待する出力文章は、「ZHE SHI SHI SHI」(「this is fact」に対応する中国語の文字)である。標準Ngram言語モデルに基づいて計算した最大確率の出力文章、即ち、ユーザ入力の認識結果は、「ZHE SHI SHI SHI」(「this is real time」に対応する中国語の文字)である。これは、ユーザが期待した入力要求にマッチしない。この時点で、ユーザは入力方法の候補に従って「SHI SHI」(「real time」に対応する中国語の文字)を「SHI SHI」(「fact」)に対応する中国語の文字)に調節し、調節した出力文章を予め構成したキャッシュ領域に出力する。
実際の適用では、キャッシュ領域にキャッシュされた内容をユーザが特定してもよい。
ブロック705では、キャッシュ領域内の文章をトレーニング材料とし、キャッシュ・ベースの言語モデルを作成する。当該ブロックでは、キャッシュ・ベースの言語モデルはキャッシュ領域に格納した内容に基づく。キャッシュ領域の内容は、ユーザの直近の入力に従って取得され、したがって、ユーザ固有の小型のトレーニング材料の辞書とみなすことができる。
他方、標準Ngram言語モデルと同様に、キャッシュ・ベースの言語モデルは、単語間の条件確率を計算することによって現在のユーザの入力の統計的特徴を記述する。中国語の文章の確率を、以下のように計算してもよい。
Figure 0005926378
ここで、Pchache(S)は、キャッシュ領域の内容に従って計算した中国語の文章の確率を示し、mは中国語の文章に含まれる単語の数を示し、wは中国語の文章に含まれるi番目の単語を示し、pcache(w/wi−n+1i−n+2・・・wi−1)は、中国語の文章における単語wの条件確率を示し、nは予め定義した定数を示す。
他方、ユーザ入力が「短期安定性」を有することは以前の統計分析に基づいて理解される。ここで、「短期」とは時間の次元を示す。即ち、現在のユーザの入力は、単に、直近のユーザの入力に関連するにすぎず、遠い過去にユーザが入力した内容とは無関係である。即ち、ユーザが現在入力している内容は通常は安定的である。現在の内容は現在の入力トピックに関連する。しばらくすると、ユーザが入力したトピックは変化する。その時点で、ユーザの入力内容は過去のユーザのトピックにはあまり関連しない。したがって、キャッシュ・ベースの言語モデルに基づくと、ユーザの現在の入力単語は、キャッシュ領域に最近追加された単語により関連しているが、遠い過去にキャッシュ領域に追加された単語とはあまり関連しない。
標準Ngram言語モデルとは異なり、キャッシュ領域の単語の条件確率は、現在の単語のコンテキスト語だけでなく、現在の単語がキャッシュ領域に追加された時刻にも関連する。したがって、時間因子を考慮すると、キャッシュ・ベースの言語モデルにおける確率式を以下のように調節してもよい。
Figure 0005926378
以前の条件確率
Figure 0005926378
と比較すると、調節後の文章確率
Figure 0005926378
では、時間変数パラメータtを考慮している。即ち、現在の単語wが出現する条件確率がコンテキスト語wi−n+1i−n+2・・・wi−1に関連するだけでなく、単語wが最後にキャッシュ領域に追加された時刻にも関連する。
キャッシュ・ベースの言語モデルでは、各単語の条件確率は当該単語のコンテキスト語だけでなく、当該単語が最後にキャッシュ領域に追加された時刻にも関連する。しかし、標準Ngram言語モデルにおける最大尤度推定法ではコンテキスト語だけでなく時間情報も考慮する。したがって、最大尤度推定法を、キャッシュ・ベースの言語モデルが必要とするパラメータのトレーニングに使用することはできない。キャッシュ・ベースの言語モデルにおける単語の条件確率を推定するために、時間情報を追加することによって最大尤度推定法を改良する。以下の式を使用して、条件確率pcache(w/wi−n+1i−n+2・・・wi−1,)の値を計算する。
Figure 0005926378
最大尤度推定法とは異なり、上式では、文章の条件確率に及ぼす時間因子の影響を記述するために時間関数f(t)を考慮している。時間関数f(t)は以下のように定義される。
Figure 0005926378
ここで、tは時間変数パラメータ、即ち、単語wがキャッシュ領域に入る時刻と現在の単語がユーザにより入力される時刻の間の時間間隔を示す。
実際の適用では、キャッシュ領域の基盤データ構造は待ち行列により実装され、時間変数パラメータの値は、キャッシュ領域内の単語wの位置であってもよい。例えば、単語が最初にキャッシュ領域に入るとき、単語wが待ち行列の先頭にあってその位置インデックスが1であると仮定すると、当該式における単語wに対応する時間変数パラメータtの値は1である。∂は条件確率推定における時間変数パラメータの重みを調節するための予め定義した定数である。
上記から、単語wがキャッシュ領域に入るのが早いほど、単語wがキャッシュ領域に入る時刻とユーザが文章を入力する時刻の間の時間間隔が長くなり、時間変数パラメータtの値が大きくなるほど、時間関数f(t)の値が小さくなることが分かる。したがって、条件確率pcache(w/wi−n+1i−n+2・・・wi−1,)の値は小さくなる。対照的に、単語wがキャッシュ領域に入るのが遅くなるほど、単語wがキャッシュ領域に入る時刻とユーザが文章を入力する時刻の間の時間間隔が短くなり、時間変数パラメータtの値が小さくなるほど、時間関数f(t)の値が大きくなる。したがって、条件確率pcache(w/wi−n+1i−n+2・・・wi−1,)の値は大きくなる。
ブロック706で、ユーザが入力した内容が受信される。各出力文章の文章確率は、予め生成した標準Ngram言語モデルと新規作成したキャッシュ・ベースの言語モデルに従って、ユーザが入力した内容に対して計算される。
当該ブロックでは、ユーザの入力手続きの最中に、混合モデルが標準Ngram言語モデルと新規作成したキャッシュ・ベースの言語モデルとに基づいて形成される。ユーザの入力は混合モデルに従って処理され、処理結果が生成される。
本発明の1例では、線形補間方法を使用して、キャッシュ・ベースの言語モデルにおける条件確率pcache(w/wi−n+1i−n+2・・・wi−1,)と標準Ngram言語モデルにおける条件確率p(w/wi−n+1i−n+2・・・wi−1)を組み合わせる。混合条件確率pmixture(w/wi−n+1i−n+2・・・wi−1)を以下の式に従って計算する。
Figure 0005926378
ここで、αは0と1の間の定数である補間パラメータを示す。αは、混合モデルにおいて、キャッシュ・ベースの言語モデルでの条件確率と標準Ngram言語モデルでの条件確率の重みを調節するために使用される。上述の混合モデルによれば、m個の単語を含む中国語の文章S=w・・・wの確率を以下のように計算してもよい。
Figure 0005926378
例えば、ユーザが過去に「XIAO JING HUI SHI TENG XUN YUAN GONG」を入力した場合、標準Ngram言語モデルに基づいて認識した後、3つの文字「XIAO」、「JING」および「HUI」と、単語「SHI」、「TENG XUN YUAN GONG」がキャッシュ領域にキャッシュされる。ユーザが「XIAO JING HUI XIE LE YI PIAN ZHUAN LI」を後に入力したとき、キャッシュ・ベースの言語領域内のキャッシュ領域に格納された3つの文字「XIAO」、「JING」および「HUI」がユーザが現在入力している文章に影響を及ぼす。キャッシュ領域に文字「XIAO」、「JING」および「HUI」が存在しない場合には、ユーザが入力したときに「XIAO JING HUI」が誤って変換される確率が高い。しかし、キャッシュ領域にキャッシュされた情報によれば、「XIAO JING HUI」が正しく変換される確率は高い。したがって、入力「XIE JING HUI XIE LE YI PIAN ZHUAN LI」が、入力方法により正確に変換される確率は高い。
以上から、キャッシュ・ベースの言語モデルがユーザの入力に基づいて連続的に生成されることが分かる。キャッシュ・ベースの言語モデルは、ユーザの現在の入力シナリオ情報を反映し、他方でユーザの入力習慣を反映する。標準Ngram言語モデルをキャッシュ・ベースの言語モデルと組み合わせることによって、ユーザの入力シナリオと入力習慣を効果的に学習しこれらに自己適応する。
ブロック707では、最大確率の出力文章を出力する。ブロック708では、キャッシュ領域にキャッシュされた文章を、出力された文章に従って更新する。
実験によれば、標準Ngram言語モデルと比べて、本発明の例で提供したキャッシュ・ベースの言語モデリング方法はユーザ入力の認識正解率が高い。さらに、当該モデリング方法に基づく中国語入力ソフトウェアはよりインテリジェントである。
本発明の例で提供した言語モデリング方法は、中国語の入力方法だけでなく、日本語、韓国語、およびカンボジア語のような他のアジア言語の入力方法にも適用可能であることに留意されたい。これらの言語に対するモデリング言語は中国語のものと同様であるので、ここでは繰り返さない。
図8は、本発明の1例に従う言語モデリング装置の構造を示す略図である。図8に示すように、当該装置は、標準Ngrm言語モデル・モジュール801、キャッシュ・モジュール802、キャッシュ・ベースの言語モデリング・モジュール803および混合モデル・モジュール804を備える。
標準Ngram言語モデル・モジュール801は、ユーザの入力を受信し、ユーザ入力における各単語の標準条件確率をそれぞれ計算し、当該条件確率を混合モデル・モジュール804に出力する。本例では、標準Ngram言語モデル・モジュール801により各単語の条件確率を計算するための式は以下の通りである。
Figure 0005926378
ここで、C(wi−n+1・・・wi−1)は、単語列wi−n+1・・・wi−1が標準Ngram言語モデルのトレーニング材料に出現する回数を示し、wは中国語の文章におけるi番目の単語を示し、nは予め構成した定数である。キャッシュ・モジュールは、混合モデル・モジュールにより出力された文章をキャッシュする。
キャッシュ・ベースの言語モデリング・モジュール803は、ユーザ入力と、予め構成したキャッシュ・ベースの言語モデリング・ポリシに基づいてキャッシュ・モジュール802にキャッシュした文章とに従って、ユーザ入力内の各単語の条件確率をそれぞれ計算し、当該条件確率を混合モデル・モジュール804に出力する。本例では、キャッシュ・ベースの言語モデリング・モジュール803が次式に従って各単語の条件確率を計算してもよい。
Figure 0005926378
ここで、C(wi−n+1・・・wi−1)は、単語列wi−n+1・・・wi−1がキャッシュ・ベースの言語モデルのトレーニング材料に出現する回数を示し、wは中国語の文章におけるi番目の単語を示し、nは予め構成した定数であり、f(t)は時間関数を示す。
混合モデル・モジュール804は、標準条件確率とキャッシュ条件確率に従って各単語の混合条件確率を計算し、当該混合条件確率に従って各出力文章の文章確率を取得し、最大確率の出力文章を選択して出力する。1例では、当該混合条件確率の計算式は以下の通りである。
Figure 0005926378
ここで、αは0と1の間の定数である補間パラメータである。出力文章の文章確率を次のように計算してもよい。
Figure 0005926378
ここで、mは中国語の文章に含まれる単語の数を示す。
標準Ngram言語モデル・モジュール801は、第1の単語列頻度計数ユニット、第2の単語列頻度計数ユニットおよび標準条件確率計算ユニット(図示せず)を備える。第1の単語列頻度計数ユニットは、i番目の単語と当該i番目の単語の前の所定数の単語とを含む単語列が標準Ngram言語モデルのトレーニング材料に出現する回数k’を取得し、k’を標準条件確率計算ユニットに出力する。第2の単語列頻度計数ユニットは、i番目の単語の前の所定数の単語を含む単語列が標準Ngram言語モデルのトレーニング材料に出現する回数k’i−1を取得し、k’i−1を標準条件確率計算ユニットに出力する。標準確率計算ユニットは、k’i−1に対するk’の比を計算し、当該比をユーザ入力におけるi番目の単語の標準条件確率とする。
キャッシュ・ベースの言語モデリング・モジュール803は、第3の単語列頻度計数ユニット、第4の単語列頻度計数ユニット、時間関数値取得ユニットおよびキャッシュ条件確率計算ユニット(図示せず)を備える。第3の単語列頻度計数ユニットは、i番目の単語とi番目の単語の前の所定数の単語とを含む単語列がキャッシュされたトレーニング材料に出現する回数kを取得し、kを標準条件確率計算ユニットに出力する。第4の単語列頻度計数ユニットは、i番目の単語の前の所定数の単語を含む単語列がキャッシュされたトレーニング材料に出現する回数ki−1を取得し、ki−1を標準条件確率計算ユニットに出力する。時間関数値計算ユニットは、i番目の単語の時間関数値を取得し、当該値をキャッシュ条件確率計算ユニットに出力する。キャッシュ条件確率計算ユニットは、ki−1に対するkの比を計算し、当該比にi番目の単語の時間関数値を乗じて、ユーザ入力におけるi番目の単語のキャッシュ条件確率を取得する。
混合モデル・モジュール804は、補間パラメータ格納ユニット、第1の乗算ユニット、第2の乗算ユニット、混合条件確率計算ユニット、文章確率計算ユニットおよび出力文章選択ユニット(図示せず)を備える。
補間パラメータ格納ユニットは、その値が0と1の間で前もって構成される補間パラメータを格納する。第1の乗算ユニットは、補間パラメータ格納ユニットに格納された補間パラメータとi番目の単語の標準条件確率の積を計算し、当該積を混合条件確率計算ユニットに出力する。第2の乗算ユニットは、1と当該補間の間の差分を計算し、当該差分とi番目の単語のキャッシュ条件確率の積を計算し、当該積を混合条件確率計算ユニットに出力する。混合条件確率計算ユニットは、i番目の単語に関連する積を加算し、その和をi番目の単語の混合条件確率とする。文章確率計算ユニットは、各単語の混合条件確率の積を計算して出力文章の文章確率を得る。出力文章選択ユニットは、文章確率計算ユニットにより計算した最大文章確率を選択し、最大文章確率に対応する出力文章を出力する。
以上から、本発明の例で提供した言語モデリング方法および装置によれば、ユーザ入力がキャッシュされることが分かる。キャッシュされたユーザ入力は、ユーザ入力の履歴情報とユーザ入力のシナリオに関連するものである。したがって、キャッシュ・ベースの言語モデルは自己学習機能を有し、これが当該言語モデルをよりインテリジェントにする。他方、ユーザの各入力習慣を学習することによって、マンマシン対話ソフトウェアは、様々なユーザ・グループとアプリケーションのシナリオに適合することができる。例えば、少なくとも以下の利点がある。
1つ目は、言語モデルの性能が向上することである。様々なユーザの中国語入力要求が満たされる。予測正解率が増大する。音声認識、手書き文字認識、中国語のキーボード入力方法、光文字認識等のような多数の領域に適用可能であり、関連システムの正解率が高まる。
2つ目は、本発明の解決策に基づいて、情報検索システムを言語モデルに基づいて構築して当該情報検索システムの性能、例えば、正解率、再現率等を向上できることである。
本明細書で説明し例示したものは、その変形の一部に沿った開示の好適な例である。本明細書で使用した用語、説明、および図は、例として示したものにすぎず限定を意味するものではない。本発明の趣旨と範囲に入る多数の変形が可能である。本発明の趣旨と範囲は、添付の特許請求の範囲とその均等物により定義され、全ての用語は特に明記しない限りその最も広い合理的な意味を有する。
102 検索モジュール
104 候補単語リスト生成モジュール
106 確率計算モジュール
108 ソート・モジュール
110 出力モジュール
112 ユーザ言語モジュール生成モジュール
114 ユーザ言語モジュール更新モジュール

Claims (20)

  1. ーザ入力を取得するステップと、
    前記ユーザ入力に従って候補文章リストを生成するステップと、
    前記候補文章リスト内の各候補文章に対して、
    普遍的言語モデルに従って前記候補文章における各単語の標準条件確率をそれぞれ計算するステップと
    予め構成したキャッシュ・ベースの言語モデリング・ポリシ、前記ユーザ入力、および予めキャッシュしたユーザ入力に従って前記候補文章における各単語のキャッシュ条件確率をそれぞれ計算するステップと
    前記標準条件確率と前記キャッシュ条件確率に従って各単語の混合条件確率を計算するステップと
    前記混合条件確率に従って前記候補文章のオンスクリーン確率を取得するステップと、
    候補文章を、前記候補文章のオンスクリーン確率に従って前記候補文章リストにおいてソートするステップと、
    ソートした前記候補文章リストを出力するステップと、
    を含み、
    前記候補文章における各単語の前記キャッシュ条件確率をそれぞれ計算するステップは、
    前記予めキャッシュしたユーザ入力において第1の単語列が発生する回数k を取得するステップであって、前記第1の単語列は前記候補文章から取得されるとともに、前記候補文章におけるi番目の単語と前記i番目の単語の前の予め定義した定数n個の連続する単語とを含む、ステップと、
    前記予めキャッシュしたユーザ入力において第2の単語列が発生する回数k i-1 を取得するステップであって、前記第2の単語列は前記候補文章から取得されるとともに、前記i番目の単語の前の前記n個の連続する単語を含む、ステップと、
    前記i番目の単語の時間関数値を取得するステップであって、前記時間関数値は、前記i番目の単語が前記予めキャッシュしたユーザ入力のために使用されるキャッシュ領域に入る時刻に関する、ステップと、
    i−1 に対するk の比を計算するステップであって、前記比に前記i番目の単語の前記時間関数値を乗じて前記候補文章における前記i番目の単語の前記キャッシュ条件確率を取得するステップと、
    をさらに含む
    テキスト入力方法。
  2. 前記予めキャッシュしたユーザ入力はユーザ識別子に対応し、
    前記ユーザ識別子は、ユーザが入力ソフトウェアに登録したアカウント、または前記ユーザに割り当てられた識別番号、または、前記ユーザが使用する装置に関連するIPアドレスもしくはMACアドレスである、請求項1に記載のテキスト入力方法。
  3. ソートされた前記候補文章リストにおいて、最大オンスクリーン確率を有する文章が選択および出力され、前記最大オンスクリーン確率を有する前記文章が前記予めキャッシュしたユーザ入力においてキャッシュされ、
    前記普遍的言語モデルに従って前記候補文章における各単語の前記標準条件確率をそれぞれ計算するステップは、
    予め生成した標準Ngram言語モデルに従って前記候補文章における各単語の前記標準条件確率をそれぞれ計算するステップを含む、請求項1に記載のテキスト入力方法。
  4. 前記時間関数値は、前記i番目の単語が前記キャッシュ領域に入り単語がユーザにより現在入力されるまでの時間間隔により予め構成した定数を除することによって取得された結果である、請求項に記載のテキスト入力方法。
  5. 前記候補文章における前記i番目の単語の前記標準条件確率を計算するステップは、
    第3の単語列が前記標準Ngram言語モデルのトレーニング材料において発生する回数k’を取得するステップであって、前記第3の単語列は前記候補文章から取得されるとともに、前記i番目の単語と前記i番目の単語の前の予め構成した定数n個の連続する単語とを含む、ステップと、
    第4の単語列が前記標準Ngram言語モデルの前記トレーニング材料において発生する回数k’i−1を取得するステップであって、前記第4の単語列は前記候補文章から取得されるとともに、前記i番目の単語の前の前記n個の連続する単語を含む、ステップと、
    k’i−1に対するk’の比を計算し、当該比を前記候補文章の前記i番目の単語の前記標準条件確率とするステップと、
    を含む、請求項に記載のテキスト入力方法。
  6. 前記候補文章におけるi番目の単語の前記混合条件確率を計算するステップは、
    A1:0と1の間の補間パラメータを決定するステップと、
    A2:前記i番目の単語の前記標準条件確率の補間の積を決定するステップと、
    A3:1と前記補間パラメータと前記i番目の単語の前記キャッシュ条件確率の間の差分の積を計算するステップと、
    A4:A2とA3で取得した前記積の和を計算し、前記和を前記i番目の単語の前記混合条件確率とするステップと、
    を含む、請求項に記載のテキスト入力方法。
  7. 前記候補文章の前記オンスクリーン確率を取得するステップは、
    前記候補文章に含まれる各単語の前記混合条件確率をそれぞれ取得するステップと、
    各単語の前記混合条件確率を乗じて、前記候補文章の前記オンスクリーン確率を取得するステップと、
    を含む、請求項に記載の方法。
  8. キャッシュされた前記ユーザ入力は待ち行列データ構造を使用し、前記i番目の単語の時間間隔の値は、キャッシュ待ち行列における前記i番目の単語の位置である、請求項に記載のテキスト入力方法。
  9. 最大オンスクリーン確率を有する文章を選択して出力した後、かつ、前記文章をキャッシュする前に、出力された前記文章を調整するステップをさらに含む、請求項乃至の何れか1項に記載のテキスト入力方法。
  10. 前記ユーザ入力は、入力方法、手書き入力、または音声認識入力を介して入力された内容を含む、請求項に記載のテキスト入力方法。
  11. 前記予めキャッシュしたユーザ入力が空であるときには、前記候補文章における各単語の前記キャッシュ条件確率は前記単語の前記標準条件確率に等しい、請求項に記載のテキスト入力方法。
  12. 普遍的言語モデル・モジュール、キャッシュ・モジュール、キャッシュ・ベースの言語モデリング・モジュールおよび混合モデル・モジュールを備え、
    前記普遍的言語モデル・モジュールはユーザ入力を受信し、前記ユーザ入力に従って候補文章リストを生成し、各候補文章における各単語の標準条件確率をそれぞれ計算し、前記標準条件確率を前記混合モデル・モジュールに出力し、
    前記キャッシュ・モジュールは、前記混合モデル・モジュールにより出力された文章をキャッシュし、
    前記キャッシュ・ベースの言語モデリング・モジュールは、各候補文章における各単語のキャッシュ条件確率を、予め構成したキャッシュ・ベースの言語モデリング・ポリシ、前記キャッシュ・モジュールにキャッシュした前記ユーザ入力および前記文章にしたがってそれぞれ計算し、前記キャッシュ条件確率を前記混合モデル・モジュールに出力し、
    前記混合モデル・モジュールは、前記標準条件確率と前記キャッシュ条件確率に従って各単語の混合条件確率を計算し、前記混合条件確率に従って各候補文章の文章確率を計算し、最大文章確率を有する文章を選択および出力
    前記キャッシュ・ベースの言語モデリング・モジュールは、第1の単語列頻度計数ユニット、第2の単語列頻度計数ユニット、時間関数値取得ユニットおよびキャッシュ条件確率計算ユニットを備え、
    前記第1の単語列頻度計数ユニットは、前記キャッシュ・モジュールから、キャッシュしたトレーニング材料において第1の単語列が発生する回数k を取得し、k を前記キャッシュ条件確率計算ユニットに出力し、前記第1の単語列は前記候補文章から取得されるとともに、前記候補文章におけるi番目の単語と前記i番目の単語の前の予め定義した定数n個の連続する単語とを含み、
    前記第2の単語列頻度計数ユニットは、前記キャッシュ・モジュールから、前記キャッシュしたトレーニング材料において第2の単語列が発生する回数k i-1 を取得し、k i-1 を前記キャッシュ条件確率計算ユニットに出力し、前記第2の単語列は前記候補文章から取得されるとともに、前記i番目の単語の前の前記n個の連続する単語を含み、
    前記時間関数値取得ユニットは、前記i番目の単語の時間関数値を取得し、前記値を前記キャッシュ条件確率計算ユニットに出力し、前記時間関数値は、前記i番目の単語が前記キャッシュ・モジュールに入る時刻に関し、
    前記キャッシュ条件確率計算ユニットは、k i−1 に対するk の比を計算し、前記比に前記i番目の単語の前記時間関数値を乗じて前記候補文章における前記i番目の単語の前記キャッシュ条件確率を取得する
    テキスト処理装置。
  13. 前記普遍的言語モデルは標準Ngram言語モデル・モジュールであり、前記標準Ngram言語モデル・モジュールは、第の単語列頻度計数ユニット、第の単語列頻度計数ユニットおよび標準条件確率計算ユニットを備え、
    前記第の単語列頻度計数ユニットは、第3の単語列が前記標準Ngram言語モデルのトレーニング材料において発生する回数k’を取得し、k’を前記標準条件確率計算ユニットに出力し、前記第3の単語列は前記候補文章から取得されるとともに、前記i番目の単語と前記i番目の単語の前の予め構成された定数n個の連続する単語を含み、
    前記第の単語列頻度計数ユニットは、第4の単語列が前記標準Ngram言語モデルの前記トレーニング材料において発生する回数k’i−1を取得し、k’i−1を前記標準条件確率計算ユニットに出力し、前記第4の単語列は前記候補文章から取得されるとともに、前記i番目の単語の前の前記n個の連続する単語を含み、
    標準確率計算ユニットが、k’i−1に対するk’の比を計算し、当該比を前記候補文章における前記i番目の単語の前記標準条件確率とする、
    請求項12に記載のテキスト処理装置。
  14. 前記混合モデル・モジュールは、補間パラメータ格納ユニット、第1の乗算ユニット、第2の乗算ユニット、混合条件確率計算ユニット、文章確率計算ユニットおよび出力文章選択ユニットを備え、
    前記補間パラメータ格納ユニットは、値が前もって0と1の間で構成された補間パラメータを格納し、
    前記第1の乗算ユニットは、前記補間パラメータ格納ユニットに格納された前記補間パラメータと前記i番目の単語の前記標準条件確率の積を計算して、前記積を前記混合条件確率計算ユニットに出力し、
    前記第2の乗算ユニットは、1と前記補間パラメータの差分を計算して、前記差分と前記i番目の単語の前記キャッシュ条件確率の積を計算し、前記積を前記混合条件確率計算ユニットに出力し、
    前記混合条件確率計算ユニットは、前記i番目の単語に関する積を加算し、和を前記i番目の単語の前記混合条件確率とし、
    前記文章確率計算ユニットは、各単語の前記混合条件確率の積を計算して、出力文章の前記文章確率を取得し、
    前記出力文章選択ユニットは、前記文章確率計算ユニットによって計算した最大文章確率を選択して、前記最大文章確率に対応する前記出力文章を出力する、
    請求項13に記載のテキスト処理装置。
  15. 前記時間関数値は、前記i番目の単語が前記キャッシュ・モジュールに入り単語がユーザにより現在入力されるまでの時間間隔により予め構成した定数を除することによって取得された結果である、請求項12に記載のテキスト処理装置。
  16. 前記キャッシュ・モジュールは、待ち行列データ構造を使用するようにさらに構成され、前記i番目の単語の前記時間間隔の前記値は、キャッシュ待ち行列における前記i番目の単語の位置である、請求項15に記載のテキスト処理装置。
  17. 前記混合モデル・モジュールが前記最大文章確率を有する前記文章を出力した後、ユーザが前記文章を調整するとき、前記キャッシュ・モジュールは、前記ユーザが調整した前記文章をキャッシュするようにさらに構成される、請求項12に記載のテキスト処理装置。
  18. 前記ユーザ入力は、入力方法、手書き入力、または音声認識入力を介して入力された内容を含む、請求項12に記載のテキスト処理装置。
  19. 前記キャッシュ・モジュールが空であるときには、前記候補文章における各単語の前記キャッシュ条件確率は前記単語の前記標準条件確率に等しい、請求項12に記載のテキスト処理装置。
  20. 前記キャッシュ・モジュールはユーザ識別子に対応し、
    前記ユーザ識別子はユーザが入力ソフトウェアに登録したアカウント、または前記ユーザに割り当てられた識別番号、または、前記ユーザが使用する装置に関連するIPアドレスもしくはMACアドレスである、請求項12に記載のテキスト処理装置。
JP2014519401A 2011-07-14 2012-07-13 テキスト入力方法、装置、およびシステム Active JP5926378B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201110197062.2A CN102880611B (zh) 2011-07-14 2011-07-14 一种语言建模方法及语言建模装置
CN201110197062.2 2011-07-14
CN201110209014.0 2011-07-25
CN201110209014.0A CN102902362B (zh) 2011-07-25 2011-07-25 文字输入方法及系统
PCT/CN2012/078591 WO2013007210A1 (zh) 2011-07-14 2012-07-13 文字输入方法、装置及系统

Publications (2)

Publication Number Publication Date
JP2014521158A JP2014521158A (ja) 2014-08-25
JP5926378B2 true JP5926378B2 (ja) 2016-05-25

Family

ID=47505527

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014519401A Active JP5926378B2 (ja) 2011-07-14 2012-07-13 テキスト入力方法、装置、およびシステム

Country Status (4)

Country Link
US (1) US9176941B2 (ja)
EP (1) EP2733582A4 (ja)
JP (1) JP5926378B2 (ja)
WO (1) WO2013007210A1 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150002506A1 (en) * 2013-06-28 2015-01-01 Here Global B.V. Method and apparatus for providing augmented reality display spaces
CN103870553B (zh) * 2014-03-03 2018-07-10 百度在线网络技术(北京)有限公司 一种输入资源推送方法及系统
CN104281649B (zh) * 2014-09-09 2017-04-19 北京搜狗科技发展有限公司 一种输入方法、装置及电子设备
CN107305575B (zh) 2016-04-25 2021-01-26 北京京东尚科信息技术有限公司 人机智能问答系统的断句识别方法和装置
CN107688398B (zh) * 2016-08-03 2019-09-17 中国科学院计算技术研究所 确定候选输入的方法和装置及输入提示方法和装置
US10102199B2 (en) 2017-02-24 2018-10-16 Microsoft Technology Licensing, Llc Corpus specific natural language query completion assistant
CN108573706B (zh) * 2017-03-10 2021-06-08 北京搜狗科技发展有限公司 一种语音识别方法、装置及设备
CN107193973B (zh) * 2017-05-25 2021-07-20 百度在线网络技术(北京)有限公司 语义解析信息的领域识别方法及装置、设备及可读介质
US10943583B1 (en) * 2017-07-20 2021-03-09 Amazon Technologies, Inc. Creation of language models for speech recognition
KR102157390B1 (ko) * 2017-12-01 2020-09-18 한국전자통신연구원 언어모델에 기반한 한국어 생략 성분 복원 방법
CN110245331A (zh) * 2018-03-09 2019-09-17 中兴通讯股份有限公司 一种语句转换方法、装置、服务器及计算机存储介质
CN108920560B (zh) * 2018-06-20 2022-10-04 腾讯科技(深圳)有限公司 生成方法、训练方法、装置、计算机可读介质及电子设备
US11205045B2 (en) * 2018-07-06 2021-12-21 International Business Machines Corporation Context-based autocompletion suggestion
US11074317B2 (en) 2018-11-07 2021-07-27 Samsung Electronics Co., Ltd. System and method for cached convolution calculation
CN110413745B (zh) * 2019-06-21 2023-06-23 创新先进技术有限公司 选择代表文本的方法、确定标准问题的方法及装置
CN110807316B (zh) * 2019-10-30 2023-08-15 安阳师范学院 一种汉语选词填空方法
CN110866499B (zh) * 2019-11-15 2022-12-13 爱驰汽车有限公司 手写文本识别方法、系统、设备及介质
CN113589949A (zh) * 2020-04-30 2021-11-02 北京搜狗科技发展有限公司 一种输入方法、装置和电子设备
CN116306612A (zh) * 2021-12-21 2023-06-23 华为技术有限公司 一种词句生成方法及相关设备
US11546323B1 (en) 2022-08-17 2023-01-03 strongDM, Inc. Credential management for distributed services
US11736531B1 (en) 2022-08-31 2023-08-22 strongDM, Inc. Managing and monitoring endpoint activity in secured networks
US11765159B1 (en) 2022-09-28 2023-09-19 strongDM, Inc. Connection revocation in overlay networks
US11916885B1 (en) 2023-01-09 2024-02-27 strongDM, Inc. Tunnelling with support for dynamic naming resolution
US11765207B1 (en) * 2023-03-17 2023-09-19 strongDM, Inc. Declaring network policies using natural language

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6418431B1 (en) * 1998-03-30 2002-07-09 Microsoft Corporation Information retrieval and speech recognition based on language models
US7165019B1 (en) * 1999-11-05 2007-01-16 Microsoft Corporation Language input architecture for converting one text form to another text form with modeless entry
US7395205B2 (en) * 2001-02-13 2008-07-01 International Business Machines Corporation Dynamic language model mixtures with history-based buckets
US7103534B2 (en) * 2001-03-31 2006-09-05 Microsoft Corporation Machine learning contextual approach to word determination for text input via reduced keypad keys
US7111248B2 (en) * 2002-01-15 2006-09-19 Openwave Systems Inc. Alphanumeric information input method
CN1258725C (zh) * 2003-04-18 2006-06-07 清华大学 基于语义构词约束的汉语二字词抽取方法
JP2006107353A (ja) * 2004-10-08 2006-04-20 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
US7917355B2 (en) * 2007-08-23 2011-03-29 Google Inc. Word detection
JP2009075582A (ja) * 2007-08-29 2009-04-09 Advanced Media Inc 端末装置、言語モデル作成装置、および分散型音声認識システム
CN101131706B (zh) * 2007-09-28 2010-10-13 北京金山软件有限公司 一种查询修正方法及系统
CN101206673A (zh) * 2007-12-25 2008-06-25 北京科文书业信息技术有限公司 网络搜索过程中关键词的智能纠错系统及方法
JP5475795B2 (ja) * 2008-11-05 2014-04-16 グーグル・インコーポレーテッド カスタム言語モデル
US20100131447A1 (en) * 2008-11-26 2010-05-27 Nokia Corporation Method, Apparatus and Computer Program Product for Providing an Adaptive Word Completion Mechanism
US8706643B1 (en) * 2009-01-13 2014-04-22 Amazon Technologies, Inc. Generating and suggesting phrases
JP5054711B2 (ja) * 2009-01-29 2012-10-24 日本放送協会 音声認識装置および音声認識プログラム
GB0905457D0 (en) * 2009-03-30 2009-05-13 Touchtype Ltd System and method for inputting text into electronic devices
US8260615B1 (en) * 2011-04-25 2012-09-04 Google Inc. Cross-lingual initialization of language models
US20120297294A1 (en) * 2011-05-17 2012-11-22 Microsoft Corporation Network search for writing assistance

Also Published As

Publication number Publication date
EP2733582A4 (en) 2015-01-14
JP2014521158A (ja) 2014-08-25
US20140136970A1 (en) 2014-05-15
WO2013007210A1 (zh) 2013-01-17
US9176941B2 (en) 2015-11-03
EP2733582A1 (en) 2014-05-21

Similar Documents

Publication Publication Date Title
JP5926378B2 (ja) テキスト入力方法、装置、およびシステム
US9606986B2 (en) Integrated word N-gram and class M-gram language models
US10217463B2 (en) Hybridized client-server speech recognition
CN107330120B (zh) 询问应答方法、询问应答装置及计算机可读存储介质
US10431214B2 (en) System and method of determining a domain and/or an action related to a natural language input
US9043199B1 (en) Manner of pronunciation-influenced search results
JP5901001B1 (ja) 音響言語モデルトレーニングのための方法およびデバイス
JP2021182168A (ja) 音声認識システム
CN106774970B (zh) 对输入法的候选项进行排序的方法和装置
US7953692B2 (en) Predicting candidates using information sources
CN106873799B (zh) 输入方法和装置
US20160188292A1 (en) System and method for interpreting natural language inputs based on storage of the inputs
US9336771B2 (en) Speech recognition using non-parametric models
US11037551B2 (en) Language model biasing system
US20170062010A1 (en) Computerized system and method for formatted transcription of multimedia content
US20140365880A1 (en) Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2021126388A1 (en) Controllable grounded text generation
KR20110093785A (ko) 사용자 정의 언어 모델들
US11043215B2 (en) Method and system for generating textual representation of user spoken utterance
CN107424612B (zh) 处理方法、装置和机器可读介质
JP6205039B1 (ja) 情報処理装置、情報処理方法、およびプログラム
WO2021098876A1 (zh) 一种基于知识图谱的问答方法及装置
CN111159526B (zh) 查询语句处理方法、装置、设备及存储介质
CN114254634A (zh) 一种多媒体数据的挖掘方法、装置、存储介质及设备
CN111539208B (zh) 语句处理方法和装置、以及电子设备和可读存储介质

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20140925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140925

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150630

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: 20160328

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160421

R150 Certificate of patent or registration of utility model

Ref document number: 5926378

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250