IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 独立行政法人情報通信研究機構の特許一覧

<>
  • 特開-推論システム、方法、および推論器 図1
  • 特開-推論システム、方法、および推論器 図2
  • 特開-推論システム、方法、および推論器 図3
  • 特開-推論システム、方法、および推論器 図4
  • 特開-推論システム、方法、および推論器 図5
  • 特開-推論システム、方法、および推論器 図6
  • 特開-推論システム、方法、および推論器 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024022977
(43)【公開日】2024-02-21
(54)【発明の名称】推論システム、方法、および推論器
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240214BHJP
   G06F 40/44 20200101ALI20240214BHJP
【FI】
G06N20/00 130
G06F40/44
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022126453
(22)【出願日】2022-08-08
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和4年度、総務省、「多言語翻訳技術の高度化に関する研究開発」に係る委託研究、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】301022471
【氏名又は名称】国立研究開発法人情報通信研究機構
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】内山 将夫
【テーマコード(参考)】
5B091
【Fターム(参考)】
5B091EA01
(57)【要約】
【課題】教師データを生成するためのコーパスが存在しないまたは十分ではない場合であっても、文章を操作する推論器を構成できる新たな技術を提供する。
【解決手段】推論システムは、1または複数の文が入力されると、当該入力された1または複数の文に対応する1または複数の文を出力する推論器と、第1言語の第1の文と、第1の文の翻訳である第2言語の第2の文を機械翻訳することで生成される第1言語の第3の文と、の組から教師データを生成する生成部と、教師データを用いて推論器を学習する学習部とを含む。
【選択図】図3
【特許請求の範囲】
【請求項1】
1または複数の文が入力されると、当該入力された1または複数の文に対応する1または複数の文を出力する推論器と、
第1言語の第1の文と、前記第1の文の翻訳である第2言語の第2の文を機械翻訳することで生成される前記第1言語の第3の文と、の組から教師データを生成する生成部と、
前記教師データを用いて前記推論器を学習する学習部とを備える、推論システム。
【請求項2】
前記生成部は、前記第1の文の評価値と前記第3の文の評価値とを比較することで、前記第1の文および前記第3の文の一方を前記教師データの入力に決定し、前記第1の文および前記第3の文の他方を前記教師データの出力に決定する、請求項1に記載の推論システム。
【請求項3】
前記第1の文および前記第3の文について、文の長さ、および、文の難易度のいずれかを評価する評価部をさらに備える、請求項1に記載の推論システム。
【請求項4】
前記生成部は、評価値のレベルを示すメタ情報を前記教師データに付加し、
前記学習部は、前記教師データを用いて学習した前記推論器を、前記教師データのうち特定のメタ情報が付加されたデータを用いて追加学習する、請求項1~3のいずれか1項に記載の推論システム。
【請求項5】
1または複数の文が入力されると、当該入力された1または複数の文に対応する1または複数の文を出力する推論器を構成する方法であって、
第1言語の第1の文と、前記第1の文の翻訳である第2言語の第2の文を機械翻訳することで生成される前記第1言語の第3の文と、の組から教師データを生成するステップと、
前記教師データを用いて前記推論器を学習するステップとを備える、方法。
【請求項6】
1または複数の文が入力されると、当該入力された1または複数の文に対応する1または複数の文を出力する推論器であって、
前記推論器は、教師データを用いて学習することにより構成され、
前記教師データは、第1言語の第1の文と、前記第1の文の翻訳である第2言語の第2の文を機械翻訳することで生成される前記第1言語の第3の文と、の組から生成される、推論器。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、推論システム、方法、プログラム、および推論器に関する。
【背景技術】
【0002】
ニューラルネットを用いて文章を操作する技術が知られている。例えば、非特許文献1および非特許文献2は、通常の文章が入力されると、当該入力された文章を短縮した文章を出力する技術を開示している。このような文章を短縮する技術は、要約技術に利用されている。
【0003】
また、非特許文献3には、規準コーパスを用いて、文章の難易度を推定する技術を開示する。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Katja Filippova and Yasemin Altun, "Overcoming the Lack of Parallel Data in Sentence Compression," Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing, pages 1481-1491, Seattle, Washington, USA, 18-21 October 2013.
【非特許文献2】Sander Wubben, Emiel Krahmer, Antal van den Bosch, Suzan Verberne, "Abstractive Compression of Captions with Attentive Recurrent Neural Networks," Proceedings of the 9th International Natural Language Generation conference, pages 41-50,Edinburgh, UK, September 5-8 2016.
【非特許文献3】佐藤 理史,「日本語テキストの難易度判定ツール『帯』」,Japio YEAR BOOK 2008 寄稿集,pp.52-57,2008
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述の非特許文献1および非特許文献2に開示されるようなニューラルネットワークを構成するためには、通常の文章(入力)と短縮された文章(出力)とを対応付けた教師データが必要となる。しかしながら、このような教師データに利用できるコーパスはほとんど存在しない。
【0006】
また、非特許文献3に開示される技術は、ニューラルネットを用いる手法ではないので、規準コーパスを教師データとして用いることはできない。
【0007】
本発明は、教師データを生成するためのコーパスが存在しないまたは十分ではない場合であっても、文章を操作する推論器を構成できる新たな技術の提供を目的とする。
【課題を解決するための手段】
【0008】
ある実施の形態に従う推論システムは、1または複数の文が入力されると、当該入力された1または複数の文に対応する1または複数の文を出力する推論器と、第1言語の第1の文と、第1の文の翻訳である第2言語の第2の文を機械翻訳することで生成される第1言語の第3の文と、の組から教師データを生成する生成部と、教師データを用いて推論器を学習する学習部とを含む。
【0009】
生成部は、第1の文および第3の文の評価値を算出する算出部を含んでいてもよい。
生成部は、第1の文の評価値と第3の文の評価値とを比較することで、第1の文および第3の文の一方を教師データの入力に決定し、第1の文および第3の文の他方を教師データの出力に決定するようにしてもよい。
【0010】
算出部は、文の長さ、および、文の難易度のいずれかを含んでいてもよい。
推論システムは、第1の文および前記第3の文について、文の長さ、および、文の難易度のいずれかを評価する評価部をさらに含んでいてもよい。
【0011】
生成部は、評価値のレベルを示すメタ情報を教師データに付加するようにしてもよい。
学習部は、教師データを用いて学習した推論器を、教師データのうち特定のメタ情報が付加されたデータを用いて追加学習するようにしてもよい。
【0012】
推論システムは、第1の文を機械翻訳して第2の文を生成する第1の翻訳部と、第2の文を機械翻訳して第3の文を生成する第2の翻訳部とをさらに含んでいてもよい。
【0013】
別の実施の形態に従えば、1または複数の文が入力されると、当該入力された1または複数の文に対応する1または複数の文を出力する推論器を構成する方法が提供される。方法は、第1言語の第1の文と、第1の文の翻訳である第2言語の第2の文を機械翻訳することで生成される第1言語の第3の文と、の組から教師データを生成するステップと、教師データを用いて推論器を学習するステップとを含む。
【0014】
さらに別の実施の形態に従えば、コンピュータに上述の方法を実行させるためのプログラムが提供される。
【0015】
さらに別の実施の形態に従えば、1または複数の文が入力されると、当該入力された1または複数の文に対応する1または複数の文を出力する推論器が提供される。推論器は、教師データを用いて学習することにより構成される。教師データは、第1言語の第1の文と、第1の文の翻訳である第2言語の第2の文を機械翻訳することで生成される第1言語の第3の文と、の組から生成される。
【発明の効果】
【0016】
本発明によれば、教師データを生成するためのコーパスが存在しないまたは十分ではない場合であっても、文章を操作する推論器を構成できる。
【図面の簡単な説明】
【0017】
図1】本実施の形態に従う推論システムの推論時の構成例を示す模式図である。
図2】実施の形態1に従う推論システムの教師データを生成するための構成例を示す模式図である。
図3】実施の形態1に従う推論システムの教師データを生成するための処理手順を示すフローチャートである。
図4】実施の形態1に従う推論システムの推論器を構成するための構成例を示す模式図である。
図5】実施の形態3に従う推論システムの教師データを生成するための構成例を示す模式図である。
図6】実施の形態3に従う推論システムの推論時の構成例を示す模式図である。
図7】本実施の形態に従う推論システムを実現するハードウェア構成例を示す模式図である。
【発明を実施するための形態】
【0018】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【0019】
[A.推論システム]
本実施の形態に従う推論システムについて説明する。
【0020】
図1は、本実施の形態に従う推論システム1の推論時の構成例を示す模式図である。図1を参照して、推論システム1は、入力された文章から対応する文章を推論する推論器10を含む。すなわち、推論器10は、1または複数の文が入力されると、当該入力された1または複数の文に対応する1または複数の文を出力(推論)する。
【0021】
推論器10は、後述する教師データを用いて学習することにより構成される学習済モデルを含む。一例として、推論器10は、ニューラルネットワークを用いて構成される。
【0022】
例えば、任意の1または複数の文を入力とすることができる。出力としては、入力された1または複数の文を短縮した結果(短文)とすることができる。このような入力と出力との組み合わせを採用した場合には、推論器10は、入力された文章を短縮する短文化エンジンとして機能する。
【0023】
あるいは、入力された文章を容易化した結果を出力とすることができる。このような入力と出力との組み合わせを採用した場合には、推論器10は、入力された文章を理解し易くする容易化エンジンとして機能する。
【0024】
なお、上述した短文化エンジンとは逆に、入力された文章を冗長化した結果を出力する推論器10を実現してもよい。あるいは、上述した容易化エンジンとは逆に、入力された文章を難読化した結果を出力する推論器10を実現してもよい。
【0025】
このように、推論システム1に含まれる推論器10は、入力された文章を任意に操作できる。
【0026】
以下では、主として、短文化エンジンを実現する場合の処理について説明する。短文化エンジンとして機能する推論器10の動作例は、例えば、以下のようになる。
【0027】
(入力1)シリンダヘッドをシリンダブロックに固定するためのボルトの締め付けによる歪み。
【0028】
(出力1)シリンダヘッドをシリンダブロックに固定するボルトによる歪み。
(入力2)図1は、基本筐体の前面右斜め上から筐体を透過して見たものであり、筐体内各部の配置の概略を示している。
【0029】
(出力2)図1は、基本筐体の正面右斜め上方から見た図であり、筐体内の各部の配置の概略を示す。
【0030】
(入力3)To provide information on appropriate diagnosis/monitoring of infections associated with administration of this drug and how to respond to such infections when they occur, in order to prepare for the risk of such infections and to minimize their seriousness when they occur.
(出力3)To provide information on appropriate diagnosis and monitoring of infections associated with administration of this drug and how to respond to such infections in order to minimize the risk and severity of such infections.
このように、短文化エンジンに入力された文章は短縮される。
【0031】
[B.実施の形態1]
以下、本発明の実施の形態1に従う推論システム1について説明する。
【0032】
(b1:教師データの生成)
まず、推論器10の構成に必要な教師データの生成について説明する。
【0033】
図2は、実施の形態1に従う推論システム1の教師データを生成するための構成例を示す模式図である。図2を参照して、推論システム1は、翻訳エンジン22と、翻訳エンジン24と、生成部26とを含む。
【0034】
翻訳エンジン22は、第1言語(例えば、日本語)の文S1を第2言語(例えば、英語)の文Tに翻訳する。すなわち、翻訳エンジン22は、文S1を機械翻訳して文Tを生成する。このように、翻訳エンジン22は、文S1に対応する文Tを推論する。
【0035】
翻訳エンジン24は、第2言語の文Tを第1言語の文S2に翻訳する。すなわち、翻訳エンジン24は、文Tを機械翻訳して文S2を生成する。このように、翻訳エンジン24は、文Tに対応する文S2を推論する。
【0036】
このように、翻訳エンジン22および翻訳エンジン24との間では、入力言語と出力言語が逆になっている。2つの翻訳エンジンを接続することで、同じ第1言語の文S1と文S2との組が得られる。
【0037】
翻訳エンジン22および翻訳エンジン24には、公知の学習済モデルを用いることができる。一例として、Transformerなどのニューラル機械翻訳(Neural Machine Translation:以下「NMT」とも略称する。)モデルを用いることができる。なお、十分に大きいコーパスを用いて、翻訳エンジン22および翻訳エンジン24を学習することが好ましい。
【0038】
生成部26は、文S1と文S2との組(文対)から教師データ20を生成する。すなわち、生成部26は、第1言語の文S1(第1の文)と、文S1の翻訳である第2言語の文T(第2の文)を機械翻訳することで生成される第1言語の文S2(第3の文)と、の組から教師データ20を生成する。
【0039】
生成部26は、文S1および文S2の評価値を算出するようにしてもよい。目的の推論器10に応じた評価値が用いられる。例えば、短文化エンジンを構成する場合には、評価値として、文の長さ(文字数またはワード数)が採用すればよい。容易化エンジンを構成する場合には、評価値として、文の難易度を採用すればよい。
【0040】
また、生成部26は、評価値などに基づいて、文S1と文S2との組を教師データ20として用いることができるか否かを評価するようにしてもよい。この場合には、生成部26は、教師データ20として用いることができる文の組のみを教師データ20に追加する。
【0041】
より具体的には、生成部26は、長さ算出部27と、比較部28とを含む。長さ算出部27は、文S1および文S2のそれぞれの長さを算出する。比較部28は、文S1の長さと文S2の長さとを比較する。
【0042】
生成部26は、文S1および文S2のうち、長い方の文を長文LongSntとして出力し、短い方の文を短文ShortSntとして出力する。長文LongSntと短文ShortSntとの組が教師データ20となる。
【0043】
教師データ20において、長文LongSntが入力であり、短文ShortSntが出力となる。以下では、教師データ20における入出力の対応関係を「LongSnt|||ShortSnt」と表現することもある。
【0044】
このように、生成部26は、文S1の評価値(長さ)と文S2の評価値(長さ)とを比較することで、文S1および文S2の一方を教師データ20の入力に決定し、文S1および文S2の他方を教師データ20の出力に決定するようにしてもよい。
【0045】
なお、文S1と文S2との意味が一致している可能性を高めるために、生成部26は、文S1と文S2との類似度を算出するとともに、類似度が予め定められたしきい値(例えば、50%)を超える場合に限って、教師データ20として用いるようにしてもよい。
【0046】
文S1として、任意の分野の任意の言語の文を任意の量だけ用いることで、任意の分野の任意の言語の教師データ20を任意の量だけ生成できる。
【0047】
図3は、実施の形態1に従う推論システム1の教師データを生成するための処理手順を示すフローチャートである。図3に示す各ステップは、例えば、プロセッサがプログラムを実行することで実現される。
【0048】
図3を参照して、推論システム1は、予め用意されたコーパスから文S1を選択する(ステップST2)。推論システム1は、選択された文S1を翻訳エンジン22に入力して文Tを生成する(ステップST4)。続いて、推論システム1は、選択された文Tを翻訳エンジン24に入力して文S2を生成する(ステップST6)。
【0049】
推論システム1は、文S1および文S2のそれぞれの長さを算出し(ステップST8)、算出した文の長さを比較する(ステップST10)。
【0050】
文S1が文S2より長ければ(ステップST10において「S1>S2」)、推論システム1は、文S1を長文LongSntとし、文S2を短文ShortSntとして、教師データ20に追加する(ステップST12)。
【0051】
文S2が文S1より長ければ(ステップST10において「S2>S1」)、推論システム1は、文S2を長文LongSntとし、文S1を短文ShortSntとして、教師データ20に追加する(ステップST14)。
【0052】
推論システム1は、教師データ20が予め定められたサイズに到達したか否かを判断する(ステップST16)。教師データ20が予め定められたサイズに到達していなければ(ステップST16においてNO)、ステップST2以下の処理が繰り返される。
【0053】
教師データ20が予め定められたサイズに到達していれば(ステップST16においてYES)、教師データを生成するための処理は終了する。
【0054】
(b2:推論器10の学習)
次に、推論器10の学習について説明する。
【0055】
図4は、実施の形態1に従う推論システム1の推論器10を構成するための構成例を示す模式図である。図4を参照して、推論システム1は、学習部40を含む。
【0056】
学習部40は、教師データ20を用いて推論器10を学習する。より具体的には、学習部40は、教師データ20を用いて、推論器10を構成するモデルのパラメータを最適化する。パラメータの最適化(学習)には、例えば、非特許文献2に開示される「sequence2sequence」といった任意の学習手法を採用できる。
【0057】
推論器10をニューラルネットワーク(NMTモデル12)を用いて構成する場合には、NMTの手法を採用できる。より具体的には、学習部40は、教師データ(LongSnt|||ShortSnt)の長文LongSntと、長文LongSntをNMTモデル12に入力して得られる結果を対応する短文ShortSntとの差に基づいて、NMTモデル12のパラメータを最適化する。このように、学習部40は、一般的なNMTの学習方法により、NMTモデル12を学習することにより、短文化エンジンとして機能する推論器10(学習済モデル)を構成できる。
【0058】
[C.実施の形態2]
上述の実施の形態1においては、翻訳エンジン22を用いて、第1言語の文S1と第2言語の文Tとの対訳を用意する。すなわち、機械翻訳により対訳が用意される。
【0059】
但し、第1言語の文S1と第2言語の文Tとの対訳については、予め用意されている対訳コーパスを用いてもよいし、人手翻訳に代えてもよい。
【0060】
このように、図2に示す構成例において、翻訳エンジン22は必須の構成ではなく、代替可能である。
【0061】
[D.実施の形態3]
上述の実施の形態1においては、文S1と文S2との間で長さを比較することで、教師データ20を生成する処理例を説明したが、評価値のレベルを示すメタ情報を教師データ20に付加してもよい。より具体的には、短縮の度合いを示すメタ情報を教師データ20に付加するとともに、短縮の度合いを示すメタ情報を反映した推論器10を構成してもよい。
【0062】
(d1:教師データの生成)
図2に示す構成例により生成される教師データ20において、長文LongSntの長さに対する短文ShortSntの長さの比率R(=ShortSnt/LongSnt)は、文S1と文S2との組毎に異なる。ここで、比率Rは、短縮率を示す。
【0063】
比率Rの大きさに基づいて、文の組を複数のクラス(例えば、2クラス)に分類してもよい。
【0064】
図5は、実施の形態3に従う推論システム1の教師データを生成するための構成例を示す模式図である。図5に示す推論システム1は、図2に示す推論システム1に比較して、生成部26の構成が異なっている。
【0065】
より具体的には、生成部26は、長さ算出部27および比較部28に加えて、比率算出部29を含む。比率算出部29は、文S1および文S2のうち長い方(長文LongSnt)の文長さに対する短い方(短文ShortSnt)の文長さの比率Rを算出する。
【0066】
生成部26は、算出される比率Rの大きさに基づいて、短縮の度合いを示すメタ情報を付加して、教師データ20を生成する。
【0067】
一例として、生成部26は、(1)比率Rがしきい値(例えば、80%)以上である文対には、短縮の度合いが相対的に低いことを示す<WeakCompression>というタグを入力文の先頭に付加し、(2)比率Rがしきい値(例えば、80%)未満である文対には、短縮の度合いが相対的に高いことを示す<StrongCompression>というタグを入力文の先頭に付加する。
【0068】
なお、比率Rが100%に近い文対(すなわち、短縮の度合いが低いと判断できる文対)については、教師データ20として用いることができないと判断して、破棄するようにしてもよい(すなわち、教師データ20には含めないようにしてもよい)。
【0069】
このような短縮の度合いを示すメタ情報として複数種類のタグを先頭に付加することで、教師データ20における入出力の対応関係は、以下のいずれかを含むことになる。
【0070】
<WeakCompression>LongSnt|||ShortSnt
<StrongCompression>LongSnt|||ShortSnt
(d2:推論器10の学習)
推論器10を構成する場合には、メタ情報であるタグが先頭に付加された教師データ20を用いて学習が行われる。学習方法としては、一般的なNMTの学習方法を用いることができる。
【0071】
(d3:推論)
図6は、実施の形態3に従う推論システム1の推論時の構成例を示す模式図である。図6を参照して、実施の形態3に従う推論システム1は、上述の教師データ20を用いて構成された推論器10に加えて、入力文の先頭にタグを付加するタグ付加部30を含む。
【0072】
タグ付加部30は、入力文Sntに対して、予め用意されたタグ(例えば、<WeakCompression>または<StrongCompression>)を付加する。その結果、タグ付加部30からは、「<WeakCompression>Snt」または「<StrongCompression>Snt」が出力される。なお、タグ付加部30は、指定されたモードに応じて、付加するタグを切り替える。
【0073】
タグ付加部30から出力されるタグが付加された入力文は、推論器10に入力される。これにより、<WeakCompression>のタグが付加された入力文に対しては、相対的に度合いの低い短縮が行われて、出力文は相対的に長くなる。また、<StrongCompression>のタグが付加された入力文に対しては、相対的に度合いの高い短縮が行われて、出力文は相対的に短くなる。
【0074】
このように、ユーザがモードを選択することで、共通の推論器10を用いて、短縮の度合いを任意に切り替えることができる。
【0075】
[E.実施の形態3の変形例]
上述の実施の形態3において説明したように、短縮の度合いを示すメタ情報を付加した教師データ20を生成した場合には、学習により推論器10を構成した後に、さらにチューニング(adaptation)を行ってもよい。
【0076】
一般的に、相対的に度合いの高い短縮が利用されると想定されているため、教師データ20のうち、<StrongCompression>のタグが付加された文対を用いて、追加学習(ファインチューニング)を行うようにしてもよい。
【0077】
より具体的には、上述の実施の形態3と同様の方法で、教師データ20を用いて学習することにより推論器10を構成する。なお、この学習においては、<WeakCompression>のタグが付加された文対、および、<StrongCompression>のタグが付加された文対の両方(すなわち、教師データ20のすべて)が用いられる。
【0078】
続いて、教師データ20に含まれる<StrongCompression>のタグが付加された文対を用いて、推論器10の追加学習が行われる。なお、教師データ20に含まれる<StrongCompression>のタグが付加された文対の一部だけが追加学習に用いられてもよい。また、<StrongCompression>のタグが付加された同じ文対を複数回用いるようにしてもよい。
【0079】
このように、教師データ20を用いて学習した推論器10を、教師データ20のうち特定のメタ情報(この例では、<StrongCompression>のタグ)が付加されたデータを用いて追加学習するようにしてもよい。このような追加学習により、短縮の度合いを高めた圧縮化が得意な推論器10を構成することができる。
【0080】
なお、推論時には、図6に示す構成例に示すタグ付加部30は、基本的には、入力文Sntに対して<StrongCompression>を付加することになる。
【0081】
本願発明者らの実験によれば、実施の形態3の変形例において説明した追加学習を行うことにより、日本語、英語、中国語、韓国語、ベトナム語のいずれについても、平均して約75%程度の短縮を実現できることが確認された。
【0082】
[F.実施の形態4]
本発明の実施の形態に従う推論システム1の推論器10には、1文ではなく、複数の文を連結して入力することも可能である。上述の実施の形態に従う推論器10(短文化エンジン)は、数文程度を連結した結果を入力しても、短縮された文を出力可能である。但し、数文を超えると、適切に短縮できない場合もある。
【0083】
このような場合には、予め定められた数の範囲で文を連結して短縮するという処理を繰り返し実行するようにしてもよい。例えば、複数の文からなる文書については、連続する複数の文(2以上の文)を連結して、推論器10の一つの入力とする。これによって、連結した複数の文に対応する短縮された文が出力される。この処理をボトムアップに繰り返し実行することで、複数の文からなる文書であっても、短縮された文章(例えば、要約)を生成できる。
【0084】
例えば、9文(Snt1~Snt9)を2文の要約を生成する場合には、以下のように処理することができる。なお、以下の説明において、「+」は結合を意味し、「→」は推論器10からの出力を意味する。
【0085】
(1)短文化(Snt1+Snt2)→CompSnt12
(2)短文化(Snt3+Snt4)→CompSnt34
(3)短文化(Snt5+Snt6)→CompSnt56
(4)短文化(Snt7+Snt8+Snt9)→CompSnt789
すなわち、(1)~(4)においては、2または3文を連結して、短縮文CompSnt12,CompSnt34,CompSnt56,CompSnt789がそれぞれ生成される。
【0086】
(5)短文化(CompSnt12+CompSnt34)→CompSnt1234
(6)短文化(CompSnt56+CompSnt789)→CompSnt56789
すなわち、(5)および(6)においては、2つの短縮文を連結して、短縮文CompSnt1234,CompSnt56789がそれぞれ生成される。
【0087】
最終的に、短縮文CompSnt1234および短縮文CompSnt56789が要約として出力される。
【0088】
上述したような処理は、この要約のプロセスは、所望の文数および/または所望の長さの文が生成されるまで繰り返されてもよい。
【0089】
[G.実施の形態5]
上述の実施の形態1~4においては、入力された文を短縮する短文化エンジンとして機能する推論器10を例示したが、推論器10による文章の操作内容は、どのようなものであってもよい。
【0090】
上述したように、容易化エンジンあるいは難読化エンジンとして機能する推論器10を構成する場合には、文S1と文S2との組(文対)について、非特許文献3に示される手法を用いて、難易度を評価した上で、容易化エンジンあるいは難読化エンジンを構成するための教師データ20を生成すればよい。
【0091】
容易化エンジンを構成する場合には、難しい文を入力とし、対応する易しい文を出力として教師データ20が生成される。逆に、難読化エンジンを構成する場合には、易しい文を入力とし、対応する難しい文を出力として教師データ20が生成される。
【0092】
このように、教師データ20を生成する際の文対の評価方法は、目的の推論器10に必要な機能を実現するものであれば、どのようなものであってもよい。
【0093】
[H.ハードウェア構成例]
次に、本実施の形態に従う推論システム1を実現するためのハードウェア構成例について説明する。
【0094】
図7は、本実施の形態に従う推論システム1を実現するハードウェア構成例を示す模式図である。推論システム1は、例えば、コンピュータの一例である情報処理装置100を用いて実現される。
【0095】
図7を参照して、情報処理装置100は、主要なハードウェアコンポーネントとして、CPU(central processing unit)102と、GPU(graphics processing unit)104と、主メモリ106と、ディスプレイ108と、ネットワークインターフェイス(I/F:interface)110と、二次記憶装置112と、入力デバイス122と、光学ドライブ124とを含む。これらのコンポーネントは、内部バス128を介して互いに接続される。
【0096】
CPU102および/またはGPU104は、推論システム1の実現に必要な処理を実行するプロセッサである。CPU102およびGPU104は、複数個配置されてもよいし、複数のコアを有していてもよい。
【0097】
主メモリ106は、プロセッサ(CPU102および/またはGPU104)が処理を実行するにあたって、プログラムコードやワークデータなどを一時的に格納(あるいは、キャッシュ)する記憶領域であり、例えば、DRAM(dynamic random access memory)やSRAM(static random access memory)などの揮発性メモリデバイスなどで構成される。
【0098】
ディスプレイ108は、処理に係るユーザインターフェイスや処理結果などを出力する表示部であり、例えば、LCD(liquid crystal display)や有機EL(electroluminescence)ディスプレイなどで構成される。
【0099】
ネットワークインターフェイス110は、インターネット上またはイントラネット上の任意の情報処理装置などとの間でデータをやり取りする。ネットワークインターフェイス110としては、例えば、イーサネット(登録商標)、無線LAN(local area network)、Bluetooth(登録商標)などの任意の通信方式を採用できる。
【0100】
入力デバイス122は、ユーザからの指示や操作などを受け付けるデバイスであり、例えば、キーボード、マウス、タッチパネル、ペンなどで構成される。
【0101】
光学ドライブ124は、CD-ROM(compact disc read only memory)、DVD(digital versatile disc)などの光学ディスク126に格納されている情報を読出して、内部バス128を介して他のコンポーネントへ出力する。光学ディスク126は、非一過的(non-transitory)な記録媒体の一例であり、任意のプログラムを不揮発的に格納した状態で流通する。光学ドライブ124が光学ディスク126からプログラムを読み出して、二次記憶装置112などにインストールすることで、コンピュータが情報処理装置100として機能するようになる。したがって、本発明の主題は、二次記憶装置112などにインストールされたプログラム自体、または、本実施の形態に従う機能や処理を実現するためのプログラムを格納した光学ディスク126などの記録媒体でもあり得る。
【0102】
図7には、非一過的な記録媒体の一例として、光学ディスク126などの光学記録媒体を示すが、これに限らず、フラッシュメモリなどの半導体記録媒体、ハードディスクまたはストレージテープなどの磁気記録媒体、MO(magneto-optical disk)などの光磁気記録媒体を用いてもよい。
【0103】
二次記憶装置112は、コンピュータを情報処理装置100として機能させるために必要なプログラムおよびデータを格納する。例えば、ハードディスク、SSD(solid state drive)などの不揮発性記憶装置で構成される。
【0104】
より具体的には、二次記憶装置112は、図示しないOS(operating system)の他、教師データ生成プログラム114と、学習プログラム116と、パラメータセット118と、推論プログラム120とを格納している。
【0105】
教師データ生成プログラム114は、上述したような教師データ20を生成するための処理を実現する。
【0106】
学習プログラム116は、上述したような教師データ20を用いて推論器10を構成する処理を実現する。
【0107】
パラメータセット118は、学習プログラム116による学習により最適化された結果を含む。
【0108】
推論プログラム120は、パラメータセット118により規定される推論器10に1または複数の入力文を入力して、結果を出力する処理を実現する。
【0109】
プロセッサ(CPU102および/またはGPU104)がプログラムを実行する際に必要となるライブラリや機能モジュールの一部を、OSが標準で提供するライブラリまたは機能モジュールにより代替してもよい。この場合には、プログラム単体では、対応する機能を実現するために必要なプログラムモジュールのすべてを含むものにはならないが、OSの実行環境下にインストールされることで、目的の処理を実現できる。このような一部のライブラリまたは機能モジュールを含まないプログラムであっても、本発明の技術的範囲に含まれ得る。
【0110】
また、これらのプログラムは、上述したようないずれかの記録媒体に格納されて流通するだけでなく、インターネットまたはイントラネットを介してサーバ装置などからダウンロードすることで配布されてもよい。
【0111】
図7には、単一のコンピュータを用いて情報処理装置100を構成する例を示すが、これに限らず、コンピュータネットワークを介して接続された複数のコンピュータが明示的または黙示的に連携して、推論器10を含む推論システム1を実現するようにしてもよい。例えば、文章の操作をウェブサービスとして提供する場合には、ウェブブラウザを介して入力された1または複数の文を推論器10に入力し、推論器10から出力される結果をウェブブラウザを介して提供する処理を1または複数のサーバで実行するようにしてもよい。この場合、教師データ20を生成する処理、および、教師データ20を用いて推論器10を構成する処理は、別のサーバで実行されてもよい。
【0112】
プロセッサ(CPU102および/またはGPU104)がプログラムを実行することで実現される機能の全部または一部を、集積回路などのハードワイヤード回路(hard-wired circuit)を用いて実現してもよい。例えば、ASIC(application specific integrated circuit)やFPGA(field-programmable gate array)などを用いて実現してもよい。
【0113】
当業者であれば、本発明が実施される時代に応じた技術を適宜用いて、本実施の形態に従う情報処理装置100を実現できるであろう。
【0114】
説明の便宜上、同一の情報処理装置100が教師データ20の生成処理、学習処理および推論処理を実行する例を示すが、これらの処理の一部を異なるハードウェアを用いて実現してもよい。
【0115】
[I.その他の実施の形態]
上述の説明では、推論システム1を短文化、容易化等のタスクを実現するものとしてとらえているが、入力文と出力文とを有する点では、機械翻訳も同様の推論システム1と考えることができる。言い換えれば、学習のための教師データを異ならせることにより、異なるタスクを実現するシステムととらえることができる。つまり、教師データを変えることにより、翻訳タスクと短文化タスクとを、同じニューラルネットワーク構成(例えば、自己注意を有するトランスフォーマーのネットワーク構成など)と推論プログラムの組み合わせで実現できる。推論プログラムは共用で、パラメータデータが異なる組み合わせになる。推論プログラムが共用できる構成は、システム管理上の利点がある。
【0116】
そして、翻訳のための教師データ(いわゆる対訳コーパス)で学習した結果のパラメータデータ(翻訳パラメータデータ)と短文化のための教師データ(本明細書にて説明した教師データ)で学習した結果のパラメータ(短文化パラメータデータ)を保存していれば、図7のシステムにおいて、同じ推論プログラム120により、翻訳と短文化の機能を実現することができる。
【0117】
このような短文化と翻訳の機能を有するシステムのさらなる応用例について説明する。この応用例では、音声信号を入力として、目的言語に翻訳された音声信号が出力される(同時通訳的な使い方)。例えば、日本語から英語への同時通訳を考えると、同時通訳システムの起動時には、音声認識プログラム(音声入力をテキストに変換)、音声合成プログラム(テキストを音声に変換して出力)、短文化プログラム、翻訳プログラムが異なるプロセスとして起動される。
【0118】
ここで、短文化プログラムと翻訳プログラムは推論プログラムが同じもので、起動時に読み込むパラメータデータが異なることで、別のタスクを実現するプロセスとして起動される。そして、OSのプロセス間通信機能を利用し、各プロセス間でデータのやり取りが行われる。
【0119】
この同時通訳システムに日本語が入力されると、日本語の音声入力が音声認識された結果、日本語テキスト文が得られる。この日本語テキスト文をまず、短文化プログラムで処理した上で、翻訳プログラムでの処理が行われ、目的言語でのテキストが音声合成プログラムにて処理され、音声出力が得られることになる。発話された文を簡略化して翻訳することは、人手による同時通訳でも行われることであり、このように、短文化された後で翻訳処理が行われることで、平均的に見て入力音声から翻訳結果が発話されるまでのレスポンスを改善できる。
【0120】
[J.利点]
本実施の形態によれば、2つの翻訳エンジン、または、対訳コーパスおよび翻訳エンジンを用いて、教師データを生成できるので、コーパスが存在しないまたは十分ではない場合であっても、文章を操作する推論器を構成できる。
【0121】
また、本実施の形態によれば、字幕の作成などの文章を短縮する必要がある場面で有益である。
【0122】
また、本実施の形態によれば、文章に含まれる冗長性を削減できるので、例えば、話し言葉を書き言葉に変換できる。会議などでの発言を書き起こしたような文章に対して適用すると、冗長な表現が削減されて、議事録などの作成を容易化できる。
【0123】
また、本実施の形態に従う推論処理を、翻訳エンジンの一翻訳モデルとして構成することで、翻訳エンジンのシステムをそのまま流用することができる。つまり、日本語-英語を選択するのと同じように、短縮化を選択すれば、入力文が短い文となって出力される。
【0124】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0125】
1 推論システム、10 推論器、12 NMTモデル、20 教師データ、22,24 翻訳エンジン、26 生成部、27 長さ算出部、28 比較部、29 比率算出部、30 タグ付加部、40 学習部、100 情報処理装置、102 CPU、104 GPU、106 主メモリ、108 ディスプレイ、110 ネットワークインターフェイス、112 二次記憶装置、114 教師データ生成プログラム、116 学習プログラム、118 パラメータセット、120 推論プログラム、122 入力デバイス、124 光学ドライブ、126 光学ディスク、128 内部バス、LongSnt 長文、R 比率、S1,S2,T 文、ShortSnt 短文、Snt 入力文。
図1
図2
図3
図4
図5
図6
図7