JP4993319B2 - ソフトウェアの国際化の検証を支援する装置及び方法 - Google Patents
ソフトウェアの国際化の検証を支援する装置及び方法 Download PDFInfo
- Publication number
- JP4993319B2 JP4993319B2 JP2009031387A JP2009031387A JP4993319B2 JP 4993319 B2 JP4993319 B2 JP 4993319B2 JP 2009031387 A JP2009031387 A JP 2009031387A JP 2009031387 A JP2009031387 A JP 2009031387A JP 4993319 B2 JP4993319 B2 JP 4993319B2
- Authority
- JP
- Japan
- Prior art keywords
- character string
- character
- unit
- sentence
- text data
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- 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
- G06F40/51—Translation evaluation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Debugging And Monitoring (AREA)
- Machine Translation (AREA)
Description
ソフトウェアの国際化では、他の言語環境に対応するために次のようなことが行われる。
・ユーザインターフェイス上のメッセージやメニューの翻訳
・日時、数値、通貨等のデータの表記方法(年月日の表示順序、小数点や桁区切りとして使用される記号等)の変更
・文字列の比較、並び替えアルゴリズムの変更
・表示に用いるフォント、文字セットの変更
グローバリゼーションテストでは、上記の地域や文化に依存した情報を、対象とするシステムが正しく扱っているかどうかを検証する。
しかしながら、実際には、このテストが一部の地域で集約して行われる状況、例えば、中国でアジア全域の言語に対するテストが行われるような状況は今日よく見受けられる。
また、ソフトウェアの開発は、多くの場合、主言語(通常は英語)で進められており、その他の言語での検証には、主言語での結果との比較による確認が必要になることが多い。
(1)表示ができている、文字化けしていない、といった表層の検証のみに留まり、地域や文化に依存するデータが正しく表示できているかという観点で検証する場合に注目すべき点が分からない。
(2)自分が慣れ親しんでいる言語による正しい表示を見ると、それがテスト対象地域では相応しくないことを見落とす。
(3)日時、通貨等、言語に依存する形式で記述される文字が表示されている場合に、それが正しい形式で並んでいるのか判別できない。
(4)欧米言語のように同一種の文字を使用して表示された情報の中に複数の言語が混在していても気付かない。
(5)主言語では表示されているものが、他の言語では抜け落ちていたとしても、それを発見できない。
特許文献1では、ユーザによって検討される国際化トピックスのメインカテゴリを示すデータをリストしたマスタスコアカードを生成し、このマスタスコアカードにリストされたトピックスのメインカテゴリに関するソフトウェア製品の国際化の準備を示す所定の統計値を計算している。
特許文献2では、各フォントが、テスト対象となる複数の文字コードのグループと、その他の複数の文字コードのグループとに対し異なる対応付け規則を使用して字形を対応付けたものである複数のフォントを用意し、擬似翻訳されたテスト用リソースファイルを参照して処理を行う国際化ソフトウェアからの出力情報を、この複数のフォントの何れか1つを使用して表示することにより、各フォントを用いた出力情報の表示において、テスト対象となる文字コードとその他の文字コードとを識別可能にしている。
しかしながら、特許文献1の技術は、ソフトウェアの国際化の準備を評価し改良するものであり、ソフトウェアの国際化に関して最も重要な部分である検証作業を支援するものではない。
また、特許文献2の技術は、国際化ソフトウェアのテストに関し、上記した問題の(1)に注力したものであり、上記した問題の(2)〜(5)はカバーしていない。
また、内容整合性判定部は、第1の正規化文字列と第2の正規化文字列との差分が予め定めた閾値以内である場合に、第1の文字列が表す内容と第2の文字列が表す内容とが整合していると判定する、ものであってよい。
更に、内容整合性判定部は、第1の正規化文字列及び第2の正規化文字列の少なくとも何れか一方を文字ごとに特定の規則で変換して得られた2つの文字列における文字の出現順序及び出現頻度を比較することにより、第1の文字列が表す内容と第2の文字列が表す内容とが整合しているかどうかを判定する、ものであってよい。
また、この装置は、第1のテキストデータ内の第1の文字列及び第2のテキストデータ内の第2の文字列の少なくとも何れか一方に関連付けて、内容整合性判定部による判定結果を出力する出力部を更に含む、ものであってよい。
更に、この装置は、テキストデータ取得部により取得されたテキストデータの言語と、文字列抽出部により抽出された複数の文字列の各々の言語とが整合しているかどうかを判定する言語整合性判定部を更に含む、ものであってよい。
まず、本実施の形態におけるソフトウェアの国際化の検証作業を支援する検証作業支援装置1の機能構成について説明する。
図1は、このような検証作業支援装置1の機能構成例を示した図である。
図示するように、この検証作業支援装置1は、コンテンツ記憶部5と、コンテンツ解析部10と、解析結果記憶部20と、第1検証部30と、第2検証部40と、コンテンツ更新部50と、制御部60とを備えている。
コンテンツ解析部10は、コンテンツ記憶部5に記憶されているコンテンツを解析し、検証対象となる要素を抽出する。具体的には、コンテンツに自然言語処理を適用し、地域や文化に依存する記述形式を有するデータ(以下、「地域/文化型データ」という)や、コンテンツの構成に関する情報(以下、「構成情報」という)を取得する。ここで、地域/文化型データとしては、日付、時刻、数値、通貨等がある。また、構成情報としては、パラグラフの情報、言語の情報、地域/文化型データ以外の単語等がある。尚、これらの情報は可能な限り関連付けられる。パラグラフごとに、例えば、そのパラグラフで使われている言語、そのパラグラフに含まれる地域/文化型データの数や出現順序、そのパラグラフに含まれる文の数等が管理される。本実施の形態では、テキストデータを取得するテキストデータ取得部、複数のテキストブロックを取得するテキストブロック取得部、テキストデータから複数のテキストブロックを抽出するテキストブロック抽出部の一例として、コンテンツ解析部10を設けている。また、言語に依存する形式で記述される種類として予め定められた特定の種類の一例として、地域/文化型データのデータ型(日付型、時刻型、数値型、通貨型等)を用いており、テキストデータ又は複数のテキストブロックの各々から特定の種類の文字列を抽出する文字列抽出部の一例として、コンテンツ解析部10を設けている。
制御部60は、コンテンツ解析部10、第1検証部30、第2検証部40、コンテンツ更新部50の連携動作を管理する。
まず、コンテンツ解析部10の動作について説明する。
ここで、コンテンツ解析部10は、以下を前提として動作するものとする。
第一に、対象とするコンテンツは、HTTP(HyperText Transfer Protocol)やFTP(File Transfer Protocol)等のプロトコルを用いてネットワーク上のコンピュータから、或いは、ローカルのマシン上から、バイトデータとして取得できるものとする。典型例としては、URL(http://...やfile://...)等で位置を指定できるものであることを前提とする。
第二に、対象とするコンテンツは、その「テキスト表現」をコンテンツ解析部10が何らかの形で取得可能なものであるとする。例えば、画像やアニメーション等のコンテンツであっても、内部に含まれるテキストを抽出できれば、対象とすることができる。
第三に、対象となるコンテンツから取得されたテキストデータ(以下、単に「テキスト」という)は、例えば、図2及び図3に示したパラグラフのようなテキストブロック(以下、単に「ブロック」という)に分割できるものとする。コンテンツは、多くの場合、MIME(Multipurpose Internet Mail Extension)タイプによって、ブロックの分割の目印となる文字列やタグ等が定まっている。例えば、MIMEタイプが「text/html」の場合は、</p>と<p>の間をブロックの区切りとすればよく、MIMEタイプが「text/plain」の場合は、改行のみの行(空白行)をブロックの区切りとすればよい。
図4は、このときのコンテンツ解析部10の動作例を示したフローチャートである。
まず、コンテンツ解析部10は、処理対象の全テキストを走査し、全体としてどの言語で書かれたものか(ロケール)を推定する(ステップ101)。ここで、推定の結果は、各言語で書かれている可能性を示す指標である推定度を用いて、推定度付きリスト(以下、「ロケール推定リスト」という)として保持する。例えば、英語の推定度が0.85であり、ドイツ語の推定度が0.7であるとすると、ロケール推定リスト「en=0.85;de=0.7;...」が保持される。尚、本明細書では、英語を「en」、ドイツ語を「de」のように、BCP(Best Current Practice)47に準拠した言語タグで用いられる識別子で言語を表すが、必ずしもこれには限らない。
即ち、コンテンツ解析部10は、まず、ブロックのロケールを推定する(ステップ103)。ここでも、推定の結果は、ロケール推定リストとして保持する。例えば、ブロックIDが「1」のブロックについて、英語の推定度が0.9であり、ドイツ語の推定度が0.8であるとすると、ロケール推定リスト「en=0.9;de=0.8;...」がブロックID「1」に関連付けて保持される。
次に、コンテンツ解析部10は、ブロック内のテキストを文(センテンス)に分解する(ステップ104)。尚、このセンテンスへの分解においても、各センテンスには、ブロック内でセンテンスを一意に識別可能なセンテンスIDが割り当てられる。
図5は、図2に示した英語のコンテンツのパラグラフ#1に関するブロック情報について説明するための図である。
(a)には、パラグラフ#1から抽出される文字列を、パラグラフ#1のテキスト上に太枠で囲んで示している。
また、(b)には、これらの文字列を含むブロック情報の一例を示している。
即ち、まず、(a)に示したブロックのブロックIDが「1」であることが示されている。
また、このブロックのロケール推定リストが「en=0.9;de=0.8;…」であることも示されている。
(a)には、パラグラフ#1から抽出される文字列を、パラグラフ#1のテキスト上に太枠で囲んで示している。
また、(b)には、これらの文字列を含むブロック情報の一例を示している。
即ち、まず、(a)に示したブロックのブロックIDが「1」であることが示されている。
また、このブロックのロケール推定リストが「ja=0.9;…」であることも示されている。
(b)には、更に、文字列テーブルも示されているが、この文字列テーブルについての一般的な説明は既に図5に関して行っているので、ここでは省略する。
図7は、第1検証部30の動作例を示したフローチャートである。
まず、第1検証部30は、解析結果記憶部20に記憶された全体情報のうち、全体のロケール推定リストを取得する(ステップ301)。
そして、第1検証部30は、ブロックごとに、全テキストとのロケールのマッチングを行う。即ち、解析結果記憶部20に記憶されたブロック情報のうち、1つのブロックのロケール推定リストを取得し(ステップ302)、全体のロケールとブロックのロケールが一致するかどうかを判定する(ステップ303)。尚、ここでは、ロケール推定リストにおける言語の第1候補どうしを比較するものとする。つまり、全体のロケール推定リストが「en=0.85;de=0.7;…」であり、ブロックのロケール推定リストが「en=0.9;de=0.8;…」である場合は、「en」だけを比較する。
その結果、ロケールが異なっていれば、ブロックIDとロケールが不一致である旨の情報とをコンテンツ更新部50に通知する(ステップ304)。
図8は、許容度テーブルの一例を示した図である。
図示するように、この許容度テーブルでは、縦方向にブロックのロケールが設定され、横方向にカテゴリごとに文字列のロケールが設定されている。そして、カテゴリごとに、あるブロックのロケールとある文字列のロケールに対応するセルに、そのブロックのロケールにおけるその文字列のロケールがどの程度許容されるかを示す許容度が設定されている。尚、ここでは、許容度を、D(拒否(Decline))、L(低(Low))、M(中(Medium))、H(高(High))の4段階で示しており、これらは、検証結果の表示に関して言えば、それぞれ、「NG」、「警告」、「注意」、「OK」に対応するものである。但し、許容度の段階数やその意味付けはこれに限られるものではない。また、どのセルにどのような許容度を設定するかも、図示したものには限らず、テストの方針や対象のアプリケーションの特性によって自由に決めることができる。
ここでは、図6に示したブロック情報について、図7の検証処理を行う場合を考える。
この場合、ステップ301で全体のロケールが「ja」と推定され、ステップ302でブロックID「1」のブロックのロケールが「ja」と推定され、ステップ303で全体のロケールとブロックのロケールとが一致すると判定される。これにより、コンテンツ更新部50は、検証結果が「OK」であることが分かるように、コンテンツを更新する。
以下、この場合の動作について説明する。
図9(a)は、検証対象のコンテンツの例を示した図である。
コンテンツ解析部10は、このコンテンツからブロック情報を生成する。
図9(b)は、コンテンツ解析部10によって生成されたブロック情報を示した図である。
このブロック情報の文字列テーブルにおいて、1行目は「水」に、2行目は「08/08/2007」に、3行目は「10:51」に、4行目は「午後」に、それぞれ対応している。また、1行目の「水」は曜日である可能性があるものとしてそのカテゴリは「日付付加情報」となっており、4行目の「午後」のカテゴリは「時刻付加情報」となっている。この場合、ブロックのロケールは「ja」であるので、曜日である「水」と日付である「08/08/2007」の並び順が日本語には適さないとして、検証結果を「警告」とすることが考えられる。
ここで、第2検証部40は、以下を前提として動作するものとする。
第一に、比較する言語(例えば、言語Aと言語B)に対応するコンテンツの取得位置は、予め第2検証部40に対して与えられているものとする。この取得位置は、例えば、言語Aについては、「http://www.foo.com/en-us/info.html」、言語Bについては、「http://www.foo.com/ja-jp/info.html」のように、URLとして与えられていればよい。尚、ここでは、URLの例として、言語を示す文字列を含めたが、第2検証部40は、URLから言語を推定しないので、URLに必ずしも言語が分かるような情報が入っていなくてもよい。
第二に、コンテンツの翻訳が正しく行われれば、コンテンツに含まれるブロックの数の増減はないものとする。つまり、ブロックへの分割の手がかりとなる文字列は、翻訳対象ではないものとする。
図10−1及び図10−2は、このときの第2検証部40の動作例を示したフローチャートである。尚、この動作例では、言語Aのコンテンツと言語Bのコンテンツを比較検証するものとして説明する。
まず、図10−1に示すように、第2検証部40は、解析結果記憶部20に記憶された言語Aのコンテンツ及び言語Bのコンテンツの取得位置を示すURLに基づいて、各コンテンツに含まれるブロックの数を取得する(ステップ401)。ここでは、例えば、言語Aのコンテンツに含まれるブロック、言語Bのコンテンツに含まれるブロックの何れも60個である、といった情報や、言語Aのコンテンツに含まれるブロックは60個であるが、言語Bのコンテンツに含まれるブロックは48個である、といった情報を取得する。
そして、第2検証部40は、ステップ401で取得した各コンテンツのブロック数が同一かどうかを判定する(ステップ403)。
図11(a)は、どのブロックが欠損しているかを特定する欠損ブロック特定処理の概略を示す。この欠損ブロック特定処理では、言語Aのブロックの特徴数配列と言語Bのブロックの特徴数配列を比較し、特徴数配列の並びが一致しないブロックの組を探し出す。図示するように、例えば、言語AのブロックID「1」のブロックと、言語BのブロックID「1」のブロックとは、何れも{ [1,1,1,0,…] , [0,0,2,0,…] }であるので、これらのブロックは一致すると判定する。一方、言語BのブロックID「3」のブロックの特徴数配列が{ [1,0,2,0,…] , [0,1,2,0,…] }であるのに対し、言語AのブロックID「3」のブロックの特徴数配列がこれと一致しないものであるとすると、ブロックの組を変更して比較を行う。その結果、言語AのブロックID「6」のブロックと、言語BのブロックID「3」のブロックとは、何れも{ [1,0,2,0,…] , [0,1,2,0,…] }であるので、これらのブロックは一致すると判定する。
そして、この場合、ブロックID対応情報は、{ [1,1],[2,2],[6,3],[7,4],[8,5] }といった形式で作成することができる。
図11(b)は、第2検証部40がどのような情報を通知するかを示した図である。
ブロック欠損の場合は、後述するカテゴリ欠損とは異なり、復元はできない。従って、復元を試みることなく、図示するような位置情報、つまり、言語Aの欠損ブロックの開始位置Xと終了位置Y、及び、言語Bの推定挿入位置Zを通知する。
即ち、まず、第2検証部40は、1つのブロックIDの組に対応する特徴数配列の組、つまり、言語Aのブロックの特徴数配列と言語Bのブロックの特徴数配列を取得する(ステップ407)。そして、言語Aに関する特徴数配列と言語Bに関する特徴数配列とが一致するかどうかを判定する(ステップ408)。
その結果、2つの特徴数配列が一致すると判定されれば、カテゴリごとの対応付け処理に移る。
即ち、第2検証部40は、ブロックのロケール推定リストや前後の文字等を用いて、可能な限り、カテゴリの復元を試みる(ステップ409)。一例として、「2008年11月25日」という文字列の直後又は何文字か後に「(水)」という文字列がある場合を考える。そして、前者の文字列のカテゴリが「日付」、ロケールが「ja」と判定され、後者の文字列のカテゴリが「なし」と判定されたとする。このような場合、この2つの文字列をグループ化し、カテゴリを「日付」、ロケールを「ja」にしてみる。また、別の例として、「11:」という文字列の直後又は何文字か後に「24」という文字列がある場合を考える。そして、前者の文字列も後者の文字列もカテゴリが「数値」、ロケールが「Western」と判定されたとする。このような場合、この2つの文字列をグループ化し、カテゴリを「時刻」、ロケールを「Western」にしてみる。
その後、第2検証部40は、カテゴリの復元に成功したかどうかを判定する(ステップ410)。つまり、上述したような処理を行うことにより、言語Aに関する特徴数配列と言語Bに関する特徴数配列とが一致するようになるかどうかを判定する。
一方、カテゴリの復元に失敗したと判定されれば、つまり、上述したような処理を行っても2つの特徴数配列が一致するようにならないと判定されれば、欠損したデータに関する情報をコンテンツ更新部50に通知する(ステップ411)。
即ち、まず、第2検証部40は、1つのカテゴリの情報を取得する(ステップ421)。尚、ここで取得するカテゴリの情報には、カテゴリに属する文字列の数だけでなく、各文字列の内容もある。文字列の数は、第2検証部40が保持する特徴数配列から取得することができるが、各文字列の内容は、解析結果記憶部20に記憶された文字列テーブルから取得する。
ここで、カテゴリに属する文字列の数が「0」の場合、このカテゴリに関する処理はスキップする。
また、カテゴリに属する文字列の数が「1」の場合、後述する文字列差分算出処理を実行する(ステップ423)。この文字列差分算出処理では、言語Aのブロックに出現したあるカテゴリに属する文字列と言語Bのブロックに出現した同じカテゴリに属する文字列との差分を算出する処理であり、2つの文字列の差分が戻り値として返される。
そして、第2検証部40は、差分が許容範囲内でなければ、文字列が整合しない旨の情報をコンテンツ更新部50に通知する(ステップ425)。また、差分が許容範囲内であれば、そのような情報は通知しない。
一方、全ての文字列とセンテンスが1対1にマッチしているわけでなければ、ステップ426以降の処理を行う。例えば、抽出された文字列が出現したセンテンスのセンテンスIDが例えば1、2、2である場合のように全てが1対1にマッチしない場合、1対1にマッチする部分を除いた残りの部分について、ステップ426以降の処理を行う。
次いで、第2検証部40は、この着目した組について、後述する文字列差分算出処理を実行する(ステップ428)。上述した通り、この文字列差分算出処理では、言語Aのブロックに出現したあるカテゴリに属する文字列と言語Bのブロックに出現した同じカテゴリに属する文字列との差分を算出する処理であり、2つの文字列の差分が戻り値として返される。
その後、第2検証部40は、着目した組み合わせに含まれる複数の組の中に未処理の組があるかどうかを判定する(ステップ429)。
その結果、未処理の組があると判定されれば、ステップ427〜428の処理を繰り返す。
その後、第2検証部40は、考えられる複数の組み合わせの中に未処理の組み合わせがあるかどうかを判定する(ステップ431)。
その結果、未処理の組み合わせがあると判定されれば、ステップ426〜430の処理を繰り返す。
一方、未処理の組み合わせがないと判定されれば、ステップ430で算出した標準偏差を最少とする組み合わせを、言語Aの文字列と言語Bの文字列の最適な対応付けとして選択する(ステップ432)。
次いで、第2検証部40は、この着目した組に含まれる2つの文字列の差分が予め設定された許容範囲内であるかを判定する(ステップ434)。言語Aのコンテンツを作成してから言語Bのコンテンツを作成するまでに日数があいた場合、言語Aのコンテンツに記載される作成日付と、言語Bのコンテンツに記載される作成日付とが異なる場合がある。そのような場合、全く同じ日付しか許容しないようにすると、ユーザは本来正しいはずの日付にまで目を向けなければならず煩わしい。そこで、ここでは一定の許容範囲内であるかを判定している。このような許容範囲は、日付だけではなく、時刻や数値、金額、位置情報といったカテゴリに対しても設けることができる。
そして、第2検証部40は、差分が許容範囲内でなければ、文字列が整合しない旨の情報をコンテンツ更新部50に通知する(ステップ435)。また、差分が許容範囲内であれば、そのような情報は通知しない。
その後、第2検証部40は、選択した組み合わせに含まれる複数の組の中に未処理の組があるかどうかを判定する(ステップ436)。
その結果、未処理の組があると判定されれば、ステップ433〜435の処理を繰り返す。
その結果、未処理のカテゴリがあると判定されれば、ステップ421〜436の処理を繰り返す。
一方、未処理のカテゴリがないと判定されれば、未処理のブロックIDの組があるかどうかを判定する(ステップ438)。
その結果、未処理のブロックIDの組があると判定されれば、ステップ407〜437の処理を繰り返す。
一方、未処理のブロックIDの組がないと判定されれば、処理を終了する。
図12は、文字列差分算出処理の流れの一例を示したフローチャートである。
まず、第2検証部40は、差分を算出する対象の2つの文字列が完全に一致しているかどうかを判定する(ステップ441)。
その結果、2つの文字列が完全に一致していると判定されると、第2検証部40は、戻り値である差分に「0」をセットする(ステップ442)。
一方、2つの文字列が完全に一致しているわけではないと判定されると、第2検証部40は、2つの文字列を正規化する(ステップ443)。ここで、正規化とは、特定の記述形式に変換することにより、文字列の表記のゆれをなくすことである。例えば、日付に関し、特定の記述形式を「YYYY-MM-DD」とする(「YYYY」は年4桁、「MM」は月2桁、「DD」は日2桁を表す)。すると、「08/08/2007」は「2007-08-08」に、「09/08/2007」は「2007-08-09」又は「2007-09-08」に、「17/10/2007」は「2007-10-17」に、それぞれ正規化される。尚、このとき、ブロックのロケールを参照して、正規化後の候補が2つ以上にならないようにすることもできる。
そして、第2検証部40は、正規化後の文字列(正規化文字列)が一致するかどうかを判定する(ステップ444)。
一方、正規化文字列が一致しないと判定されると、2つの正規化文字列の差分が許容範囲外で、かつ、文字単位で正規化すべきかどうかを判定する(ステップ445)。ここで、正規化文字列が一致しないと判定される場合の例としては、2つの文字列が、例えば、図5に示した「1.02 quadrillion」と図6に示した「1.020兆」である場合が挙げられる。ここで、「quadrillion」は「千兆」を意味するので、図6の日本語のコンテンツにおいて仮に「1,020兆」と表記されていれば、これは「1.02 quadrillion」と整合する。ところが、3桁区切りの記号を「.」で表す言語が指定されると、このような誤りが生ずる。この場合、「1.02 quadrillion」を正規化すると「1.02 × 1015」となるが、「1.020兆」を正規化すると「1.020 × 1012」となり、正規化文字列は一致しない。尚、この2つの文字列は、図10−2のステップ424又は434で許容範囲内ではないと判定されることになるので、検証結果は、例えば「警告」となる。
一方、2つの正規化文字列の差分が許容範囲外で、かつ、文字単位で正規化すべきと判定されれば、2つの正規化文字列の少なくとも何れか一方を更に文字単位で正規化する(ステップ447)。ここで、文字単位での正規化としては、例えば、漢数字をアラビア数字に置き換えることが考えられる。
そして、文字単位で正規化された文字列における文字の数及び順序(出現頻度及び出現順序)が同じであるかどうかを判定する(ステップ448)。上記のように、漢数字をアラビア数字に置き換えた場合であれば、個々のアラビア数字に着目して、その数及び順序が同じかどうかを判定する。
その結果、文字の数及び順序が同じであると判定されると、第2検証部40は、戻り値である差分に「0」をセットする(ステップ442)。
一方、文字の数及び順序が異なると判定されると、第2検証部40は、文字の数及び順序の違いを示す数値を、戻り値である差分にセットする(ステップ449)。
この場合、文字列「平成19年10月13日」に対し、言語Bの何れの文字列を組み合わせたとしても、ステップ441で完全一致することにはならない。
そこで、ステップ443で文字列を正規化する。即ち、言語Aの文字列「平成19年10月13日」を「2007-10-13」に変換し、言語Bの文字列「08/08/2007」、「09/08/2007」、「17/10/2007」を、それぞれ、「2007-08-08」、「2007-08-09」、「2007-10-17」に変換する。
そこで、この例は日付の差分算出の例で、指示情報が「No」であり、ステップ445で差分の値に関わらず文字単位での正規化は行わないと判断されるので、言語Aの文字列と言語Bの各文字列との組み合わせについて差分を算出する。即ち、ステップ446において、「平成19年10月13日」と「08/08/2007」、「09/08/2007」、「17/10/2007」との差分に、それぞれ、「−66」、「−65」、「4」をセットする。
尚、この例において、最終的な表示における許容範囲としても「後方1週間以内」が定義されているとすると、言語Aの文字列「平成19年10月13日」は言語Bの文字列「17/10/2007」と整合していると判断されることになる。
この場合、文字列「参兆弐万」に対し、言語Bの何れの文字列を組み合わせたとしても、ステップ441で完全一致することにはならない。
そこで、ステップ443で文字列を正規化する。即ち、言語Aの文字列「参兆弐万」を「3000000020000」に変換する。
そこで、この例は数値の差分算出の例で、許容範囲が「±100」、指示情報が「Yes」であり、ステップ445で差分が100を超えており文字単位での正規化を行うと判断されるので、ステップ447で文字列を文字単位で正規化する。即ち、言語Aの文字列「参兆弐万」は、文字単位で、「参」を「3」、「兆」を「1000000000000」、「弐」を「2」、「万」を「10000」と正規化できるので、これらを繋げて文字列「31000000000000210000」を生成する。
そこで、ステップ449において、文字の数及び順序の違いを表す数値を差分にセットすることになる。この場合、文字の数及び順序の違いは、例えば、2つの文字列の一致する部分を対応付け、その他の部分において一方の文字列に存在し、他方の文字列に存在しない文字の数をカウントすることで表すことができる。つまり、「3, 1, 0, 2, 1, 0」と「3, 0, 2, 0」の文字の順序の違いは、前者に現れている2つの「1」が後者に現れていないので「2」とすることができる。また、「3, 1, 0, 2, 1, 0」と「4, 0」の文字の並びの違いは、前者に現れている「3」、「1」、「0」、「2」、「1」が後者に現れておらず、後者に現れている「4」が前者に現れていないので「6」とすることができる。
図13は、このような処理の結果として表示された内容の一例を示した図である。
ここでは、第1検証部30において「注意」と判定された「2008年6月18号」と、第2検証部40において「警告」と判定された「1.020兆」とが、太枠囲みで強調表示されている。尚、図では、「注意」と「警告」を同じ太さの枠で囲んだが、異なる装飾を施すことにより、誤りのレベルを区別できるようにしてもよい。また、図では、地域/文化型データとして抽出された文字列であっても、検証の結果が「OK」であるものについては、何も表示しないようにした。しかしながら、地域/文化型データとして抽出されたことを目立たないマークで示すようにしても構わない。
このように、本実施の形態では、地域/文化型データの検証を支援するために、検証者が閲覧する画面上のデータ(主にテキストデータ)から地域/文化型データを自動的に検出し、検証者が視認し易く表示するようにした。また、その際、検出された地域/文化型データに関する正否や、検証を容易にする補助的情報も表示するようにした。
具体的には、上述した各機能部の組み合わせにより、グローバリゼーションテストの効率的かつ正確な実施をサポートする。
即ち、コンテンツ解析部10及びコンテンツ更新部50により、冒頭に述べた問題の(1),(2),(4)に関して、注目すべきデータを検証者が容易に視認し、結果を判定することが可能になる。
また、第1検証部30及びコンテンツ更新部50により、冒頭に述べた問題の(3)に関して、典型的なパターンで表示されているデータの検証結果を確認可能となる。
更に、解析結果記憶部20、第2検証部40、コンテンツ更新部50により、冒頭に述べた問題の(5)に関して、抜け落ちやコンテンツの比較を可能とする。
第一に、アプリケーションが出力するコンテンツを対象として本装置による処理を行い、注意すべき地域/文化型データを視認し易くして、テストを行う、というケースである。これは、単独のコンテンツに対するケースである。
第二に、同一内容を複数の言語で表示するためのアプリケーションの検証者が、ベースとなる言語とそれ以外の言語とを見比べて検証を行う、というケースである。これは、主に、アプリケーションが扱う地域/文化型データをシステムから自動的に取得してコンテンツを生成するケースである。
第三に、プレスリリースや発表レター等の複数の言語に翻訳されるコンテンツを作成した後、検証者が、翻訳に依存しない日付、数値、金額等のデータがそれぞれの言語のコンテンツで一致しているかを検証するケースである。これは、主に人手によって作成されたコンテンツを検証するケースである。
Claims (8)
- ソフトウェアの国際化の検証を支援する装置であって、
前記ソフトウェアを動作させることによって出力されたテキストデータを取得するテキストデータ取得部と、
前記テキストデータ取得部により取得された前記テキストデータから、言語に依存する形式で記述される種類として予め定められた特定の種類の複数の文字列を抽出する文字列抽出部と、
前記文字列抽出部により抽出された前記複数の文字列を、前記テキストデータのうちの当該複数の文字列の各々が出現する文に関連付けた文字列情報を記憶する記憶部と、
前記ソフトウェアを第1の言語環境で動作させることによって出力された第1のテキストデータから前記文字列抽出部により抽出された複数の文字列のうちの第1の文字列が前記記憶部に記憶された前記文字列情報で第1の文に関連付けられており、当該第1の文字列以外の文字列が前記記憶部に記憶された前記文字列情報で当該第1の文以外の文に1対1に関連付けられており、前記ソフトウェアを第2の言語環境で動作させることによって出力された第2のテキストデータから前記文字列抽出部により抽出された複数の文字列のうちの第2の文字列が前記記憶部に記憶された前記文字列情報で当該第1の文に対応する第2の文に関連付けられており、当該第2の文字列以外の文字列が前記記憶部に記憶された前記文字列情報で当該第2の文以外の文に1対1に関連付けられていれば、当該第1の文字列と当該第2の文字列とを対応付ける文字列対応付け部と、
前記文字列対応付け部により前記第1の文字列と前記第2の文字列とが対応付けられた場合に、当該第1の文字列を特定の記述形式に正規化して得られた第1の正規化文字列と、当該第2の文字列を前記特定の記述形式に正規化して得られた第2の正規化文字列とを比較し、当該第1の正規化文字列と当該第2の正規化文字列との差分が予め定めた閾値以内であれば、当該第1の文字列が表す内容と当該第2の文字列が表す内容とが整合していると判定する内容整合性判定部と
を含む、装置。 - 前記文字列対応付け部は、前記第1の文字列が前記第1の文に出現する前記特定の種類の2つ以上の文字列の1つであり、前記第2の文字列が前記第2の文に出現する前記特定の種類の2つ以上の文字列の1つであれば、当該第1の文に出現する前記特定の種類の2つ以上の文字列の各々と当該第2の文に出現する前記特定の種類の2つ以上の文字列の各々との複数組の文字列を形成し、当該第1の文字列と当該第2の文字列とを対応付けるかどうかを、各組の文字列の差分の当該複数組におけるばらつき度合に基づいて決定する、請求項1の装置。
- 前記内容整合性判定部は、前記第1の正規化文字列及び前記第2の正規化文字列の少なくとも何れか一方を文字ごとに特定の規則で変換して得られた2つの文字列における文字の出現順序及び出現頻度を比較することにより、前記第1の文字列が表す内容と前記第2の文字列が表す内容とが整合しているかどうかを判定する、請求項1の装置。
- 前記第1のテキストデータ内の前記第1の文字列及び前記第2のテキストデータ内の前記第2の文字列の少なくとも何れか一方に関連付けて、前記内容整合性判定部による判定結果を出力する出力部を更に含む、請求項1の装置。
- 前記テキストデータ取得部により取得された前記テキストデータの言語と、前記文字列抽出部により抽出された前記複数の文字列の各々の言語とが整合しているかどうかを判定する言語整合性判定部を更に含む、請求項1の装置。
- ソフトウェアの国際化の検証を支援する装置であって、
前記ソフトウェアを動作させることによって出力されたテキストデータから複数のテキストブロックを抽出するテキストブロック抽出部と、
前記テキストブロック抽出部により抽出された前記複数のテキストブロックの各々から、言語に依存する形式で記述される種類として予め定められた特定の種類の複数の文字列を抽出する文字列抽出部と、
前記文字列抽出部により抽出された前記複数の文字列を、前記テキストブロックの各々のうちの当該複数の文字列の各々が出現する文に関連付けた文字列情報を記憶する第1の記憶部と、
前記ソフトウェアを第1の言語環境で動作させることによって出力された第1のテキストデータから前記テキストブロック抽出部により抽出された複数のテキストブロックのうちの第1のテキストブロックから前記文字列抽出部により抽出された複数の文字列を、前記第1の記憶部に記憶された前記文字列情報で当該複数の文字列の各々に関連付けられた文の順に列挙した配列である第1の特徴数配列を記憶し、前記ソフトウェアを第2の言語環境で動作させることによって出力された第2のテキストデータから前記テキストブロック抽出部により抽出された複数のテキストブロックのうちの第2のテキストブロックから前記文字列抽出部により抽出された複数の文字列を、前記第1の記憶部に記憶された前記文字列情報で当該複数の文字列の各々に関連付けられた文の順に列挙した配列である第2の特徴数配列を記憶する第2の記憶部と、
前記第2の記憶部に記憶された前記第1の特徴数配列と、前記第2の記憶部に記憶された前記第2の特徴数配列とが一致すれば、前記第1のテキストブロックと第2のテキストブロックとを対応付けるテキストブロック対応付け部と、
前記テキストブロック対応付け部により前記第1のテキストブロックと前記第2のテキストブロックとが対応付けられた場合に、当該第1のテキストブロックから前記文字列抽出部により抽出された複数の文字列のうちの第1の文字列が前記第1の記憶部に記憶された前記文字列情報で第1の文に関連付けられており、当該第1の文字列以外の文字列が前記第1の記憶部に記憶された前記文字列情報で当該第1の文以外の文に1対1に関連付けられており、当該第2のテキストブロックから前記文字列抽出部により抽出された複数の文字列のうちの第2の文字列が前記第1の記憶部に記憶された前記文字列情報で当該第1の文に対応する第2の文に関連付けられており、当該第2の文字列以外の文字列が前記第1の記憶部に記憶された前記文字列情報で当該第2の文以外の文に1対1に関連付けられていれば、当該第1の文字列と当該第2の文字列とを対応付ける文字列対応付け部と、
前記文字列対応付け部により前記第1の文字列と前記第2の文字列とが対応付けられた場合に、当該第1の文字列を特定の記述形式に正規化して得られた第1の正規化文字列と、当該第2の文字列を前記特定の記述形式に正規化して得られた第2の正規化文字列とを比較し、当該第1の正規化文字列と当該第2の正規化文字列との差分が予め定めた閾値以内であれば、当該第1の文字列が表す内容と当該第2の文字列が表す内容とが整合していると判定する内容整合性判定部と、
前記第1のテキストデータ内の前記第1の文字列及び前記第2のテキストデータ内の前記第2の文字列の少なくとも何れか一方に関連付けて、前記内容整合性判定部による判定結果を出力する出力部と
を含む、装置。 - コンピュータがソフトウェアの国際化の検証を支援する方法であって、
前記コンピュータのテキストデータ取得部が、前記ソフトウェアを第1の言語環境で動作させることによって出力された第1のテキストデータを取得するステップと、
前記コンピュータの文字列抽出部が、前記第1のテキストデータから、言語に依存する形式で記述される種類として予め定められた特定の種類の複数の文字列を抽出するステップと、
前記コンピュータの記憶部が、前記第1のテキストデータから抽出された前記複数の文字列を、当該第1のテキストデータのうちの当該複数の文字列の各々が出現する文に関連付けた第1の文字列情報を記憶するステップと、
前記コンピュータのテキストデータ取得部が、前記ソフトウェアを第2の言語環境で動作させることによって出力された第2のテキストデータを取得するステップと、
前記コンピュータの文字列抽出部が、前記第2のテキストデータから前記特定の種類の複数の文字列を抽出するステップと、
前記コンピュータの記憶部が、前記第2のテキストデータから抽出された前記複数の文字列を、当該第2のテキストデータのうちの当該複数の文字列の各々が出現する文に関連付けた第2の文字列情報を記憶するステップと、
前記コンピュータの文字列対応付け部が、前記第1のテキストデータから抽出された複数の文字列のうちの第1の文字列が前記記憶部に記憶された前記第1の文字列情報で第1の文に関連付けられており、当該第1の文字列以外の文字列が前記記憶部に記憶された前記第1の文字列情報で当該第1の文以外の文に1対1に関連付けられており、前記第2のテキストデータから抽出された複数の文字列のうちの第2の文字列が前記記憶部に記憶された前記第2の文字列情報で当該第1の文に対応する第2の文に関連付けられており、当該第2の文字列以外の文字列が前記記憶部に記憶された前記第2の文字列情報で当該第2の文以外の文に1対1に関連付けられていれば、当該第1の文字列と当該第2の文字列とを対応付けるステップと、
前記コンピュータの内容整合性判定部が、前記第1の文字列と前記第2の文字列とが対応付けられた場合に、当該第1の文字列を特定の記述形式に正規化して得られた第1の正規化文字列と、当該第2の文字列を前記特定の記述形式に正規化して得られた第2の正規化文字列とを比較し、当該第1の正規化文字列と当該第2の正規化文字列との差分が予め定めた閾値以内であれば、当該第1の文字列が表す内容と当該第2の文字列が表す内容とが整合していると判定するステップと
を含む、方法。 - ソフトウェアの国際化の検証を支援する装置としてコンピュータを機能させるプログラムであって、
前記コンピュータを、
前記ソフトウェアを動作させることによって出力されたテキストデータを取得するテキストデータ取得部と、
前記テキストデータ取得部により取得された前記テキストデータから、言語に依存する形式で記述される種類として予め定められた特定の種類の複数の文字列を抽出する文字列抽出部と、
前記文字列抽出部により抽出された前記複数の文字列を、前記テキストデータのうちの当該複数の文字列の各々が出現する文に関連付けた文字列情報を記憶する記憶部と、
前記ソフトウェアを第1の言語環境で動作させることによって出力された第1のテキストデータから前記文字列抽出部により抽出された複数の文字列のうちの第1の文字列が前記記憶部に記憶された前記文字列情報で第1の文に関連付けられており、当該第1の文字列以外の文字列が前記記憶部に記憶された前記文字列情報で当該第1の文以外の文に1対1に関連付けられており、前記ソフトウェアを第2の言語環境で動作させることによって出力された第2のテキストデータから前記文字列抽出部により抽出された複数の文字列のうちの第2の文字列が前記記憶部に記憶された前記文字列情報で当該第1の文に対応する第2の文に関連付けられており、当該第2の文字列以外の文字列が前記記憶部に記憶された前記文字列情報で当該第2の文以外の文に1対1に関連付けられていれば、当該第1の文字列と当該第2の文字列とを対応付ける文字列対応付け部と、
前記文字列対応付け部により前記第1の文字列と前記第2の文字列とが対応付けられた場合に、当該第1の文字列を特定の記述形式に正規化して得られた第1の正規化文字列と、当該第2の文字列を前記特定の記述形式に正規化して得られた第2の正規化文字列とを比較し、当該第1の正規化文字列と当該第2の正規化文字列との差分が予め定めた閾値以内であれば、当該第1の文字列が表す内容と当該第2の文字列が表す内容とが整合していると判定する内容整合性判定部と
して機能させる、プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009031387A JP4993319B2 (ja) | 2009-02-13 | 2009-02-13 | ソフトウェアの国際化の検証を支援する装置及び方法 |
US12/703,185 US8447586B2 (en) | 2009-02-13 | 2010-02-09 | Apparatus and method for supporting verification of software internationalization |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009031387A JP4993319B2 (ja) | 2009-02-13 | 2009-02-13 | ソフトウェアの国際化の検証を支援する装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010186406A JP2010186406A (ja) | 2010-08-26 |
JP4993319B2 true JP4993319B2 (ja) | 2012-08-08 |
Family
ID=42560692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009031387A Expired - Fee Related JP4993319B2 (ja) | 2009-02-13 | 2009-02-13 | ソフトウェアの国際化の検証を支援する装置及び方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8447586B2 (ja) |
JP (1) | JP4993319B2 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8731901B2 (en) * | 2009-12-02 | 2014-05-20 | Content Savvy, Inc. | Context aware back-transliteration and translation of names and common phrases using web resources |
JP5124001B2 (ja) * | 2010-09-08 | 2013-01-23 | シャープ株式会社 | 翻訳装置、翻訳方法、コンピュータプログラムおよび記録媒体 |
CN102467497B (zh) | 2010-10-29 | 2014-11-05 | 国际商业机器公司 | 校对程序中的文本翻译的方法和系统 |
US9552213B2 (en) * | 2011-05-16 | 2017-01-24 | D2L Corporation | Systems and methods for facilitating software interface localization between multiple languages |
US8813046B2 (en) * | 2012-03-23 | 2014-08-19 | Infosys Limited | System and method for internationalization encoding |
JP5948291B2 (ja) * | 2013-08-13 | 2016-07-06 | 日本電信電話株式会社 | 監視情報分析装置及び方法 |
US9870355B2 (en) | 2015-07-17 | 2018-01-16 | Ebay Inc. | Correction of user input |
US9767011B2 (en) | 2015-12-01 | 2017-09-19 | International Business Machines Corporation | Globalization testing management using a set of globalization testing operations |
US9740601B2 (en) * | 2015-12-01 | 2017-08-22 | International Business Machines Corporation | Globalization testing management service configuration |
US10229220B2 (en) * | 2016-05-09 | 2019-03-12 | Coupa Software Incorporated | Automatic entry of suggested translated terms in an online application program |
KR20180077689A (ko) * | 2016-12-29 | 2018-07-09 | 주식회사 엔씨소프트 | 자연어 생성 장치 및 방법 |
US10235361B2 (en) | 2017-02-15 | 2019-03-19 | International Business Machines Corporation | Context-aware translation memory to facilitate more accurate translation |
US10437935B2 (en) * | 2017-04-18 | 2019-10-08 | Salesforce.Com, Inc. | Natural language translation and localization |
US10318644B1 (en) | 2017-07-26 | 2019-06-11 | Coupa Software Incorporated | Dynamic update of translations for electronic resources |
JP7029557B1 (ja) | 2021-02-10 | 2022-03-03 | PayPay株式会社 | 判定装置、判定方法および判定プログラム |
CN115879479A (zh) * | 2021-09-26 | 2023-03-31 | 北京字节跳动网络技术有限公司 | 一种应用程序的翻译方法及装置 |
US11907310B2 (en) * | 2021-09-27 | 2024-02-20 | The Yes Platform, Inc. | Data correlation system and method |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4771401A (en) * | 1983-02-18 | 1988-09-13 | Houghton Mifflin Company | Apparatus and method for linguistic expression processing |
US4777617A (en) * | 1987-03-12 | 1988-10-11 | International Business Machines Corporation | Method for verifying spelling of compound words |
US5243519A (en) * | 1992-02-18 | 1993-09-07 | International Business Machines Corporation | Method and system for language translation within an interactive software application |
JPH0793335A (ja) * | 1993-06-07 | 1995-04-07 | Internatl Business Mach Corp <Ibm> | テキストの言語機能を提供する方法 |
US6442516B1 (en) * | 1999-01-29 | 2002-08-27 | International Business Machines Corporation | Software tool to perform concurrent national language translation builds |
EP1100012A3 (en) | 1999-11-02 | 2004-01-21 | General Electric Company | A method and kit for assessing and improving internationalization readiness of a software product |
CA2442527A1 (en) * | 2001-03-28 | 2002-10-10 | Ron Shimon Estrin | Authentication methods, apparatus, media and signals |
US7389223B2 (en) * | 2003-09-18 | 2008-06-17 | International Business Machines Corporation | Method and apparatus for testing a software program using mock translation input method editor |
US7617092B2 (en) * | 2004-12-01 | 2009-11-10 | Microsoft Corporation | Safe, secure resource editing for application localization |
JP4301515B2 (ja) * | 2005-01-04 | 2009-07-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 文章表示方法、情報処理装置、情報処理システム、プログラム |
JP2006318202A (ja) * | 2005-05-12 | 2006-11-24 | Suri Kaiseki Kenkyusho:Kk | 翻訳装置、翻訳プログラム及び翻訳システム |
JP4143661B2 (ja) | 2006-09-11 | 2008-09-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | テスト用リソース・ファイル及びテスト用フォントを用いた国際化ソフトウェアのテスト方法、装置及びプログラム |
JP4396994B2 (ja) * | 2007-02-09 | 2010-01-13 | インターナショナル・ビジネス・マシーンズ・コーポレーション | リソース・ファイルの翻訳検証方法、装置、およびプログラム |
JP4894602B2 (ja) * | 2007-04-25 | 2012-03-14 | 日本電気株式会社 | 修正対象ファイル検索装置と修正対象ファイル検索方法および修正対象ファイル検索プログラム |
JP5105513B2 (ja) * | 2007-07-20 | 2012-12-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 処理対象として適切なテキストを選択する技術 |
US7949515B2 (en) * | 2007-07-26 | 2011-05-24 | International Business Machines Corporation | Automatically identifying unique language independent keys correlated with appropriate text strings of various locales by value and key searches |
US7953591B2 (en) * | 2007-07-26 | 2011-05-31 | International Business Machines Corporation | Automatically identifying unique language independent keys correlated with appropriate text strings of various locales by key search |
-
2009
- 2009-02-13 JP JP2009031387A patent/JP4993319B2/ja not_active Expired - Fee Related
-
2010
- 2010-02-09 US US12/703,185 patent/US8447586B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2010186406A (ja) | 2010-08-26 |
US8447586B2 (en) | 2013-05-21 |
US20100211377A1 (en) | 2010-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4993319B2 (ja) | ソフトウェアの国際化の検証を支援する装置及び方法 | |
US8990066B2 (en) | Resolving out-of-vocabulary words during machine translation | |
US20190220490A1 (en) | Combining website characteristics in an automatically generated website | |
US8249399B2 (en) | Optical character recognition verification | |
CN111274239B (zh) | 试卷结构化处理方法、装置和设备 | |
CA3048356A1 (en) | Unstructured data parsing for structured information | |
JP2009026100A (ja) | 処理対象として適切なテキストを選択する技術 | |
JP2008198132A (ja) | 固有表現抽出プログラム、固有表現抽出方法および固有表現抽出装置 | |
JP2017211993A (ja) | 請求の範囲の中の請求の範囲構成要素名詞所属構成要素対応符号を対応検出する方法 | |
US20140380169A1 (en) | Language input method editor to disambiguate ambiguous phrases via diacriticization | |
US10366142B2 (en) | Identifier based glyph search | |
CN106775914B (zh) | 一种自动生成键值的代码国际化方法及装置 | |
CN101859295A (zh) | 具标记提示的简繁字词转换系统及其方法 | |
US11803796B2 (en) | System, method, electronic device, and storage medium for identifying risk event based on social information | |
US9613019B2 (en) | Techniques for automatically generating test data | |
CN101741922A (zh) | 一种少数民族文字域名的注册服务器和方法 | |
JP7029557B1 (ja) | 判定装置、判定方法および判定プログラム | |
CN101425087A (zh) | 构建词典的方法和系统 | |
CN111046096A (zh) | 用于生成图文结构化信息的方法和装置 | |
US20190114074A1 (en) | Multi-language usage system | |
JP2015191430A (ja) | 翻訳装置、翻訳方法及び翻訳プログラム | |
US20230153609A1 (en) | Method and system for refining column mappings using byte level attention based neural model | |
JP5284342B2 (ja) | 文字認識システムおよび文字認識プログラム | |
CN109871442B (zh) | 一种汉字书法文字的中英呈现方法、装置、设备及介质 | |
JP2008250887A (ja) | 情報抽出装置、その方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110208 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110428 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111025 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120215 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20120221 |
|
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: 20120403 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20120404 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120426 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150518 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |