以下、ウェブページ処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、第一言語のウェブページを第二言語に機械翻訳された翻訳文のうち、一部分を手動で修正し、機械翻訳と手動翻訳を組み合わせた翻訳文が、ウェブサイトの翻訳文として閲覧できるウェブページ処理装置を具備する情報システムについて説明する。なお、本実施の形態において、翻訳されたウェブページは蓄積される。
また、本実施の形態において、機械翻訳後のウェブページに静止画、動画、API等の挿入コンテンツを挿入した場合に、翻訳元のウェブページにも反映されるウェブページ処理装置を具備する情報システムについて説明する。
また、本実施の形態において、翻訳元のウェブページに静止画、動画、API等の挿入コンテンツを挿入した場合に、機械翻訳後のウェブページにも反映されるウェブページ処理装置を具備する情報システムについて説明する。
また、本実施の形態において、挿入コンテンツが静止画、動画である場合、当該静止画、動画の文字部分の翻訳も行うウェブページ処理装置を具備する情報システムについて説明する。また、翻訳元のウェブページに静止画、動画が含まれる場合、当該静止画、動画の文字部分の翻訳も行うウェブページ処理装置を具備する情報システムについて説明する。
また、本実施の形態において、挿入コンテンツが動画である場合、当該動画の音声部分の翻訳も行うウェブページ処理装置を具備する情報システムについて説明する。また、翻訳元のウェブページに動画が含まれる場合、当該静止画の音声部分の翻訳も行うウェブページ処理装置を具備する情報システムについて説明する。
また、本実施の形態において、ユーザは、翻訳元のウェブページが変更された場合に機械翻訳後のウェブページに反映させるか否かの設定、および機械翻訳後のウェブページが変更された場合に翻訳元のウェブページに反映させるか否かの設定ができるウェブページ処理装置を具備する情報システムについて説明する。
また、本実施の形態において、翻訳元のウェブページが更新された場合、翻訳後のウェブページも自動的に更新されるとともに、翻訳元のウェブページの変更された部分だけを、機械翻訳してユーザに提示することにより、ユーザは、変更された部分の機械翻訳の部分を手動で変更可能なウェブページ処理装置を具備する情報システムについて説明する。
また、本実施の形態において、機械翻訳後のウェブページを編集できる編集モードと、編集できない表示モードとが存在するウェブページ処理装置を具備する情報システムについて説明する。
また、本実施の形態において、用語辞書を用いて、適切な第二言語の翻訳ウェブページを取得できるウェブページ処理装置を具備する情報システムについて説明する。
また、本実施の形態において、ウェブページの機械翻訳のルートを設定できるウェブページ処理装置を具備する情報システムについて説明する。
また、本実施の形態において、ウェブページの翻訳単位の属性値に応じて、最適な翻訳エンジンを自動決定して使用できるウェブページ処理装置を具備する情報システムについて説明する。
また、本実施の形態において、翻訳後のウェブページに対して、SEO対策を講じたURIを設定できるウェブページ処理装置を具備する情報システムについて説明する。なお、URI(Uniform Resource Identifier)は、通常、URL(Uniform Resource Locator)であるが、URN(Uniform Resource Name)でも良く、また、ウェブページにアクセスするための情報であれば、他の情報でも良い。
また、本実施の形態において、翻訳元のウェブページと1または2以上の翻訳後のウェブページとの構造を、記録媒体が節約できる構造とするウェブページ処理装置を具備する情報システムについて説明する。
さらに、本実施の形態において、メタタグも翻訳することにより、検索されやすい翻訳後のウェブページを構成できるウェブページ処理装置を具備する情報システムについて説明する。
図1は、本実施の形態における情報システムAの概念図である。情報システムAは、ウェブページ処理装置1、1または2以上の端末装置2、1または2以上の翻訳エンジン3、および1または2以上のウェブサーバ4を備える。
ウェブページ処理装置1、翻訳エンジン3、ウェブサーバ4は、ここではいわゆるサーバ装置である。ウェブページ処理装置1等は、例えば、クラウドサーバやASPサーバであるが、そのタイプや設置場所は問わない。
また、ウェブページ処理装置1は、第一言語で記載されているウェブページである第一ウェブページを用いて、第二言語で記載されているウェブページである第二ウェブページを作成する装置である。
翻訳エンジン3は、原言語(ここでは、第一言語)の文字列に対する翻訳を行い、目的言語(ここでは、第二言語)の文字列を取得する装置である。翻訳エンジン3は、与えられた文字列に対する翻訳を行うソフトウェアでも良い。翻訳エンジン3は、第一言語で発声された音声情報に対して音声翻訳を行い、第二言語の音声情報を取得する装置でも良い。
ウェブサーバ4は、ウェブページを格納しており、指示に応じて、ウェブページを送信する装置である。
端末装置2は、ユーザ(例えば、ウェブページの管理者)が使用する端末である。端末装置2は、スマートフォンやタブレット端末や携帯電話等の携帯端末、いわゆるパソコン等であり、そのタイプは問わない。
図2は、本実施の形態における情報システムAのブロック図である。図3は、情報システムAを構成するウェブページ処理装置1のブロック図である。
ウェブページ処理装置1は、格納部11、受信部12、処理部13、および送信部14を備える。
格納部11は、ページ格納部111、使用エンジン情報格納部112、翻訳ルート情報格納部113、編集モード格納部114、反映モード格納部115、および辞書格納部116を備える。
受信部12は、指示受信部121、および変更受付部122を備える。
処理部13は、翻訳取得部131、URI取得部132、蓄積部133、UI取得部134、箇所情報取得部135、文字列取得部136、音声取得部137、判断部138、ページ取得部139、および辞書利用部130を備える。
翻訳取得部131は、属性値取得手段1311、翻訳エンジン識別子取得手段1312、および翻訳取得手段1313を備える。
送信部14は、機械翻訳出力部141、UI送信部142、およびページ送信部143を備える。
端末装置2は、端末格納部21、端末受付部22、端末処理部23、端末送信部24、端末受信部25、および端末出力部26を備える。
ウェブページ処理装置1を構成する格納部11には、各種の情報が格納される。各種の情報は、例えば、ウェブページ、後述する使用エンジン情報、後述する翻訳ルート情報、後述する反映モード、後述する用語辞書、ユーザインターフェイス、画面情報等である。ユーザインターフェイス(以下、適宜、UIと言う)は、ウェブページを編集できる編集モードと、編集できない表示モードとを選択できる操作対象である。UIは、例えば、メニュー、ボタンの集合、ボタンの集合を有する画面情報である。また、UI、画面情報は、例えば、HTML、XML等により実現され得るが、実現手段やデータ構造等は問わないことは言うまでもない。
ページ格納部111には、1または2以上のウェブページが格納される。ページ格納部111には、言語に対応付く1以上のウェブページが格納される。言語に対応付くことは、言語が識別できることで良い。言語に対応付くことは、例えば、言語を識別する言語識別子に対応付くこと、ウェブページの中の文字列を検査して、言語識別子が取得できることである。なお、文字列から言語識別子を取得する技術は公知技術である。
ページ格納部111には、第一言語に対応付けられた第一ウェブページと、第二言語に対応付けられた翻訳ウェブページ元とが格納される。なお、第一言語と第二言語とは、異なる言語である。ページ格納部111には、第一言語に対応付けられた第一ウェブページと、第一言語以外の2以上の各他言語に対応付けられた2以上の翻訳ウェブページ元とが格納されることは好適である。2以上の他言語は、第二言語、第三言語、・・・第N言語と言っても良いが、まとめて第二言語と言っても良い。
翻訳ウェブページ元は、翻訳ウェブページの元になる情報である。翻訳ウェブページは、第一ウェブページの全部または一部を第二言語に翻訳したウェブページである。翻訳ウェブページ元とは、第二ウェブページ元または第三ウェブページ元である。翻訳ウェブページ元は、第一ウェブページの中の翻訳対象箇所を第二言語に翻訳された情報の集合である。翻訳対象箇所は、例えば、第一ウェブページの全部、第一ウェブページの自然言語部分、第一ウェブページから予め決められたタグ(全部のタグでも良い)を除いた部分、第一ウェブページから予め決められたタグとスクリプト部分とを除いた部分である。翻訳対象箇所が全部である場合、翻訳ウェブページ元は、翻訳ウェブページである。翻訳ウェブページは、第二言語に翻訳されたウェブページである。
第二ウェブページ元は、第二ウェブページの元になる情報である。第二ウェブページ元は、第一ウェブページの中の翻訳対象箇所を第二言語に機械翻訳して、取得された情報の集合である。翻訳対象箇所は、上述したように、第一ウェブページの全部でも良いし、一部でも良い。一部とは、例えば、予め決められたタグとスクリプト部分とを除いた部分である。
第三ウェブページ元は、第三ウェブページの元になる情報である。第三ウェブページは、第二ウェブページに対して、人手による修正が行われた翻訳変更情報を有するウェブページである。第三ウェブページ元は、第二ウェブページ元に対して、人手による修正が行われた翻訳変更情報を有するウェブページ元である。第三ウェブページ元は、第一ウェブページの中の翻訳対象箇所を第二言語に機械翻訳された一部分を人手により修正された情報と、人手により修正されていない機械翻訳の結果の情報とを有する情報である。
第二言語に翻訳され、ユーザが閲覧するウェブページが翻訳ウェブページである。翻訳ウェブページは、機械翻訳だけで、人手の翻訳が入らない第二ウェブページ、または機械翻訳に加えて、人手の翻訳が入った第三ウェブページのいずれかである。
使用エンジン情報格納部112には、1または2以上の使用エンジン情報が格納される。2以上の使用エンジン情報が存在する場合、使用エンジン情報の優先順位が決められていても良い。
また、使用エンジン情報とは、機械翻訳に使用する翻訳エンジン3を特定するための情報である。使用エンジン情報は、1または2以上の翻訳エンジン識別子を有することは好適である。翻訳エンジン識別子は、翻訳エンジン3を識別する情報である。翻訳エンジン識別子は、例えば、翻訳エンジン3のIPアドレス、翻訳エンジン3のモジュール名などである。なお、翻訳エンジン3は、通常、外部の装置であるが、ウェブページ処理装置内に存在していても良い。
使用エンジン情報は、属性値条件と翻訳エンジン識別子とを有することは好適である。使用エンジン情報がかかる構造を有する場合、第一ウェブサイトの中の翻訳単位の1または2以上の属性値に応じた適切な翻訳エンジン3が選択可能である。属性値条件は、ウェブページの翻訳単位の属性値に関する条件である。属性値条件は、ウェブページの翻訳単位の1以上の属性値を用いた条件である。属性値は、例えば、言語識別子、クラス識別子、データタイプである。言語識別子は、翻訳単位の言語(例えば、日本語、英語、韓国語、中国語、アラビア語、スペイン語、フランス語等であり、問わない。)を識別する情報である。クラス識別子は、翻訳単位のクラスを識別する情報である。クラスとは、分類であり、例えば、文章の技術分野(例えば、医学系の文章、情報学系の文章、化学系の文章など)、文章のレベル(小学生向き、ハイレベル等)、文章がことわざであるか否か等である。データタイプは、例えば、文字列、静止画、動画、音声情報等である。
属性値条件は、例えば、第一言語識別子、第二言語識別子、クラス識別子、データタイプのうちの1以上の情報を用いた条件である。属性値条件は、例えば、第一言語識別子と第二言語識別子を有する。属性値条件は、例えば、「<言語>日本語→英語,<分野>医学」である。属性値条件は、例えば、「ことわざ」である。
使用エンジン情報格納部112には、デフォルトの翻訳エンジン識別子が格納されていることは好適である。
翻訳ルート情報格納部113は、1または2以上の翻訳ルート情報が格納される。翻訳ルート情報は、第一言語を第二言語に翻訳する際の翻訳ルートを特定する情報である。翻訳ルート情報は、第一言語と第二言語とが決定された際の、翻訳のルートを特定する情報である。翻訳ルート情報は、中間言語を識別する中間言語識別子を有することは好適である。中間言語とは、原言語でも目的言語でも無い言語である。
翻訳ルート情報は、例えば、「日本語→英語→アラビア語」「日本語→英語→スペイン語」「日本語→英語→スワヒリ語」である。なお、翻訳ルート情報が「第一言語識別子→中間言語識別子→第二言語識別子」である場合、第一言語から第二言語に翻訳するためには、「第一言語から中間言語に機械翻訳できる翻訳エンジン3」を使用した後、当該機械翻訳の結果を「中間言語から第二言語に機械翻訳できる翻訳エンジン3」に与え、第二言語の情報を得る。
なお、使用エンジン情報が翻訳ルート情報を兼ねる場合は、翻訳ルート情報格納部113は不要である。
編集モード格納部114には、1または2以上の編集モードが格納される。編集モードは、ウェブページを編集できるか否かを特定するモードである。例えば、編集モードがON(編集できるモード)の場合のみ、ユーザは編集できる。また、例えば、編集モードがOFF(編集できない、表示モード)の場合は、ユーザは編集できない。
編集モードは、例えば、第一ウェブページに対応付いている。第一ウェブページに対応付いていることは、対応する翻訳ウェブページに対応付いていることである、と考えても良い。編集モードは、例えば、ユーザを識別するユーザ識別子または端末を識別する端末識別子に対応付いている。
反映モード格納部115には、1または2以上の反映モードが格納される。反映モードは、第一ウェブページまたは翻訳ウェブページにおける人手による修正の反映を、言語が異なる他のウェブページに反映させるか否かを示す情報である。
反映モードは、第一ウェブページに対応付いていても良いし、1または2以上の第一ウェブページが格納されるフォルダに対応付いていても良いし、全ての第一ウェブページに対応付いていても良い。第一ウェブページに対応付いていることは、翻訳ウェブページ元に対応付いていることでも良い。
一の第一ウェブページに対して、2以上の他言語の第二ウェブページが存在する場合、2以上の各第二ウェブページに、反映モードが対応付けられていても良い。
辞書格納部116には、1または2以上の用語辞書が格納される。用語辞書は、翻訳ウェブページに適切な用語が現れるための辞書である。用語辞書は、第一ウェブページまたは翻訳ウェブページ元に対応付けられている。
用語辞書は、1または2以上の対応情報が格納される。対応情報は、例えば、第一言語の第一用語と人手第二用語との対応に関する情報である。対応情報は、例えば、第一言語の第一用語と第二言語の人手第二用語とを有する情報である。対応情報は、例えば、機械翻訳第二用語と人手第二用語との対応に関する情報である。対応情報は、例えば、機械翻訳第二用語と人手第二用語とを有する情報である。機械翻訳第二用語は、第一用語の機械翻訳の結果である第二言語の用語である。人手第二用語は、第一用語の訳であり、人手により入力された第二言語の用語である。用語は、通常、一つの単語であるが、2以上の単語の集合でも良い。用語は、例えば、文でも良い。
受信部12は、各種の指示や情報を受信する。各種の指示や情報とは、例えば、後述するアクセス指示、後述する変更指示、後述する翻訳変更情報である。
指示受信部121は、アクセス指示を端末装置2から受信する。アクセス指示は、ウェブページへのアクセスの指示である。アクセス指示は、ウェブページを特定する情報(例えば、URI)を有する。アクセス指示は、言語に対応付けられている。言語に対応付けられていることは、通常、言語識別子に対応付けられていることである。情報Aが情報Bに対応付けられていることは、情報Aから情報Bを取得できれば良く、例えば、情報Aが情報Bを有すること、情報Aと情報Bとがリンク付けられていること等である。
指示受信部121は、例えば、第二言語に対応付けられたアクセス指示を端末装置2から受信する。指示受信部121は、例えば、第一言語に対応付けられたアクセス指示を端末装置2から受信する。
変更受付部122は、変更指示を受け付ける。変更指示は、通常、変更される情報である変更情報を有する。変更情報は、例えば、翻訳変更情報、元変更情報、挿入コンテンツである。
変更受付部122は、翻訳変更情報を有する変更指示を受け付ける。変更指示は、翻訳変更情報と翻訳箇所情報とを有しても良い。
翻訳変更情報とは、機械翻訳結果である第二ウェブページ元の少なくとも一部に対して人手により変更された情報である。翻訳変更情報は、第二ウェブページ元の一部の変更された情報であり、第一言語の情報(例えば、文字列)を、人手により第二言語に変更された情報(例えば、文字列)である。翻訳変更情報は、通常、変更された箇所を特定する翻訳箇所情報に対応付いている。翻訳箇所情報は、第二ウェブページ元の箇所を特定する情報でも良いし、第一ウェブページの箇所を特定する情報でも良い。
変更受付部122は、例えば、翻訳変更情報に対応付けて翻訳箇所情報を端末装置2から受信する。変更受付部122は、例えば、翻訳変更情報と第二ウェブページ元とを用いて、翻訳変更情報が対応する箇所であり、第二ウェブページ元の中の箇所を特定する翻訳箇所情報を取得しても良い。変更受付部122は、例えば、翻訳変更情報と第一ウェブページとを用いて、翻訳変更情報が対応する箇所であり、第一ウェブページの中の箇所を特定する翻訳箇所情報を取得しても良い。
翻訳箇所情報は、例えば、第一ウェブページまたは第二ウェブページ元の中の箇所を特定する情報であり、翻訳の変更箇所の開始のオフセットと翻訳の変更箇所の最後のオフセットである。翻訳箇所情報は、例えば、第一ウェブページまたは第二ウェブページ元の中の箇所を特定する情報であり、翻訳の変更箇所の開始タグと終了タクとを特定する情報である。
変更受付部122は、挿入コンテンツを有する変更指示を受け付けても良い。変更指示は、挿入コンテンツと当該コンテンツの挿入箇所を特定する挿入箇所情報とを有しても良い。
変更受付部122は、翻訳ウェブページに挿入される挿入コンテンツを受け付けても良い。変更受付部122は、第一ウェブページに挿入される静止画、動画、またはAPIである挿入コンテンツを受け付けても良い。
挿入コンテンツは、翻訳ウェブページに挿入されるコンテンツである。挿入コンテンツは、第一ウェブページに挿入されるコンテンツでも良い。挿入コンテンツは、例えば、静止画、動画、またはAPIである。APIは、プログラムまたはスクリプトを実行するための記述である。
挿入箇所情報とは、ウェブページ内の挿入箇所を特定する情報であり、例えば、ウェブページ内のリンク、ウェブページ内のオフセット、ウェブページ内のタクである。
変更受付部122は、翻訳ウェブページの文字列等の属性値の変更を示す変更指示を受け付けても良い。文字列等の属性値は、例えば、フォント、フォントサイズ、色等である。変更受付部122は、例えば、属性値の変更を、その変更箇所を特定する変更箇所情報とともに受け付ける。
変更受付部122は、元変更情報を有する変更指示を受け付けても良い。変更指示は、元変更情報と元箇所情報とを有しても良い。
元変更情報とは、第一ウェブページの少なくとも一部に対する人手による変更である元変更を特定する情報である。元変更情報は、例えば、第一言語の文字列である。元変更情報は、例えば、タグを含む。元変更情報は、例えば、第一ウェブページの中の箇所である変更箇所を特定する元箇所情報に対応付いている。
元箇所情報は、例えば、変更箇所の開始のオフセットと変更箇所の最後のオフセットである。元箇所情報は、例えば、変更箇所の開始タグと終了タクとを特定する情報である。元箇所情報の構造と翻訳箇所情報の構造とは、同じであることは好適である。
変更受付部122は、例えば、機械翻訳情報に対する翻訳変更情報を有する変更指示を端末装置2から受信する。
変更受付部122は、編集モードの場合のみ、翻訳変更情報を有する変更指示を受け付けることは好適である。変更受付部122は、ユーザが選択したモードが編集モードである場合のみ、翻訳変更情報を有する変更指示を受け付けることは好適である。なお、編集モードは、例えば、編集モード格納部114に格納されているが、格納部11には格納されておらず、端末装置2での操作に基づいて変更可能な情報であっても良い。
変更受付部122は、対応情報を受け付けても良い。変更受付部122は、端末装置2から対応情報を受信することは好適である。
なお、変更受付部122における指示や情報の受け付けとは、通常、端末装置2からの受信である。ただし、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念であっても良い。
処理部13は、各種の処理を行う。各種の処理とは、例えば、翻訳取得部131、URI取得部132、蓄積部133、UI取得部134、箇所情報取得部135、文字列取得部136、音声取得部137、判断部138、ページ取得部139、辞書利用部130が行う処理である。
翻訳取得部131は、第一ウェブページを用いて、第二ウェブページ元を取得する。第二ウェブページ元は、第一ウェブページの少なくとも第一言語の一部分を第二言語に機械翻訳した情報である。
翻訳取得部131は、例えば、第一ウェブページの翻訳対象を翻訳エンジン3に送信し、当該翻訳エンジン3から第二ウェブページ元を受信する。翻訳取得部131は、例えば、第一ウェブページの翻訳対象、第一言語識別子、および第二言語識別子を翻訳エンジン3に送信し、当該翻訳エンジン3から第二ウェブページ元を受信する。なお、翻訳対象とは、第一ウェブページ全体でも良いし、後述する文字列取得部136が取得した文字列でも良いし、後述する動画が有する音声情報でも良いし、後述する第一言語の元変更情報でも良い。また、翻訳取得部131が一度に扱う情報を翻訳単位と言う。翻訳単位は、例えば、第一ウェブページ全体、特定の開始タグと終了タグとの間の情報、段落、文、特殊情報である。特殊情報は、例えば、メタタグ、静止画、動画、静止画内の連続する文字の集合(文字列)、動画の各フィールドの連続する文字の集合(文字列)である。なお、精度の高い機械翻訳のためには、翻訳単位は、小さい単位の方が良い。ただし、機械翻訳の速度向上のためには、翻訳単位は、大きい単位の方が良い。
翻訳取得部131は、アクセス指示に対応する第二言語の翻訳ウェブページ元がページ格納部111に存在しない場合に、アクセス指示に対応する第一ウェブページに対応する第二ウェブページ元を取得することは好適である。第二ウェブページ元は、第一ウェブページの少なくとも第一言語の一部分を第二言語に機械翻訳した情報である。
翻訳取得部131は、静止画または動画から文字列取得部136が取得した文字列を一の言語とは異なる他の言語に機械翻訳した文字列翻訳結果を取得することは好適である。
翻訳取得部131は、一の言語の文字列が表出した静止画を用いて、上記の他の言語の文字列翻訳結果を表出させた静止画を構成しても良い。また、他の言語のこの文字列翻訳結果は、一の言語の文字列に置き換えられても良いし、一の言語の文字列に加えて、静止画に配置されても良い。
翻訳取得部131は、音声情報の一の言語とは異なる他の言語の音声翻訳結果を取得することは好適である。なお、音声翻訳は、例えば、翻訳エンジン3が行うが、翻訳取得部131が行っても良い。音声翻訳は、公知技術であるので、詳細な説明は省略する。
翻訳取得部131は、音声翻訳結果を加えた動画を構成しても良い。翻訳取得部131は、一の言語の音声情報を他の言語の音声翻訳結果に置き換えた動画を構成しても良い。また、翻訳取得部131は、各フィールドの一の言語の文字列を他の言語の文字列翻訳結果に置き換えた動画を構成しても良いし、各フィールドの一の言語の文字列に加えて、他の言語の文字列翻訳結果を各フィールドに配置した動画を構成しても良い。
翻訳取得部131は、第一言語の元変更情報を第二言語に機械翻訳された機械翻訳情報を取得する。
翻訳取得部131は、第一言語の第一ウェブページの少なくとも第一言語の部分を、翻訳ルート情報が有する中間言語識別子で識別される中間言語に機械翻訳された後、機械翻訳の結果をさらに第二言語に機械翻訳された第二ウェブページ元を取得することは好適である。
翻訳取得部131は、アクセス指示に対応する翻訳ウェブページ元であり、第二言語に対応付けられた翻訳ウェブページ元がページ格納部111に存在しないと判断部138が判断した場合に、アクセス指示に対応する第一ウェブページの少なくとも第一言語の一部分を第二言語に機械翻訳した第二ウェブページ元を取得しても良い。
翻訳取得部131は、例えば、翻訳ルート情報格納部113の翻訳ルート情報を参照し、第一言語の翻訳対象と第一言語識別子と中間言語識別子とを第一の翻訳エンジン3に送信し、当該第一の翻訳エンジン3から中間言語に機械翻訳された翻訳対象を受信する。次に、翻訳取得部131は、例えば、当該中間言語の翻訳対象と中間言語識別子と第一言語識別子とを第二の翻訳エンジン3に送信し、当該第二の翻訳エンジン3から第二言語に機械翻訳された翻訳対象を受信する。なお、第一の翻訳エンジン3と第二の翻訳エンジン3とは、同じでも異なっていても良い。
翻訳取得部131は、第一ウェブページのメタタグを第二言語に機械翻訳された翻訳メタタグをも有する第二ウェブページ元を取得することは好適である。翻訳取得部131は、例えば、第一ウェブページのメタタグである翻訳対象を取得し、当該メタタグの情報、第一言語識別子、第二言語識別子を翻訳エンジン3に送信し、当該翻訳エンジン3から第二言語のメタタグの情報を受信する。
なお、翻訳取得部131は、上述した通り、翻訳エンジン3を用いて、翻訳対象の機械翻訳結果を得ることは好適であるが、翻訳取得部131が翻訳対象を機械翻訳しても良い。なお、かかる場合、翻訳取得部131は、機械翻訳の機能を有する。
また、翻訳取得部131は、上述した通り、翻訳エンジン3を用いて、翻訳対象の音声情報の翻訳結果である第二言語の音声情報を取得したが、翻訳取得部131翻訳対象の音声情報を音声翻訳し、第二言語の音声情報を取得しても良い。かかる場合、翻訳取得部131は、後述する音声取得部137が取得した第一言語の音声情報に対して音声認識処理を行い、文字列を取得する。次に、翻訳取得部131は、当該文字列に対して機械翻訳処理を行い、第二言語の文字列を取得する。次に、翻訳取得部131は、当該第二言語の文字列に対して音声合成処理を行い、第二言語の音声情報を取得する。
翻訳取得部131は、後述するように、属性値取得手段1311、翻訳エンジン識別子取得手段1312、翻訳取得手段1313により動作することは好適である。
属性値取得手段1311は、第一ウェブページの各翻訳単位の属性値を取得する。属性値取得手段1311は、第一ウェブページの各翻訳単位の2以上の属性値を取得しても良い。
属性値取得手段1311は、例えば、第一ウェブページから、順次、翻訳単位を取得する。次に、属性値取得手段1311は、翻訳単位の言語識別子、翻訳単位のクラス識別子を取得する。なお、属性値取得手段1311は、例えば、第一ウェブページに対応付いている第一言語識別子を取得する。属性値取得手段1311は、例えば、端末装置2から受信された第二言語識別子を取得する。また、属性値取得手段1311は、例えば、格納部11の分類器を用いて、機械学習の予測処理を行い、翻訳単位のクラス識別子を取得する。
なお、格納部11の分類器は、例えば、クラス識別子と第一言語の1以上の文の集合とを有する2以上の教師データに対して、機械学習の学習処理を行い、作成した情報である。また、格納部11の分類器は、クラス識別子ごとに存在しても良いし、分類器は2以上のクラスに翻訳単位を分類する情報でも良い。
機械学習のアルゴリズムは、深層学習、ランダムフォレスト、決定木、SVM等、問わない。属性値取得手段1311は、例えば、2以上の教師データを、機械学習の学習処理を行うモジュールに与え、当該モジュールを実行することにより、分類器を取得する。また、属性値取得手段1311は、例えば、分類器と翻訳単位とを機械学習の予測処理を行うモジュールに与え、当該モジュールを実行することにより予測処理を行い、クラス識別子を取得する。また、機械学習のモジュールは、例えば、Tiny_SVM、TensorFlowの関数、MicrosoftMLの関数等、問わない。
なお、属性値取得手段1311は、機械学習を用いずに、翻訳単位のクラス識別子を取得しても良い。例えば、クラス識別子ごとに1以上のキーワードが格納されている辞書が格納部11に格納されており、属性値取得手段1311は、かかる辞書を用いて、クラス識別子ごとに、翻訳単位が有する用語がキーワードに含まれる数を取得し、当該数が最大のクラス識別子を取得する等しても良い。つまり、属性値取得手段1311が翻訳単位のクラス識別子を取得するアルゴリズムは問わない。
翻訳エンジン識別子取得手段1312は、各翻訳単位ごとに、翻訳単位の1以上の属性値に合致する属性値条件と対になる翻訳エンジン識別子を取得する。翻訳エンジン識別子取得手段1312は、例えば、使用エンジン情報格納部112を参照し、属性値取得手段1311が取得した1以上の属性値が合致する属性値条件を決定し、当該属性値条件と対になる翻訳エンジン識別子を取得する。
翻訳単位の1以上の属性値に合致する属性値条件が存在しない場合、例えば、翻訳エンジン識別子取得手段1312は、デフォルトの翻訳エンジン識別子を取得する。
翻訳取得手段1313は、翻訳エンジン識別子取得手段1312が取得した翻訳エンジン識別子で識別される翻訳エンジン3に対して、各翻訳単位を渡し、翻訳エンジン3から第二ウェブページ元を取得する。
翻訳取得手段1313は、例えば、翻訳エンジン識別子取得手段1312が取得した翻訳エンジン識別子で識別される翻訳エンジン3に、翻訳単位等を送信し、当該翻訳エンジン3から第二ウェブページ元を受信する。なお、翻訳単位等とは、翻訳単位だけでも良いし、翻訳単位と第二言語識別子でも良いし、翻訳単位と第一言語識別子と第二言語識別子でも良い。つまり、翻訳取得手段1313が翻訳エンジン3に送信する情報は、翻訳エンジン3の仕様に依存する。
翻訳取得手段1313は、例えば、翻訳エンジン識別子取得手段1312が取得した翻訳エンジン識別子で識別されるソフトウェアに、翻訳単位を与え、第二ウェブページ元を取得する。
URI取得部132は、第一ウェブページの第一URIを取得し、当該第一URIの最下位にユニークな文字列を付加したURIであり、翻訳ウェブページにアクセスするための第二URIを取得する。ユニークな文字列は、例えば、第二言語を識別できる情報である。なお、第一ウェブページの第一URIは、ページ格納部111の第一ウェブページに対応付いて格納されている。第一ウェブページの第一URIは、例えば、第一ウェブページのファイル名である。
例えば、第一ウェブページの第一URIが「https://aaa.co.jp/wp」である場合であり、第二言語が英語である場合、URI取得部132は、英語に対応する文字列「/en」を格納部11から取得し、第二URI「https://aaa.co.jp/wp/en」を構成する。また、第二言語が中国語である場合、URI取得部132は、英語に対応する文字列「/ch」を格納部11から取得し、第二URI「https://aaa.co.jp/wp/ch」を構成する。なお、かかる場合、言語識別子に対応付けて、文字列(例えば、「/en」)が格納部11に格納されている、とする。
蓄積部133は、翻訳取得部131が取得した翻訳ウェブページ元と、箇所情報取得部135が取得した翻訳箇所情報とを、第一ウェブページに対応付けて、蓄積する。蓄積部133は、例えば、翻訳取得部131が取得した翻訳ウェブページ元と、箇所情報取得部135が取得した翻訳箇所情報とを、第一ウェブページに対応付けて、格納部11に蓄積する。ただし、これらの情報の蓄積先は、外部の装置でも良い。
翻訳ウェブページ元は、翻訳ウェブページを構成する元になる情報である。翻訳ウェブページ元は、例えば、第一ウェブページを第二言語に機械翻訳した第二ウェブページ元でも良い。翻訳ウェブページ元は、例えば、変更受付部122が受け付けた翻訳変更情報と、第一ウェブページを第二言語に機械翻訳した情報である。翻訳ウェブページ元は、例えば、変更受付部122が受け付けた翻訳変更情報と、第一ウェブページを第二言語に機械翻訳した情報のうち、翻訳変更情報に対応する部分を除いた情報である。
蓄積部133は、変更受付部122が受け付けた挿入コンテンツを、翻訳ウェブページ元または第一ウェブページに対応付けて蓄積しても良い。蓄積部133は、翻訳ウェブページに対して挿入された挿入コンテンツは、通常、翻訳ウェブページ元に対応付けるが、第一ウェブページに対応付けても良い。また、蓄積部133は、第一ウェブページに対して挿入された挿入コンテンツは、通常、第一ウェブページに対応付けるが、翻訳ウェブページ元に対応付けても良い。
蓄積部133は、例えば、挿入コンテンツと文字列翻訳結果、または文字列翻訳結果が反映された挿入コンテンツを、第一ウェブページまたは翻訳ウェブページ元に対応付けて蓄積する。
蓄積部133は、例えば、動画と音声翻訳結果、または動画が有する音声情報を音声翻訳結果に置き換えた動画を、第一ウェブページまたは翻訳ウェブページ元に対応付けて蓄積する。
蓄積部133は、例えば、第二URIを用いてアクセス可能なように、翻訳ウェブページ元を蓄積する。
UI取得部134は、編集モードまたは表示モードを選択できるユーザインターフェイスを格納部11から取得する。UI取得部134は、例えば、第二ウェブページ元が端末装置2に送信される場合に、当該UIを取得する。
箇所情報取得部135は、翻訳箇所情報を取得する。翻訳箇所情報は、第二ウェブページ元が翻訳変更情報により変更された箇所を特定する情報である。箇所情報取得部135は、例えば、翻訳変更情報に対応付いている翻訳箇所情報を取得する。
箇所情報取得部135は、元箇所情報を取得する。元箇所情報は、第一ウェブページが元変更情報により変更された箇所を特定する情報である。箇所情報取得部135は、例えば、元変更情報に対応付いている元箇所情報を取得する。
箇所情報取得部135は、元変更情報の機械翻訳情報に対する変更である翻訳変更情報により変更された箇所を特定する翻訳箇所情報を取得しても良い。箇所情報取得部135は、例えば、当該翻訳変更情報に対応付いている翻訳箇所情報を取得する。
翻訳箇所情報および元箇所情報は、第二ウェブページ元の箇所を特定する情報でも良いし、第一ウェブページの箇所を特定する情報でも良い。箇所情報取得部135は、翻訳変更情報に対応付けて受信された翻訳箇所情報または元箇所情報を取得しても良いし、翻訳箇所情報または元箇所情報を、自律的に取得しても良い。翻訳箇所情報および元箇所情報は、開始の箇所を特定する開始オフセット、開始オフセットと終了オフセット、リンク、文のID、タグ等である。また、元箇所情報は、通常、翻訳箇所情報と同じデータ構造である。
文字列取得部136は、静止画に対して文字認識処理を行い、一の言語の文字列を取得する。また、文字列取得部136は、動画を構成する各フィールドに対して文字認識処理を行い、一の言語の文字列を取得する。なお、動画の場合、文字列取得部136は、フィールドごとに文字列を保持していても良いし、全フィールドからの文字列を一緒に保持しても良い。
文字列取得部136は、動画の音声情報を音声認識し、文字列を取得しても良い。文字列取得部136は、各フィールドに対応する音声情報ごと(フィールドごと)に1以上の文字列を保持しても良いし、全フィールの音声情報の文字列を一緒に保持しても良い。
音声取得部137は、動画から一の言語の音声情報を取得する。なお、動画および音声情報のデータ構造は問わない。
判断部138は、ページ格納部111に、アクセス指示に対応する第二言語に対応付けられた翻訳ウェブページ元が存在するか否かを判断する。
判断部138は、例えば、第一言語に対応付けられた第一ウェブページと第一言語とは異なる1以上の各言語の翻訳ウェブページ元とを対応付けて格納しているページ格納部111に、アクセス指示に対応する第二言語に対応付けられた翻訳ウェブページ元が存在するか否かを判断する。
ページ取得部139は、翻訳ウェブページ元がページ格納部111に存在しないと、判断部138が判断した場合には、翻訳取得部131が取得した翻訳ウェブページ元を用いて、第二言語の翻訳ウェブページを取得する。
ページ取得部139は、翻訳ウェブページ元がページ格納部111に存在する場合には、ページ格納部111の翻訳ウェブページ元を用いて、第二言語の翻訳ウェブページを取得する。
ページ取得部139は、例えば、指示受信部121が第二言語に対応付けられたアクセス指示を受信した場合には、第一ウェブページのタグと翻訳ウェブページ元とを合成して、翻訳ウェブページを構成する。
ページ取得部139は、指示受信部121が第一言語に対応付けられたアクセス指示を受信した場合には、挿入コンテンツが挿入された第一ウェブページを取得する。かかる場合、挿入コンテンツが、翻訳ウェブページまたは第一ウェブページに挿入された後である。
指示受信部121が第二言語に対応付けられたアクセス指示を受け付けた場合には、挿入コンテンツが挿入された翻訳ウェブページを取得する。かかる場合、挿入コンテンツが、第一ウェブページまたは翻訳ウェブページに挿入された後である。
ページ取得部139は、反映モードが修正の反映を行うとのモードである場合のみ、変更受付部122が受け付けた第一ウェブページに挿入される挿入コンテンツを反映させた翻訳ウェブページを取得することは好適である。
ページ取得部139は、反映モードが修正の反映を行うとのモードである場合のみ、変更受付部122が受け付けた翻訳ウェブページに挿入される挿入コンテンツを反映させた第一ウェブページを取得することは好適である。
辞書利用部130は、用語辞書を用いて、適切な翻訳ウェブページ元を取得する。辞書利用部130は、例えば、辞書格納部116を参照し、第一ウェブページの中の第一用語と対になる第二用語を翻訳ウェブページ元の翻訳結果として採用する処理を行う。辞書利用部130は、例えば、辞書格納部116を参照し、機械翻訳された第二ウェブページ元の中の機械翻訳第二用語を、当該機械翻訳第二用語と対になる人手第二用語に置き換える処理を行う。なお、辞書利用部130が動作するタイミングは問わない。
送信部14は、各種の情報を送信する。各種の情報は、例えば、機械翻訳情報、UI、各種の画面、ウェブページである。
機械翻訳出力部141は、機械翻訳情報を出力する。機械翻訳出力部141は、例えば、翻訳取得部131が第一言語の元変更情報を第二言語に機械翻訳された機械翻訳情報を取得した場合に、当該機械翻訳情報を出力する。ここで、出力とは、通常、端末装置2への送信である。ただし、出力は、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念であっても良い。なお、端末装置2に送信され、端末装置2で出力された機械翻訳情報は、ユーザにより修正されても良い。
機械翻訳出力部141は、例えば、機械翻訳情報を、第一ウェブページまたは翻訳ウェブページ元に対応付けて蓄積しても良い。なお、蓄積先は、通常、格納部11であるが、外部の装置でも良い。
UI送信部142は、UIを端末装置2に送信する。UIは、例えば、編集モードまたは表示モードを選択するためのUIであり、例えば、メニュー、ボタンの集合、メニューやボタンを有する画面である。
ページ送信部143は、ウェブページ取得部139が取得した翻訳ウェブページを端末装置2に送信する。
端末装置2を構成する端末格納部21には、各種の情報が格納される。各種の情報とは、例えば、ユーザ識別子、端末識別子、ユーザが使用する言語を識別する言語識別子である。なお、端末識別子は、ユーザ識別子と考えても良い。また、言語識別子は、端末装置2に格納されているブラウザに設定されている情報でも良いし、OSに設定されている情報でも良いし、ユーザが端末格納部21に設定した情報等でも良い。
端末受付部22は、各種の指示や情報等を受け付ける。各種の指示や情報等は、例えば、アクセス指示、変更指示、翻訳変更情報、挿入コンテンツ、元変更情報、設定情報である。設定情報とは、ウェブページ処理装置1または端末装置2を動作させるためのパラメータである。設定情報は、例えば、編集モード、反映モードである。また、変更指示は、例えば、翻訳変更情報、挿入コンテンツ、元変更情報のいずれかを含む。
各種の指示や情報等の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。
端末処理部23は、各種の処理を行う。各種の処理とは、例えば、端末受信部25が受信した情報を表示されるデータに構成する処理である。各種の処理とは、例えば、端末受付部22が受け付けた指示等を送信する指示等に構成する処理である。
端末送信部24は、各種の指示や情報等をウェブページ処理装置1に送信する。各種の指示や情報等とは、例えば、端末処理部23が構成した指示、端末受付部22が受け付けた指示や情報等である。
端末受信部25は、各種の情報をウェブページ処理装置1から受信する。各種の情報とは、例えば、ウェブページ、機械翻訳結果、UI、画面情報である。
端末出力部26は、各種の情報を出力する。各種の情報とは、例えば、端末受付部22が受け付けた情報、端末受信部25が受信した情報、端末処理部23が構成した情報である。各種の情報とは、例えば、ウェブページ、機械翻訳結果、UI、画面である。
格納部11、ページ格納部111、使用エンジン情報格納部112、翻訳ルート情報格納部113、反映モード格納部115、および端末格納部21は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。
受信部12、指示受信部121、変更受付部122、および端末受信部25は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
処理部13、翻訳取得部131、URI取得部132、蓄積部133、UI取得部134、箇所情報取得部135、文字列取得部136、音声取得部137、判断部138、ページ取得部139、属性値取得手段1311、翻訳エンジン識別子取得手段1312、翻訳取得手段1313、および端末処理部23は、通常、プロセッサやメモリ等から実現され得る。処理部13の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、プロセッサは、CPU、MPU、GPU等であり、その種類は問わない。
送信部14、機械翻訳出力部141、UI送信部142、ページ送信部143、および端末送信部24は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
端末受付部22は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
端末出力部26は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。端末出力部26は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、情報システムAの動作例について説明する。まず、ウェブページ処理装置1の動作例について、図4のフローチャートを用いて説明する。
(ステップS401)指示受信部121は、アクセス指示を端末装置2から受信したか否かを判断する。アクセス指示を受信した場合にはステップS402に行き、受信しなかった場合にはステップS415に行く。なお、端末装置2が受信するアクセス指示は、通常、言語識別子に対応付いている。また、アクセス指示は、通常、ウェブページを識別するURIに対応付いている。
(ステップS402)判断部138は、ステップS401で受信されたアクセス指示に対応する言語識別子を取得する。なお、言語識別子は、例えば、端末装置2から送信された情報でも良いし、アクセス指示に含まれる文字列から言語を判断し、取得された情報でも良い。
(ステップS403)判断部138は、ステップS401で受信されたアクセス指示に対応するウェブページで、ステップS402で取得した言語識別子に対応する言語のウェブページがページ格納部111に存在するか否かを判断する。ウェブページが存在すればステップS404に行き、存在しなければステップS406に行く。
判断部138は、例えば、アクセス指示に含まれるURIが示す箇所に存在し、ステップS402で取得した言語識別子に対応する第一ウェブページまたは翻訳ウェブページ元がページ格納部111に存在するか否かを判断する。
(ステップS404)処理部13は、ステップS401で受信されたアクセス指示に対応し、かつステップS402で取得した言語識別子に対応する言語のウェブページをページ格納部111から取得する。
なお、ここで、当該ウェブページが第二言語のウェブページである場合、処理部13は、例えば、ステップS402で取得した言語識別子であり、当該第二言語識別子に対応する翻訳ウェブページ元を取得し、当該翻訳ウェブページ元と、第一言語の第一ウェブページのタグ等とを合成し、翻訳ウェブページを構成する。
また、当該ウェブページが第一言語のウェブページである場合、処理部13は、ステップS402で取得した言語識別子に対応する第一ウェブページをページ格納部111から読み出す。
(ステップS405)ページ送信部143は、ステップS404で取得されたウェブページを、アクセス指示を送信してきた端末装置2に送信する。ステップS401に戻る。
(ステップS406)翻訳取得部131は、翻訳取得処理を行う。翻訳取得処理の例について、図5のフローチャートを用いて説明する。なお、翻訳取得処理とは、第一ウェブページを用いて、ステップS402で取得された言語識別子で識別される言語の翻訳ウェブページ元を取得することである。
(ステップS407)URI取得部132は、第一ウェブページの第一URIを取得する。URI取得部132は、例えば、受信されたアクセス指示に含まれる第一URIを取得する。
(ステップS408)URI取得部132は、ステップS407で取得した第一URIを用いて、ステップS406で取得された翻訳ウェブページ元を用いて取得される翻訳ウェブページにアクセスするための第二URIを取得する。
(ステップS409)蓄積部133は、ステップS406で取得された翻訳ウェブページ元を、ステップS408で取得された第二URIで識別される記録場所に蓄積する。なお、翻訳ウェブページ元は、第一ウェブページに対応付けられている。なお、対応付けられていることは、例えば、第一ウェブページの第一URIと、翻訳ウェブページ元の第二URIとが予め決められた関係(例えば、一部が重複する等)にあることであるが、対応付けの方法は問わない。
(ステップS410)処理部13は、ステップS406で取得された翻訳ウェブページ元を用いて、翻訳ウェブページを取得する。
(ステップS411)ページ送信部143は、ステップS410で取得した翻訳ウェブページを、アクセス指示を送信してきた端末装置2に送信する。
(ステップS412)処理部13は、アクセス指示を送信してきた端末装置2に、UIを送信するか否かを判断する。UIを送信する場合はステップS413に行き、送信しない場合はステップS401に戻る。なお、アクセス指示に含まれるユーザ識別子または端末識別子が、予め格納されているユーザ識別子または端末識別子である場合(例えば、ウェブページの管理者のアクセスである場合)、処理部13は、UIを送信する、と判断する。
(ステップS413)UI取得部134は、UIを格納部11から取得する。
(ステップS414)UI送信部142は、ステップS413で取得されたUIを、アクセス指示を送信してきた端末装置2に送信する。ステップS401に戻る。
(ステップS415)変更受付部122は、端末装置2から変更指示を受信したか否かを判断する。変更指示を受信した場合にはステップS407に行き、変更指示を受信しなかった場合にはステップS417に行く。
(ステップS416)処理部13は、変更処理を行う。変更処理の例について、図10のフローチャートを用いて説明する。ステップS401に戻る。なお、変更処理とは、第一ウェブページ、または/および翻訳ウェブページ元を変更するための処理である。
(ステップS417)受信部12は、端末装置2から設定情報を受信したか否かを判断する。設定情報を受信した場合はステップS418に行き、設定情報を受信しなかった場合はステップS401に戻る。なお、設定情報とは、例えば、使用エンジン情報、翻訳ルート情報、編集モード、反映モードである。
(ステップS418)蓄積部133は、ステップS417で受信された設定情報を、格納部11に蓄積する。ステップS401に戻る。なお、蓄積部133は、設定情報の種類に応じて、対応する記録領域に設定情報を蓄積する。
設定情報が使用エンジン情報である場合、蓄積部133は、当該設定情報を使用エンジン情報格納部112に蓄積する。設定情報が翻訳ルート情報である場合、蓄積部133は、当該設定情報を翻訳ルート情報格納部113に蓄積する。設定情報が編集モードである場合、蓄積部133は、当該設定情報を編集モード格納部114に蓄積する。設定情報が反映モードである場合、蓄積部133は、受信された設定情報に対応する第一ウェブページまたは翻訳ウェブページ元に対応付けて、当該設定情報を反映モード格納部115に蓄積する。設定情報が対応情報である場合、蓄積部133は、受信された設定情報に対応する第一ウェブページまたは翻訳ウェブページ元に対応付けて、当該設定情報を辞書格納部116に蓄積する。
なお、図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS406の翻訳取得処理の例について、図5のフローチャートを用いて説明する。
(ステップS501)翻訳取得部131は、ステップS401で受信されたアクセス指示に対応するウェブページで、第一言語の第一ウェブページをページ格納部111から読み出す。
(ステップS502)翻訳取得部131は、カウンタiに1を代入する。
(ステップS503)翻訳取得部131は、ステップS501で読み出した第一ウェブページの中に、i番目の翻訳単位が存在するか否かを判断する。i番目の翻訳単位が存在する場合はステップS504に行き、i番目の翻訳単位が存在しない場合は上位処理にリターンする。
(ステップS504)翻訳取得部131は、ステップS501で読み出した第一ウェブページからi番目の翻訳単位を取得する。
(ステップS505)翻訳取得部131は、第一ウェブページの中の箇所を特定する情報であり、i番目の翻訳単位の箇所を特定する情報である翻訳箇所情報を取得する。
(ステップS506)翻訳取得部131は、i番目の翻訳単位を機械翻訳するために使用する翻訳エンジンを決定する。かかる翻訳エンジン決定処理の例について、図6のフローチャートを用いて説明する。
(ステップS507)翻訳取得部131は、i番目の翻訳単位のデータタイプが文字列であるか否かを判断する。文字列である場合はステップS508に行き、文字列でない場合はステップS509に行く。
(ステップS508)翻訳取得部131は、文字列であるi番目の翻訳単位の翻訳処理を行う。ステップS510に行く。なお、かかる文字列翻訳処理の例について、図7のフローチャートを用いて説明する。
(ステップS509)翻訳取得部131は、i番目の翻訳単位のデータである特殊コンテンツの翻訳処理を行う。ステップS509に行く。特殊コンテンツの翻訳処理である特殊コンテンツ処理の例について、図9のフローチャートを用いて説明する。
(ステップS510)翻訳取得部131は、カウンタiを1、インクリメントする。ステップS503に戻る。
次に、ステップS506の翻訳エンジン決定処理の例について、図6フローチャートを用いて説明する。
(ステップS601)属性値取得手段1311は、翻訳対象の言語を識別する第一言語識別子を取得する。
(ステップS602)属性値取得手段1311は、翻訳先の言語である第二言語の第二言語識別子を取得する。
(ステップS603)属性値取得手段1311は、翻訳対象のデータタイプを取得する。
(ステップS604)属性値取得手段1311は、ステップS603で取得したデータタイプが「文字列」であるか否かを判断する。「文字列」である場合はステップS605に行き、「文字列」でない場合はステップS612に行く。
(ステップS605)属性値取得手段1311は、文字列である翻訳対象の1以上のクラス識別子を取得する。
(ステップS606)翻訳エンジン識別子取得手段1312は、カウンタiに1を代入する。
(ステップS607)翻訳エンジン識別子取得手段1312は、i番目の属性値条件が使用エンジン情報格納部112に存在するか否かを判断する。i番目の属性値条件が存在すればステップS608に行き、存在しなければステップS611に行く。
(ステップS608)翻訳エンジン識別子取得手段1312は、翻訳対象の1以上の属性値がi番目の属性値条件に合致するか否かを判断する。i番目の属性値条件に合致する場合はステップS609に行き、i番目の属性値条件に合致しない場合はステップS610に行く。
(ステップS609)翻訳エンジン識別子取得手段1312は、i番目の属性値条件と対になる1以上の翻訳エンジン識別子を取得する。上位処理にリターンする。
(ステップS610)翻訳エンジン識別子取得手段1312は、カウンタiを1、インクリメントする。ステップS607に戻る。
(ステップS611)翻訳エンジン識別子取得手段1312は、デフォルトの翻訳エンジン識別子を取得する。上位処理にリターンする。なお、デフォルトの翻訳エンジン識別子は、使用エンジン情報格納部112に格納されている。
(ステップS612)属性値取得手段1311は、ステップS603で取得したデータタイプが「静止画」であるか否かを判断する。「静止画」である場合はステップS613に行き、「静止画」でない場合はステップS614に行く。
(ステップS613)文字列取得部136は、翻訳対象の静止画に対して文字認識処理を行い、1以上の文字列を取得する。ステップS605に行く。
(ステップS614)属性値取得手段1311は、ステップS603で取得したデータタイプが「動画」であるか否かを判断する。「動画」である場合はステップS615に行き、「動画」でない場合はステップS611に行く。
(ステップS615)文字列取得部136は、翻訳対象の動画の各フィールドに対して文字認識処理を行い、各フィールドから1以上の文字列を取得する。なお、ここで、文字列取得部136は、フィールドごとに1以上の文字列を保持しても良いし、全フィールの文字列を一緒に保持しても良い。
(ステップS616)音声取得部137は、翻訳対象の動画から音声情報を取得する。
(ステップS617)文字列取得部136は、ステップS616で取得した音声情報に対して音声認識処理を行い、1以上の文字列を取得する。ステップS605に行く。
なお、ここで、文字列取得部136は、各フィールドに対応する音声情報ごと(フィールドごと)に1以上の文字列を保持しても良いし、全フィールの音声情報の文字列を一緒に保持しても良い。
なお、図6のフローチャートにおいて、静止画や動画から取得された文字列は、一括して、属性値を取得し、翻訳エンジン3を決定した。しかし、静止画の中の区分された文字列ごとに属性値を取得し、翻訳エンジン3を決定しても良い。また、動画のフレーム毎に属性値を取得し、翻訳エンジン3を決定するなどしても良い。つまり、属性値を取得し、翻訳エンジン3を決定する単位は問わない。
次に、ステップS508の文字列翻訳処理の例について、図7のフローチャートを用いて説明する。
(ステップS701)翻訳取得部131は、カウンタiに1を代入する。
(ステップS702)翻訳取得部131は、ステップS506で決定された翻訳エンジンの中で、i番目の翻訳エンジンが存在するか否かを判断する。i番目の翻訳エンジンが存在すればステップS703に行き、i番目の翻訳エンジンが存在しなければステップS705に行く。
(ステップS703)翻訳取得部131は、翻訳対象の文字列をi番目の翻訳エンジンに与え、機械翻訳結果を取得する。
(ステップS704)翻訳取得部131は、辞書利用処理を行う。辞書利用処理の例について、図8のフローチャートを用いて説明する。なお、辞書利用処理は、用語辞書を用いて、機械翻訳された用語のうち、不適切な用語を適切な用語に置き換える処理である。
(ステップS705)翻訳取得部131は、カウンタiを1、インクリメントする。ステップS702に戻る。
(ステップS706)翻訳取得部131は、ステップS505で取得された翻訳箇所情報に対応付けて、i番目の機械翻訳結果を、少なくとも一時蓄積する。上位処理にリターンする。
次に、ステップS704の辞書利用処理の例について、図8のフローチャートを用いて説明する。
(ステップS801)翻訳取得部131は、カウンタiに1を代入する。
(ステップS802)翻訳取得部131は、i番目の対応情報が存在するか否かを判断する。i番目の対応情報が存在する場合はステップS803に行き、i番目の対応情報が存在しない場合は上位処理にリターンする。なお、i番目の対応情報は、辞書格納部116の中の対応情報、または辞書利用処理に与えられた対応情報の中のi番目の対応情報である。
(ステップS803)翻訳取得部131は、i番目の対応情報が有するi番目の機械翻訳第二用語を取得する。
(ステップS804)翻訳取得部131は、カウンタjに1を代入する。
(ステップS805)翻訳取得部131は、対象となる翻訳ウェブページ元の中に、ステップS803で取得した機械翻訳第二用語にマッチするj番目の用語が存在するか否かを判断する。j番目の用語が存在する場合はステップS806に行き、j番目の用語が存在しない場合はステップS808に行く。
(ステップS806)翻訳取得部131は、j番目の用語を、i番目の対応情報が有するi番目の人手第二用語に置き換える。
(ステップS807)翻訳取得部131は、カウンタjを1、インクリメントする。ステップS804に戻る。
(ステップS808)翻訳取得部131は、カウンタiを1、インクリメントする。ステップS802に戻る。
次に、ステップS510の特殊コンテンツ処理の例について、図9のフローチャートを用いて説明する。
(ステップS901)翻訳取得部131は、翻訳対象のデータタイプが静止画であるか否かを判断する。静止画である場合はステップS902に行き、静止画でない場合はステップS905に行く。
(ステップS902)文字列取得部136は、翻訳対象の静止画を文字認識し、1以上の文字列を取得する。なお、ここで、文字列取得部136は、静止画内の配置が連続しない2以上の各文字列を、別々に取得しても良い。
(ステップS903)翻訳取得部131は、ステップS902で取得した1以上の文字列に対して文字列翻訳処理を行う。
なお、ここで、翻訳取得部131は、連続しない2以上の各文字列ごとに、文字列翻訳処理を行っても良い。
(ステップS904)翻訳取得部131は、ステップS903で取得された文字列を翻訳対象の静止画に配置し、第二言語の静止画を構成する。なお、翻訳取得部131が文字列を配置する場所は、第一言語の配置場所である(上書きする)ことは好適であるが、第一言語の配置場所に対応付く、他の場所でも良い。
(ステップS905)翻訳取得部131は、翻訳対象のデータタイプが動画であるか否かを判断する。動画である場合はステップS906に行き、動画でない場合は上位処理にリターンする。
(ステップS906)音声取得部137は、翻訳対象の動画から音声情報を取得する。
(ステップS907)翻訳取得部131は、ステップS906で取得した音声情報に対して音声翻訳処理を行い、第二言語の音声情報を取得する。なお、音声翻訳処理は、公知技術であるので、詳細な説明を省略する。また、音声翻訳として、VoiceTra(URL:https://play.google.com/store/apps/details?id=jp.go.nict.voicetra&hl=ja)等が利用可能である。
(ステップS908)翻訳取得部131は、カウンタiに1を代入する。
(ステップS909)翻訳取得部131は、翻訳対象の動画の中にi番目のフィールドが存在するか否かを判断する。i番目のフィールドが存在する場合はステップS910に行き、i番目のフィールドが存在しない場合はステップS915に行く。
(ステップS910)翻訳取得部131は、動画からi番目のフィールドを取得する。
(ステップS911)文字列取得部136は、i番目のフィールドに対して、文字認識処理を行い、1以上の文字列を取得する。なお、ここで、文字列取得部136は、静止画内の配置が連続しない2以上の各文字列を、別々に取得しても良い。
(ステップS912)翻訳取得部131は、ステップS911で取得された1以上の文字列に対して文字列翻訳処理を行い、第二言語の文字列を取得する。
なお、ここで、翻訳取得部131は、連続しない2以上の各文字列ごとに、文字列翻訳処理を行っても良い。
(ステップS913)翻訳取得部131は、ステップS912で取得された第二言語の文字列を用いて、第二言語のi番目のフィールドを構成する。
(ステップS914)翻訳取得部131は、カウンタiを1、インクリメントする。ステップS909に戻る。
(ステップS915)翻訳取得部131は、第二言語の音声情報を動画に付加し、第二言語の動画を構成する。上位処理にリターンする。
次に、ステップS416の変更処理の例について、図10のフローチャートを用いて説明する。
(ステップS1001)処理部13は、受信された変更指示に含まれる情報が翻訳変更情報であるか否かを判断する。翻訳変更情報であればステップS1002に行き、翻訳変更情報でなければステップS1004に行く。
(ステップS1002)蓄積部133は、翻訳箇所情報を取得する。なお、翻訳箇所情報は、例えば、受信された変更指示に含まれる。
(ステップS1003)蓄積部133は、翻訳変更情報と翻訳箇所情報とを、第一ウェブページに対応付けてページ格納部111に蓄積する。上位処理にリターンする。
(ステップS1004)処理部13は、受信された変更指示に含まれる情報が元変更情報であるか否かを判断する。元変更情報であればステップS1005に行き、元変更情報でなければステップS1013に行く。
(ステップS1005)蓄積部133は、元変更情報を用いて、第一ウェブページを更新する。
(ステップS1006)翻訳取得部131は、反映モード格納部115から、当該第一ウェブページまたは翻訳ウェブページ元に対応する反映モードを取得する。
(ステップS1007)翻訳取得部131は、ステップS1006で取得した反映モードが、「反映」させるという情報であるか否かを判断する。反映させる場合はステップS1008に行き、反映させない場合は上位処理にリターンする。
(ステップS1008)翻訳取得部131は、カウンタiに1を代入する。
(ステップS1009)翻訳取得部131は、第一言語ではない他言語のi番目の第二ウェブページがページ格納部111に存在するか否かを判断する。i番目の第二ウェブページが存在する場合はステップS1010に行き、存在しない場合は上位処理にリターンする。
(ステップS1010)翻訳取得部131は、元変更情報をi番目の他言語に翻訳するための翻訳エンジンの決定処理を行う。翻訳エンジン決定処理について、図6のフローチャートを用いて説明した。
(ステップS1011)翻訳取得部131は、元変更情報をi番目の他言語に翻訳する文字列翻訳処理を行う。文字列翻訳処理について、図7のフローチャートを用いて説明した。
(ステップS1012)翻訳取得部131は、カウンタiを1、インクリメントする。ステップS1009に戻る。
(ステップS1013)処理部13は、受信された変更指示に含まれる情報が対応情報であるか否かを判断する。対応情報であればステップS1014に行き、対応情報でなければステップS1019に行く。
(ステップS1014)蓄積部133は、当該ウェブページに対応付く用語辞書に、受信された変更指示に含まれる対応情報を追記する。
(ステップS1015)翻訳取得部131は、ステップS1014で追記された対応情報を辞書利用処理に渡し、当該辞書利用処理を行う。上位処理にリターンする。辞書利用処理の例について、図8のフローチャートを用いて説明した。
(ステップS1016)処理部13は、受信された変更指示に含まれる情報が挿入コンテンツであるか否かを判断する。が挿入コンテンツであればステップS1017に行き、が挿入コンテンツでなければ上位処理にリターンする。
(ステップS1017)処理部13は、挿入コンテンツ処理を行う。挿入コンテンツ処理の例について、図11のフローチャートを用いて説明する。上位処理にリターンする。
なお、図10のフローチャートにおいて、元変更情報が受信された場合、第一言語ではない他の言語の翻訳ウェブページ元が2以上存在する場合、各翻訳ウェブページ元ごとに、反映モードが設定されていても良い。かかる場合、「反映」するとの反映モードに対応する翻訳ウェブページ元のみに、変更された元変更情報の翻訳結果を反映させる。
次に、ステップS1017の挿入コンテンツ処理の例について、図11のフローチャートを用いて説明する。
(ステップS1101)翻訳取得部131は、挿入コンテンツが挿入される箇所を特定する挿入箇所情報を取得する。
(ステップS1102)蓄積部133は、挿入コンテンツを、挿入されたウェブページに挿入する処理を行う、挿入コンテンツが挿入されたウェブページをページ格納部111に蓄積する。
(ステップS1103)翻訳取得部131は、カウンタiに1を代入する。
(ステップS1104)翻訳取得部131は、i番目の他言語のウェブページが存在するか否かを判断する。i番目の他言語のウェブページが存在する場合はステップS1105に行き、i番目の他言語のウェブページが存在しない場合は上位処理にリターンする。
(ステップS1105)翻訳取得部131は、挿入コンテンツに対する翻訳エンジン決定処理を行う。翻訳エンジン決定処理について、図6のフローチャートを用いて説明した。
(ステップS1106)翻訳取得部131は、特殊コンテンツ処理を行う。特殊コンテンツ処理について、図9のフローチャートを用いて説明した。
(ステップS1107)蓄積部133は、i番目の他言語の翻訳ページ元に、i番目の他言語に翻訳された挿入コンテンツを挿入する。
(ステップS1108)翻訳取得部131は、カウンタiを1、インクリメントする。ステップS1104に戻る。
次に、端末装置2の動作例について、図12のフローチャートを用いて説明する。
(ステップS1201)端末受付部22は、アクセス指示を受け付けたか否かを判断する。アクセス指示を受け付けた場合はステップS1202に行き、アクセス指示を受け付けなかった場合はステップS1208に行く。
(ステップS1202)端末処理部23は、端末格納部21の言語識別子を取得する。そして、端末処理部23は、当該言語識別子に対応付くアクセス指示であり、送信するアクセス指示を構成する。次に、端末送信部24は、当該アクセス指示を、ウェブページ処理装置1に送信する。
(ステップS1203)端末受信部25は、アクセス指示に対応するウェブページであり、言語識別子で識別される言語のウェブページを受信したか否かを判断する。ウェブページを受信した場合はステップS1204に行き、ウェブページを受信しなかった場合はステップS1203に戻る。
(ステップS1204)端末処理部23は、ステップS1203で受信されたウェブページから出力するウェブページを構成する。端末出力部26は、当該ウェブページを出力する。
(ステップS1205)端末受信部25は、編集モードに切り替えることが可能なUIを受信したか否かを判断する。UIを受信した場合はステップS1207に行き、UIを受信しなかった場合はステップS1206に行く。
(ステップS1206)端末処理部23は、タイムアウトか否かを判断する。タイムアウトであればステップS1201に戻り、タイムアウトでなければステップS1205に戻る。
(ステップS1207)端末処理部23は、ステップS1205で受信されたUIから出力されるUIを構成する。端末出力部26は、当該UIを出力する。ステップS1201に戻る。
(ステップS1208)端末受付部22は、変更指示を受け付けたか否かを判断する。変更指示を受け付けた場合はステップS1209に行き、変更指示を受け付けなかった場合はステップS1214に行く。
(ステップS1209)端末処理部23は、端末格納部21に格納されているモードまたはウェブページ処理装置1の編集モード格納部114に格納されているモードが、編集モードであるか、表示モードであるかを判断する。編集モードであればステップS1210に行き、表示モードであればステップS1201に戻る。
(ステップS1210)端末処理部23は、ステップS1208で受け付けられた変更指示を用いて、送信する変更指示を構成する。なお、端末処理部23は、例えば、変更された箇所を特定する箇所情報を取得し、箇所情報と、変更内容を示す翻訳変更情報とを有する変更指示を構成する。端末送信部24は、当該変更指示をウェブページ処理装置1に送信する。
(ステップS1211)端末受信部25は、変更指示の送信に応じて、情報を受信したか否かを判断する。情報を受信した場合はステップS1213に行き、情報を受信しなかった場合はステップS1212に行く。
(ステップS1212)端末処理部23は、タイムアウトか否かを判断する。タイムアウトであればステップS1201に戻り、タイムアウトでなければステップS1211に戻る。
(ステップS1213)端末処理部23は、受信された情報を用いて、出力する情報を構成する。端末出力部26は、当該情報を出力する。ステップS1201に戻る。
(ステップS1214)端末受付部22は、設定情報を受け付けたか否かを判断する。設定情報を受け付けた場合はステップS1215に行き、設定情報を受け付けなかった場合はステップS1201に戻る。
(ステップS1215)端末処理部23は、ステップS1214で受け付けられた設定情報を用いて、送信する設定情報を構成する。端末送信部24は、当該設定情報をウェブページ処理装置1に送信する。ステップS1201に戻る。なお、設定情報が編集モードである場合、当該編集モードはウェブページ処理装置1に送信せずに、端末装置2において、表示されているウェブページを編集可能とするのみでも良い。
以下、本実施の形態における情報システムAの具体的な動作について説明する。以下、3つの具体例について説明する。具体例1では、第一ウェブページから第二ウェブページ元を取得する場合、第二ウェブページ元を人手により変更する場合、第一ウェブページの一部を変更した場合に第二ウェブページ元にも当該変更が反映される場合、および第一ウェブページの一部を変更した場合の機械翻訳結果が人手により変更される場合について説明する。具体例2では、辞書機能について説明する。具体例3では、挿入コンテンツの一つである動画を第一ウェブページに挿入した場合に、翻訳ウェブページにも、動画の挿入が反映される場合について説明する。
(具体例1)
今、ウェブページ処理装置1のページ格納部111には、図13に示す第一ウェブページが格納されている、とする。第一ウェブページの第一言語(オリジナル言語)は、日本語である。また、図13の第一ウェブページのソースには、図14の1401に示すスクリプトが記載されている。1401のスクリプトは、ウェブページ処理装置1の機能を動作させるためのプログラムを実行させるスクリプトである。つまり、第一ウェブページに、1401のスクリプトを挿入するだけで、ウェブページが1または2以上の他言語対応となる。
また、使用エンジン情報格納部112には、図15に示す使用エンジン管理表が格納されている、とする。使用エンジン管理表は、「ID」「属性値条件」「翻訳エンジン識別子」を有する1以上のレコードを含む。「属性値条件」は、ここでは、「第一言語識別子」「第二言語識別子」「クラス識別子」を有する。なお、「ID」は、レコードを識別する情報である。「属性値条件」は、ここでは、優先度の順に並んでいる、とする。「属性値条件」は、ここでは、各属性値が一致することが条件であることを示す。「クラス識別子」が「-」である場合、クラス識別子は問わないことを示す。
また、翻訳ルート情報格納部113には、図16に示す翻訳ルート管理表が格納されている、とする。翻訳ルート管理表は、「ID」「第一言語識別子」「第二言語識別子」「翻訳ルート情報」を有する。なお、「ID」は、レコードを識別する情報である。また、「ID=1」のレコードは、日本語からアラビア語に翻訳する場合に、「日本語から英語」に機械翻訳した後、「英語からアラビア語」に機械翻訳することを示す。つまり、「翻訳ルート情報」は、「第一言語識別子、中間言語識別子、第二言語識別子」を有する。なお、中間言語識別子は、2以上存在しても良い。つまり、例えば、「ID=2」の「翻訳ルート情報」は、例えば、「中国語→仏語→英語→スワヒリ語」でも良い。
さらに、反映モード格納部115には、図13に示す第一ウェブページに対応付けて、「ON」(反映させる)が格納されている、とする。
かかる状況において、ユーザは、第二言語識別子「英語」を有するアクセス指示であり、図13の第一ウェブページのURLを含むアクセス指示を、端末装置2に入力した、とする。次に、端末装置2は、かかるアクセス指示を受け付け、ウェブページ処理装置1に、当該URLと第二言語識別子「英語」とを有するアクセス指示を送信する。
次に、ウェブページ処理装置1の指示受信部121は、当該アクセス指示を端末装置2から受信する。
そして、判断部138は、受信されたアクセス指示に対応する言語識別子「英語」を取得する。次に、判断部138は、受信されたアクセス指示に対応するウェブページで、言語識別子「英語」に対応する言語のウェブページがページ格納部111に存在しない、と判断する。
次に、翻訳取得部131は、第一ウェブページに対して、上述した翻訳取得処理を行い、第二ウェブページ元を取得する。つまり、上述したように、翻訳取得部131は、第一ウェブページの翻訳単位ごとに、図15の使用エンジン管理表、図16の翻訳ルート管理表を用いて、機械翻訳を行う。なお、翻訳ルート管理表に合致するレコードが存在しない場合、翻訳ルートは、第一言語から第二言語に直接的に翻訳するルートである。
ここで、翻訳取得部131は、図17に示す情報群を取得した、とする。図17において、「ID」「第一言語」「データタイプ」「翻訳箇所情報」「第二言語」「人手フラグ」を有するレコードを、翻訳単位の数だけ有する。「ID」は、翻訳単位を識別する情報である。「第一言語」は、第一ウェブページの翻訳単位である。「データタイプ」は、翻訳単位のデータタイプである。「翻訳箇所情報」は、ここでは、第一ウェブページの翻訳単位の場所を特定する情報である。「第二言語」は、機械翻訳の翻訳結果または機械翻訳の翻訳結果を人手により修正した翻訳結果である。「第二言語」の属性値は、第二ウェブページ元または翻訳ウェブページ元を構成する情報である。「人手フラグ」は、「第二言語」の属性値が、機械翻訳の翻訳結果のままであるか(値「0」)、人手により修正した翻訳結果である(値「1」)を示す情報である。なお、取得された第二ウェブページ元は、図17の「第二言語」の属性値の集合である。
また、「翻訳箇所情報」は、ここでは、第一ウェブページのオフセットであるが、第二ウェブページ元のオフセットでも良く、場所を特定するタグ等でも良く、「第二言語」の属性値が配置される箇所が判断できる情報であれば良い。
次に、URI取得部132は、第一ウェブページが格納されている場所を特定する第一URI(ここでは、「https://a.jp/xxx」)を取得する。次に、URI取得部132は、取得された翻訳ウェブページ元の言語識別子「英語」に対応する文字列「/en」を格納部11か1ら取得し、第一URIに最下位に当該文字列を付加し、第二URI「https://a.jp/xxx/en」を取得する。
次に、蓄積部133は、第二URI「https://a.jp/xxx/en」に、少なくとも、図17の「翻訳箇所情報」「第二言語」の属性値の集合を蓄積する。なお、かかる蓄積の処理により、翻訳ウェブページ元(ここでは、第二ウェブページ元)と翻訳箇所情報とを、第一ウェブページに対応付けて、蓄積できたこととなる。
次に、処理部13は、図17の「翻訳箇所情報」「第二言語」の属性値の集合(翻訳ウェブページ元)と、第一ウェブページのタグとを合成し、英語に機械翻訳された翻訳ウェブページを構成する。次に、ページ送信部143は、当該翻訳ウェブページを、アクセス指示を送信してきた端末装置2に送信する。
次に、UI取得部134は、UIを格納部11から取得する。次に、UI送信部142は、取得されたUIを端末装置2に送信する。なお、UIは、編集モード/表示モードを選択するためのユーザインターフェイスである。
次に、端末装置2は、図13の第一ウェブページが英語に機械翻訳された翻訳ウェブページを受信し、出力する。また、端末装置2は、UIを受信し、翻訳ウェブページの上に出力する。
かかる出力例は、図18である。図18において、1801は、第一ウェブページの文字列の部分が第二言語である英語に機械翻訳された例である。なお、第一ウェブページの中の動画は、ここでは、翻訳対象になっておらず、1802の動画の第一フィールドに表出した文字列は日本語のままである。ただし、上述した通り、動画内の文字列や音声情報も英語に翻訳しても良い。
また、図18の1803は、UIである。そして、ユーザは、図18のUIのうち、1804の編集ボタンを指示した、とする。すると、端末受付部22は、「編集モード=ON」を受け付ける。なお、1805は、表示されているウェブページを編集モードに切り替えるボタンである。
次に、端末処理部23は、編集モードに移行するための処理を行う。なお、ここでは、図18のウェブページとは、異なるウェブページを用いて説明する。端末処理部23は、編集可能な情報(ここでは、文字列)を明示する処理を行う。ここでは、編集可能な情報を明示する処理は、編集可能な情報に下線を引く処理である。かかる表示例は、図19の手順3の1901である。
次に、ユーザは、下線の箇所のうち、機械翻訳結果のうちの「your service」1902が不適切である、と考え、「your service」1902を「your」1903に変更した、とする。
また、ユーザは、図20に示すように、フォントの属性値を変更するための操作ウィンドウ2001の中のフォントサイズを変更するボタン2002を押下し、対象文字列のフォントサイズを「15」から「19」に拡大した、とする。次に、ユーザは、図示しない「Save」ボタンを押下した、とする。なお、フォントサイズだけではなく、翻訳対象の各種の属性値(例えば、フォント、フォント色、背景色等)も変更可能である、とする。また、図20に示すように、フォントサイズの縮小も可能である。
さらに、図20に示すように、フォントの種類をBoldにしたり、Italicにしたりできる。
すると、端末受付部22は、変更指示を受け付ける。次に、端末処理部23は、受け付けられた変更指示を用いて、送信する変更指示を構成する。この変更指示は、変更された文字列である翻訳変更情報および変更された箇所を特定する翻訳箇所情報を有する。端末送信部24は、当該変更指示をウェブページ処理装置1に送信する。
次に、変更受付部122は、端末装置2から当該変更指示を受信する。次に、蓄積部133は、変更指示に含まれる翻訳変更情報と翻訳箇所情報とを取得する。次に、蓄積部133は、翻訳変更情報と翻訳箇所情報とを、第一ウェブページに対応付けてページ格納部111に蓄積する。ここでは、蓄積部133は、翻訳変更情報を、図17の「ID=21」のレコードの「第二言語」の属性値として蓄積し、かつ当該レコードの「人手フラグ」を「1」に変更する。
以上により、人手により変更された箇所を含む翻訳ウェブページ元が、第一ウェブページに対応付けて、蓄積された。
なお、端末装置2において、ウェブページの一部の文字列のフォントの属性値が変更されたが、処理部13は、当該一部の文字列に対応する、第一ウェブページの文字列のフォントの属性値も、同じ属性値に変更しても良い。
次に、ユーザは、図13の第一ウェブページを端末装置2に表示させた後、「問い合わせる」という文字列1301を「質問する」に変更した、とする。すると、端末装置2は、変更指示を受け付け、ウェブページ処理装置1に送信する。なお、かかる変更指示は、「質問する」と当該箇所情報と第一ウェブページのURLと元情報の変更である旨の情報とを有する。
次に、ウェブページ処理装置1の変更受付部122は、端末装置2から当該変更指示を受信する。
次に、処理部13は、受信された変更指示に含まれる情報が元変更情報である、と判断する。次に、蓄積部133は、元変更情報「質問する」を用いて、第一ウェブページを更新する。
次に、翻訳取得部131は、第一ウェブページに対応付いている反映モードを格納部11から取得し、当該反映モードが「反映」させるという情報である、と判断する。
次に、翻訳取得部131は、上述した処理により、元変更情報「質問する」から英語「Query」を取得した、とする。そして、「Query」を、受信された変更指示が有する箇所情報と対になる「Question」に上書きする。
以上の処理により、「問い合わせる」を「質問する」と変更されたことが、第一ウェブページだけではなく、翻訳ウェブページにも反映されることとなった。
なお、ここで、送信部14は、機械翻訳結果である「Query」を、端末装置2に送信しても良い。かかる場合、端末装置2では、機械翻訳結果を受信し、出力する。そして、ユーザは、当該機械翻訳結果を修正しても良い。例えば、ユーザが、「Query」を「Inquire」に変更し、「Save」ボタンを押下した、とする。
すると、端末装置2は、「Inquire」と箇所情報と第一ウェブページのURLと機械翻訳結果の変更である旨の情報とを有する変更指示をウェブページ処理装置1に送信する。
次に、ウェブページ処理装置1の変更受付部122は、端末装置2から当該変更指示を受信する。次に、処理部13は、受信された変更指示に含まれる機械翻訳結果の変更である旨の情報から、受信された情報に翻訳変更情報を含む、と判断する。
次に、蓄積部133は、受信された変更指示が有する箇所情報に対応する「Query」を「Inquire」に変更する。また、蓄積部133は、人手フラグを「1」に変更する。かかる変更された翻訳ウェブページ元を含む情報は、図21である。つまり、上記の処理により、図17が図21に変更された。
(具体例2)
本具体例において、第一言語は「日本語」であり、第二言語が「英語」である、とする。そして、ウェブページ処理装置1のページ格納部111には、図22の機械翻訳後の英語のウェブページが格納されている、とする。
そして、ユーザは、端末装置2に図22の画面が表示されている状況において、辞書機能ボタン2201を押下した、とする。すると、端末装置2には、辞書ウィンドウ2301(図23参照)が表示される。
次に、ユーザは、辞書ウィンドウの中の第一フィールド(図23の2302)に、修正したい「News」を入力し、第二フィールド(図23の2303)「Press」を入力し、「Save」ボタン2401(図24)を押下した、とする。
すると、端末受付部22は、設定情報(ここでは、対応情報)を受け付ける。次に、端末処理部23は、当該対応情報を用いて、送信する対応情報を構成する。なお、送信する情報は、翻訳ウェブページまたは第一ウェブページを特定する情報を有する。次に、端末送信部24は、当該設定情報をウェブページ処理装置1に送信する。
次に、ウェブページ処理装置1の受信部12は、端末装置2から対応情報等を受信する。次に、蓄積部133は、当該対応情報を、翻訳ウェブページ元に対応付けて、辞書格納部116に蓄積する。
次に、処理部13は、以下のように辞書利用処理を行う。つまり、翻訳取得部131は、図22の英語の翻訳ウェブページの中の「news」を、「press」に変更する。つまり、処理部13は、翻訳ウェブページ元の第二言語の文字列の中の「news」を、「press」に書き換え、書き換えた「第二言語」と対になる「人手フラグ」を「1」に変更する。
以上により、一括して、翻訳ウェブページが、適切に変更できた。また、登録した辞書の情報により、機械翻訳を補助することができる。
なお、端末装置2において、翻訳ウェブページに対してのみ、用語辞書の対応情報を登録できることは好適である。つまり、端末装置2において、例えば、辞書機能ボタン2201は、翻訳ウェブページに対してのみ表示されたり、翻訳ウェブページに対してのみ押下できたりすることは好適である。
(具体例3)
今、図25(a)の第一ウェブページが、端末装置2に表示されている、とする。かかる状況において、ユーザは、図26の2601に示すように、動画を挿入したい箇所に、マウスポイント持っていき、右クリックした、とする。すると、図26に示す動画挿入ウィンドウ2602が端末装置2に表示される。そして、ユーザは、挿入したい動画を特定するURLをフィールド603に入力した、とする。次に、ユーザは、動画を挿入するための「+」ボタン2604を指示した、とする。
すると、端末受付部22は、動画を挿入するための変更指示を受け付ける。端末処理部23は、受け付けられた変更指示を用いて、送信する変更指示を構成する。端末送信部24は、当該変更指示をウェブページ処理装置1に送信する。なお、変更指示は、動画を挿入する指示である旨の情報、動画を特定する情報であるURL、動画を挿入する箇所情報、動画が挿入される第一ウェブページのURLを有する。
次に、変更受付部122は、端末装置2から当該変更指示を受信する。次に、処理部13は、受信された変更指示に含まれる情報が挿入コンテンツである、と判断する
次に、翻訳取得部131は、挿入コンテンツが挿入される箇所を特定する挿入箇所情報を、受信された変更指示から取得する。
次に、蓄積部133は、受信されたURLに対応する動画を付加した第一ウェブページを構成し、ページ格納部111に上書きする。
次に、蓄積部133は、翻訳ウェブページ元である英語の翻訳ウェブページ元に、第一ウェブページに挿入された動画を挿入する。つまり、蓄積部133は、URLにより特定される動画を、受信された箇所情報に対応する箇所に挿入した翻訳ウェブページ元を作成し、当該翻訳ウェブページ元をページ格納部111に蓄積する。なお、ウェブページに動画を挿入するようにHTMLに情報を追記する処理は公知技術であるので、詳細な説明を省略する。なお、かかる動画が挿入されたウェブページの例は、図25(b)である。
以上の処理により、第一ウェブページに挿入コンテンツが挿入された場合に、翻訳ウェブページにも、挿入コンテンツが挿入される。
次に、処理部13は、動画が挿入された英語の翻訳ウェブページを構成する。そして、ページ送信部143は、動画が挿入された英語の翻訳ウェブページを、端末装置2に送信する。
次に、端末装置2は、動画が挿入された英語の翻訳ウェブページを受信し、出力する。かかる出力例は、図24(c)である。
また、ユーザは、図24(c)の2403の「×」ボタンを押下した場合に、英語の翻訳ウェブページから、挿入された動画を削除できる。つまり、端末装置2は、英語の翻訳ウェブページから動画を削除する変更指示をウェブページ処理装置1に送信する。
次に、ウェブページ処理装置1の指示受信部121は、かかる変更指示を受信する。なお、変更指示は、英語の翻訳ウェブページに対応するURL、動画を特定する情報、および動画を削除する旨の情報を有する。
次に、処理部13は、変更指示に対応する動画を、英語の翻訳ウェブページ元から削除する。
なお、具体例3において、翻訳取得部131は、第一ウェブページに挿入された動画を翻訳しなかった。つまり、翻訳取得部131は、第一ウェブページに挿入された動画の著作権を侵害しないために、動画の翻訳を行わなかった。しかし、翻訳取得部131は、第一ウェブページに挿入された動画に対応する著作権情報(改変を許すか否か、他言語への翻訳を許すか否か)を取得し、当該著作権情報が他言語への翻訳を許すことを示す情報であると判断した場合には、図11のフローチャートで示した処理のように、翻訳取得部131は、翻訳された動画を取得しても良い。そして、蓄積部133は、翻訳された動画を含む翻訳ウェブページ元を蓄積しても良い。
以上、本実施の形態によれば、第一ウェブページを機械翻訳した第二ウェブページを適切に変更できる。
また、本実施の形態によれば、第一ウェブページを機械翻訳した第二ウェブページを適切に変更した後、閲覧できる。
また、本実施の形態によれば、翻訳ウェブページに静止画、動画、API等を挿入した場合に、第一ウェブページにも反映できる。
また、本実施の形態によれば、第一ウェブページに静止画、動画、API等を挿入した場合に、翻訳ウェブページにも反映できる。
また、本実施の形態によれば、静止画、動画の文字部分の翻訳結果を使用できる。
また、本実施の形態によれば、動画の音声翻訳の結果を使用できる。
また、本実施の形態によれば、第一ウェブページを修正した場合、当該修正した箇所の機械翻訳結果を取得できる。さらに、当該機械翻訳結果のユーザによる修正が可能となる。
また、本実施の形態によれば、ウェブページを編集できるモードと編集できないモードのいずれかを設定できる。
また、本実施の形態によれば、適切な翻訳ウェブページを得るための用語辞書を利用できる。
また、本実施の形態によれば、ウェブページの翻訳ルートを設定できる。
また、本実施の形態によれば、翻訳に好適な翻訳エンジンを使用できる。
さらに、本実施の形態によれば、SEO対策に有効な翻訳ウェブページを構築できる。
なお、本実施の形態において、使用エンジン情報を用いた翻訳エンジンの選択、および機械翻訳の技術は、ウェブページ以外でも利用可能である。
つまり、かかる翻訳装置5のブロック図は、図27である。つまり、翻訳装置5は、使用エンジン情報格納部112、翻訳取得部51、および翻訳出力部52を具備する。翻訳取得部51は、属性値取得手段1311、翻訳エンジン識別子取得手段1312、翻訳取得手段511を具備する。
属性値取得手段1311は、翻訳対象の翻訳単位の属性値を取得する。なお、翻訳対象は、ウェブページ、文書ファイル、静止画、動画等であり、問わない。翻訳単位も、翻訳対象全体、ファイル、段落、文、オブジェクト等、問わない。なお、翻訳対象は、翻訳装置5の図示しない格納部に存在しても良いし、外部の装置から取得しても良い。
翻訳取得手段511は、翻訳エンジン識別子取得手段1312が取得した翻訳エンジン識別子で識別される翻訳エンジン3に対して、各翻訳単位を渡し、翻訳エンジン3から機械翻訳結果を取得する。
翻訳取得手段511は、例えば、翻訳エンジン識別子取得手段1312が取得した翻訳エンジン識別子で識別される翻訳エンジン3に、翻訳単位等を送信し、当該翻訳エンジン3から機械翻訳結果を受信する。なお、翻訳単位等とは、翻訳単位だけでも良いし、翻訳単位と第二言語識別子でも良いし、翻訳単位と第一言語識別子と第二言語識別子でも良い。つまり、翻訳取得手段511が翻訳エンジン3に送信する情報は、翻訳エンジン3の仕様に依存する。
翻訳取得手段511は、例えば、翻訳エンジン識別子取得手段1312が取得した翻訳エンジン識別子で識別されるソフトウェアに、翻訳単位を与え、機械翻訳結果を取得する。
翻訳出力部52は、翻訳取得手段511が取得した各翻訳単位ごとの機械翻訳結果を出力する。ここでの出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
つまり、上記の翻訳装置5は、翻訳対象の翻訳単位の属性値に関する属性値条件と、機械翻訳に使用する翻訳エンジンを識別する翻訳エンジン識別子とを有する2以上の使用エンジン情報が格納される使用エンジン情報格納部112と、前記翻訳対象の翻訳単位ごとの属性値を取得する属性値取得手段1311と、前記各翻訳単位ごとに、前記属性値に合致する属性値条件と対になる翻訳エンジン識別子を取得する翻訳エンジン識別子取得手段1312と、前記翻訳エンジン識別子で識別される翻訳エンジンに対して、前記各翻訳単位を渡し、当該各翻訳単位を前機械翻訳した機械翻訳結果を前記翻訳エンジンから取得する翻訳取得手段511と、
翻訳取得手段511が取得した各翻訳単位ごとの機械翻訳結果を出力する翻訳出力部52とを具備する翻訳装置5である。
なお、翻訳取得部51、および翻訳取得手段511は、通常、プロセッサやメモリ等から実現され得る。翻訳取得部51等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、プロセッサは、CPU、MPU、GPU等であり、その種類は問わない。
翻訳出力部52は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。翻訳出力部52は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
また、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態におけるウェブページ処理装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、第一ウェブページの少なくとも第一言語の一部分を第二言語に機械翻訳した第二ウェブページ元を取得する翻訳取得部と、前記第二ウェブページ元の少なくとも一部に対する人手による機械翻訳結果の変更である翻訳変更情報を受け付ける変更受付部と、前記第二ウェブページ元が前記翻訳変更情報により変更された箇所を特定する翻訳箇所情報を取得する箇所情報取得部と、前記第一ウェブページを前記第二言語に翻訳した翻訳ウェブページの元になる情報であり、前記翻訳変更情報を含む情報である翻訳ウェブページ元と、前記箇所情報取得部が取得した前記翻訳箇所情報とを、前記第一ウェブページに対応付けて、蓄積する蓄積部として機能させるためのプログラムである。
また、図28は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態のウェブページ処理装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図28は、このコンピュータシステム300の概観図であり、図29は、システム300のブロック図である。
図28において、コンピュータシステム300は、CD-ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
図29において、コンピュータ301は、CD-ROMドライブ3012に加えて、MPU3013と、CD-ROMドライブ3012等に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム300に、上述した実施の形態のウェブページ処理装置等の機能を実行させるプログラムは、CD-ROM3101に記憶されて、CD-ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD-ROM3101またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ301に、上述した実施の形態のウェブページ処理装置等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。