(57)【要約】【課題】入力された環境情報と、ユーザが選択する単語とに応じて、ユーザに提案する単語の予測候補を動的に変化させることで、ユーザのテキストの生成を支援する。【解決手段】ユーザから非言語の環境情報の入力を受け付ける受付部と、環境情報に基づいて、ユーザが次に入力する単語の第１確率分布を算出する算出部と、第１確率分布に基づいて、ユーザに単語の予測候補として表示する複数の単語を抽出する抽出部と、を備え、算出部は、予測候補として表示された複数の単語からユーザによって選択された単語にさらに基づき、ユーザが次に入力する単語の第２確率分布を算出する。【選択図】図１
2020004043.tif 000002
【特許請求の範囲】
【請求項１】
ユーザから非言語の環境情報の入力を受け付ける受付部と、
前記環境情報に基づいて、前記ユーザが次に入力する単語の第１確率分布を算出する算出部と、
前記第１確率分布に基づいて、ユーザに単語の予測候補として表示する複数の単語を抽出する抽出部と、
を備え、
前記算出部は、
前記予測候補として表示された前記複数の単語から前記ユーザによって選択された単語にさらに基づき、前記ユーザが次に入力する単語の第２確率分布を算出する、
文書作成支援システム。
【請求項２】
前記抽出部は、
前記ユーザによって文字が入力された場合に、当該文字から始まる単語から、前記第１確率分布に基づいて、当該ユーザに、入力中の単語の補完候補として表示する複数の単語を抽出する
請求項１に記載の文書作成支援システム。
【請求項３】
前記抽出部は、
前記第１又は第２確率分布の高い順に、前記予測候補及び／又は補完候補として表示される複数の単語を抽出する、
請求項１または２に記載の文書作成支援システム。
【請求項４】
前記非言語の環境情報は、
画像、環境音、位置情報、時間情報、及び加速度情報の少なくともいずれかである、
請求項１乃至３の何れか一項に記載の文書作成支援システム。
【請求項５】
コンピュータが、
ユーザから非言語の環境情報の入力を受け付けるステップと、
前記環境情報に基づいて、前記ユーザが次に入力する単語の第１確率分布を算出するステップと、
前記第１確率分布に基づいて、ユーザに単語の予測候補として表示する複数の単語を抽出するステップと、
を実行し、
前記算出するステップは、
前記予測候補として表示された前記複数の単語から前記ユーザによって選択された単語にさらに基づき、前記ユーザが次に入力する単語の第２確率分布を算出するステップをさらに含む、
文書作成支援方法。
【請求項６】
コンピュータを
ユーザから非言語の環境情報の入力を受け付ける手段、
前記環境情報に基づいて、前記ユーザが次に入力する単語の第１確率分布を算出する手段、及び
前記第１確率分布に基づいて、ユーザに単語の予測候補として表示する複数の単語を抽出する手段、
として機能させ、
前記算出する手段は、
前記予測候補として表示された前記複数の単語から前記ユーザによって選択された単語にさらに基づき、前記ユーザが次に入力する単語の第２確率分布を算出する
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書作成支援システム、文書作成支援方法、及びそのプログラム等に関する。
【背景技術】
【０００２】
入力された画像に対してキャプション（テキスト）を生成する試みがなされている。この試みは、画像に対する情報検索の利便化などを目的に発展し、昨今ではニューラルネットワークを用いた手法が数多く提唱されている。
【０００３】
例えば、非特許文献１には、畳み込みニューラルネットワーク（CNN：Convolutional Neural Network）によって画像の特徴を抽出し、抽出した特徴をＬＳＴＭ（Long Short-Term Memory）ベースの再帰的ニューラルネットワーク（RNN：Recurrent Neural Network）に入力することで、画像に応じたテキストを自動生成する技術が開示されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Satoshi Tsutsui and David Crandall, "Using Artificial Tokens to Control Languages for Multi- lingual Image Caption Generation", CVPR Language and Vision Workshop, 2017.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
画像等の環境情報から想起されるイメージはユーザによって異なるため、環境情報に添えるテキスト（キャプション）は、ユーザによって千差万別である。しかし、非特許文献１に記載されるような従来のシステムでは、画像に対応する完成されたテキストを生成することは可能であるが、生成されたテキストが、入力したユーザの意図したものとは限らない。この場合、ユーザは生成されたテキストを修正せねばならず、却って手間がかかってしまう。
【０００６】
そこで、本発明は、上記事情に鑑み、入力された環境情報と、ユーザが選択する単語とに応じて、ユーザに提案する単語の予測候補を動的に変化させることで、ユーザのテキストの生成を支援することを目的とするものである。
【課題を解決するための手段】
【０００７】
本発明による文書作成支援システムは、ユーザから非言語の環境情報の入力を受け付ける受付部と、環境情報に基づいて、ユーザが次に入力する単語の第１確率分布を算出する算出部と、第１確率分布に基づいて、ユーザに単語の予測候補として表示する複数の単語を抽出する抽出部と、を備え、算出部は、予測候補として表示された複数の単語からユーザによって選択された単語にさらに基づき、ユーザが次に入力する単語の第２確率分布を算出する。
【０００８】
本発明のプログラムは、ＣＤ−ＲＯＭ等の光学ディスク、磁気ディスク、半導体メモリなどの各種の記録媒体を通じて、又は通信ネットワークなどを介してダウンロードすることにより、コンピュータにインストール又はロードすることができる。
【０００９】
また、本明細書等において、「部」とは、単に物理的構成を意味するものではなく、その構成が有する機能をソフトウェアによって実現する場合も含む。また、１つの構成が有する機能が２つ以上の物理的構成により実現されても、２つ以上の構成の機能が１つの物理的構成により実現されてもよい。
【発明の効果】
【００１０】
本発明によれば、入力された環境情報と、ユーザが選択する単語とに応じて、ユーザに提案する単語の予測候補を動的に変化させることで、ユーザのテキストの生成を支援することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態における文書作成支援システムの構成図である。
【図２】本発明の一実施形態における文書作成支援システムにおける処理の流れの一例を示すフローチャートである。
【図３Ａ】本発明の一実施形態における文書作成支援システムの画面の一例を示す図である。
【図３Ｂ】本発明の一実施形態における文書作成支援システムの画面の一例を示す図である。
【図３Ｃ】本発明の一実施形態における文書作成支援システムの画面の一例を示す図である。
【図３Ｄ】本発明の一実施形態における文書作成支援システムの画面の一例を示す図である。
【図３Ｅ】本発明の一実施形態における文書作成支援システムの画面の一例を示す図である。
【図４】本発明の一実施形態における文書作成支援システムのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１２】
［実施形態］
以下、本発明の実施の形態の１つについて詳細に説明する。なお、以下の実施の形態は、本発明を説明するための例示であり、本発明をその実施の形態のみに限定する趣旨ではない。また、本発明は、その要旨を逸脱しない限り、さまざまな変形が可能である。さらに、当業者であれば、以下に述べる各要素を均等なものに置換した実施の形態を採用することが可能であり、かかる実施の形態も本発明の範囲に含まれる。
【００１３】
＜１．システムの概要＞
図１は、本実施形態に係る文書作成支援システム１の構成の一例を示している。
文書作成支援システム１は、ネットワークに接続されたコンピュータである。具体的には、文書作成支援システム１は、例えば携帯電話やスマートフォン、ＰＣ（Personal Computer）、ＰＤＡ（Personal Digital Assistants）、タブレット、ウェアラブル（Wearable）端末等によって実現される。
【００１４】
文書作成支援システム１は、ユーザによって画像等の環境情報を入力されることで、当該画像と密接に関連したテキストの入力を補助する。対象の画像が文書作成支援システム１に認識されると、まずユーザに単語の予測候補が表示される。次いでユーザが入力を意図する単語の最初の文字を入力すると、当該入力を意図する単語の補完候補（入力中の文字の続き）が表示される。文書作成支援システム１はこれを繰り返すことで、ユーザの意図した表現によるテキストを素早く生成することができる。
【００１５】
＜２．文書作成支援システム１の機能構成＞
図１を参照して、本実施形態に係る文書作成支援システム１の機能構成について説明する。文書作成支援システム１は、インタフェース部１１と、特徴抽出部１２と、確率算出部１３と、単語抽出部１４と、記憶部１６とを有している。
【００１６】
記憶部１６には、文書作成支援システム１の語彙に含まれる単語が記憶されている。
【００１７】
インタフェース部１１は、ユーザから環境情報や文字の入力を受け付ける。環境情報は、ユーザがテキストを生成する対象となる情報であり、非言語の情報である。環境情報は、一例として、画像や動画、環境音、位置情報、時間情報、加速度情報等である。本実施形態では、インタフェース部１１は環境情報として画像を受け付ける例について説明する。
【００１８】
さらに、インタフェース部１１は、後述する単語抽出部１４が抽出した予測候補や候補単語をユーザに提示する。
【００１９】
図１においては、インタフェース部１１は文書作成支援システム１が有する構成を示しているが、これに限定されない。例えばインタフェース部１１は、文書作成支援システム１とは異なる筐体に構築され、ネットワークを介して文書作成支援システム１に接続する構成でもよい。この場合、例えばインタフェース部１１として、スマートフォン等の携帯端末や、ヘッドマウントディスプレイ等があげられる。
【００２０】
特徴抽出部１２は、インタフェース部１１から入力された画像から特徴量を抽出する。本実施形態では、特徴抽出部１２として、学習済みのＣＮＮが用いられる。
【００２１】
確率算出部１３は、特徴抽出部１２から入力された特徴量に基づいて、記憶部１６に記憶された単語について、ユーザが次に入力する単語の確率分布を算出する。本実施形態では、確率算出部１３として、ＬＳＴＭベースのＲＮＮが用いられる。ＲＮＮはネットワーク中にフィードバックのためのループ構造を有するニューラルネットワークである。ＲＮＮは、これにより、時間的な情報を文脈として利用でき、かつ固定長でない任意の長さの情報を取り扱うことができる。ＲＮＮは、画像とすべての先行する単語を考慮して、次の単語を予測するように学習されている。
【００２２】
ここで、時刻ｔにおける、入力された画像Ｉと予想されたテキストのｏｎｅ−ｈｏｔベクトル表現の系列をＳ＝Ｓ0，Ｓ1，・・・，ＳNとすると、次の単語の確率分布pt+1は以下の式であらわされる。
【数１】
2020004043.tif 000003
なお、Ｓ0とＳNはそれぞれ文頭と文末を表す仮想単語であり、Ｗembedは単語埋め込みのための行列であり、Softmaxはソフトマックス関数である。ソフトマックス関数は、入力値を０〜１の実数値に収めて出力する関数である。ソフトマックス関数に入力することで出力値が確率として解釈可能になる。
【００２３】
さらに確率算出部１３は、文書作成支援システム１が提案した単語の予測候補から次の単語がユーザに選択された場合には、画像の特徴量に加え選択された単語に基づいて、再度、確率分布を算出する。
【００２４】
単語抽出部１４は、確率算出部１３が算出した確率分布に基づいて、ユーザに提示する単語の予測候補を抽出する。例えば単語抽出部１４は、確率の高い単語から順にＫ個の単語を予測候補として抽出する。
【００２５】
また、単語抽出部１４は、抽出した予測候補をユーザが次の入力に用いずに、ユーザが入力を意図する単語の最初の文字を入力した場合に、当該最初の文字から始まる単語に絞り込んで、再度、ｋ個の単語を抽出する。具体的には、ユーザが入力した最初の文字から始まる単語に絞り込んで、確率算出部１３が算出した確率が高い順にｋ個の単語を候補単語として抽出する
【００２６】
＜３．処理フロー＞
図２を参照して、本実施形態に係る文書作成支援システム１の処理フローの一例について説明する。図２は、テキスト生成処理の流れの一例を示すフローチャートである。
【００２７】
まず、ユーザがテキストを生成したい画像の入力を、インタフェース部１１を介して文書作成支援システム１が受け付ける（Ｓ２０１）。次に、受け付けた画像について、特徴抽出部１２が特徴量を抽出し、抽出した特徴量を確率算出部１３に入力する（Ｓ２０２）。確率算出部１３では、入力された特徴量に基づいて、記憶部１６に記憶された単語について、ユーザが次に入力する単語となる確率の確率分布を算出する（Ｓ２０３）。
【００２８】
次に、単語抽出部１４が確率分布に基づいて、確率の上位ｋ個の単語を、ユーザが次に入力する単語の予測候補として絞り込み、インタフェース部１１を介してユーザに提示する（Ｓ２０４）。
【００２９】
ユーザが、表示されたＫ個の予測候補から次に入力する単語を選択した場合（Ｓ２０５：ＹＥＳ）には、選択された単語が再度、確率算出部１３に入力され（Ｓ２１５）、処理Ｓ２０３に戻る。なお、このとき処理Ｓ２０３において、確率算出部１３は、入力された画像と選択された単語とに基づいて、ユーザが次に入力する単語の確率分布を再計算する。
【００３０】
他方、処理Ｓ２０５において、ユーザが表示されたＫ個の予測候補から次に入力する単語を選択せず（Ｓ２０５：ＮＯ）、文字の入力を行った場合には、インタフェース部１１がユーザの入力した文字を取得する（Ｓ２０６）。そして、単語抽出部１４が、記憶部１６に記憶された単語から、取得した文字から始まる単語を抽出し、Ｓ２０３で算出された確率分布に従い、取得した文字から始まる単語のうち確率が上位のＫ個の単語を補完候補として絞り込んで、インタフェース部１１を介してユーザに提示する（Ｓ２０７）。
【００３１】
このＳ２０１乃至Ｓ２０７、Ｓ２１５の処理を、ユーザの入力が終了する（Ｓ２０８：ＹＥＳ）まで、繰り返し実行される。
【００３２】
このように、本実施形態にかかる文書作成支援システム１では、ユーザが選択した候補単語に応じて、次に表示される候補単語が柔軟に変化する。これによって、ユーザは画像に付すテキストをより少ないキータイピングにより、効率よく生成することができる。
【００３３】
＜４．画面例＞
図３Ａ乃至図３Ｅを参照して、文書作成支援システム１が、入力された画像に関するテキストを生成する際に、インタフェース部１１によってユーザに提示される画面例について説明する。図３Ａ乃至図３Ｅの例では、画面１０は、インタフェース部１１によって、単語の予測候補、または補完候補が出力される領域Ａ１と、ユーザからの入力を受け付ける領域Ａ２を含む。
【００３４】
まず図３Ａは、インタフェース部１１に画像３１が入力された際の画面１０を示している。図３Ａに示す画面１０では、画像３１に基づいて抽出された単語の予測候補が領域Ａ１に表示されている。
【００３５】
図３Ｂは、領域Ａ１に表示された単語の予測候補から「ａ」が選択された場合の画面１０の表示を示している。図３Ｂにおいて、領域Ａ１の１行目に表示されている単語の予測候補のうち、「ａ」が選択されたことを示している。図３Ｂの例では、ユーザがカーソルを移動させることで単語が選択され、選択された単語が領域Ａ２に表示されている。なお、ユーザが予測候補や補完候補を選択する態様はこれに限定されず、例えばタブキーによって選択したり、マウスによって選択したりする等の任意の態様を採用することができる。
【００３６】
予測候補から任意の単語（この例では「ａ」）が選択されると、文書作成支援システム１では、画像３１と、選択された単語「ａ」に基づいて、再度、記憶部１６に記憶された単語の確率分布を算出し直す。これによって、領域Ａ１の２行目には、１行目とは異なる単語の予測候補が表示されている。なお、図３Ｂでは、予測候補の変化をわかりやすくするために、最初の予測候補（１行目）と次の予測候補（２行目）の双方が領域Ａ１に表示されている。実際のユーザインタフェースにおいては、予測候補が表示される領域（領域Ａ１に相当）には、最新の予測候補のみを表示することができる。図３Ｃ以降についても同様である。
【００３７】
同様に、図３Ｃでは、候補単語「ｍａｎ」が選択されたことにより、新たな候補単語が領域Ａ１の３行目に表示されている。さらに図３Ｄでは候補単語「ｉｓ」が選択され、図３Ｅでは「ｓｋｉｉｎｇ」が選択されている。
【００３８】
なお、図３Ａ乃至図３Ｅの例では、ユーザは予測候補を選択することによってテキストを生成しているが、予測候補の中に入力を意図している単語が含まれていない場合には、領域Ａ２に直接文字を入力することも可能である。この場合、入力された文字から始まる単語が補完候補として領域Ａ１に表示される。
【００３９】
＜５．ハードウェア構成＞
以下、図４を参照しながら、上述してきた文書作成支援システム１をコンピュータ８００により実現する場合のハードウェア構成の一例を説明する。なお、それぞれの装置の機能は、複数台の装置に分けて実現することもできる。
【００４０】
図４に示すように、コンピュータ８００は、プロセッサ８０１、メモリ８０３、記憶装置８０５、入力Ｉ／Ｆ部８０７、データＩ／Ｆ部８０９、通信Ｉ／Ｆ部８１１、及び表示装置８１３を含む。
【００４１】
プロセッサ８０１は、メモリ８０３に記憶されているプログラムを実行することによりコンピュータ８００における様々な処理を制御する。例えば、文書作成支援システム１のインタフェース部１１と、特徴抽出部１２と、確率算出部１３と、単語抽出部１４となどは、メモリ８０３に一時記憶された上で、主にプロセッサ８０１上で動作するプログラムとして実現可能である。
【００４２】
メモリ８０３は、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の記憶媒体である。メモリ８０３は、プロセッサ８０１によって実行されるプログラムのプログラムコードや、プログラムの実行時に必要となるデータを一時的に記憶する。
【００４３】
記憶装置８０５は、例えばハードディスクドライブ（ＨＤＤ）やフラッシュメモリ等の不揮発性の記憶媒体である。記憶装置８０５は、オペレーティングシステムや、上記各構成を実現するための各種プログラムを記憶する。このようなプログラムやデータは、必要に応じてメモリ８０３にロードされることにより、プロセッサ８０１から参照される。
【００４４】
入力Ｉ／Ｆ部８０７は、ユーザからの入力を受け付けるためのデバイスである。入力Ｉ／Ｆ部８０７の具体例としては、キーボードやマウス、タッチパネル、各種センサ、ウェアラブル・デバイス等が挙げられる。入力Ｉ／Ｆ部８０７は、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等のインタフェースを介してコンピュータ８００に接続されても良い。
【００４５】
データＩ／Ｆ部８０９は、コンピュータ８００の外部からデータを入力するためのデバイスである。データＩ／Ｆ部８０９の具体例としては、各種記憶媒体に記憶されているデータを読み取るためのドライブ装置等がある。データＩ／Ｆ部８０９は、コンピュータ８００の外部に設けられることも考えられる。その場合、データＩ／Ｆ部８０９は、例えばＵＳＢ等のインタフェースを介してコンピュータ８００へと接続される。
【００４６】
通信Ｉ／Ｆ部８１１は、コンピュータ８００の外部の装置と有線又は無線により、インターネットＮを介したデータ通信を行うためのデバイスである。通信Ｉ／Ｆ部８１１は、コンピュータ８００の外部に設けられることも考えられる。その場合、通信Ｉ／Ｆ部８１１は、例えばＵＳＢ等のインタフェースを介してコンピュータ８００に接続される。
【００４７】
表示装置８１３は、各種情報を表示するためのデバイスである。表示装置８１３の具体例としては、例えば液晶ディスプレイや有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ、ウェアラブル・デバイスのディスプレイ等が挙げられる。表示装置８１３は、コンピュータ８００の外部に設けられても良い。その場合、表示装置８１３は、例えばディスプレイケーブル等を介してコンピュータ８００に接続される。また、入力Ｉ／Ｆ部８０７としてタッチパネルが採用される場合には、表示装置８１３は、入力Ｉ／Ｆ部８０７と一体化して構成することが可能である。
【００４８】
以上説明した各実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更／改良され得るととともに、本発明にはその等価物も含まれる。また、各実施形態は例示であり、異なる実施形態で示した構成の部分的な置換または組み合わせが可能であることは言うまでもなく、これらも本発明の特徴を含む限り本発明の範囲に包含される。
【符号の説明】
【００４９】
１  文書作成支援システム
１１  インタフェース部
１２  特徴抽出部
１３  確率算出部
１４  単語抽出部
１６  記憶部
【図１】
2020004043.tif 000004
【図２】
2020004043.tif 000005
【図３Ａ】
2020004043.tif 000006
【図３Ｂ】
2020004043.tif 000007
【図３Ｃ】
2020004043.tif 000008
【図３Ｄ】
2020004043.tif 000009
【図３Ｅ】
2020004043.tif 000010
【図４】
2020004043.tif 000011