(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-19
(45)【発行日】2024-07-29
(54)【発明の名称】テキスト予測方法、装置、機器及び記憶媒体
(51)【国際特許分類】
G06F 16/35 20190101AFI20240722BHJP
【FI】
G06F16/35
(21)【出願番号】P 2021077732
(22)【出願日】2021-04-30
【審査請求日】2021-04-30
【審判番号】
【審判請求日】2023-05-24
(31)【優先権主張番号】202010888432.6
(32)【優先日】2020-08-28
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】110000578
【氏名又は名称】名古屋国際弁理士法人
(72)【発明者】
【氏名】ヤン チェン
(72)【発明者】
【氏名】ヤン ティエンシン
(72)【発明者】
【氏名】ペン ビン
(72)【発明者】
【氏名】ジャン イーリン
(72)【発明者】
【氏名】ソン シュンチャオ
【合議体】
【審判長】林 毅
【審判官】脇岡 剛
【審判官】大塚 俊範
(56)【参考文献】
【文献】特開2000-285140(JP,A)
【文献】特開2012-008754(JP,A)
【文献】米国特許出願公開第2009/0006944(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
テキスト予測装置によって実現されるテキスト予測方法であって、
予測対象のテキストを分割して、少なくとも2つの文を取得するステップと、
前記少なくとも2つの文の数を統計するステップと、
統計によって得られた文の数が設定された数の閾値以上である場合、前記少なくとも2つの文を分割して、少なくとも2つの文セットを取得し、前記少なくとも2つの文セットのうちの1つの文セットをターゲットデバイスのメモリに書き込むステップであって、前記ターゲットデバイスとは、予測操作を実行するデバイスであるステップと、
統計によって得られた文の数が設定された数の閾値より小さい場合、前記少なくとも2つの文を前記メモリに書き込むステップと、
前記ターゲットデバイスに含まれるCPU(中央処理装置)コアの数に基づいて、前記メモリに書き込んだ前記1つの文セット又は前記少なくとも2つの文を1つ以上の文群にグループ化するステップと、
グループ化によって得られた文群の数が2つ以上である場合、少なくとも2つの文群の文の文長に基づいて、調整された前記少なくとも2つの文群間の予測時間差が設定された差の閾値より小さくなるように、前記少なくとも2つの文群の文を調整するステップと、
調整によって得られた各文群を前記ターゲットデバイスの各CPUコアに割り当て、前記各CPUコアによって前記各文群を逐語的に予測するステップと、
前記統計するステップによって得られた文の数が設定された数の閾値以上である場合には、すべての文セットに対する予測が完了するまで、予測結果を保存し、当該文セットを前記メモリから削除し、他の文セットを前記メモリに書き込んで予測処理するステップと、
前記各文群の予測結果に基づいて、前記予測対象のテキストの予測結果を決定するステップと、
を含み、
前記予測対象のテキストとは、ラベル予測対象のテキストである、
ことを特徴とするテキスト予測方法。
【請求項2】
前記少なくとも2つの文群の文の文長に基づいて、前記少なくとも2つの文群の文を調整するステップは、
前記少なくとも2つの文群における各文群の文の文長を累計して、少なくとも2つの合計文長を取得するステップと、
取得された少なくとも2つの合計文長に基づいて、前記少なくとも2つの文群の文を調整するステップと、を含む、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記取得された少なくとも2つの合計文長に基づいて、前記少なくとも2つの文群の文を調整するステップは、
前記少なくとも2つの合計文長を比較するステップと、
比較結果に基づいて、前記少なくとも2つの文群のうちの1つの文群の文を、当該文群以外の少なくとも1つの他の文群に移動させるステップと、を含む、
ことを特徴とする請求項2に記載の方法。
【請求項4】
テキスト予測装置であって、
予測対象のテキストを分割して、少なくとも2つの文を取得するための文抽出モジュールと、
前記少なくとも2つの文の数を統計する数量統計モジュールと、
統計によって得られた文の数が設定された数の閾値以上である場合、前記少なくとも2つの文を分割して、少なくとも2つの文セットを取得する文分割モジュールと、
前記少なくとも2つの文セットのうちの1つの文セットをターゲットデバイスのメモリに書き込む文書き込みユニットであって、前記ターゲットデバイスとは、予測操作を実行するデバイスであり、また、統計によって得られた文の数が設定された数の閾値より小さい場合、前記少なくとも2つの文を前記メモリに書き込む文書き込みユニットと、
前記ターゲットデバイスに含まれるCPU(中央処理装置)コアの数に基づいて、前記メモリに書き込んだ前記1つの文セット又は前記少なくとも2つの文を1つ以上の文群にグループ化する文グループ化モジュールと、
グループ化によって得られた文群の数が2つ以上である場合、少なくとも2つの文群の文の文長に基づいて、調整された前記少なくとも2つの文群間の予測時間差が設定された差の閾値より小さくなるように、前記少なくとも2つの文群の文を調整する文調整モジュールと、
調整によって得られた各文群を前記ターゲットデバイスの各CPUコアに割り当て、前記各CPUコアによって前記各文群を逐語的に予測するための文予測モジュールと、
前記数量統計モジュールによって得られた文の数が設定された数の閾値以上である場合には、すべての文セットに対する予測が完了するまで、予測結果を保存し、当該文セットを前記メモリから削除し、他の文セットを前記メモリに書き込んで予測処理するためのメモリ交換ユニットと、
前記各文群の予測結果に基づいて、前記予測対象のテキストの予測結果を決定するための予測結果モジュールと、を含み、
前記予測対象のテキストとは、ラベル予測対象のテキストである、
ことを特徴とするテキスト予測装置。
【請求項5】
前記文調整モジュールは、
前記少なくとも2つの文群における各文群の各文の文長の累計して、少なくとも2つの合計文長を取得するための文構成ユニットと、
取得された少なくとも2つの合計文長に基づいて、前記少なくとも2つの文群の文を調整するための文調整ユニットと、を含む、
ことを特徴とする請求項
4に記載の装置。
【請求項6】
前記文調整ユニットは、具体的には、
前記少なくとも2つの合計文長を比較し、
比較結果に基づいて、前記少なくとも2つの文群のうちの1つの文群の文を、当該文群以外の少なくとも1つの他の文群に移動させる、
ことを特徴とする請求項
5に記載の装置。
【請求項7】
前記文グループ化モジュールは、
ターゲットデバイスに含まれるCPUコアの数に基づいて、メモリに書き込まれた文セットをグループ化するための文グループ化ユニットを含む、
ことを特徴とする請求項
4に記載の装置。
【請求項8】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信可能に接続されるメモリと、を含み、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令は、前記少なくとも1つのプロセッサによって請求項1~
3のいずれかに記載の方法を実行させる、
ことを特徴とする電子機器。
【請求項9】
コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ命令は、前記コンピュータに請求項1~
3のいずれかに記載の方法を実行させる、
ことを特徴とする非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項10】
コンピュータプログラムであって、
前記コンピュータプログラムは、コンピュータに請求項1~
3のいずれかに記載の方法を実行させる、
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、データ処理技術分野に関し、特に深層学習、自然言語処理及びスマート検索技術に関し、具体的にテキスト予測方法、装置、機器及び記憶媒体に関する。
【背景技術】
【0002】
刑事事件の処理過程において、起訴状、判決書、刑事自叙状などの非構造化の法律文書が関与し、これらの法律文書において、事件に関する情報が様々な段落に散布され、事件に関する情報を体系的に抽出することは困難である。ユーザが事件に関する情報を調べる必要がある場合、これらのファイルを1つずつ閲覧し、有用な情報を手動で抽出する必要があるため、効率が低いだけでなく、読み落としによって関連情報を無視しやすい。
【0003】
現在、上記問題を解決するように、分類モデルを使用して事件関連情報の自動抽出を行うことができる。しかしながら、顧客がグラフィックプロセッサ(Graphics Processing Unit、GPU)を持っていないため、分類モデルの顧客のデバイスでの予測効率が低下し、顧客のニーズを満たすことができない。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、テキスト予測方法、装置、機器及び記憶媒体を提供する。
【課題を解決するための手段】
【0005】
本開示の一態様によれば、テキスト予測方法を提供し、
予測対象のテキストを分割し、少なくとも2つの文を取得するステップと、
ターゲットデバイスに含まれるCPU(Central Processing Unit、中央処理装置)コアの数に基づいて、前記少なくとも2つの文をグループ化するステップであって、ここで、前記ターゲットデバイスとは、予測操作を実行するデバイスであるステップと、
グループ化によって得られた各文群を前記ターゲットデバイスの各CPUコアに割り当て、前記各CPUコアによって前記各文群を逐語的に予測するステップと、
前記各文群の予測結果に基づいて、前記予測対象のテキストの予測結果を決定するステップと、を含む。
【0006】
本開示の別の態様によれば、テキスト予測装置を提供し、
予測対象のテキストを分割し、少なくとも2つの文を取得するための文抽出モジュールと、
ターゲットデバイスに含まれるCPU(Central Processing Unit、中央処理装置)コアの数に基づいて、前記少なくとも2つの文をグループ化するための文グループ化モジュールであって、ここで、前記ターゲットデバイスとは、予測操作を実行するデバイスである文グループ化モジュールと、
グループ化によって得られた各文群を前記ターゲットデバイスの各CPUコアに割り当て、前記各CPUコアによって前記各文群を逐語的に予測するための文予測モジュールと、
前記各文群の予測結果に基づいて、前記予測対象のテキストの予測結果を決定するための予測結果モジュールと、を含む。
【0007】
本開示の別の態様によれば、電子機器を提供し、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に接続されるメモリと、を含み、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記命令は、前記少なくとも1つのプロセッサが本出願の実施例のいずれかに記載の方法を実行するように、前記少なくとも1つのプロセッサによって実行される。
【0008】
本開示の別の態様によれば、コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体を提供し、前記命令は、前記コンピュータに本出願の実施例のいずれかに記載の方法を実行させる。
本開示の別の態様によれば、コンピュータプログラムを提供し、前記コンピュータプログラムは、コンピュータに本出願の実施例のいずれかに記載の方法を実行させる。
【0009】
本出願の技術によれば、ターゲットデバイスのCPU利用率を向上させ、さらにテキストの予測効率を向上させる。
【0010】
なお、この部分に記載された内容は、本開示の実施例の肝心または重要な特徴を限定することを意図するものではなく、本開示の範囲を限定することを意図するものでもない。本開示の他の特徴は、以下の説明によって容易に理解されやすくなる。
【図面の簡単な説明】
【0011】
図面は、本技術案をよりよく理解するために使用されており、本出願を限定するものではない。
【
図1】
図1は、本出願の実施例により提供されるテキスト予測方法のフローチャートである。
【
図2】
図2は、本出願の実施例により提供されるもう1つのテキスト予測方法のフローチャートである。
【
図3】
図3は、本出願の実施例により提供されるもう1つのテキスト予測方法のフローチャートである。
【
図4】
図4は、本出願の実施例により提供されるもう1つのテキスト予測方法のフローチャートである。
【
図5】
図5は、本出願の実施例により提供されるテキスト予測装置の概略図である。
【
図6】
図6は、本出願の実施例に係るテキスト予測方法の電子機器のブロック図である。
【発明を実施するための形態】
【0012】
以下、図面と組み合わせて本出願の例示的な実施例を説明し、理解を容易にするためにその中には本出願の実施例の様々な詳細事項を含んでおり、それらは単なる例示的なものと見なされるべきである。したがって、当業者は、本出願の範囲及び精神から逸脱することなく、ここで説明される実施例に対して様々な変更と修正を行うことができることを認識されたい。同様に、明確及び簡潔するために、以下の説明では、周知の機能及び構造の説明を省略する。
【0013】
図1は本出願の実施例により提供されるテキスト予測方法のフローチャートである。本出願の実施例は、テキストをラベル予測する場合に適用できる。典型的には、本出願は、法律文書に対してマルチラベル予測を行う場合に適用できる。当該方法はテキスト予測装置によって実行されることができ、当該装置はソフトウェアおよび/またはハードウェアによって実現することができる。
図1を参照して、本出願の実施例により提供されるテキスト予測方法は、以下のようなステップを含む。
【0014】
S110において、予測対象のテキストを分割し、少なくとも2つの文を取得する。
【0015】
ここで、予測対象のテキストとは、ラベル予測対象のテキストである。
【0016】
例示的に、予測対象のテキストは、法律文書であってもよい。ラベルは事件に関する情報であってもよい。
【0017】
S120において、ターゲットデバイスに含まれるCPUコアの数に基づいて、前記少なくとも2つの文をグループ化し、ここで、前記ターゲットデバイスとは、予測操作を実行するデバイスである。
【0018】
例示的に、ターゲットデバイスは、予測対象のテキストを予測するためのコンピュータであってもよい。
【0019】
典型的には、グループ化によって得られた文群の数は、ターゲットデバイスに含まれるCPUコアの数と同じである。
【0020】
一実施例において、分割によって得られた少なくとも2つの文の文長が同じである場合、グループ化された後の各文群に含まれる文の数は同じであり、分割によって得られた少なくとも2つの文の文長が異なる場合、各ターゲット文群に含まれる文の数は同じであってもよいし、異なってもよい。
【0021】
S130において、グループ化によって得られた各文群を前記ターゲットデバイスの各CPUコアに割り当て、前記各CPUコアによって前記各文群を逐語的に予測する。
【0022】
ここで、各CPUコアには、文の粒度のラベル予測ロジックが含まれている。
【0023】
選択可能に、当該ラベル予測ロジックは既存のラベル予測ロジックであってもよいし、予めトレーニングされた予測モデルであってもよい、本実施例はこれを限定しない。
【0024】
S140において、前記各文群の予測結果に基づいて、前記予測対象のテキストの予測結果を決定する。
【0025】
例示的に、予測対象のテキストに4つの文が含まれ、かつターゲットデバイスに2つのCPUコアが含まれることを例として、上記案は、
予測対象のテキストを分割して、4つの文を取得し、
ターゲットデバイスに2つのCPUコアが含まれることに基づいて、当該4つの文をグループ化して、2つの文群を取得し、各文群が2つの文を含み、
上記2つの文群のうちの一方の文群をターゲットデバイスの一方のCPUコアによって逐語予測処理を行うように割り当て、他方の文群をターゲットデバイスの他方のCPUコアによって逐語予測処理を行うように割り当て、
当該4つの文における各文の予測結果に基づいて、前記予測対象のテキストの予測結果を決定すると記述できる。
【0026】
本出願の実施例は、ターゲットデバイスに含まれるCPUコアの数に基づいて、分割によって得られた少なくとも2つの文をグループ化し、各CPUコアに割り当てて予測処理を行うことにより、複数のCPUコアを用いて予測し、各ターゲット文群の異なるCPUコアにおける予測完了時間を同等にすることで、各CPUコアを最大限に活用した上で予測対象のテキストの予測効率を向上させることを実現する。
【0027】
また、本出願の実施例は、逐語予測によって予測結果の正確率を向上させる。テキスト粒度の予測正確率は文粒度の予測正確率より小さいためである。
【0028】
図2は本出願の実施例により提供されるもう1つのテキスト予測方法のフローチャートである。本実施例は、上記実施例に基づいて、上記提案を拡張するものである。
図2を参照して、本出願の実施例により提供されるテキスト予測方法は、以下のステップを含む。
【0029】
S210において、予測対象のテキストを分割して、少なくと2つの文を取得する。
【0030】
S220において、ターゲットデバイスに含まれるCPUコアの数に基づいて、前記少なくとも2つの文をグループ化し、ここで、前記ターゲットデバイスとは、予測操作を実行するデバイスである。
【0031】
S230において、グループ化によって得られた文群の数が2つ以上である場合、前記少なくとも2つの文群の文の文長に基づいて、調整された前記少なくとも2つの文群間の予測時間差が設定された差の閾値より小さくなるように、前記少なくとも2つの文群の文を調整する。
【0032】
ここで、文長とは文の長さである。文の長さは、文に含まれる文字数によって決定できる。
【0033】
予測時間差とは、予測にかかる時間の差である。
【0034】
設定された差の閾値とは、ターゲットデバイスの予測速度が要求を満たす場合に、少なくとも2つの文群間の予測時間差の最大値である。
【0035】
具体的には、この差分閾値は、実際のニーズに基づいて設定されてもよい。
【0036】
一実施例において、前記少なくとも2つの文群の文の文長に基づいて、前記少なくとも2つの文群の文を調整するステップは、
前記少なくとも2つの文群における各文群の各文の文長を累計して、少なくとも2つの合計文長を取得するステップと、
取得された少なくとも2つの合計文長に基づいて、前記少なくとも2つの文群の文を調整するステップと、を含むことができる。
【0037】
ここで、合計文長とは、1つの文群におけるすべての文の文長の合計である。
【0038】
例示的に、1つの文群に2つの文が含まれ、その2つの文の文長がそれぞれ5と10である場合、当該文群の合計文長は15である。
【0039】
さらに、前記取得された少なくとも2つの合計文長に基づいて、前記少なくとも2つの文群の文を調整するステップは、
前記少なくとも2つの合計文長を比較するステップと、
比較結果に基づいて、前記少なくとも2つの文群のうちの1つの文群の文を、当該文群以外の少なくとも1つの他の文群に移動させるステップと、を含むことができる。
【0040】
例示的に、予測対象のテキストに2つの文群が含まれ、第1の文群の合計文長が15であり、第2の文群の合計文長が30である場合、移動後の第1の文群の合計文長と第2の文群の合計文長との差が設定された差の閾値より小さくなるように、第2の文群の1つの文を第1の文群に移動させる。
【0041】
S240において、グループ化によって得られた各文群を前記ターゲットデバイスの各CPUコアに割り当て、前記各CPUコアによって前記各文群を逐語的に予測する。
【0042】
S250において、前記各文群の予測結果に基づいて、前記予測対象のテキストの予測結果を決定する。
【0043】
本提案は、グループ化によって得られた文群の数が2つ以上である場合、少なくとも2つの文群の文の文長に基づいて、調整された少なくとも2つの文群間の予測時間差が設定された差の閾値より小さくなるように、少なくとも2つの文群の文を調整することにより、ターゲットデバイスにおける少なくとも2つのCPUコアが各文群に対する予測をほぼ同時に完了し、予測対象のテキストに対する予測効率をさらに向上させる。
【0044】
図3は本出願の実施例により提供されるもう1つのテキスト予測方法のフローチャートである。本実施例は、上記実施例に基づいて、上記提案を拡張するものである。
図3を参照して、本出願の実施例により提供されるテキスト予測方法は、以下のステップを含む。
【0045】
S310において、予測対象のテキストを分割して、少なくとも2つの文を取得する。
【0046】
S320において、前記少なくとも2つの文をターゲットデバイスのメモリに書き込む。
【0047】
S330において、ターゲットデバイスに含まれるCPUコアの数に基づいて、メモリに書き込まれた前記少なくとも2つの文をグループ化し、ここで、前記ターゲットデバイスとは、予測操作を実行するデバイスである。
【0048】
S340において、グループ化によって得られた各文群を前記ターゲットデバイスの各CPUコアに割り当て、前記各CPUコアによって前記各文群を逐語的に予測する。
【0049】
S350において、前記各文群の予測結果に基づいて、前記予測対象のテキストの予測結果を決定する。
【0050】
選択可能に、本出願の実施例は、上記ステップの実行順序を限定しない。選択可能に、S330はS320より先に実行されてもよい。
【0051】
本提案は、分割によって得られた少なくとも2つの文をターゲットデバイスのメモリに書き込むことにより、予測対象のテキストに対するターゲットデバイスの予測効率を向上させる。
【0052】
メモリ不足の問題を回避するために、前記少なくとも2つの文をターゲットデバイスのメモリに書き込むステップの前に、前記方法は、
前記少なくとも2つの文の数を統計するステップと、
統計によって得られた文の数が設定された数の閾値以上である場合、前記少なくとも2つの文を分割して、少なくとも2つの文セットを取得するステップと、をさらに含む。
【0053】
それに応じて、前記少なくとも2つの文をターゲットデバイスのメモリに書き込むステップは、
前記少なくとも2つの文セットのうちの1つの文セットをターゲットデバイスのメモリに書き込むステップと、
当該文セットに対する予測操作が完了した後、当該文セットのデータをメモリから削除し、他の文セットをターゲットデバイスのメモリに1つずつ書き込むステップと、を含む。
【0054】
それに応じて、前記ターゲットデバイスに含まれるCPUコアの数に基づいて、前記少なくとも2つの文をグループ化するステップは、
ターゲットデバイスに含まれるCPUコアの数に基づいて、メモリに書き込まれた文セットをグループ化するステップと、
統計によって得られた文の数が設定された数の閾値より小さい場合、前記少なくとも2つの文をターゲットデバイスのメモリに書き込むステップがトリガーされるステップと、を含む。
【0055】
当該技術的特徴に基づいて、本出願の実施例の技術案は、分割によって得られた文が多すぎる場合、分割された文をバッチでメモリに書き込んで予測処理し、そうでなければ、分割された文を一括してメモリに書き込んで予測処理することにより、メモリの占有用が多すぎて、メモリ不足になるという問題を回避する。
【0056】
図4は本出願の実施例により提供されるもう1つのテキスト予測方法のフローチャートである。本実施例は、上記実施例に基づいて、上記提案を拡張するものである。
図4を参照して、本出願の実施例により提供されるテキスト予測方法は、
予測対象のテキストに対して文粒度分割を行って、少なくとも2つの文を取得するステップと、
前記少なくとも2つの文の数を統計するステップと、
統計によって得られた文の数が設定された数の閾値より小さい場合、前記少なくとも2つの文をメモリに書き込むステップと、
文の長さとターゲットデバイスに含まれるコアの数とに基づいて、前記少なくとも2つの文をグループ化するステップと、
各文群をターゲットデバイスの各コアに割り当てて逐語的に予測するステップと、
各文の予測結果に基づいて、前記予測対象のテキストの予測結果を決定するステップと、
統計によって得られた文の数が設定された数の閾値以上である場合、前記少なくとも2つの文を設定された数に分割して、少なくとも2つの文セットを取得するステップと、
前記少なくとも2つの文セットのうちの1つの文セットをメモリに書き込むステップと、
文の長さとターゲットデバイスに含まれるコアの数とに基づいて、当該文セットの少なくとも2つの文をグループ化するステップと、
各文群をターゲットデバイスの各コアに割り当てて逐語的に予測するステップと、
すべての文セットに対する予測が完了するまで、予測結果を保存し、当該文セットをメモリから削除し、他の文セットをターゲットデバイスのメモリに書き込んで予測処理するステップと、
前記少なくとも2つの文セットにおける各文の予測結果に基づいて、前記予測対象のテキストの予測結果を決定するステップと、を含む。
【0057】
本提案は、既存の提案に比べて予測効率が著しく向上している。予測対象のテキストの文の数がより多く、ターゲットデバイスのCPUコアの数がより多い場合、本提案に基づいてCPUリソースを最大限に活用し、より良いパフォーマンス指標を達成することができる。
【0058】
図5は本出願の実施例により提供されるテキスト予測装置の概略図である。
図5を参照して、本出願の実施例により提供されるテキスト予測装置500は、文抽出モジュール501と、文グループ化モジュール502と、文予測モジュール503と、予測結果モジュール504と、を含む。
【0059】
ここで、文抽出モジュール501は、予測対象のテキストを分割して、少なくとも2つの文を取得する。
【0060】
文グループ化モジュール502は、ターゲットデバイスに含まれるCPU(中央処理装置)コアの数に基づいて、前記少なくとも2つの文をグループ化し、ここで、前記ターゲットデバイスとは、予測操作を実行するデバイスである。
【0061】
文予測モジュール503は、グループ化によって得られた各文群を前記ターゲットデバイスの各CPUコアに割り当て、前記各CPUコアによって前記各文群を逐語的に予測する。
【0062】
予測結果モジュール504は、各文群の予測結果に基づいて、前記予測対象のテキストの予測結果を決定する。
【0063】
本出願の実施例は、ターゲットデバイスに含まれるCPUコアの数に基づいて、分割によって得られた少なくとも2つの文をグループ化し、各CPUコアに割り当てて予測処理を行うことにより、複数のCPUコアを用いて予測し、各ターゲット文の異なるCPUコアにおける予測完了時間を同等にすることで、各CPUコアを最大限に活用した上で予測対象のテキストの予測効率を向上させることを実現する。
【0064】
また、本出願の実施例は、逐語予測によって予測結果の正確率を向上させる。テキスト粒度の予測正確率は文粒度の予測正確率より小さいためである。
【0065】
さらに、前記装置は、
グループ化によって得られた文群の数が2つ以上である場合、少なくとも2つの文群の文の文長に基づいて、調整された前記少なくとも2つの文群間の予測時間差が設定された差の閾値より小さくなるように、前記少なくとも2つの文群の文を調整するための文調整モジュールを含む。
【0066】
さらに、前記文調整モジュールは、
前記少なくとも2つの文群における各文群の各文の文長の累計して、少なくとも2つの合計文長を取得するための文構成ユニットと、
取得された少なくとも2つの合計文長に基づいて、前記少なくとも2つの文群の文を調整するための文調整ユニットと、を含む。
【0067】
さらに、前記文調整ユニットは、具体的には、
前記少なくとも2つの合計文長を比較し、
比較結果に基づいて、前記少なくとも2つの文群のうちの1つの文群の文を、当該文群以外の少なくとも1つの他の文群に移動させる。
【0068】
さらに、前記装置は、
前記少なくとも2つの文をターゲットデバイスのメモリに書き込むためのメモリ書き込みモジュールをさらに含む。
【0069】
さらに、前記装置は、
前記少なくとも2つの文の数を統計するための数量統計モジュールと、
統計によって得られた文の数が設定された数の閾値以上である場合、前記少なくとも2つの文を分割して、少なくとも2つの文セットを取得するための文分割モジュールと、を含み、
【0070】
それに応じて、前記メモリ書き込みモジュールは、
前記少なくとも2つの文セットのうちの1つの文セットをターゲットのメモリに書き込むための文書き込みユニットと、
当該文セットに対する予測操作が完了した後、当該文セットのデータをメモリから削除し、他の文セットをターゲットデバイスのメモリに1つずつ書き込むためのメモリ交換ユニットと、を含む。
【0071】
さらに、前記文グループ化モジュールは、
ターゲットデバイスに含まれるCPUコアの数に基づいて、メモリに書き込まれた文セットをグループ化するための文グループ化ユニットを含む。
【0072】
本出願の実施例によれば、本出願は、電子機器と読み取り可能な記憶媒体とをさらに提供する。
本出願の実施例によれば、本出願は、コンピュータプログラムを提供し、コンピュータプログラムは、コンピュータに本出願によって提供されるテキスト予測方法を実行させる。
【0073】
図6に示すように、それは本出願の実施例に係るテキスト予測方法の電子機器のブロック図である。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバー、ブレードサーバー、メインフレーム及び他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことを図る。電子機器は、パーソナルデジタルプロセッサ、携帯電話、スマートフォン、ウェアラブルデバイス及び他の類似するコンピューティングデバイスなどの様々な形態のモバイル装置を表すこともできる。本明細書に示されるコンポーネント、それらの接続及び関係、並びにそれらの機能は、単なる例であり、かつ本明細書の説明及び/又は要求される本出願の実現を制限することを意図するものではない。
【0074】
図6に示すように、当該電子機器は、1つ又は複数のプロセッサ601と、メモリ602と、高速インターフェース及び低速インターフェースを含む、各コンポーネントを接続するためのインターフェースとを含む。各コンポーネントは、異なるバスで相互に接続され、かつ共通のマザーボードに取り付けられてもよいし、又は必要に応じて他の方式で取り付けられてもよい。プロセッサは、外部入力/出力装置(インタフェースに結合された表示装置など)にGUIのグラフィック情報を表示するためにメモリ内又はメモリ上に記憶される命令を含む、電子機器内に実行される命令を処理することができる。他の実施形態では、必要の場合、複数のプロセッサ及び/又は複数のバスを複数のメモリとともに使用することができる。同様に、複数の電子機器を接続することができ、各装置は、部分の必要な操作(例えば、サーバーアレイ、1つのブレードサーバーグループ、又はマルチプロセッサシステムとする)を提供することができる。
図6では、1つのプロセッサ601が例とする。
【0075】
メモリ602は、本出願により提供される非一時的なコンピュータ読み取り可能な記憶媒体である。前記メモリには、少なくとも1つのプロセッサが本出願により提供されるテキスト予測方法を実行するように、前記少なくとも1つのプロセッサによって実行可能な命令が記憶されている。本出願の非一時的なコンピュータ読み取り可能な記憶媒体には、コンピュータに本出願により提供されるテキスト予測方法を実行させるためのコンピュータ命令が記憶されている。
【0076】
メモリ602は、非一時的なコンピュータ読み取り可能な記憶媒体として、本出願の実施例におけるテキスト予測方法に対応するプログラム命令/モジュール(例えば、
図5に示す文抽出モジュール501、文グループ化モジュール502、文予測モジュール503及び予測結果モジュール504)のような、非一時的なソフトウェアプログラム、非一時的なコンピュータ実行可能プログラム、及びモジュールを記憶する。プロセッサ601は、メモリ602に記憶されている非一時的なソフトウェアプログラム、命令及びモジュールを実行することにより、サーバーの様々な機能アプリケーション及びデータ処理を実行し、即ち上記の方法の実施例におけるテキスト予測方法を実現する。
【0077】
メモリ602は、プログラム記憶領域とデータ記憶領域とを含むことができ、プログラム記憶領域は、オペレーティングシステム、少なくとも1つの機能に必要なアプリケーションプログラムを記憶することができ、データ記憶領域は、電子機器の使用によって作成されたデータを記憶することができる。また、メモリ602は、高速ランダムアクセスメモリを含むことができ、不揮発性メモリ、例えば少なくとも1つの磁気ディスクストレージデバイス、フラッシュメモリデバイス、又は他の非一時的なソリッドステートストレージデバイスをさらに含むことができる。いくつかの実施例では、メモリ602は、プロセッサ601に対して遠隔に設けられたメモリを選択的に含むことができ、これらの遠隔メモリは、ネットワークを介してテキスト予測方法の電子機器に接続されてもよい。上記ネットワークの例は、インターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク及びそれらの組み合わせを含むが、これらに限定されない。
【0078】
テキスト予測方法の電子機器は、入力装置603と出力装置604とをさらに含むことができる。プロセッサ601、メモリ602、入力装置603と出力装置604は、バス又は他の方式で接続されてもよく、
図6ではバスで接続されることが例とする。
【0079】
入力装置603は、入力された数字又は文字情報を受信し、テキスト予測方法の電子機器のユーザ設定及び機能制御に関するキー信号入力を生成することができ、例えばタッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、インジケータースティック、1つ又は複数のマウスボタン、トラックボール、ジョイスティックなどの入力装置である。出力装置604は、表示装置、補助照明装置(例えば、LED)及び触覚フィードバック装置(例えば、振動モータ)などを含むことができる。当該表示装置は、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイとプラズマディスプレイを含むことができるがこれらに限定されない。いくつかの実施形態では、表示装置は、タッチスクリーンであってもよい。
【0080】
本明細書で説明されるシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、特定用途向けASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実現されてもよい。これらの様々な実施形態は、1つ又は複数のコンピュータプログラムで実施されることを含むことができ、当該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムで実行及び/又は解釈されてもよく、当該プログラマブルプロセッサは、専用又は汎用プログラマブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、かつデータ及び命令を当該記憶システム、当該少なくとも1つの入力装置及び当該少なくとも1つの出力装置に伝送することができる。
【0081】
これらのコンピューティングプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、又はコードとも呼ばれる)は、プログラマブルプロセッサの機械命令を含み、かつ高度レベルのプロセス及び/又はオブジェクト向けプログラミング言語、及び/又はアセンブリ/機械言語で実現されてもよい。本明細書で使用されるような、「機械読み取り可能な媒体」及び「コンピュータ読み取り可能な媒体」という用語は、機械命令及び/又はデータをプログラマブルプロセッサに提供するための任意のコンピュータプログラム製品、機器、及び/又は装置(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指し、機械読み取り可能な信号である機械命令を受信する機械読み取り可能な媒体を含む。「機械読み取り可能な信号」という用語は、機械命令及び/又はデータをプログラマブルプロセッサに提供するための任意の信号を指す。
【0082】
ユーザとのインタラクションを提供するために、本明細書で説明されるシステム及び技術をコンピュータで実施することができ、当該コンピュータは、情報をユーザに表示するための表示装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有し、ユーザは、当該キーボード及び当該ポインティングデバイスによって入力をコンピュータに提供することができる。他の種類の装置は、ユーザとのインタラクションを提供するように構成されてもよい。例えば、ユーザに提供されるフィードバックは、任意の形態のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、かつ任意の形態(音響入力と、音声入力と、触覚入力とを含む)でユーザからの入力を受信することができる。
【0083】
本明細書で説明されるシステム及び技術は、バックエンドコンポーネントを含むコンピューティングシステム(例えば、データサーバーとする)、又はミドルウェアコンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバー)、又はフロントエンドコンポーネントを含むコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータであり、ユーザは、当該グラフィカルユーザインタフェース又は当該ウェブブラウザによって本明細書で説明されるシステム及び技術の実施形態とのインタラクションを行うことができる)、又はこのようなバックエンドコンポーネント、ミドルウェアコンポーネント、又はフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムで実施されてもよい。任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムのコンポーネントを相互に接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク(LAN)と、ワイドエリアネットワーク(WAN)と、インターネットとを含む。
【0084】
コンピュータシステムは、クライアントとサーバーとを含むことができる。クライアントとサーバーは、一般的には、互いに離れており、通常、通信ネットワークを介してインタラクションを行う。対応するコンピュータ上で実行され、かつ相互にクライアント-サーバー関係を有するコンピュータプログラムによって、クライアントとサーバーとの関係が生成される。サーバーはクラウドサーバであってもよく、クラウドコンピューティングサーバまたはクラウドホストとも呼ばれ、クラウドコンピューティングサービスシステムにおける1つのホスト製品であり、従来の物理ホストとVPSサービスに存在する管理の難しさ、業務拡張性の弱いという欠陥を解決した。
【0085】
本出願の技術によれば、ターゲットデバイスのCPU利用率を向上させ、さらにテキストの予測効率を向上させる。
【0086】
なお、上記に示される様々な形態のフローを使用して、ステップを並べ替え、追加、又は削除することができることを理解すべきである。例えば、本出願に記載されている各ステップは、並列に実行されてもよいし、順次実行されてもよいし、異なる順序で実行されてもよいが、本出願で開示されている技術案が所望の結果を実現することができれば、本明細書では限定されない。
【0087】
上記の具体的な実施形態は、本出願の保護範囲を制限するためのものではない。当業者は、設計要件及び他の要因に基づいて、様々な修正、組み合わせ、サブコンビネーション及び置換を行うことができることを理解すべきである。本出願の精神及び原則の範囲内で行われたいかなる修正、同等の置換と改良などは、いずれも本出願の保護範囲内に含まれるべきである。