(57)【要約】【課題】翻訳精度を向上させることができる、翻訳装置、文種別判定装置、及び文種別判定プログラムを提供する。【解決手段】文種別判定装置１０において文種別判定処理部１２は、「専門分野別カウント数」に基づいて、判定対象文が専門文であるか一般文であるかを判定する。「専門分野別カウント数」とは、文ベクトル算出部１１にて算出された判定対象文の文ベクトルとの間のコサイン類似度が第１閾値を超える文ベクトルを有する専門文の数を専門文ＤＢ２１毎にカウントした数である。【選択図】図１
2019121263.tif 000002
【特許請求の範囲】
【請求項１】
互いに専門分野の異なる専門文及び該専門文が有する文ベクトルを保持する複数の専門文ＤＢ、並びに、前記専門分野に含まれない一般文を保持する一般文ＤＢを記憶する記憶部と、
判定対象文の文ベクトルを算出する文ベクトル算出部と、
前記算出された判定対象文の文ベクトルとの間のコサイン類似度が第１閾値を超える文ベクトルを有する専門文の数を前記専門文ＤＢ毎にカウントした専門分野別カウント数に基づいて、前記判定対象文が専門文であるか一般文であるかを判定すると共に、前記専門文であると判定された前記判定対象文の専門分野を判定する文種別判定処理部と、
前記一般文であると判定された判定対象文を翻訳して翻訳文を出力する一方、前記判定された判定対象文の専門分野が予め設定された翻訳不実行分野である場合、前記判定対象文に対する翻訳を実行せずに前記判定対象文をそのまま出力し、前記判定された判定対象文の専門分野が予め設定された翻訳不実行分野でない場合、前記判定対象文を翻訳して翻訳文を出力する、翻訳部と、
を具備する翻訳装置。
【請求項２】
前記文種別判定処理部は、前記複数の専門文ＤＢのすべての前記専門分野別カウント数の合計値に基づいて、前記判定対象文が専門文であるか一般文であるかを判定する、
請求項１記載の翻訳装置。
【請求項３】
前記文種別判定処理部は、
前記複数の専門文ＤＢのすべての前記専門分野別カウント数の合計値が第２閾値以下である場合、前記判定対象文が一般文であると判定し、
前記複数の専門文ＤＢのすべての前記専門分野別カウント数の合計値が前記第２閾値より大きい場合、前記判定対象文が専門文であると判定し、前記複数の専門文ＤＢにそれぞれ対応する複数の専門分野別カウント数のうちで最も大きい専門分野別カウント数に対応する専門文ＤＢの専門分野が前記判定対象文の専門分野であると判定する、
請求項１又は２に記載の翻訳装置。
【請求項４】
前記文種別判定処理部は、
前記複数の専門文ＤＢにそれぞれ対応する複数の専門分野別カウント数のすべてが第３閾値以下である場合、前記判定対象文が一般文であると判定し、
前記複数の専門文ＤＢにそれぞれ対応する複数の専門分野別カウント数のうちで前記第３閾値より大きい専門分野別カウント数が少なくとも１つある場合、前記判定対象文が専門文であると判定し、前記第３閾値より大きい専門カウント数のうちで最も大きい専門分野別カウント数に対応する専門文ＤＢの専門分野が前記判定対象文の専門分野であると判定する、
請求項１記載の翻訳装置。
【請求項５】
前記文種別判定処理部は、前記複数の専門文ＤＢにそれぞれ対応する複数の専門分野別カウント数のうちで第４閾値より大きい専門分野別カウント数が少なくとも１つある場合、前記判定対象文が専門文であると判定し、前記第４閾値より大きい専門カウント数のうちで最も大きい専門分野別カウント数に対応する専門文ＤＢの専門分野が前記判定対象文の専門分野であると判定し、
前記複数の専門文ＤＢにそれぞれ対応する複数の専門分野別カウント数のすべてが前記第４閾値以下であり且つ前記複数の専門文ＤＢのすべての前記専門分野別カウント数の合計値が第５閾値以下である場合、前記判定対象文が一般文であると判定し、
前記複数の専門文ＤＢにそれぞれ対応する複数の専門分野別カウント数のすべてが前記第４閾値以下であり且つ前記複数の専門文ＤＢのすべての前記専門分野別カウント数の合計値が前記第５閾値より大きい場合、前記判定対象文が専門文であると判定し、前記複数の専門文ＤＢにそれぞれ対応する複数の専門分野別カウント数のうちで最も大きい専門分野別カウント数に対応する専門文ＤＢの専門分野が前記判定対象文の専門分野であると判定する、
請求項１記載の翻訳装置。
【請求項６】
前記一般文ＤＢ内に含まれていない一般文を一般文候補として保持する一般文候補ＤＢと、
前記一般文であると判定された判定対象文の翻訳文を表示部に表示させ、前記一般文であると判定された判定対象文が翻訳されたことが適切であったか否かをユーザに確認する確認表示を表示部に表示させると共に、前記ユーザの確認結果信号を受け付け、前記確認結果信号が不適切であることを示す場合、前記一般文であると判定された判定対象文の種別情報を専門文種別に修正する翻訳正否確認制御部と、
前記種別情報が前記専門文種別に修正された判定対象文を、該判定対象文の専門分野に対応する専門文ＤＢに追加する更新部と、
をさらに具備する請求項１から５のいずれか１項に記載の翻訳装置。
【請求項７】
前記種別情報が前記専門文種別に修正された判定対象文に含まれる対象単語単位で前記対象単語を含む専門文の数を前記複数の専門文ＤＢのすべてについてカウントした第１カウント数が、前記対象単語を含む一般文の数を前記一般文ＤＢについてカウントした第２カウント数より大きい場合、前記対象単語を含む前記一般文候補ＤＢの少なくとも１つの一般文候補を前記一般文ＤＢへ移動させる、リバランス部と、
を具備する請求項６記載の翻訳装置。
【請求項８】
記憶部と接続されて用いられる文種別判定装置であって、
前記記憶部は、互いに専門分野の異なる専門文及び該専門文が有する文ベクトルを保持する複数の専門文ＤＢ、並びに、前記専門分野に含まれない一般文を保持する一般文ＤＢを記憶し、
前記文種別判定装置は、
判定対象文の文ベクトルを算出する文ベクトル算出部と、
前記算出された判定対象文の文ベクトルとの間のコサイン類似度が第１閾値を超える文ベクトルを有する専門文の数を前記専門文ＤＢ毎にカウントした専門分野別カウント数に基づいて、前記判定対象文が専門文であるか一般文であるかを判定すると共に、前記専門文であると判定された前記判定対象文の専門分野を判定する文種別判定処理部と、
を具備する文種別判定装置。
【請求項９】
互いに専門分野の異なる専門文及び該専門文が有する文ベクトルを保持する複数の専門文ＤＢ、並びに、前記専門分野に含まれない一般文を保持する一般文ＤＢを記憶する記憶部と接続されて用いられる文種別判定装置に、
判定対象文の文ベクトルを算出し、
前記算出された判定対象文の文ベクトルとの間のコサイン類似度が閾値を超える文ベクトルを有する専門文の数を前記専門文ＤＢ毎にカウントした専門分野別カウント数に基づいて、前記判定対象文が専門文であるか一般文であるかを判定すると共に、前記専門文であると判定された前記判定対象文の専門分野を判定する、
処理を実行させる、文種別判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、翻訳装置、文種別判定装置、及び文種別判定プログラムに関する。
【背景技術】
【０００２】
種々の自動翻訳技術が提案されている。例えば、自動翻訳技術によって、ユーザの母国語以外の言語によって記述された文をユーザの母国語に翻訳することができる。しかし、従来、一般的な文章の中にソフトウェアのソースコードやエラーメッセージといった専門分野の文（つまり、専門文）が含まれている場合、その専門文を識別できずに翻訳してしまい、この結果、不自然な翻訳が行われるという問題があった。
【０００３】
この問題に対して、例えば特許文献１に開示されている技術では、予め専門文群を収集しておき、予め収集しておいた専門文群と翻訳対象文とを比較することによって、翻訳対象文が専門文であるか否かを判定することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２１１７１９号公報
【特許文献２】特開２００８−１０８２０９号公報
【特許文献３】特開２０１６−２０７１４１号公報
【特許文献４】特表２０１３−５１９１５２号公報
【特許文献５】特開２０１１−２３２８９１号公報
【特許文献６】特開２０１０−０８６１４３号公報
【非特許文献】
【０００５】
【非特許文献１】Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient Estimation of Word Representations in Vector Space. In Proceedings of Workshop at ICLR, 2013.  https://arxiv.org/pdf/1301.3781.pdf
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の関連技術では、翻訳対象文が予め収集しておいた専門文群に含まれていない未知の文である場合、翻訳対象文が専門文であるか否かを判定することができない可能性がある。この結果として、翻訳文が所望の翻訳精度基準を満たさない可能性がある。
【０００７】
本開示の目的は、翻訳精度を向上させることができる、翻訳装置、文種別判定装置、及び文種別判定プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
第１の態様にかかる翻訳装置は、互いに専門分野の異なる専門文及び該専門文が有する文ベクトルを保持する複数の専門文ＤＢ、並びに、前記専門分野に含まれない一般文を保持する一般文ＤＢを記憶する記憶部と、判定対象文の文ベクトルを算出する文ベクトル算出部と、前記算出された判定対象文の文ベクトルとの間のコサイン類似度が第１閾値を超える文ベクトルを有する専門文の数を前記専門文ＤＢ毎にカウントした専門分野別カウント数に基づいて、前記判定対象文が専門文であるか一般文であるかを判定すると共に、前記専門文であると判定された前記判定対象文の専門分野を判定する文種別判定処理部と、前記一般文であると判定された判定対象文を翻訳して翻訳文を出力する一方、前記判定された判定対象文の専門分野が予め設定された翻訳不実行分野である場合、前記判定対象文に対する翻訳を実行せずに前記判定対象文をそのまま出力し、前記判定された判定対象文の専門分野が予め設定された翻訳不実行分野でない場合、前記判定対象文を翻訳して翻訳文を出力する、翻訳部と、を具備する。
【０００９】
第２の態様にかかる文種別判定装置は、記憶部と接続されて用いられる文種別判定装置であって、前記記憶部は、互いに専門分野の異なる専門文及び該専門文が有する文ベクトルを保持する複数の専門文ＤＢ、並びに、前記専門分野に含まれない一般文を保持する一般文ＤＢを記憶し、前記文種別判定装置は、判定対象文の文ベクトルを算出する文ベクトル算出部と、前記算出された判定対象文の文ベクトルとの間のコサイン類似度が第１閾値を超える文ベクトルを有する専門文の数を前記専門文ＤＢ毎にカウントした専門分野別カウント数に基づいて、前記判定対象文が専門文であるか一般文であるかを判定すると共に、前記専門文であると判定された前記判定対象文の専門分野を判定する文種別判定処理部と、を具備する。
【００１０】
第３の態様にかかる文種別判定プログラムは、互いに専門分野の異なる専門文及び該専門文が有する文ベクトルを保持する複数の専門文ＤＢ、並びに、前記専門分野に含まれない一般文を保持する一般文ＤＢを記憶する記憶部と接続されて用いられる文種別判定装置に、判定対象文の文ベクトルを算出し、前記算出された判定対象文の文ベクトルとの間のコサイン類似度が閾値を超える文ベクトルを有する専門文の数を前記専門文ＤＢ毎にカウントした専門分野別カウント数に基づいて、前記判定対象文が専門文であるか一般文であるかを判定すると共に、前記専門文であると判定された前記判定対象文の専門分野を判定する、処理を実行させる。
【発明の効果】
【００１１】
本開示により、翻訳精度を向上させることができる、翻訳装置、文種別判定装置、及び文種別判定プログラムを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態の文種別判定装置の一例を示すブロック図である。
【図２】第２実施形態の翻訳装置の一例を示すブロック図である。
【図３】第３実施形態の翻訳装置の一例を示すブロック図である。
【図４】第３実施形態の翻訳装置の処理動作の一例を示すフローチャートである。
【図５】第３実施形態の未知文判定処理の一例を示すフローチャートである。
【図６】第３実施形態の文ベクトル算出処理の一例を示すフローチャートである。
【図７】第３実施形態の文種別判定処理の一例を示すフローチャートである。
【図８】第３実施形態の翻訳不実行文判定処理の一例を示すフローチャートである。
【図９】第３実施形態の翻訳処理の一例を示すフローチャートである。
【図１０】第３実施形態の正否確認制御処理の一例を示すフローチャートである。
【図１１】第３実施形態の更新処理の一例を示すフローチャートである。
【図１２】第３実施形態のリバランス処理の一例を示すフローチャートである。
【図１３】翻訳装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照しつつ、実施形態について説明する。なお、実施形態において、同一又は同等の要素には、同一の符号を付し、重複する説明は省略される。
【００１４】
＜第１実施形態＞
＜文種別判定装置の構成例＞
図１は、第１実施形態の文種別判定装置の一例を示すブロック図である。図１において文種別判定装置（文種別判定部）１０は、記憶装置（記憶部）２０に接続されている。文種別判定装置１０には、文種別についての判定対象である「判定対象文」が入力される。
【００１５】
記憶装置（記憶部）２０は、複数の専門文ＤＢ（専門文データベース）２１−１〜２１−Ｎ（Ｎは、２以上の自然数）と、単語ベクトルＤＢ２２と、一般文ＤＢ２３とを記憶（保持）している。以下では、専門文ＤＢ２１−１〜２１−Ｎを総称して、単に、専門文ＤＢ２１と呼ぶことがある。複数の専門文ＤＢ２１−１〜２１−Ｎは、互いに異なる複数の専門分野にそれぞれ対応している。各専門文ＤＢ２１は、対応する専門分野の複数の専門文及び各専門文が有する文ベクトルを保持している。単語ベクトルＤＢ２２は、複数の単語及び各単語の単語ベクトルを対応付けて保持している。一般文ＤＢ２３は、専門分野に含まれない一般文を保持している。
【００１６】
また、図１において文種別判定装置１０は、文ベクトル算出部１１と、文種別判定処理部１２とを有している。
【００１７】
文ベクトル算出部１１は、判定対象文の文ベクトルを算出する。例えば、文ベクトル算出部１１は、判定対象文に含まれる複数の単語のそれぞれの単語ベクトルを単語ベクトルＤＢ２２から取得する。そして、文ベクトル算出部１１は、取得した複数の単語ベクトルの重心ベクトルを、判定対象文の文ベクトルとして算出する。この重心ベクトルの算出には、一般的なベクトル重心の算出方法を用いることができる。
【００１８】
文種別判定処理部１２は、「専門分野別カウント数」と「文種別判定基準」とに基づいて、判定対象文が専門文であるか一般文であるかを判定する。「専門分野別カウント数」とは、文ベクトル算出部１１にて算出された判定対象文の文ベクトルとの間のコサイン類似度が「第１閾値」を超える文ベクトルを有する専門文の数を専門文ＤＢ２１毎にカウントした数である。「文種別判定基準」については、後に詳しく説明する。
【００１９】
例えば、文種別判定処理部１２は、各専門文ＤＢ２１に保持されている各専門文の文ベクトルを取得する。そして、文種別判定処理部１２は、各専門文の文ベクトルと判定対象文の文ベクトルとのコサイン類似度を算出する。そして、文種別判定処理部１２は、コサイン類似度が「第１閾値」を超える文ベクトルを有する専門文の数を専門文ＤＢ２１毎にカウントする。
【００２０】
さらに、文種別判定処理部１２は、「専門分野別カウント数」に基づいて、専門文であると判定された判定対象文の専門分野を判定する。
【００２１】
以上のように第１実施形態によれば、文種別判定装置１０において文種別判定処理部１２は、「専門分野別カウント数」に基づいて、判定対象文が専門文であるか一般文であるかを判定する。「専門分野別カウント数」とは、文ベクトル算出部１１にて算出された判定対象文の文ベクトルとの間のコサイン類似度が第１閾値を超える文ベクトルを有する専門文の数を専門文ＤＢ２１毎にカウントした数である。
【００２２】
この文種別判定装置１０の構成により、「専門分野別カウント数」に基づいて、判定対象文が専門文であるか一般文であるかを判定することができる。これにより、判定対象文が専門文ＤＢ２１及び一般文ＤＢ２３に保持されていない未知の文である場合でも判定対象文の種別を判定できる。さらに、「専門分野別カウント数」に基づいて、専門文であると判定された判定対象文の専門分野を判定することができる。これにより、例えば翻訳を実行することが適切でない専門分野（例えば翻訳を行うと返って不自然で理解できない翻訳文になってしまう専門分野）に判定対象文が属するか否かを判別するために利用可能な情報を提供することができる。この結果として、翻訳を実行することが適切でない専門分野に判定対象文の専門分野が一致する場合には翻訳の実行を回避できるので、翻訳精度を向上させることができる。
【００２３】
＜第２実施形態＞
第２実施形態は、第１実施形態の文種別判定装置１０及び記憶装置２０を含む翻訳装置に関する。
【００２４】
＜翻訳装置の構成例＞
図２は、第２実施形態の翻訳装置の一例を示すブロック図である。図２において翻訳装置３０は、文種別判定装置１０及び記憶装置２０の他に、翻訳部３１を有している。
【００２５】
翻訳部３１は、文種別判定処理部１２にて一般文であると判定された判定対象文を翻訳して翻訳文を出力する。
【００２６】
また、翻訳部３１は、文種別判定処理部１２にて判定された判定対象文の専門分野が予め設定された「翻訳不実行分野」である場合、判定対象文に対する翻訳を実行せずに判定対象文をそのまま出力する。一方、翻訳部３１は、文種別判定処理部１２にて判定された判定対象文の専門分野が予め設定された「翻訳不実行分野」でない場合、判定対象文を翻訳して翻訳文を出力する。「翻訳不実行分野」は、例えば第１実施形態にて説明した翻訳を実行することが適切でない専門分野である。この「翻訳不実行分野」は、ユーザによって自由に設定することができる。
【００２７】
以上のように第２実施形態によれば、翻訳装置３０において翻訳部３１は、文種別判定処理部１２にて判定された判定対象文の専門分野が予め設定された「翻訳不実行分野」である場合、判定対象文に対する翻訳を実行せずに判定対象文をそのまま出力する。
【００２８】
この翻訳装置３０の構成により、「翻訳不実行分野」の翻訳対象文に対する翻訳を回避することができるので、翻訳精度を向上させることができる。
【００２９】
＜第３実施形態＞
第３実施形態は、より具体的な実施形態に関する。
【００３０】
＜翻訳装置の構成例＞
図３は、第３実施形態の翻訳装置の一例を示すブロック図である。図３において翻訳装置４０は、正否確認制御部４１と、更新部４２と、リバランス部４３と、学習部４４と、文種別判定装置５０と、記憶装置６０とを有している。
【００３１】
図３において記憶装置６０は、複数の専門文ＤＢ２１−１〜２１−Ｎ、単語ベクトルＤＢ２２、一般文ＤＢ２３の他に、一般文候補ＤＢ６１と、不実行分野リスト６２とを記憶（保持）している。一般文候補ＤＢは、後述するリバランス処理時に一般文ＤＢ２３へ移動させる一般文の候補を記憶している。不実行分野リスト６２は、第２実施形態で説明した「翻訳不実行分野」に関する情報を記憶している。
【００３２】
図３において文種別判定装置５０は、文ベクトル算出部１１及び文種別判定処理部１２の他に、未知文判定部５１と、翻訳不実行文判定部５２とを有している。
【００３３】
未知文判定部５１は、文種別判定装置５０に入力された判定対象文が「未知文」であるか否か、つまり、専門文ＤＢ２１及び一般文ＤＢ２３に記憶されている複数の文の中に判定対象文と一致する文が存在するか否かを判定する。
【００３４】
具体的には、未知文判定部５１は、専門文ＤＢ２１及び一般文ＤＢ２３を検索して判定対象文と一致する文が存在しない場合、判定対象文が「未知文」であると判定する。そして、未知文判定部５１は、「未知文」であると判定された判定対象文を該判定対象文に「未知ラベル」が付された状態で文ベクトル算出部１１へ出力する。ここで、以降の説明において特に言及しない場合でも、判定対象文に付された情報（ラベル等）は、除去されない限り、判定対象文に付されていることを前提とする。また、未知文判定部５１は、専門文ＤＢ２１を検索して判定対象文と一致する文が存在する場合、判定対象文と一致する文の専門文ＤＢ２１に対応する「専門分野情報」及び「専門ラベル」を付した判定対象文を翻訳不実行文判定部５２へ出力する。また、未知文判定部５１は、一般文ＤＢ２３を検索して判定対象文と一致する文が存在する場合、「一般ラベル」を付した判定対象文を翻訳不実行文判定部５２へ出力する。
【００３５】
第３実施形態の文ベクトル算出部１１は、未知文判定部５１から、「未知ラベル」が付された判定対象文を受け取る。そして、文ベクトル算出部１１は、判定対象文に対して形態素解析を行って、複数の単語（つまり、形態素）に分割する。そして、文ベクトル算出部１１は、判定対象文に含まれる複数の単語のそれぞれの単語ベクトルを単語ベクトルＤＢ２２から取得する。そして、文ベクトル算出部１１は、取得した複数の単語ベクトルの重心ベクトルを、判定対象文の文ベクトルとして算出する。そして、文ベクトル算出部１１は、「未知ラベル」が付された判定対象文、及び、算出した文ベクトルを、文種別判定処理部１２へ出力する。
【００３６】
第３実施形態の文種別判定処理部１２は、文ベクトル算出部１１から、「未知ラベル」が付された判定対象文及び文ベクトル算出部１１にて算出された文ベクトルを受け取る。また、文種別判定処理部１２は、各専門文ＤＢ２１に保持されている各専門文の文ベクトルを取得する。そして、文種別判定処理部１２は、各専門文の文ベクトルと判定対象文の文ベクトルとのコサイン類似度を算出する。そして、文種別判定処理部１２は、コサイン類似度が「第１閾値」を超える文ベクトルを有する専門文の数を専門文ＤＢ２１毎にカウントする。
【００３７】
そして、文種別判定処理部１２は、「専門分野別カウント数」と「文種別判定基準」とに基づいて、判定対象文が専門文であるか一般文であるかを判定する。具体的には、文種別判定処理部１２は、専門文ＤＢ２１−１〜２１−Ｎのすべての「専門分野別カウント数」の合計値を算出する。そして、文種別判定処理部１２は、算出した合計値が「第２閾値」以下である場合、判定対象文が一般文であると判定する。そして、文種別判定処理部１２は、「一般ラベル」を付した判定対象文を翻訳不実行文判定部５２へ出力する。一方、文種別判定処理部１２は、算出した合計値が「第２閾値」より大きい場合、判定対象文が専門文であると判定する。
【００３８】
そして、文種別判定処理部１２は、専門文であると判定された判定対象文の専門分野を判定する。具体的には、文種別判定処理部１２は、専門文ＤＢ２１−１〜２１−Ｎにそれぞれ対応する複数の専門分野別カウント数のうちで最も大きい専門分野別カウント数に対応する専門文ＤＢ２１の専門分野を、判定対象文の専門分野として判定（推定）する。そして、文種別判定処理部１２は、「専門ラベル」及び「推定された専門分野を示す情報」を付した判定対象文を翻訳不実行文判定部５２へ出力する。
【００３９】
すなわち、ここでは、「文種別判定基準」は、まず、「専門文ＤＢ２１−１〜２１−Ｎのすべての専門分野別カウント数の合計値が第２閾値以下である場合には、判定対象文は一般文である」という基準を含んでいる。さらに、「文種別判定基準」は、専門文ＤＢ２１−１〜２１−Ｎのすべての専門分野別カウント数の合計値が第２閾値より大きい場合には、判定対象文は専門文である」という基準を含んでいる。
【００４０】
翻訳不実行文判定部５２は、未知文判定部５１又は文種別判定処理部１２から判定対象文を受け取る。そして、翻訳不実行文判定部５２は、受け取った判定対象文に「一般ラベル」が付されている場合、その判定対象文をそのまま翻訳部３１へ出力する。また、翻訳不実行文判定部５２は、受け取った判定対象文に「専門ラベル」及び「専門分野情報」が付されている場合、その専門分野情報が示す専門分野が不実行分野リスト６２に記憶されている翻訳不実行分野であるか否かを判定する。すなわち、翻訳不実行文判定部５２は、受け取った判定対象文が翻訳不実行対象文であるか否かを判定する。そして、翻訳不実行文判定部５２は、判定対象文が翻訳不実行対象文であると判定された場合、「専門ラベル」及び「専門分野情報」に加えて「翻訳不要ラベル」を付した判定対象文を翻訳部３１へ出力する。一方、判定対象文が翻訳不実行対象文でないと判定された場合、翻訳不実行文判定部５２は、「翻訳不要ラベル」を付さずに、「専門ラベル」及び「専門分野情報」が付されている判定対象文を翻訳部３１へ出力する。
【００４１】
第３実施形態の翻訳部３１は、翻訳不実行文判定部５２から、判定対象文を受け取る。そして、翻訳部３１は、受け取った判定対象文に「翻訳不要ラベル」が付されている場合、判定対象文を翻訳せずにそのまま正否確認制御部４１へ出力する。すなわち、この場合に翻訳部３１から出力される判定対象文には、「専門ラベル」、「専門分野情報」、及び「翻訳不要ラベル」が付されている。また、翻訳部３１は、受け取った判定対象文に「翻訳不要ラベル」が付されていない場合、その判定対象文を翻訳して得られた翻訳文を正否確認制御部４１へ出力する。この場合、翻訳文と共に、該翻訳文の元となった判定対象文及び該判定対象文に付されていたラベル等も、正否確認制御部４１へ出力される。
【００４２】
正否確認制御部４１は、翻訳部３１から、翻訳文及び該翻訳文の元となった判定対象文を受け取る。そして、正否確認制御部４１は、受け取った判定対象文に未知文判定部５１による「未知ラベル」が付されている場合、該判定対象文の翻訳文を表示部（図示せず）に表示させる。さらに、正否確認制御部４１は、表示された翻訳文に対応する判定対象文が翻訳されたことが適切であったか否かをユーザに確認する「確認表示」を表示部（図示せず）に表示させる。そして、正否確認制御部４１は、ユーザの操作による「確認結果信号」を受け付ける。そして、正否確認制御部４１は、「確認結果信号」が不適切であることを示す場合、表示された翻訳文に対応する判定対象文に付されている「種別情報」を修正する。すなわち、正否確認制御部４１は、「確認結果信号」が不適切であることを示し且つ判定対象文に「専門ラベル」が付されている場合、「専門ラベル」を除去して「一般ラベル」を付す。また、正否確認制御部４１は、「確認結果信号」が不適切であることを示し且つ判定対象文に「一般ラベル」が付されている場合、「一般ラベル」を除去して「専門ラベル」を付す。そして、正否確認制御部４１は、「種別情報」が修正された判定対象文を更新部４２へ出力する。なお、「確認結果信号」が適切であることを示す場合、正否確認制御部４１は、翻訳部３１から受け取った判定対象文をそのまま更新部４２へ出力する。
【００４３】
更新部４２は、正否確認制御部４１から、判定対象文を受け取る。そして、更新部４２は、受け取った判定対象文に「一般ラベル」が付されている場合、その判定対象文を一般文候補ＤＢ６１に追加して記憶させる。また、更新部４２は、受け取った判定対象文に「専門ラベル」及び「専門分野情報」が付されている場合、その専門分野情報が示す専門分野に対応する専門文ＤＢ２１に追加して記憶させる。また、受け取った判定対象文に「専門ラベル」が付されており且つ「専門分野情報」が付されていない場合、更新部４２は、文種別判定処理部１２と同様の処理を行って、判定対象文の専門分野を判定（推定）する。そして、更新部４２は、推定した専門分野に対応する専門文ＤＢ２１に判定対象文を追加して記憶させる。そして、更新部４２は、専門文ＤＢ２１に追加した判定対象文をリバランス部４３に対しても出力する。
【００４４】
リバランス部４３は、更新部４２から、専門文ＤＢ２１に追加された判定対象文を受け取る。そして、リバランス部４３は、「第１カウント数」が「第２カウント数」よりも大きい場合、受け取った判定対象文に含まれる「対象単語」を含み且つ一般文候補ＤＢ６１に記憶されている少なくとも１つの一般文候補を、一般文ＤＢ２３へ移動させる。また、リバランス部４３は、リバランス処理を実行した場合、「リバランス実行通知」を学習部４４に出力する。ここで、「第１カウント数」は、リバランス部４３が受け取った判定対象文に含まれる「対象単語」単位で対象単語を含む専門文の数を専門文ＤＢ２１−１〜２１−Ｎについてカウントしたカウント数である。「第２カウント数」は、上記の対象単語を含む一般文の数を一般文ＤＢ２３についてカウントしたカウント数である。また、「対象単語」は、判定対象文を構成する複数の単語から重複する単語を削除した、複数の単語のそれぞれである。すなわち、「対象単語」は、判定対象文を構成する複数の単語のうち互いに異なる複数の単語のそれぞれである。なお、リバランス部４３によるリバランス処理は、後述する「システム構築時の処理」においても実行される。
【００４５】
学習部４４は、リバランス部４３から「リバランス実行通知」を受け取ると、学習処理を実行する。具体的には、学習部４４は、一般文ＤＢ２３及び専門文ＤＢ２１に記憶されているすべての文を学習データとして、各単語に対する単語ベクトルを算出する。この単語ベクトルの算出には、種々の手法があり、これらに限定されるものではないが、例えば、非特許文献１に開示さているword2vecという手法やOne Hot 表現という手法等を用いることができる。さらに、学習部４４は、一般文ＤＢ２３及び専門文ＤＢ２１に記憶されている各文の文ベクトルを算出する。文ベクトルの算出では、上記の文ベクトル算出部１１と同様の算出処理を実行すればよい。そして、学習部４４は、単語及び該単語に対応する単語ベクトルを単語ベクトルＤＢ２２に記憶（保持）させる。また、学習部４４は、算出した専門文の文ベクトルを、該専門文の専門分野に対応する専門文ＤＢ２１に記憶させる。また、学習部４４は、算出した一般文の文ベクトルを一般文ＤＢ２３に記憶させる。なお、学習部４４による学習処理は、後述する「システム構築時の処理」においても実行される。
【００４６】
＜翻訳装置の動作例＞
以上の構成を有する翻訳装置４０の処理動作の一例について説明する。
【００４７】
〈システム構築部の処理〉
まず、翻訳装置４０からなるシステムの構築時には、まず、人手によって、複数の一般文及び複数の専門文が収集される。そして、収集された複数の一般文は、一部が一般文ＤＢ２３に記憶され、残りの一部が一般文候補ＤＢ６１に記憶される。また、収集された複数の専門文は、専門分野に分類されて、分類された専門分野に対応する専門文ＤＢ２１に記憶される。この時点では、一般文ＤＢ２３に記憶されている一般文の数と専門文ＤＢ２１に記憶されている専門文の数とのバランスは考慮されていない。そして、リバランス部４３は、一般文ＤＢ２３及び専門文ＤＢ２１に記憶されている各文について、リバランス処理を実行する。そして、学習部４４は、リバランス処理後に一般文ＤＢ２３及び専門文ＤＢ２１に記憶されている各文について、学習処理を実行する。
【００４８】
図４は、第３実施形態の翻訳装置の処理動作の一例を示すフローチャートである。図４に示すフローは、翻訳装置４０に判定対象文が入力されたときにスタートする。
【００４９】
〈未知文判定処理〉
未知文判定部５１は、判定対象文が入力されると、「未知文判定処理」を実行する（ステップＳ１１）。「未知文判定処理」において判定対象文が未知文であると判定されると（ステップＳ１１ＹＥＳ）、判定対象文は、ステップＳ１２におけるベクトル算出処理の処理対象となる。一方、「未知文判定処理」において判定対象文が未知文でないと判定されると（ステップＳ１１ＮＯ）、判定対象文は、ステップＳ１４における翻訳不実行文判定処理の処理対象となる。
【００５０】
図５は、第３実施形態の未知文判定処理の一例を示すフローチャートである。
【００５１】
未知文判定部５１は、判定対象文と一致する文を一般文ＤＢ２３において検索する（ステップＳ２１）。
【００５２】
次いで、未知文判定部５１は、ステップＳ２１における検索の結果、判定対象文と一致する文が一般文ＤＢ２３に記憶されているか否かを判定する（ステップＳ２２）。
【００５３】
判定対象文と一致する文が一般文ＤＢ２３に記憶されている場合（ステップＳ２２ＹＥＳ）、未知文判定部５１は、判定対象文に「一般ラベル」を付す（ステップＳ２３）。
【００５４】
次いで、未知文判定部５１は、一般ラベルが付された判定対象文を翻訳不実行文判定部５２へ出力する（ステップＳ２４）。
【００５５】
判定対象文と一致する文が一般文ＤＢ２３に記憶されていない場合（ステップＳ２２ＮＯ）、未知文判定部５１は、判定対象文と一致する文を専門文ＤＢ２１において検索する（ステップＳ２５）。
【００５６】
次いで、未知文判定部５１は、ステップＳ２５における検索の結果、判定対象文と一致する文が専門文ＤＢ２１に記憶されているか否かを判定する（ステップＳ２６）。
【００５７】
判定対象文と一致する文が専門文ＤＢ２１に記憶されている場合（ステップＳ２６ＹＥＳ）、未知文判定部５１は、判定対象文と一致する文の専門文ＤＢ２１に対応する「専門分野情報」及び「専門ラベル」を、判定対象文に付す（ステップＳ２７）。
【００５８】
次いで、未知文判定部５１は、「専門分野情報」及び「専門ラベル」が付された判定対象文を翻訳不実行文判定部５２へ出力する（ステップＳ２４）。
【００５９】
判定対象文と一致する文が専門文ＤＢ２１に記憶されていない場合（ステップＳ２６ＮＯ）、未知文判定部５１は、判定対象文に「未知ラベル」を付す（ステップＳ２８）。
【００６０】
次いで、未知文判定部５１は、「未知ラベル」が付された判定対象文を文ベクトル算出部１１へ出力する（ステップＳ２９）。
【００６１】
〈文ベクトル算出処理〉
文ベクトル算出部１１は、「未知文判定処理」において判定対象文が未知文であると判定された判定対象文が入力されると、該判定対象文に対して、文ベクトル算出処理を実行する（ステップＳ１２）。
【００６２】
図６は、第３実施形態の文ベクトル算出処理の一例を示すフローチャートである。
【００６３】
文ベクトル算出部１１は、判定対象文に対して形態素解析を行って、複数の単語に分割する（ステップＳ３１）。
【００６４】
次いで、文ベクトル算出部１１は、ステップＳ３１で得られた複数の単語のうちの１つを「ベクトル取得対象単語」として設定する（ステップＳ３２）。
【００６５】
次いで、文ベクトル算出部１１は、ベクトル取得対象単語と一致する単語を単語ベクトルＤＢ２２において検索する（ステップＳ３３）。
【００６６】
次いで、文ベクトル算出部１１は、ステップＳ３３における検索の結果、ベクトル取得対象単語と一致する単語が単語ベクトルＤＢ２２に記憶されているか否かを判定する（ステップＳ３４）。
【００６７】
ベクトル取得対象単語と一致する単語が単語ベクトルＤＢ２２に記憶されている場合（ステップＳ３４ＹＥＳ）、文ベクトル算出部１１は、ベクトル取得対象単語と一致する単語の単語ベクトルを単語ベクトルＤＢ２２から取得する（ステップＳ３５）。
【００６８】
一方、ベクトル取得対象単語と一致する単語が単語ベクトルＤＢ２２に記憶されていない場合（ステップＳ３４ＮＯ）、処理ステップは、ステップＳ３５を経ずに、ステップＳ３６へ進む。
【００６９】
次いで、文ベクトル算出部１１は、ステップＳ３１で得られた複数の単語のすべてをベクトル取得対象単語として設定済みか否かを判定する（ステップＳ３６）。
【００７０】
ステップＳ３１で得られた複数の単語の中にベクトル取得対象単語として設定されていないものがある場合（ステップＳ３６ＮＯ）、文ベクトル算出部１１は、未だ設定されていない単語をベクトル取得対象単語として設定する（ステップＳ３７）。そして、処理フローは、ステップＳ３３へ戻る。
【００７１】
ステップＳ３１で得られた複数の単語のすべてをベクトル取得対象単語として設定済みである場合（ステップＳ３６ＹＥＳ）、文ベクトル算出部１１は、既に取得している複数の単語ベクトルを用いて、判定対象文の文ベクトルを算出する（ステップＳ３８）。
【００７２】
次いで、文ベクトル算出部１１は、判定対象文、及び、算出した文ベクトルを文種別判定処理部１２へ出力する（ステップＳ３９）。
【００７３】
〈文種別判定処理〉
文種別判定処理部１２は、文ベクトル算出部１１から、判定対象文及び該判定対象文の文ベクトルが入力されると、「文種別判定処理」を実行する（ステップＳ１３）。
【００７４】
図７は、第３実施形態の文種別判定処理の一例を示すフローチャートである。
【００７５】
文種別判定処理部１２は、複数の専門文ＤＢ２１−１〜２１−Ｎのうちの１つを処理対象ＤＢとして設定する（ステップＳ４１）。
【００７６】
次いで、文種別判定処理部１２は、処理対象ＤＢの各専門文の文ベクトルと判定対象文の文ベクトルとのコサイン類似度を算出する（ステップＳ４２）。
【００７７】
次いで、文種別判定処理部１２は、算出した複数のコサイン類似度のうちで第１閾値を超える専門文の数をカウントする（ステップＳ４３）。これにより、処理対象ＤＢの専門分野別カウント数が得られる。
【００７８】
次いで、文種別判定処理部１２は、複数の専門文ＤＢ２１−１〜２１−Ｎのうちのすべてを処理対象ＤＢとして設定済みか否かを判定する（ステップＳ４４）。
【００７９】
未だ処理対象ＤＢとして設定されていない専門文ＤＢ２１が存在する場合（ステップＳ４４ＮＯ）、文種別判定処理部１２は、未だ処理対象ＤＢとして設定されていない専門文ＤＢ２１を処理対象ＤＢとして設定する（ステップＳ４５）。そして、処理ステップは、ステップＳ４２に戻る。
【００８０】
複数の専門文ＤＢ２１−１〜２１−Ｎのうちのすべてを処理対象ＤＢとして設定済みである場合（ステップＳ４４ＹＥＳ）、文種別判定処理部１２は、算出した複数の専門分野別カウント数の合計値を算出する（ステップＳ４６）。
【００８１】
次いで、文種別判定処理部１２は、算出した合計値が第２閾値を超えているか否かを判定する（ステップＳ４７）。
【００８２】
算出した合計値が第２閾値を超えている場合（ステップＳ４７ＹＥＳ）、文種別判定処理部１２は、算出した複数の専門分野別カウント数のうちで最も大きい専門分野別カウント数に対応する専門文ＤＢ２１の専門分野を特定する（ステップＳ４８）。
【００８３】
次いで、文種別判定処理部１２は、判定対象文に「専門分野情報」及び「専門ラベル」を付す（ステップＳ４９）。
【００８４】
次いで、文種別判定処理部１２は、「専門分野情報」及び「専門ラベル」を付した判定対象文を、翻訳不実行文判定部５２へ出力する（ステップＳ５０）。
【００８５】
算出した合計値が第２閾値以下である場合（ステップＳ４７ＮＯ）、文種別判定処理部１２は、判定対象文に「一般ラベル」を付す（ステップＳ５１）。
【００８６】
次いで、文種別判定処理部１２は、「一般ラベル」を付した判定対象文を、翻訳不実行文判定部５２へ出力する（ステップＳ５０）。
【００８７】
〈翻訳不実行文判定処理〉
翻訳不実行文判定部５２は、未知文判定部５１又は文種別判定処理部１２から判定対象文が入力されると、「翻訳不実行文判定処理」を実行する（ステップＳ１４）。
【００８８】
図８は、第３実施形態の翻訳不実行文判定処理の一例を示すフローチャートである。
【００８９】
翻訳不実行文判定部５２は、判定対象文に専門ラベルが付されているか否かを判定する（ステップＳ６１）。
【００９０】
判定対象文に専門ラベルが付されていない場合（ステップＳ６１ＮＯ）、翻訳不実行文判定部５２は、判定対象文が一般文であると判定し、判定対象文をそのまま翻訳部３１へ出力する（ステップＳ６４）。
【００９１】
判定対象文に専門ラベルが付されている場合（ステップＳ６１ＹＥＳ）、翻訳不実行文判定部５２は、判定対象文に付されている専門分野情報が示す専門分野が翻訳不実行分野であるか否かを判定する（ステップＳ６２）。
【００９２】
判定対象文に付されている専門分野情報が示す専門分野が翻訳不実行分野である場合（ステップＳ６２ＹＥＳ）、翻訳不実行文判定部５２は、判定対象文に「翻訳不要ラベル」を付す（ステップＳ６３）。
【００９３】
次いで、翻訳不実行文判定部５２は、翻訳不要ラベルを付した判定対象文を翻訳部３１へ出力する（ステップＳ６４）。判定対象文に付されている専門分野情報が示す専門分野が翻訳不実行分野でない場合（ステップＳ６２ＮＯ）、翻訳不実行文判定部５２は、翻訳不要ラベルを付さずに、判定対象文を翻訳部３１へ出力する（ステップＳ６４）。
【００９４】
〈翻訳処理〉
翻訳部３１は、翻訳不実行文判定部５２から判定対象文が入力されると、「翻訳処理」を実行する（ステップＳ１５）。
【００９５】
図９は、第３実施形態の翻訳処理の一例を示すフローチャートである。
【００９６】
翻訳部３１は、判定対象文に「翻訳不要ラベル」が付されているか否かを判定する（ステップＳ７１）。
【００９７】
判定対象文に翻訳不要ラベルが付されていない場合（ステップＳ７１ＮＯ）、翻訳部３１は、判定対象文を翻訳する（ステップＳ７２）。
【００９８】
次いで、翻訳部３１は、翻訳文及び該翻訳文の元となった判定対象文を、正否確認制御部４１へ出力する（ステップＳ７３）。判定対象文に翻訳不要ラベルが付されている場合（ステップＳ７１ＹＥＳ）、翻訳部３１は、判定対象文を翻訳せずに、判定対象文を翻訳文及び該翻訳文の元となった判定対象文として正否確認制御部４１へ出力する（ステップＳ７３）。
【００９９】
〈正否確認制御処理〉
正否確認制御部４１は、翻訳部３１から翻訳文及び該翻訳文の元となった判定対象文を受け取ると、「正否確認制御処理」を実行する（ステップＳ１６）。
【０１００】
図１０は、第３実施形態の正否確認制御処理の一例を示すフローチャートである。
【０１０１】
正否確認制御部４１は、判定対象文に「未知ラベル」が付されているか否かを判定する（ステップＳ８１）。
【０１０２】
判定対象文に未知ラベルが付されていない場合（ステップＳ８１ＮＯ）、正否確認制御部４１は、判定対象文が既知文であることを示す表示を表示部（図示せず）に表示させる（ステップＳ８２）。
【０１０３】
判定対象文に未知ラベルが付されている場合（ステップＳ８１ＹＥＳ）、正否確認制御部４１は、該判定対象文の翻訳文を表示部（図示せず）に表示させる（ステップＳ８３）。正否確認制御部４１は、さらに、表示された翻訳文に対応する判定対象文が翻訳されたこと（又は、翻訳されなかったこと）が適切であったか否かをユーザに確認する「確認表示」を表示部（図示せず）に表示させる（ステップＳ８３）。
【０１０４】
次いで、正否確認制御部４１は、ユーザの操作による確認結果信号を受け付けるまで待つ（ステップＳ８４ＮＯ）。
【０１０５】
ユーザの操作による確認結果信号を受け付けると（ステップＳ８４ＹＥＳ）、正否確認制御部４１は、確認結果信号が不適切であることを示しているか否かを判定する（ステップＳ８５）。
【０１０６】
確認結果信号が不適切であることを示している場合（ステップＳ８５ＹＥＳ）、正否確認制御部４１は、判定対象文に付されている「種別情報」の書き換えを行う（ステップＳ８６）。すなわち、正否確認制御部４１は、「確認結果信号」が不適切であることを示し且つ判定対象文に「専門ラベル」が付されている場合、「専門ラベル」を除去して「一般ラベル」を付す。また、正否確認制御部４１は、「確認結果信号」が不適切であることを示し且つ判定対象文に「一般ラベル」が付されている場合、「一般ラベル」を除去して「専門ラベル」を付す。
【０１０７】
次いで、正否確認制御部４１は、「種別情報」が書き換えられた判定対象文を、更新部４２へ出力する（ステップＳ８７）。また、確認結果信号が適切であることを示している場合（ステップＳ８５ＮＯ）、正否確認制御部４１は、判定対象文をそのまま更新部４２へ出力する（ステップＳ８７）。
【０１０８】
〈更新処理〉
更新部４２は、正否確認制御部４１から判定対象文が入力されると、「更新処理」を実行する（ステップＳ１７）。
【０１０９】
図１１は、第３実施形態の更新処理の一例を示すフローチャートである。
【０１１０】
更新部４２は、判定対象文に専門ラベルが付されているか否かを判定する（ステップＳ９１）。
【０１１１】
判定対象文に専門ラベルが付されていない場合、つまり、判定対象文に一般ラベルが付されている場合（ステップＳ９１ＮＯ）、更新部４２は、その判定対象文を一般文候補ＤＢ６１に追加して記憶させる（ステップＳ９２）。
【０１１２】
判定対象文に専門ラベルが付されている場合（ステップＳ９１ＹＥＳ）、更新部４２は、判定対象文に専門分野情報が付されているか否かを判定する（ステップＳ９３）。
【０１１３】
判定対象文に専門分野情報が付されている場合（ステップＳ９３ＹＥＳ）、更新部４２は、判定対象文を、その専門分野情報が示す専門分野に対応する専門文ＤＢ２１に追加して記憶させる（ステップＳ９４）。
【０１１４】
判定対象文に専門分野情報が付されている場合（ステップＳ９３ＮＯ）、更新部４２は、複数の専門文ＤＢ２１−１〜２１−Ｎのうちの１つを処理対象ＤＢとして設定する（ステップＳ９５）。
【０１１５】
次いで、更新部４２は、処理対象ＤＢの各専門文の文ベクトルと判定対象文の文ベクトルとのコサイン類似度を算出する（ステップＳ９６）。
【０１１６】
次いで、更新部４２は、算出した複数のコサイン類似度のうちで第１閾値を超える専門文の数をカウントする（ステップＳ９７）。これにより、処理対象ＤＢの専門分野別カウント数が得られる。
【０１１７】
次いで、更新部４２は、複数の専門文ＤＢ２１−１〜２１−Ｎのうちのすべてを処理対象ＤＢとして設定済みか否かを判定する（ステップＳ９８）。
【０１１８】
未だ処理対象ＤＢとして設定されていない専門文ＤＢ２１が存在する場合（ステップＳ９８ＮＯ）、更新部４２は、未だ処理対象ＤＢとして設定されていない専門文ＤＢ２１を処理対象ＤＢとして設定する（ステップＳ９９）。
【０１１９】
専門文ＤＢ２１−１〜２１−Ｎのすべてを処理対象ＤＢとして設定済みである場合（ステップＳ９９ＹＥＳ）、更新部４２は、算出した複数の専門分野別カウント数のうちで最も大きいものに対応する専門文ＤＢ２１の専門分野を特定する（ステップＳ１００）。
【０１２０】
更新部４２は、判定対象文を、特定した専門分野に対応する専門文ＤＢ２１に追加して記憶させる（ステップＳ１０１）。
【０１２１】
更新部４２は、専門文ＤＢ２１に追加した判定対象文をリバランス部４３へ出力する（ステップＳ１０２）。
【０１２２】
〈リバランス処理〉
リバランス部４３は、更新部４２から専門文ＤＢ２１に追加された判定対象文を受け取ると、「リバランス処理」を実行する（ステップＳ１８）。
【０１２３】
図１２は、第３実施形態のリバランス処理の一例を示すフローチャートである。
【０１２４】
リバランス部４３は、判定対象文を構成する複数の単語から重複する単語を削除した、複数の単語を含む単語リストを作成する（ステップＳ１１１）。
【０１２５】
リバランス部４３は、単語リストに含まれる複数の単語のうちの１つを「対象単語」として設定する（ステップＳ１１２）。
【０１２６】
リバランス部４３は、複数の専門文ＤＢ２１−１〜２１−Ｎにおいて対象単語を含む専門文の数をカウントする（ステップＳ１１３）。これにより、「第１カウント数」が得られる。
【０１２７】
リバランス部４３は、一般文ＤＢ２３において対象単語を含む一般文の数をカウントする（ステップＳ１１４）。これにより、「第２カウント数」が得られる。
【０１２８】
リバランス部４３は、「第１カウント数」が「第２カウント数」よりも大きいか否かを判定する（ステップＳ１１５）。
【０１２９】
「第１カウント数」が「第２カウント数」よりも大きい場合（ステップＳ１１５ＹＥＳ）、リバランス部４３は、対象単語を含む一般文候補を一般文候補ＤＢ６１において検索する（ステップＳ１１６）。
【０１３０】
リバランス部４３は、ステップＳ１１６の検索の結果、対象単語を含む一般文候補が一般文候補ＤＢ６１に存在するか否かを判定する（ステップＳ１１７）。
【０１３１】
対象単語を含む一般文候補が一般文候補ＤＢ６１に存在する場合（ステップＳ１１７ＹＥＳ）、リバランス部４３は、対象単語を含む一般文候補を、一般文ＤＢ２３へ移動させる（ステップＳ１１８）。一方、対象単語を含む一般文候補が一般文候補ＤＢ６１に存在しない場合（ステップＳ１１７ＮＯ）、処理ステップは、ステップＳ１１８を経ずに、ステップＳ１１９に進む。なお、「第１カウント数」が「第２カウント数」以下である場合（ステップＳ１１５ＮＯ）、処理ステップは、ステップＳ１１９に進む。
【０１３２】
リバランス部４３は、単語リストに含まれる複数の単語のすべてを対象単語として設定済みか否かを判定する（ステップＳ１１９）。
【０１３３】
単語リストに含まれる複数の単語の中に未だ対象単語として設定していない単語が存在する場合（ステップＳ１１９ＮＯ）、リバランス部４３は、未だ設定していない単語を対象単語として設定する（ステップＳ１２０）。
【０１３４】
単語リストに含まれる複数の単語のすべてを対象単語として設定済みである場合（ステップＳ１１９ＹＥＳ）、リバランス部４３は、一般文候補を一般文ＤＢ２３へ移動させていれば「リバランス実行通知」を学習部４４へ出力する（ステップＳ１２１）。
【０１３５】
〈学習処理〉
学習部４４は、リバランス部４３からリバランス実行通知を受け取ると、「学習処理」を実行する（ステップＳ１９）。
【０１３６】
具体的には、学習部４４は、一般文ＤＢ２３及び専門文ＤＢ２１に記憶されているすべての文を学習データとして、各単語に対する単語ベクトルを算出する。さらに、学習部４４は、一般文ＤＢ２３及び専門文ＤＢ２１に記憶されている各文の文ベクトルを算出する。そして、学習部４４は、単語及び該単語に対応する単語ベクトルを単語ベクトルＤＢ２２に記憶（保持）させる。また、学習部４４は、算出した専門文の文ベクトルを、該専門文の専門分野に対応する専門文ＤＢ２１に記憶させる。また、学習部４４は、算出した一般文の文ベクトルを一般文ＤＢ２３に記憶させる。
【０１３７】
以上のように第３実施形態によれば、翻訳装置４０において正否確認制御部４１は、一般文であると判定された判定対象文の翻訳文、及び、該判定対象文が翻訳されることが適切であったか否をユーザに確認する確認表示を、表示部に表示させる。さらに、正否確認制御部４１は、ユーザの確認結果信号を受け付け、確認結果信号が不適切であることを示す場合、一般文であると判定された判定対象文の種別情報を専門文種別に修正する。そして、更新部４２は、種別情報が専門文種別に修正された判定対象文を、該判定対象文の専門分野に対応する専門文ＤＢ２１に追加する。
【０１３８】
この翻訳装置４０の構成により、ユーザによって種別情報が正しく修正された判定対象文を専門文ＤＢ２１に専門文として記憶させることができるので、他の判定対象文が翻訳装置４０に入力された際の未知文判定処理等の精度を向上させることができる。この結果として、他の判定対象文の翻訳精度を向上させることができる。
【０１３９】
また、翻訳装置４０にてリバランス部４３は、「第１カウント数」が「第２カウント数」より大きい場合、判定対象文に含まれる「対象単語」を含み且つ一般文候補ＤＢ６１に記憶されている少なくとも１つの一般文候補を、一般文ＤＢ２３へ移動させる。「第１カウント数」は、リバランス部４３が受け取った判定対象文に含まれる「対象単語」単位で対象単語を含む専門文の数を専門文ＤＢ２１−１〜２１−Ｎについてカウントしたカウント数である。「第２カウント数」は、上記の対象単語を含む一般文の数を一般文ＤＢ２３についてカウントしたカウント数である。
【０１４０】
この翻訳装置４０の構成により、一般文ＤＢ２３の一般文の数と専門文ＤＢ２１−１〜２１−Ｎの専門文の数とのバランスを調整することができるので、データの偏りに起因する過学習の発生を防止することができる。
【０１４１】
＜変形例＞
以上の説明では、「文種別判定基準」が次の基準を含むものとして説明を行ったが、これに限定されるものではない。「文種別判定基準」は、まず、「専門文ＤＢ２１−１〜２１−Ｎのすべての専門分野別カウント数の合計値が第２閾値以下である場合には、判定対象文は一般文である」という基準を含んでいる。さらに、「文種別判定基準」は、専門文ＤＢ２１−１〜２１−Ｎのすべての専門分野別カウント数の合計値が第２閾値より大きい場合には、判定対象文は専門文である」という基準を含んでいる。例えば、「文種別判定基準」は、以下のようなものであってもよい。
【０１４２】
＜１＞バリエーション１の「文種別判定基準」は、まず、「専門文ＤＢ２１−１〜２１−Ｎにそれぞれ対応する複数の専門分野別カウント数のすべてが第３閾値以下である場合、判定対象文が一般文である」という基準を含んでいる。さらに、バリエーション１の「文種別判定基準」は、「専門文ＤＢ２１−１〜２１−Ｎにそれぞれ対応する複数の専門分野別カウント数のうちで第３閾値より大きい専門分野別カウント数が少なくとも１つある場合、判定対象文が専門文である」という基準を含んでいる。
【０１４３】
＜２＞バリエーション２の「文種別判定基準」は、まず、「専門文ＤＢ２１−１〜２１−Ｎにそれぞれ対応する複数の専門分野別カウント数のうちで第４閾値より大きい専門分野別カウント数が少なくとも１つある場合、判定対象文が専門文である」という基準を含んでいる。さらに、バリエーション２の「文種別判定基準」は、「専門文ＤＢ２１−１〜２１−Ｎにそれぞれ対応する複数の専門分野別カウント数のすべてが第４閾値以下であり且つ専門文ＤＢ２１−１〜２１−Ｎのすべての専門分野別カウント数の合計値が第５閾値以下である場合、判定対象文が一般文である」という基準を含んでいる。さらに、バリエーション２の「文種別判定基準」は、「専門文ＤＢ２１−１〜２１−Ｎにそれぞれ対応する複数の専門分野別カウント数のすべてが第４閾値以下であり且つ専門文ＤＢ２１−１〜２１−Ｎのすべての専門分野別カウント数の合計値が第５閾値より大きい場合、判定対象文が専門文である」という基準を含んでいる。
【０１４４】
＜他の実施形態＞
図１３は、翻訳装置のハードウェア構成例を示す図である。図１３において、翻訳装置１００は、プロセッサ１０１と、メモリ１０２とを有している。第２実施形態及び第３実施形態で説明した翻訳装置３０，４０のそれぞれが、翻訳装置１００のハードウェア構成を有することができる。翻訳装置３０，４０の文種別判定装置１０，５０と、翻訳部３１と、正否確認制御部４１と、更新部４２と、リバランス部４３と、学習部４４とは、プロセッサ１０１がメモリ１０２に記憶されたプログラムを読み込んで実行することにより実現される。また、記憶装置２０，６０は、メモリ１０２によって実現されてもよい。
【０１４５】
また、文種別判定装置１０，５０が独立した装置として、図１３に示したハードウェア構成を有していてもよい。この場合、翻訳装置３０，４０は、文種別判定装置１０，５０を含まない独立した装置であり、文種別判定装置１０，５０と接続されて用いられる。
【０１４６】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１４７】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１４８】
（付記１）
互いに専門分野の異なる専門文及び該専門文が有する文ベクトルを保持する複数の専門文ＤＢ、並びに、前記専門分野に含まれない一般文を保持する一般文ＤＢを記憶する記憶部と、
判定対象文の文ベクトルを算出する文ベクトル算出部と、
前記算出された判定対象文の文ベクトルとの間のコサイン類似度が第１閾値を超える文ベクトルを有する専門文の数を前記専門文ＤＢ毎にカウントした専門分野別カウント数に基づいて、前記判定対象文が専門文であるか一般文であるかを判定すると共に、前記専門文であると判定された前記判定対象文の専門分野を判定する文種別判定処理部と、
前記一般文であると判定された判定対象文を翻訳して翻訳文を出力する一方、前記判定された判定対象文の専門分野が予め設定された翻訳不実行分野である場合、前記判定対象文に対する翻訳を実行せずに前記判定対象文をそのまま出力し、前記判定された判定対象文の専門分野が予め設定された翻訳不実行分野でない場合、前記判定対象文を翻訳して翻訳文を出力する、翻訳部と、
を具備する翻訳装置。
【０１４９】
（付記２）
前記文種別判定処理部は、前記複数の専門文ＤＢのすべての前記専門分野別カウント数の合計値に基づいて、前記判定対象文が専門文であるか一般文であるかを判定する、
付記１記載の翻訳装置。
【０１５０】
（付記３）
前記文種別判定処理部は、
前記複数の専門文ＤＢのすべての前記専門分野別カウント数の合計値が第２閾値以下である場合、前記判定対象文が一般文であると判定し、
前記複数の専門文ＤＢのすべての前記専門分野別カウント数の合計値が前記第２閾値より大きい場合、前記判定対象文が専門文であると判定し、前記複数の専門文ＤＢにそれぞれ対応する複数の専門分野別カウント数のうちで最も大きい専門分野別カウント数に対応する専門文ＤＢの専門分野が前記判定対象文の専門分野であると判定する、
付記１又は２記載の翻訳装置。
【０１５１】
（付記４）
前記文種別判定処理部は、
前記複数の専門文ＤＢにそれぞれ対応する複数の専門分野別カウント数のすべてが第３閾値以下である場合、前記判定対象文が一般文であると判定し、
前記複数の専門文ＤＢにそれぞれ対応する複数の専門分野別カウント数のうちで前記第３閾値より大きい専門分野別カウント数が少なくとも１つある場合、前記判定対象文が専門文であると判定し、前記第３閾値より大きい専門カウント数のうちで最も大きい専門分野別カウント数に対応する専門文ＤＢの専門分野が前記判定対象文の専門分野であると判定する、
付記１記載の翻訳装置。
【０１５２】
（付記５）
前記文種別判定処理部は、前記複数の専門文ＤＢにそれぞれ対応する複数の専門分野別カウント数のうちで第４閾値より大きい専門分野別カウント数が少なくとも１つある場合、前記判定対象文が専門文であると判定し、前記第４閾値より大きい専門カウント数のうちで最も大きい専門分野別カウント数に対応する専門文ＤＢの専門分野が前記判定対象文の専門分野であると判定し、
前記複数の専門文ＤＢにそれぞれ対応する複数の専門分野別カウント数のすべてが前記第４閾値以下であり且つ前記複数の専門文ＤＢのすべての前記専門分野別カウント数の合計値が第５閾値以下である場合、前記判定対象文が一般文であると判定し、
前記複数の専門文ＤＢにそれぞれ対応する複数の専門分野別カウント数のすべてが前記第４閾値以下であり且つ前記複数の専門文ＤＢのすべての前記専門分野別カウント数の合計値が前記第５閾値より大きい場合、前記判定対象文が専門文であると判定し、前記複数の専門文ＤＢにそれぞれ対応する複数の専門分野別カウント数のうちで最も大きい専門分野別カウント数に対応する専門文ＤＢの専門分野が前記判定対象文の専門分野であると判定する、
付記１記載の翻訳装置。
【０１５３】
（付記６）
前記一般文ＤＢ内に含まれていない一般文を一般文候補として保持する一般文候補ＤＢと、
前記一般文であると判定された判定対象文の翻訳文を表示部に表示させ、前記一般文であると判定された判定対象文が翻訳されたことが適切であったか否かをユーザに確認する確認表示を表示部に表示させると共に、前記ユーザの確認結果信号を受け付け、前記確認結果信号が不適切であることを示す場合、前記一般文であると判定された判定対象文の種別情報を専門文種別に修正する翻訳正否確認制御部と、
前記種別情報が前記専門文種別に修正された判定対象文を、該判定対象文の専門分野に対応する専門文ＤＢに追加する更新部と、
をさらに具備する付記１から５のいずれか１項に記載の翻訳装置。
【０１５４】
（付記７）
前記種別情報が前記専門文種別に修正された判定対象文に含まれる対象単語単位で前記対象単語を含む専門文の数を前記複数の専門文ＤＢのすべてについてカウントした第１カウント数が、前記対象単語を含む一般文の数を前記一般文ＤＢについてカウントした第２カウント数より大きい場合、前記対象単語を含む前記一般文候補ＤＢの少なくとも１つの一般文候補を前記一般文ＤＢへ移動させる、リバランス部と、
を具備する付記６記載の翻訳装置。
【０１５５】
（付記８）
記憶部と接続されて用いられる文種別判定装置であって、
前記記憶部は、互いに専門分野の異なる専門文及び該専門文が有する文ベクトルを保持する複数の専門文ＤＢ、並びに、前記専門分野に含まれない一般文を保持する一般文ＤＢを記憶し、
前記文種別判定装置は、
判定対象文の文ベクトルを算出する文ベクトル算出部と、
前記算出された判定対象文の文ベクトルとの間のコサイン類似度が第１閾値を超える文ベクトルを有する専門文の数を前記専門文ＤＢ毎にカウントした専門分野別カウント数に基づいて、前記判定対象文が専門文であるか一般文であるかを判定すると共に、前記専門文であると判定された前記判定対象文の専門分野を判定する文種別判定処理部と、
を具備する文種別判定装置。
【０１５６】
（付記９）
前記文種別判定処理部は、前記複数の専門文ＤＢのすべての前記専門分野別カウント数の合計値に基づいて、前記判定対象文が専門文であるか一般文であるかを判定する、
付記８記載の文種別判定装置。
【０１５７】
（付記１０）
前記文種別判定処理部は、
前記複数の専門文ＤＢのすべての前記専門分野別カウント数の合計値が第２閾値以下である場合、前記判定対象文が一般文であると判定し、
前記複数の専門文ＤＢのすべての前記専門分野別カウント数の合計値が前記第２閾値より大きい場合、前記判定対象文が専門文であると判定し、前記複数の専門文ＤＢにそれぞれ対応する複数の専門分野別カウント数のうちで最も大きい専門分野別カウント数に対応する専門文ＤＢの専門分野が前記判定対象文の専門分野であると判定する、
付記８又は９記載の文種別判定装置。
【０１５８】
（付記１１）
前記文種別判定処理部は、
前記複数の専門文ＤＢにそれぞれ対応する複数の専門分野別カウント数のすべてが第３閾値以下である場合、前記判定対象文が一般文であると判定し、
前記複数の専門文ＤＢにそれぞれ対応する複数の専門分野別カウント数のうちで前記第３閾値より大きい専門分野別カウント数が少なくとも１つある場合、前記判定対象文が専門文であると判定し、前記第３閾値より大きい専門カウント数のうちで最も大きい専門分野別カウント数に対応する専門文ＤＢの専門分野が前記判定対象文の専門分野であると判定する、
付記８記載の文種別判定装置。
【０１５９】
（付記１２）
前記文種別判定処理部は、前記複数の専門文ＤＢにそれぞれ対応する複数の専門分野別カウント数のうちで前記第４閾値より大きい専門分野別カウント数が少なくとも１つある場合、前記判定対象文が専門文であると判定し、前記第４閾値より大きい専門カウント数のうちで最も大きい専門分野別カウント数に対応する専門文ＤＢの専門分野が前記判定対象文の専門分野であると判定し、
前記複数の専門文ＤＢにそれぞれ対応する複数の専門分野別カウント数のすべてが前記第４閾値以下であり且つ前記複数の専門文ＤＢのすべての前記専門分野別カウント数の合計値が第５閾値以下である場合、前記判定対象文が一般文であると判定し、
前記複数の専門文ＤＢにそれぞれ対応する複数の専門分野別カウント数のすべてが前記第４閾値以下であり且つ前記複数の専門文ＤＢのすべての前記専門分野別カウント数の合計値が前記第５閾値より大きい場合、前記判定対象文が専門文であると判定し、前記複数の専門文ＤＢにそれぞれ対応する複数の専門分野別カウント数のうちで最も大きい専門分野別カウント数に対応する専門文ＤＢの専門分野が前記判定対象文の専門分野であると判定する、
付記８記載の文種別判定装置。
【０１６０】
（付記１３）
互いに専門分野の異なる専門文及び該専門文が有する文ベクトルを保持する複数の専門文ＤＢ、並びに、前記専門分野に含まれない一般文を保持する一般文ＤＢを記憶する記憶部と接続されて用いられる文種別判定装置に、
判定対象文の文ベクトルを算出し、
前記算出された判定対象文の文ベクトルとの間のコサイン類似度が閾値を超える文ベクトルを有する専門文の数を前記専門文ＤＢ毎にカウントした専門分野別カウント数に基づいて、前記判定対象文が専門文であるか一般文であるかを判定すると共に、前記専門文であると判定された前記判定対象文の専門分野を判定する、
処理を実行させる、文種別判定プログラム。
【符号の説明】
【０１６１】
１０，５０  文種別判定装置
１１  文ベクトル算出部
１２  文種別判定処理部
２０，６０  記憶装置（記憶部）
２１  専門文ＤＢ
２２  単語ベクトルＤＢ
２３  一般文ＤＢ
３０，４０  翻訳装置
３１  翻訳部
４１  正否確認制御部
４２  更新部
４３  リバランス部
４４  学習部
５１  未知文判定部
５２  翻訳不実行文判定部
６２  不実行分野リスト
６１  一般文候補ＤＢ
【図１】
2019121263.tif 000003
【図２】
2019121263.tif 000004
【図３】
2019121263.tif 000005
【図４】
2019121263.tif 000006
【図５】
2019121263.tif 000007
【図６】
2019121263.tif 000008
【図７】
2019121263.tif 000009
【図８】
2019121263.tif 000010
【図９】
2019121263.tif 000011
【図１０】
2019121263.tif 000012
【図１１】
2019121263.tif 000013
【図１２】
2019121263.tif 000014
【図１３】
2019121263.tif 000015