添付図面を参照しながら本発明の実施形態を説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
図1は、一実施形態に係る文章作成装置の構成を示す図である。図1に示される文章作成装置1は、第1言語の第1文章T11の語順に第2言語の第2文章T21を並び替えることによって、第2言語の第3文章T31を作成する装置である。第2文章T21は、第1文章T11を第2言語に翻訳した文章(訳文)である。第1文章T11、第2文章T21、及び第3文章T31は、例えば、テキストデータである。
第1言語及び第2言語は、それぞれ互いに異なる言語である。例えば、第1言語は英語であり、第2言語は日本語である。第1言語で構成された文章の文型(語順)は、第2言語で構成された文章の文型(語順)と異なっていてもよい。例えば、第1言語の文章と第2言語の文章とでは、主語(S:Subject)、目的語(O:Object)、及び動詞(V:Verb)の順序が異なる。例えば、第1言語の文章における典型的な文型はSVO型であり、第2言語の文章における典型的な文型はSOV型である。例えば、第3文章T31の文型は、第2文章T21の文型とは異なり、第1文章T11の文型と同一である。第1文章T11が補語(C:Complement)又は修飾語(M:Modifier)を含む場合においても、第3文章T31の文型は、第1文章T11の文型と同一である。
文章作成装置1は、例えば、サーバ装置によって実現される。文章作成装置1は、複数のサーバ装置、即ち、コンピュータシステムによって実現されてもよい。文章作成装置1は、文章作成装置1の外部に設けられた第1対訳コーパス82及び第2対訳コーパス84と通信可能に構成されている。
第1対訳コーパス82及び第2対訳コーパス84は、それぞれ情報を記憶するデータベースとして機能する機能部である。第1対訳コーパス82及び第2対訳コーパス84は、例えば、メモリ及びストレージの少なくとも一方を含むデータベース、サーバ、又はその他の適切な媒体によってそれぞれ実現される。
第1対訳コーパス82は、例えば、逐次通訳用の対訳コーパスである。第2対訳コーパス84は、例えば、同時通訳用の対訳コーパスである。対訳コーパスとは、機械翻訳の学習データとして利用するために構築された、互いに異なる言語の文と文とが対訳の形でまとめられた対訳データのコーパス(文のデータベース)である。つまり、第1対訳コーパス82は、複数の第1対訳データを含み、各第1対訳データは、互いに対応付けられた第1文章T11と、当該第1文章の訳文である第2文章T21との組み合わせである。第2対訳コーパス84は、複数の第2対訳データを含み、各第2対訳データは、互いに対応付けられた第1文章T11と、当該第1文章の訳文である第2文章T21の文節を並び替えた第3文章T31との組み合わせである。
引き続いて、本実施形態に係る文章作成装置1の機能を説明する。図1に示されるように文章作成装置1は、機能的には、取得部10と、解析部20と、検出部30と、対応付け部40と、導出部50と、作成部60とを備える。
取得部10は、第1文章T11及び第2文章T21の第1対訳データを取得する機能部である。取得部10は、第1対訳コーパス82から情報を取得可能なように構成されている。取得部10は、例えば、第1対訳コーパス82から第1対訳データを取得する。取得部10は、例えば、第2対訳コーパス84内に記憶されていない第1文章T11を含む第1対訳データを、第1対訳コーパス82から取得する。取得部10は、取得した第1文章T11及び第2文章T21を解析部20に出力する。取得部10は、作成部60に第1文章T11を出力する。
解析部20は、第1文章T11及び第2文章T21のそれぞれを形態素解析する機能部である。形態素解析とは、例えば、テキストデータから、ある対象言語の文法及び品詞等の情報に基づき、形態素(Morpheme)の列に分割し、各形態素の品詞等を判別する処理である。形態素は、例えば、意味を有する最小の言語単位である。解析部20は、例えば、公知の形態素解析手法を利用して、第1文章T11及び第2文章T21のそれぞれを形態素解析する。公知の形態素解析手法とは、例えば、条件付き確率場(CRF:Conditional Random Fields)、隠れマルコフモデル(Hidden Markov Model)、又はリカレントニューラルネットワークに基づく手法である。公知の形態素解析手法は、例えば、ルールベース手法であってもよい。具体的な形態素解析ツールとして、解析部20は、例えば第1文章T11にはNLTK(Natural Language Toolkit)を適用し、第2文章T21にはMeCab(Yet Another Part-of-Speech and Morphological Analyzer)を適用する。なお、解析部20は、形態素の代わりに単語を用いて解析処理を実行してもよい。
図2は、図1に示される解析部による形態素解析処理の一例を示す図である。図2に示されるように、解析部20は、取得部10により取得された第1文章T11及び第2文章T21のそれぞれを形態素解析する。解析部20は、例えば、第1文章T11に対して形態素解析を行い、第1文章T11の文頭から文末に向かって順に形態素2a,2b,2c,2d,2e,2f,2g,2h,2iを抽出する。解析部20は、例えば、第2文章T21に対して形態素解析を行い、第2文章T21の文頭から文末に向かって順に形態素3a,3b,3c,3d,3e,3f,3g,3h,3i,3j,3kを抽出する。解析部20は、上述のように第1文章T11及び第2文章T21をそれぞれ構成するすべての形態素を抽出する。
解析部20は、形態素2a~2iに対してインデックス2pを付与する。当該インデックス2pは第1文章T11における形態素2a~2iにおける形態素の位置(順番)を示す。インデックス2pは、第1文章T11の文頭から文末に向かって増加する昇順の番号であってもよいし、第1文章T11の文頭から文末に向かって減少する降順の番号であってもよい。本実施形態では、解析部20は、当該インデックス2pとして、形態素2a~2iのそれぞれに対して昇順の番号を付与する。解析部20は、例えば、第1文章T11において文頭に位置する形態素2aに「0」を付与する。解析部20は、以降の各形態素2b~2iに対して、それぞれ直前の形態素に付与された番号に1を加えた番号を付与する。
解析部20は、形態素2a~2iの配列、及びインデックス2pを第1解析文章T12として対応付け部40に出力する。解析部20は、形態素3a~3kの配列を第2解析文章T22として検出部30に出力する。
検出部30は、第2文章T21におけるすべての文節を検出する機能部である。検出部30は、例えば、第2解析文章T22を用いて、文節間の区切りを行う文節区切り処理を行うことで第2文章T21の文節を検出する。検出部30による文節区切り処理により第2解析文章T22の文節間が区切られることで、互いに隣り合う2つの区切りの間、文頭と最初の区切りとの間、及び最後の区切りと文末との間の語句がそれぞれ文節として検出される。なお、最初の区切りとは、複数の区切りのうちの文頭に最も近い区切りである。最後の区切りとは、複数の区切りのうちの文末に最も近い区切りである。検出部30は、例えば、公知の文節区切り手法を利用して、文節区切り処理を実行する。公知の文節区切り手法とは、例えば、サポートベクターマシン(Support Vector Machine)、又はニューラルネットワークに基づく手法である。具体的な文節区切りツールとして、検出部30は、例えばCaboCha(Yet Another Japanese Dependency Structure Analyzer)を用いる。
図3は、図1に示される検出部による文節区切り処理の一例を示す図である。図3に示されるように、検出部30は、例えば、第2解析文章T22に対して文節区切り処理を行う。具体的には、検出部30は、第2解析文章T22に区切り4を挿入することによって第2解析文章T22を区切る。検出部30は、文頭と最初の区切り4との間に位置する形態素の配列(形態素3a,3b)を文節5aとして検出する。検出部30は、最初の区切り4と2番目の区切り4との間に位置する形態素の配列(形態素3c,3d,3e)を文節5bとして検出する。検出部30は、文頭から2番目の区切り4と最後の区切り4との間に位置する形態素の配列(形態素3f,3g)を文節5cとして検出する。検出部30は、最後の区切り4と文末との間に位置する形態素の配列(形態素3h,3i,3j,3k)を文節5dとして検出する。上述のように、検出部30は、第2解析文章T22においてすべての文節5a~5dを検出する。
検出部30は、文節5a~5dの配列を検出文章T23として対応付け部40に出力する。なお、検出部30は、第2解析文章T22に代えて、第2文章T21に対して文節区切り処理を実行してもよい。検出部30は、すべての文節ではなく第2解析文章T22のうち一部の文節のみを検出してもよい。
対応付け部40は、第1文章T11の形態素2a~2iと第2文章T21の形態素3a~3kとを各形態素の意味に基づきそれぞれ対応付ける機能部である。対応付け部40は、例えば、対応付け処理(単語アライメント処理)を行う。単語アライメント処理とは、形態素2a~2iと形態素3a~3kとの間の対応関係を取る処理である。例えば、単語アライメント処理では、形態素2a~2iのうち1つの形態素の意味と形態素3a~3kのうち少なくとも1つの形態素の意味とが類似していれば、当該形態素の間に対応関係があると判定される。対応付け部40は、例えば、公知の単語アライメント手法を利用して、単語アライメント処理を実行する。公知の単語アライメント手法とは、例えば、確率モデル、又はヒューリスティクスに基づくアライメント手法である。具体的な単語アライメントツールとして、検出部30は、例えばIBMモデル2を用いる。検出部30は、単語アライメントツールとして、例えば、IBMモデル1、IBMモデル3、IBMモデル4、又はIBMモデル5を用いてもよい。
図4は、図1に示される対応付け部による形態素間の対応付け処理の一例と、図1に示される導出部による特徴量導出処理の一例とを示す図である。図4に示されるように、対応付け部40は、例えば、第1解析文章T12及び検出文章T23を用いて対応付け処理を実行する。なお、対応付け部40は、第1解析文章T12及び第2解析文章T22を用いて対応付け処理を実行してもよい。例えば、形態素3a~3kに含まれる1つの形態素に、形態素2a~2iのうちの1つの形態素が対応付けられる。形態素2a~2iの形態素は、形態素3a~3kに含まれる1以上の形態素に対応付けられるが、いずれの形態素にも対応付けられないこともある。
対応付け部40は、例えば、形態素3a~3kの中から、形態素2bと意味が類似する形態素を検索し、形態素3cが類似すると判定して形態素2bと形態素3cとを対応付ける。対応付け部40は、例えば、形態素3a~3kの中から、形態素2aと意味が類似する形態素を検索し、形態素3e及び形態素3iが類似すると判定して形態素2aと形態素3eとを対応付けるとともに、形態素2aと形態素3iとを対応付ける。図4に示される例では、対応付け部40は、例えば、形態素3a~3kのすべての形態素を形態素2a~2iのいずれかに対応付けている。対応付け部40は、形態素3a~3kのいずれかを形態素2a~2iに対応付けなくてもよい。対応付け部40は、形態素間の対応関係を示す情報、第1解析文章T12及び検出文章T23を導出部50に出力する。
導出部50は、文節5a~5dのそれぞれの特徴量を導出する機能部である。当該特徴量は、各文節に含まれる形態素に対応付けられた形態素2a~2iのインデックス2pに基づき導出される。導出部50は、文節5a~5dのそれぞれについて、文節に含まれる複数の形態素に対応付けられる第1文章T11の形態素のインデックス2pを抽出し、抽出されたインデックス2pの組み合わせのうちの最小値を特徴量として導出する。
以下、特徴量導出処理について詳細に説明する。図4に示されるように、導出部50は、形態素3a~3kに対応付けられた形態素2a~2iのインデックス2pを、文節5a~5dの1文節ごとに抽出する。例えば、最初の文節である文節5aは、形態素3a及び形態素3bを含む。形態素3aは形態素2hと対応付けられており、形態素3bは形態素2cと対応付けられている。よって、導出部50は、文節5aに対して、形態素2hのインデックス2pである「7」と、形態素2cのインデックス2pである「2」とを抽出し、これらのインデックス2pの組み合わせ(7,2)を抽出量7aとして得る。対応付け部40は、文節5b,5c,5dに対しても同様の処理を行うことによって、文節5b,5c,5dの抽出量7b,7c,7dを得る。文節5bの抽出量7bは(1,2,0)であり、文節5cの抽出量7cは(5,4)であり、文節5dの抽出量7dは(3,0,8,8)である。
導出部50は、抽出量7a~7dに基づき、特徴量8a~8dをそれぞれ導出する。図4に示される例では、導出部50は、抽出量に含まれるインデックス2pのうちの最小値を特徴量として導出する。例えば、導出部50は、抽出量7aである(7,2)から最小値である「2」を文節5aの特徴量8aとして導出する。導出部50は、文節5b,5c,5dについても同様の処理を行うことによって、文節5bの特徴量8b、文節5cの特徴量8c、及び文節5dの特徴量8dを導出する。文節5bの特徴量8bは「0」であり、文節5cの特徴量8cは「4」であり、文節5dの特徴量8dは「0」である。導出部50は、検出文章T23及び特徴量8a~8dを作成部60に出力する。
作成部60は、特徴量8a~8dに基づき、文節5a~5dを配列して第3文章T31を作成する機能部である。作成部60は、例えば、文節5a~5dを並び替えて第3文章T31を作成する並び替え処理を実行する。第3文章T31は、第1言語で構成される第1文章T11が第2言語で訳され、かつ、第2言語で記載された文節5a~5dが第1文章T11の文型に従って並んでいる文章となる。作成部60は、例えば、特徴量8a~8dが第1文章T11の文頭から文末に並ぶ形態素2a~2iのインデックス2pの順序に対応するように文節5a~5dを配列して第3文章T31を作成する。例えば、第1文章T11の文頭から文末に向けて形態素2a~2iにインデックス2pが昇順に付与されている場合、作成部60は、特徴量8a~8dが昇順となるように文節5a~5dを並び替えることで第3文章T31を作成する。
なお、複数の文節における特徴量が同一の値である場合には、作成部60は、第2文章T21における文節の順番に従って、当該複数の文節を配列する。すなわち、複数の文節における特徴量が同一の値である場合、第3文章T31における当該複数の文節の順序は、第2文章T21における当該複数の文節の順序を保持する。
図5は、図1に示される作成部による並び替え処理の一例を示す図である。図5に示されるように、作成部60は、特徴量8a~8dを昇順に並び替える。図5に示される例では、特徴量8aが「2」であり、特徴量8bが「0」であり、特徴量8cが「4」であり、特徴量8dが「0」である。したがって、作成部60は、特徴量8b、特徴量8d、特徴量8a、特徴量8cの順に並び替える。そして、作成部60は、特徴量の順番に従って、文節5a~5dを文頭から文末に向けて文節5b、文節5d、文節5a、文節5cの順に配列する(並び替える)ことによって、第3文章T31を作成する。なお、特徴量8bと特徴量8dとは同一の値であるので、作成部60は、元の文節の順序を保持して、文節5b、文節5dの順に並べる。
図5では、説明の便宜上、第3文章T31において区切り4を残しているが、作成部60は、区切り4を取り除いた上で文節5a~5dを並び替えることにより、第3文章T31を作成してもよい。作成部60は、取得部10から取得した第1文章T11と第3文章T31との組み合わせを第2対訳データとして第2対訳コーパス84に出力し、第2対訳コーパス84に記憶させる。
図6は、図1に示される文章作成装置によって実行される文章作成方法の一連の処理を示すフローチャートである。図6に示される一連の処理は、例えば、第1対訳コーパス82に新たな第1対訳データが格納されることによって開始される。図6に示されるように、まず、取得部10は取得処理を実行する(ステップS10)。ステップS10では、取得部10は、第1対訳コーパス82から第1文章T11及び第2文章T21を含む第1対訳データを取得する。そして、取得部10は、第1対訳データを解析部20に出力する。
続いて、解析部20は形態素解析処理を実行する(ステップS20)。ステップS20では、解析部20は、取得部10から第1対訳データを受け取ると、第1文章T11及び第2文章T21のそれぞれを形態素解析することによって、第1解析文章T12及び第2解析文章T22を作成する。そして、解析部20は、第1解析文章T12を対応付け部40に出力し、第2解析文章T22を検出部30に出力する。
続いて、検出部30は、文節区切り処理を実行する(ステップS30)。ステップS30では、検出部30は、解析部20から第2解析文章T22を受け取ると、第2解析文章T22に区切り4を挿入して第2解析文章T22を区切る。この処理によって、検出部30は、文節5a~5dを検出し、検出文章T23を作成する。そして、検出部30は、検出文章T23を対応付け部40に出力する。
続いて、対応付け部40は、対応付け処理を実行する(ステップS40)。ステップS40では、対応付け部40は、解析部20から第1解析文章T12を受け取り、検出部30から検出文章T23を受け取ると、第1解析文章T12の形態素2a~2iと検出文章T23の形態素3a~3kとを各形態素の意味に基づき対応付ける。そして、対応付け部40は、形態素間の対応関係を示す情報、第1解析文章T12及び検出文章T23を導出部50に出力する。
続いて、導出部50は、特徴量導出処理を実行する(ステップS50)。ステップS50では、導出部50は、対応付け部40から第1解析文章T12及び検出文章T23を受け取ると、文節5a~5dのそれぞれの特徴量8a~8dを導出する。そして、導出部50は、検出文章T23及び特徴量8a~8dを作成部60に出力する。
続いて、作成部60は、並び替え処理を実行する(ステップS60)。ステップS60では、作成部60は、導出部50から検出文章T23及び特徴量8a~8dを受け取ると、特徴量8a~8dに基づき、文節5a~5dを配列して第3文章T31を作成する。
続いて、作成部60は、出力処理を実行する(ステップS70)。ステップS70では、作成部60は、第3文章T31と、取得部10から受け取った第1文章T11との組み合わせを第2対訳データとして第2対訳コーパス84に出力する。当該出力により、作成部60は、第2対訳データを第2対訳コーパス84に記憶させる。以上により、文章作成方法の一連の処理が終了する。
文章作成装置1は、例えば、第1対訳コーパス82におけるすべての第1対訳データに対して、図6に示されるフローチャートの処理を実行する。文章作成装置1においてある第1対訳データに対する処理が終了したとき、文章作成装置1は、未処理の第1対訳データが第1対訳コーパス82にあるか否かを判定する。文章作成装置1が未処理の第1対訳データがあると判定した場合、取得部10は未処理の第1対訳データを第1対訳コーパス82から取得する。文章作成装置1は、第1対訳データのそれぞれに対応する第2対訳データを作成し、第2対訳データを第2対訳コーパス84に記憶させる。この構成により、文章作成装置1は、第1対訳コーパス82に対応する第2対訳コーパス84を作成することができる。文章作成装置1が未処理の第1対訳データが第1対訳コーパス82にないと判定した場合、文章作成装置1は、第1対訳コーパス82に対する処理を終了する。
なお、図6に示されるフローチャートにおいて、文章作成装置1は、取得処理(ステップS10)より後であって、特徴量導出処理(ステップS50)の前であれば、文節区切り処理(ステップS30)をいつ実行してもよい。
以上説明した文章作成装置1においては、検出文章T23の文節5a~5dのそれぞれの特徴量8a~8dにより検出文章T23の文節が配列され、第3文章T31が作成される。例えば、第2言語の文章に対して自立語又は機能語の判別を行う処理と、一番確からしい対応づけがなされている自立語の対応付けを残す処理とを行う場合と比べて、文章作成装置1では検出文章T23の文節5a~5dを配列する並び替え処理(ステップS60)までに複雑な処理を必要せず、第3文章T31を作成するまでの時間を短縮することができる。第3文章T31は第1文章T11の形態素2a~2iの位置を考慮した文章となるため、第3文章T31は、第1文章T11を第2言語で同時通訳した文章として作成される。よって、同時通訳用の対訳コーパスである第2対訳コーパス84をより容易に作成することができる。第2対訳データが記憶された第2対訳コーパス84(同時通訳用の対訳コーパス)に基づいて構築された翻訳モデルは、例えば、第1言語の文章を、第2言語に同時通訳することが可能になる。
上述のように作成部60は、文節5a~5dのそれぞれの特徴量8a~8dが第1文章T11の文頭から文末に並ぶ形態素2a~2iのインデックス2pの順序(昇順)に対応するように文節5a~5dのそれぞれを配列して第3文章T31を作成している。第3文章T31は形態素2a~2iのインデックス2pの順序に対応した文章となるため、文章作成装置1は、第1文章T11を第2言語で同時通訳した文章として第3文章T31を作成することができる。
上述のように導出部50は、文節5a~5dのそれぞれに含まれる形態素に対応付けられた第1解析文章T12の形態素のインデックス2pのうち最小値を文節5a~5dのそれぞれの特徴量としている。上記実施形態では、第1解析文章T12(第1文章T11)の文頭から文末に向かってインデックス2pは昇順に割り当てられているので、作成部60は、特徴量8a~8dが昇順に並ぶように、文節5a~5dを配列して第3文章T31を作成している。言い換えると、各文節の抽出量のうちの最も小さい値(インデックス2p)を基準として文節が並び替えられる。この構成により、第1文章T11の文頭に近い形態素に対応した文節から順に配列され得る。よって、作成された第2対訳コーパス84(同時通訳用の対訳コーパス)は、逐次入力される第1文章T11の形態素を先に早く訳出できるように翻訳モデルを学習させることができる。第1文章T11に含まれる形態素は、文頭に近いほど先に訳出される必要がある。したがって、当該翻訳モデルにおいて、第1文章T11が入力されてから第3文章T31が訳出されるまでの時間を短縮することができる。
なお、第3文章T31におけるすべての文節が、必ずしも第1文章T11の文頭に近い形態素に対応した文節から順に配列されていなくてもよい。例えば、図5に示されるように、文節5a~5dのうち文節5cに対応した第1文章T11のすべての形態素(形態素2e及び形態素2f)が文節5aに対応した第1文章T11の形態素の少なくとも1つ(形態素2h)より文頭に近い位置にあった場合であっても、第3文章T31において文節5cが文節5aより文末側に位置する場合もある。この場合であっても、文節5a~5dのうち少なくとも1つ以上の文節(例えば、文節5b及び文節5d)は、第1文章T11の文頭に近い形態素に対応した文節から順に配列される。よって、作成された第2対訳コーパス84(同時通訳用の対訳コーパス)は、逐次入力される第1文章T11の少なくとも一部を先に早く訳出できるように翻訳モデルを学習させることができる。例えば、第1対訳コーパス82を用いて翻訳モデルが学習された場合、図5の例では、形態素2hが入力されるまで、翻訳モデルは何も出力することができない。一方、第2対訳コーパス84を用いて翻訳モデルが学習された場合、図5の例では、形態素2bが入力されると、翻訳モデルは翻訳文の最初の文節(文節5b)のうちの最初の形態素3cを出力することができる。したがって、当該翻訳モデルにおいて、第1文章T11が入力されてから第3文章T31の少なくとも一部が訳出されるまでの時間を短縮することができる。
本発明は、上述の実施形態に限定されない。例えば、特徴量は、文節5a~5d内の形態素に対応付けられた第1解析文章T12の形態素のインデックス2pのうち最小値でなくてもよい。特徴量は、例えば、文節5a~5dのそれぞれに含まれる形態素に対応付けられた第1解析文章T12の形態素のインデックス2pのうち最大値であってもよい。
この場合、導出部50は、特徴量として抽出量7a~7dのそれぞれのうち、最大値を出力する。図4に示される例では、導出部50は、抽出量7aである(7,2)から最大値である「7」を文節5aの特徴量8aとして導出する。導出部50は、文節5b,5c,5dについても同様の処理を行うことによって、文節5bの特徴量8b、文節5cの特徴量8c、及び文節5dの特徴量8dを導出する。この場合、文節5bの特徴量8bは「2」であり、文節5cの特徴量8cは「5」であり、文節5dの特徴量8dは「8」である。
以上のように導出部50は、文節5a~5dのそれぞれの抽出量のうち最大値を特徴量とし、作成部60は、文節5a~5dのそれぞれの特徴量が第1解析文章T12の文頭から文末に並ぶ形態素2a~2iのインデックス2pの順序に対応するように、文節5a~5dを配列して第3文章T31を作成してもよい。この変形例では、第1解析文章T12(第1文章T11)の文頭から文末に向かってインデックス2pは昇順に割り当てられているので、作成部60は、特徴量8a~8dが昇順に並ぶように、文節5a~5dを配列して第3文章T31を作成する。言い換えると、各文節の抽出量のうちの最も大きい値(インデックス2p)を基準として文節が並び替えられる。この構成により、第1文章T11の文頭から文末に向けて、対応付けられているすべての形態素が揃う順に文節が配列される。よって、作成された第2対訳コーパス84(同時通訳用の対訳コーパス)は、第1文章T11が文頭から逐次入力される場合、第2文章T21の文節に対応する形態素がすべて揃った順に優先的に出力できるように翻訳モデルを学習させることができる。この翻訳モデルにおいては、文節に対応する第1文章T11の形態素がすべて揃ってから当該文節が翻訳されるので、第1言語で表される第1文章T11に対する第2言語での訳出の正確性を向上させることができる。
以下、別の実施形態を説明する。図7は、別の実施形態に係る文章作成装置の構成を示す図である。図7に示されるように、文章作成装置1Aは、重み付け部70をさらに備える点、及び導出部50の特徴量導出処理において、文章作成装置1と主に相違する。
重み付け部70は、重み付け処理として、第1解析文章T12の形態素2a~2iに対して重みを設定する機能部である。重みとは、例えば、文章内に出現する各形態素の重要度を示す。重みが大きいほど、その形態素の重要度が高いことを示す。重みは、例えば0以上1以下の値である。重み付け部70は、例えば、公知の重み付け手法を利用して重みを設定する重み付け処理を実行する。公知の重み付け手法とは、例えば、文書(文章)内の形態素の出現頻度、又は、文書(文章)内の形態素の逆文書頻度に基づく手法である。文書は複数の文章を含む。形態素の出現頻度とは、文書又は文章内のすべての単語の出現回数のうち、対象の形態素の出現回数が占める割合を表す。形態素の逆文書頻度とは、文書の集合の中のある形態素が含まれる文書の割合の逆数を表し、形態素が他の文書に多く出現していればいるほど小さい値となる。具体的な重み付けツールとして、例えば、TF-IDF、及びOkapi BM25が挙げられる。なお、重み付け手法として、ユーザ操作による重み付けを実行してもよい。
重み付け部70は、解析部20により形態素解析された第1解析文章T12に対して重み付け処理を実行する。重み付け部70は、例えば、第1解析文章T12において、形態素2b、形態素2d、形態素2f及び形態素2hに対して他の形態素に比べて大きい重みを設定する。重み付け部70は、第1解析文章T12及び形態素2a~2iの重みを導出部50に出力する。
導出部50は、上述の重み付け部70による重み付け処理の結果を用いて、文節5a~5dのそれぞれの特徴量を導出する。導出部50は、文節5a~5dのそれぞれに含まれる形態素に対応付けられた第1解析文章T12の形態素のうち、重みが最も大きい形態素のインデックス2pを文節5a~5dのそれぞれの特徴量として導出する。例えば、導出部50は、文節5aに対応付けられた形態素(形態素2c及び形態素2h)のうち最も大きい重みが設定された形態素(重要度の高い形態素)である形態素2hに付与されたインデックス2pの「7」を文節5aの特徴量として導出する。
導出部50は、文節5b,5c,5dに対しても同様の処理を行うことによって、文節5b,5c,5dのそれぞれの特徴量を得る。文節5bの特徴量は「1」であり、文節5cの特徴量は「5」であり、文節5dの特徴量は「3」である。
なお、図6のフローチャートにおいて、重み付け部70は、例えば、対応付け処理(ステップS40)の後であって、かつ、特徴量導出処理(ステップS50)の前において、重み付け処理を実行する。
なお、文章作成装置1は、形態素解析処理(ステップS20)より後であって、特徴量導出処理(ステップS50)の前であれば、重み付け処理(ステップS45)をいつ実行してもよい。対応付け部40は、検出文章T23を重み付け部70に出力せず、導出部50に出力してもよい。
以上のように文章作成装置1Aにおいても、文章作成装置1と同様の効果が奏される。さらに、文章作成装置1Aにおいては、文節5a~5dのそれぞれに含まれる形態素に対応付けられた第1解析文章T12の形態素のうち重みが最も高い形態素のインデックス2pが文節5a~5dのそれぞれの特徴量として導出される。そして、文節5a~5dのそれぞれの特徴量が第1解析文章T12の文頭から文末に並ぶ形態素2a~2iのインデックス2pの順序に対応するように文節5a~5dが配列されることによって、第3文章T31Aが作成される。文章作成装置1では、第1解析文章T12の文頭から文末に向かって重要度が高い形態素が現れた順に、当該形態素に対応付けられた検出文章T23の文節が並び替えられる。作成された第2対訳コーパス84(同時通訳用の対訳コーパス)は、逐次入力される第1文章T11のうち、第1文章T11の重要度が高い形態素から第3文章T31Aに訳出できるように翻訳モデルを学習させることができる。よって、当該翻訳モデルは、第1文章T11の重要度の高い形態素を訳出した形態素を含む文節が出力されるまでの時間を短縮させることができる。
なお、導出部50は、文節5a~5dのそれぞれに含まれる形態素に対応付けられた第1解析文章T12の形態素のうち、重みが所定の閾値以上の第1解析文章T12の形態素のインデックス2pを文節5a~5dのそれぞれに対する特徴量として導出してもよい。第1解析文章T12のある文節において、重みが所定の閾値以上となる複数の形態素が存在する場合、導出部50は、例えば、当該複数の形態素に付与されたインデックス2pのうち最小値又は最大値を特徴量として導出してもよい。
当該インデックス2pのうち最小値を特徴量とした場合、第2対訳コーパス84(同時通訳用の対訳コーパス)は、第1文章T11の重要度の高い形態素のうち、逐次入力される形態素を先に早く訳出できるように翻訳モデルを学習させることができる。当該インデックス2pのうち最大値を特徴量とした場合、第2対訳コーパス84(同時通訳用の対訳コーパス)は、第1文章T11の重要度の高い形態素のうち、逐次入力される第1文章T11の形態素に対応する第2文章T21の文節から順に優先的に出力できるように翻訳モデルを学習させることができる。
上述の別の実施形態において、重み付け部70は、重み付け処理として、検出文章T23の形態素3a~3kに対して重みを設定してもよい。重み付け部70は、例えば、検出文章T23において、形態素3a、形態素3c、形態素3f及び形態素3hに対して他の形態素に比べて大きい重みを設定する。
この場合、導出部50は、文節5a~5dのそれぞれに含まれる重みが最も大きい形態素に対応付けられた第1解析文章T12の形態素のインデックス2pを文節5a~5dのそれぞれの特徴量として導出する。導出部50は、例えば、文節5a内の形態素3a及び形態素3bのうち、最も大きい重みが設定された形態素(重要度の高い形態素)である形態素3aを抽出する。導出部50は、形態素3aに対応付けられた形態素2hに付与されたインデックス2pの「7」を文節5aの特徴量として導出する。
導出部50は、文節5b,5c,5dに対しても同様の処理を行うことによって、文節5b,5c,5dのそれぞれにおける特徴量を得る。文節5bの特徴量は「1」であり、文節5cの特徴量は「5」であり、文節5dの特徴量は「3」である。
文章作成装置1では、第1解析文章T12の文頭から文末に向かって第2文章T21の重要度が高い形態素に対応付けられた形態素が現れた順に、当該形態素に対応付けられた検出文章T23の文節が並び替えられる。作成された第2対訳コーパス84(同時通訳用の対訳コーパス)は、逐次入力される第1文章T11のうち、第2文章T21の重要度が高い形態素に対応付けられた第1文章T11の形態素から第3文章T31Aに訳出できるように翻訳モデルを学習させることができる。よって、当該翻訳モデルは、第2文章T21の重要度の高い形態素を含む文節を出力するまでの時間を短縮させることができる。
文章作成装置1,1Aは、第1対訳コーパス82及び第2対訳コーパス84の少なくとも一方を備えていてもよい。
なお、上記実施形態の説明に用いられたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、及び割り振り(assigning)などがあるが、これらの機能に限られない。たとえば、送信を機能させる機能ブロック(構成部)は、送信部(transmitting unit)又は送信機(transmitter)と呼称される。いずれも、上述したとおり、実現方法は特に限定されない。
例えば、本開示の一実施形態における文章作成装置1,1Aは、本開示の情報処理を行うコンピュータとして機能してもよい。図8は、本開示の一実施形態に係る文章作成装置1,1Aのハードウェア構成の一例を示す図である。上述の文章作成装置1,1Aは、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、及びバス1007などを含むコンピュータ装置として構成されてもよい。
なお、以下の説明では、「装置」という文言は、回路、デバイス、及びユニットなどに読み替えることができる。文章作成装置1,1Aのハードウェア構成は、図に示された各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
文章作成装置1,1Aにおける各機能は、プロセッサ1001及びメモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ1001が演算を行い、通信装置1004による通信を制御したり、メモリ1002及びストレージ1003におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、及びレジスタなどを含む中央処理装置(CPU:Central Processing Unit)によって構成されてもよい。例えば、上述の文章作成装置1における各機能は、プロセッサ1001によって実現されてもよい。
プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、及びデータなどを、ストレージ1003及び通信装置1004の少なくとも一方からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施形態において説明された動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、文章作成装置1,1Aにおける各機能は、メモリ1002に格納され、プロセッサ1001において動作する制御プログラムによって実現されてもよい。上述の各種処理は、1つのプロセッサ1001によって実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップによって実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されてもよい。
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、及びRAM(Random Access Memory)などの少なくとも1つによって構成されてもよい。メモリ1002は、レジスタ、キャッシュ、又はメインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本開示の一実施形態に係る情報処理を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、及び磁気ストリップなどの少なくとも1つによって構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。第1対訳コーパス82及び第2対訳コーパス84は、例えば、メモリ1002及びストレージ1003の少なくとも一方を含むデータベース、サーバ、その他の適切な媒体であってもよい。
通信装置1004は、有線ネットワーク及び無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、又は通信モジュールなどともいう。例えば、上述の取得部10などは、通信装置1004によって実現されてもよい。
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、及びセンサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、及びLEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
プロセッサ1001及びメモリ1002などの各装置は、情報を通信するためのバス1007によって接続される。バス1007は、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。
文章作成装置1,1Aは、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つを用いて実装されてもよい。
本開示において説明された各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明された方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示された特定の順序に限定されない。
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理されてもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
本開示において説明された各態様/実施形態は単独で用いられてもよいし、組み合わせて用いられてもよいし、実行に伴って切り替えて用いられてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的な通知に限られず、暗黙的に(例えば、当該所定の情報の通知を行わないことによって)行われてもよい。
以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明された実施形態に限定されないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施されることができる。したがって、本開示の記載は、例示説明を目的とし、本開示に対して何ら制限的な意味を有しない。
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
ソフトウェア、命令、及び情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
本開示において説明された情報、及び信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、及びチップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
なお、本開示において説明された用語及び本開示の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えられてもよい。
本開示において使用される「システム」及び「ネットワーク」という用語は、互換的に使用される。
本開示において説明された情報、及びパラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。
本開示で使用される「判断(determining)」、及び「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up、search、inquiry)(例えば、テーブル、データベース又は別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。「判断(決定)」は、「想定する(assuming)」、「期待する(expecting)」、又は「みなす(considering)」などで読み替えられてもよい。
「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的に行われても、論理的に行われても、或いはこれらの組み合わせで実現されてもよい。例えば、「接続」は「アクセス」で読み替えられてもよい。本開示で使用される場合、2つの要素は、1又はそれ以上の電線、ケーブル及びプリント電気接続の少なくとも一つを用いて、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどを用いて、互いに「接続」又は「結合」されると考えることができる。
本開示において使用される「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
本開示において使用される「第1の」、及び「第2の」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定しない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本開示において使用され得る。したがって、第1及び第2の要素への参照は、2つの要素のみが採用され得ること、又は何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
上記の各装置の構成における「部」は、「回路」、又は「デバイス」等に置き換えられてもよい。
本開示において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
本開示において、例えば、英語での「a」、「an」、及び「the」のように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、及び「結合される」などの用語も、「異なる」と同様に解釈されてもよい。