(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024034877
(43)【公開日】2024-03-13
(54)【発明の名称】入力データ作成支援装置、及び入力データ作成支援方法
(51)【国際特許分類】
G06F 40/151 20200101AFI20240306BHJP
G06F 40/216 20200101ALI20240306BHJP
【FI】
G06F40/151
G06F40/216
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022139421
(22)【出願日】2022-09-01
(71)【出願人】
【識別番号】597132849
【氏名又は名称】株式会社日立ソリューションズ・クリエイト
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000176
【氏名又は名称】弁理士法人一色国際特許事務所
(72)【発明者】
【氏名】米野 恭章
(72)【発明者】
【氏名】手塚 聡子
【テーマコード(参考)】
5B091
5B109
【Fターム(参考)】
5B091AA15
5B091CA01
5B091CA21
5B091EA01
5B109QB13
5B109TA11
5B109VC03
(57)【要約】 (修正有)
【課題】自然言語処理を行う学習済みモデルに適した入力データの作成を支援する入力データ作成支援装置及び方法を提供する。
【解決手段】入力データ活用装置、ユーザ端末及び入力データ作成支援装置からなる入力データ活用システムにおいて、入力データ作成支援装置の処理装置は、文字列のテキストデータと、文字列のテキストデータに含まれている改行が文字列における意味の区切りとして正しいか否かを示すデータとの関係を記憶した学習済みモデルを記憶する記憶装置及び学習済みモデルに、改行を示すデータを含む、指定されたテキストデータを入力することにより、前記テキストデータの改行が必要であるか否かを示すデータを出力し、出力したデータが、前記テキストデータの改行が不要であることを示しているか否かを判定し、前記テキストデータの改行が不要であることを示している場合に、前記テキストデータにおける改行を示すデータを削除する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
文字列のテキストデータと、前記文字列のテキストデータに含まれている改行が前記文字列における意味の区切りとして正しいか否かを示すデータとの関係を記憶した学習済みモデルを記憶する記憶装置、及び、
前記学習済みモデルに、改行を示すデータを含む、指定されたテキストデータを入力することにより、前記指定されたテキストデータの前記改行が必要であるか否かを示すデータを出力し、
前記出力したデータが、前記指定されたテキストデータの前記改行が不要であることを示しているか否かを判定し、前記指定されたテキストデータの前記改行が不要であることを示している場合に、前記指定されたテキストデータにおける前記改行を示すデータを削除する処理装置を備える、
入力データ作成支援装置。
【請求項2】
前記処理装置は、
改行を示すデータにより複数の文字列のブロックに分割されている第1のテキストデータと、改行を示すデータにより文字列のブロックが複数に分割されている第2のテキストデータとに基づき前記学習済みモデルを作成し、作成した前記学習済みモデルを前記記憶装置に記憶する、
請求項1に記載の入力データ作成支援装置。
【請求項3】
前記処理装置は、
意味をなす文字列のテキストデータを、前記改行を示すデータを介して2以上結合することにより、前記第1のテキストデータを作成し、意味をなす文字列のテキストデータの途中の指定された位置に前記改行を示すデータを追加することで、前記第2のテキストデータを作成する、
請求項2に記載の入力データ作成支援装置。
【請求項4】
前記処理装置は、
前記指定されたテキストデータから文末を示す文字を検索し、前記文末を示す文字の直後に、改行を示すデータが存在するか否かを確認し、前記文末を示す文字の直後に改行を示すデータが存在しない場合には、前記文末を示す文字の直後に改行を示すデータを追加し、前記改行を示すデータを追加した前記指定されたテキストデータを、前記学習済みモデルに入力する、
請求項1に記載の入力データ作成支援装置。
【請求項5】
情報処理装置が、
文字列のテキストデータと、前記文字列のテキストデータに含まれている改行が前記文字列における意味の区切りとして正しいか否かを示すデータとの関係を記憶した学習済みモデルを記憶し、
前記学習済みモデルに、改行を示すデータを含む、指定されたテキストデータを入力することにより、前記指定されたテキストデータの前記改行が必要であるか否かを示すデータを出力し、
前記出力したデータが、前記指定されたテキストデータの前記改行が不要であることを示しているか否かを判定し、前記指定されたテキストデータの前記改行が不要であることを示している場合に、前記指定されたテキストデータにおける前記改行を示すデータを削除する、
入力データ作成支援方法。
【請求項6】
前記情報処理装置が、
改行を示すデータにより複数の文字列のブロックに分割されている第1のテキストデータと、改行を示すデータにより文字列のブロックが複数に分割されている第2のテキストデータとに基づき前記学習済みモデルを作成し、作成した前記学習済みモデルを前記記憶装置に記憶する、
請求項5に記載の入力データ作成支援方法。
【請求項7】
情報処理装置が、
意味をなす文字列のテキストデータを、前記改行を示すデータを介して2以上結合することにより、前記第1のテキストデータを作成し、意味をなす文字列のテキストデータの途中の指定された位置に前記改行を示すデータを追加することで、前記第2のテキストデータを作成する、
請求項6に記載の入力データ作成支援方法。
【請求項8】
情報処理装置が、
前記指定されたテキストデータから文末を示す文字を検索し、前記文末を示す文字の直後に、改行を示すデータが存在するか否かを確認し、前記文末を示す文字の直後に改行を示すデータが存在しない場合には、前記文末を示す文字の直後に改行を示すデータを追加し、前記改行を示すデータを追加した前記指定されたテキストデータを、前記学習済みモデルに入力する、
請求項5に記載の入力データ作成支援方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力データ作成支援装置、及び入力データ作成支援方法に関する。
【背景技術】
【0002】
ディープラーニング(深層学習)技術により、AI(Artificial Intelligence:人工知能
)の精度は大きく向上し、自然言語処理の分野においても、これまでの技術では困難だった課題への解決手段として利用が進んでいる。
【0003】
例えば、従来であれば人間が多数の判定ルールを設定する必要があった自然言語を対象とした分類問題においても、多数の教師データを学習させることで、分類の判定処理を自動化するAIモデル(学習済みモデル)を作成することが可能となっている。
【0004】
例えば、特許文献1には、各カテゴリのコーパスを用いた機械学習により得られた翻訳学習済みモデルを用いて当該カテゴリの文章を翻訳する翻訳部と、入力された入力文章のカテゴリを、各翻訳部の機械学習で用いたコーパスに基づいた機械学習により得られた判定学習済みモデルを用いて判定する判定部と、判定部によって判定されたカテゴリの翻訳部を用いて入力文章を翻訳し、翻訳結果を出力する制御部とを備える機械翻訳装置が記載されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、このような文章処理のための学習済みモデルにおける機械学習の際、又は学習済みモデルへのユーザデータの入力の際に、前処理として、入力されるデータ(テキストデータ)を、文又は文字列単位(文脈上、意味のある単位)に分割する必要がある場合がある。
【0007】
通常、日本語の文章を文単位で分割するには句点「。」で分割すればよいが、テキストデータの中には、章のタイトル、箇条書き、又はソースコード等、ブロックの末尾が句点ではないケースが多数存在する。また電子メール等のデータにおいては、文末以外であっても一定の文字数ごとに改行するケースが存在するため、改行位置が必ずしもブロックの末尾位置になっているとは限らない。
【0008】
このように、入力データたる文章をブロック単位(文単位)に分割する基準は様々にある。しかしながら、これらを網羅的にパターン化することは難しく、これに対応できる技術は充分に開発されていないのが現状である。
【0009】
本発明は、このような事情に鑑みてなされたものであり、その目的は、自然言語処理を行う学習済みモデルに適した入力データの作成を支援することが可能な入力データ作成支援装置、及び入力データ作成支援方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するための本発明の一つは、文字列のテキストデータと、前記文字列のテキストデータに含まれている改行が前記文字列における意味の区切りとして正しいか否
かを示すデータとの関係を記憶した学習済みモデルを記憶する記憶装置、及び、前記学習済みモデルに、改行を示すデータを含む、指定されたテキストデータを入力することにより、前記指定されたテキストデータの前記改行が必要であるか否かを示すデータを出力し、前記出力したデータが、前記指定されたテキストデータの前記改行が不要であることを示しているか否かを判定し、前記指定されたテキストデータの前記改行が不要であることを示している場合に、前記指定されたテキストデータにおける前記改行を示すデータを削除する処理装置を備える、入力データ作成支援装置、である。
【発明の効果】
【0011】
本発明によれば、自然言語処理を行う学習済みモデルに適した入力データの作成を支援することができる。
上記した以外の構成及び効果等は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0012】
【
図1】本実施形態に係る入力データ活用システムの構成の一例を示す図である。
【
図2】入力データ作成支援装置が記憶している主なプログラムの一例を示す図である。
【
図3】入力データ作成支援装置が備えるハードウェアの一例を示す図である。
【
図4】入力データ活用システムで行われる処理の概要を説明するフロー図である。
【
図5】学習データ作成プログラムの概要を説明する図である。
【
図7】補正ユーザテキストデータ作成プログラムの概要を説明する図である。
【
図8】改行必要データ作成処理の一例を説明するフロー図である。
【
図10】改行不要データ作成処理の一例を説明するフロー図である。
【
図12】補正ユーザテキストデータ作成処理の一例を説明するフロー図である。
【
図13】補正ユーザテキストデータ作成処理によりユーザテキストデータから補正ユーザテキストデータを作成する一例を示す図である。
【発明を実施するための形態】
【0013】
図1は、本実施形態に係る入力データ活用システム1の構成の一例を示す図である。入力データ活用システム1は、入力データ活用装置10、ユーザ端末20、及び入力データ作成支援装置30を含んで構成されている。
【0014】
入力データ活用装置10は、電子文書(本実施形態では日本語の文書とする)のテキストデータを入力データとした所定の自然言語処理を行うプログラムを記憶している情報処理装置である。
【0015】
このプログラムは、例えば、入力データが示す文章の解析を行うことでその文章の意味若しくは文脈の認識、校正、又は他言語への翻訳等を行う学習済みモデルを実行するプログラムである。そして、この学習済みモデルに用いられる入力データは、当該入力データを構成する一連の文字列のブロック(例えば、一文、章のタイトル、又は箇条書きにおける各項目等の、一定のまとまった意味を有する一連の文字列の集合)の間が、改行又はそれに対応する文字によって区切られている必要がある。
【0016】
ユーザ端末20は、電子文書を管理するユーザが使用する情報処理装置である。この電子文書(以下、ユーザテキストデータという)には、一般的な文章のように、一連の文字列の末尾が句点でありその直後に改行がなされている文字列のブロック(すなわち文)と、章のタイトル、箇条書き、又はプログラムのソースコードの各行のように、一連の文字
列の末尾は句点ではないが末尾に改行がなされている文字列のブロックとが混在している。さらに、一文であっても、改行によってその文が途中で分割されている場合(一定の文字数で改行されている文)もある。
【0017】
入力データ作成支援装置30は、ユーザ端末20が管理するユーザテキストデータを補正して入力データ活用装置10に適用させる必要があるか否かを判定するための学習済みモデル(以下、データ補正モデルという)を作成し、記憶する。
【0018】
入力データ作成支援装置30は、ユーザ端末20から取得したユーザテキストデータを、上記データ補正モデルに入力する。入力データ作成支援装置30は、データ補正モデルの判定値(出力値)に応じた処理を行うことにより、入力データ活用装置10の学習済みモデルに対応した入力データ(以下、補正ユーザテキストデータという)を作成する。なお、データ補正モデルの詳細は後述する。
【0019】
入力データ作成支援装置30は、作成した補正ユーザテキストデータを、ユーザ端末20に返信する。ユーザ端末20は、受信した補正ユーザテキストデータを入力データ活用装置10に入力することで、入力データ活用装置10にプログラムを実行させる。
【0020】
入力データ活用装置10、ユーザ端末20、及び入力データ作成支援装置30の間は、例えば、インターネット、LAN(Local Area Network)、WAN(Wide Area Network
)、又は専用線等の有線又は無線の通信ネットワーク5により通信可能となっている。
次に、入力データ作成支援装置30が記憶しているプログラムについて背明する。
【0021】
図2は、入力データ作成支援装置30が記憶している主なプログラムの一例を示す図である。入力データ作成支援装置30は、学習データ作成プログラム301、学習プログラム302、及び補正ユーザテキストデータ作成プログラム303の各プログラムを記憶している。
【0022】
学習データ作成プログラム301は、データ補正モデルにおける学習データを作成する。
【0023】
すなわち、学習データ作成プログラム301は、改行を示すデータ(本実施形態では特殊文字SEP(Separator)とする)により複数の意味のある文字列のブロック(例えば
、文、章のタイトル、又は箇条書きの各項目等)に分割されている第1のテキストデータ(以下、改行不要データという)と、改行を示すデータ(特殊文字SEP)により意味のある文字列のブロックが複数に分割されている(例えば、一文の途中に不要に特殊文字SEPが挿入されている)第2のテキストデータ(以下、改行必要データという)とに基づきデータ補正モデルを作成し、作成したデータ補正モデルを記憶する。
【0024】
本実施形態では、学習データ作成プログラム301は、意味をなす文字列のテキストデータ(例えば、文、章のタイトル、又は箇条書きの各項目の文字列データ等。以下、調整済みテキストデータという。)を特殊文字SEPを介して2以上結合することにより、改行不要データを作成する。また、学習データ作成プログラム301は、調整済みテキストデータの途中の指定された位置に特殊文字SEPを追加することで、改行必要データを作成する。
【0025】
次に、学習プログラム302は、改行不要データ及び改行必要データに基づき、データ補正モデルを作成する。
【0026】
データ補正モデルは、文章のテキストデータと、その文章のテキストデータに含まれて
いる改行が文字列における意味の区切りとして正しいか否かを示すデータとの関係を記憶した学習済みモデルである。
【0027】
具体的には、データ補正モデルは、ユーザテキストデータのうち、2行からなるテキストデータ(改行として特殊記号SEPが設定されている)を入力値とし、そのテキストデータは一つの文字列ブロックであり改行が不要であるか、又はそのテキストデータは2つの文字列ブロックからなるので改行が必要であるか、を示す判定値を出力値とする学習済みモデルである。本実施形態では、改行が必要である場合には1、改行が不要である場合には0が判定値として出力されるものとする。
【0028】
なお、データ補正モデルは、入力データ(テキストデータ)の特徴量を、ディープラーニングにより機械学習することで構築される。データ補正モデルは、本実施形態では、入力データが入力される入力層と、入力データから特徴量を抽出して出力する1又は複数の中間層(隠れ層)と、入力データから判定値を出力する出力層とを有するニューラルネットワークである。データ補正モデルにおけるニューラルネットワークとしては、例えば、RNN(Recurrent Neural Network)、Transformer、CNN(Convolution Neural Network)
等を適用することが可能である。
【0029】
次に、補正ユーザテキストデータ作成プログラム303は、データ補正モデルに、ユーザテキストデータにおける、2行からなるテキストデータを入力することにより、ユーザテキストデータに含まれる改行が必要であるか否かを示すデータ(本実施形態では、1又は0)を出力する。
【0030】
そして、補正ユーザテキストデータ作成プログラム303は、データ補正モデルの出力値が、上記テキストデータに含まれる改行が不要であることを示している場合(本実施形態では、0)に、上記2行からなるテキストデータにおける改行(特殊記号SEP)を削除する。補正ユーザテキストデータ作成プログラム303は、改行を削除した当該テキストデータを、補正ユーザテキストデータとして記憶する。
【0031】
一方、出力値が、上記テキストデータに含まれる改行が必要であることを示している場合(本実施形態では、1)には、補正ユーザテキストデータ作成プログラム303は、上記2行からなるテキストデータにおける特殊記号SEPを改行データに置換し、補正ユーザテキストデータとして記憶する(改行のあるテキストデータとして記憶する)。
【0032】
なお、補正ユーザテキストデータ作成プログラム303は、予め、ユーザテキストデータから文末を示す文字(本実施形態では句点)を検索し、検索した文末を示す文字の直後に、改行を示すデータ(本実施形態では特殊記号SEP)が存在するか否かを確認し、特殊記号SEPが存在しない場合には、文末を示す文字の直後に改行を示すデータ(特殊記号SEP)を追加したユーザテキストデータを、データ補正モデルに入力する。
【0033】
次に、
図3は、入力データ作成支援装置30が備えるハードウェアの一例を示す図である。入力データ作成支援装置30は、CPU (Central Processing Unit)、DSP (Digital Signal Processor)、GPU (Graphics Processing Unit)、FPGA (Field-Programmable Gate Array)等の処理装置31(プロセッサ)と、ROM (Read Only Memory)、RAM (Random Access Memory)等の主記憶装置32(メモリ)と、HDD (Hard Disk Drive)、SSD (Solid State
Drive)などの補助記憶装置33と、NIC(Network Interface Card)、無線通信モジュ
ール、USB (Universal Serial Interface)モジュール、又はシリアル通信モジュール等で構成される通信装置34と、マウスやキーボード等で構成される入力装置35と、液晶ディスプレイまたは有機EL (Electro-Luminescence)ディスプレイ等で構成される出力装置
36とを備えていてもよい。なお、入力データ活用装置10及びユーザ端末20も、入力
データ作成支援装置30と同様のハードウェアを備える。
【0034】
以上に説明した入力データ作成支援装置30の各プログラムの機能は、処理装置31が、主記憶装置32又は補助記憶装置33に格納されている各プログラムを読み出して実行することにより実現される。また各プログラムは、例えば、記録媒体に記録して配布することができる。なお、入力データ作成支援装置30は、その全部または一部が、例えば、クラウドシステムによって提供される仮想サーバのように、仮想化技術やプロセス空間分離技術等を用いて提供される仮想的な情報処理資源を用いて実現されるものであってもよい。また、入力データ作成支援装置30によって提供される機能の全部または一部は、例えば、クラウドシステムがAPI (Application Programming Interface)等を介して提供するサービスによって実現してもよい。
次に、入力データ活用システム1で行われる処理について説明する。
【0035】
図4-7は、入力データ活用システム1で行われる処理の概要を説明するフロー図である。
【0036】
まず、学習データ作成プログラム301は、データ補正モデルを作成するための学習データを作成する学習データ作成処理s10を実行する。具体的には、学習データ作成プログラム301は、調整済みテキストデータ501に基づいて、改行必要データ502を作成する改行必要データ作成処理と、改行不要データ503を作成する改行不要データ作成処理とを実行する(
図4、5)。なお、学習データ作成プログラム301は、ユーザ端末20から受信した複数の調整済みテキストデータ501について、この処理を繰り返し行う。
【0037】
そして、学習プログラム302は、s10で作成した学習データに基づきデータ補正モデルを作成する学習処理s20を実行する(
図4、6)。
【0038】
例えば、学習プログラム302は、各改行必要データ502に対して正解ラベル「1」、各改行不要データ503に対して正解ラベル「0」を設定する。学習プログラム302は、各改行必要データ502及び各改行不要データ503に基づき機械学習を行うことで、各改行必要データ502及び各改行不要データ503に対応する各出力値及び中間値を取得する(なお、初回実行の場合は、データ補正モデル601のハイパーパラメータに初期値を設定しておく)。学習プログラム302は、取得した各出力値と、各正解ラベルとがそれぞれ近づく(合致する)ように、データ補正モデル601におけるハイパーパラメータを最適化することで、データ補正モデル601を決定する。
【0039】
その後、補正ユーザテキストデータ作成プログラム303は、ユーザ端末20から、ユーザテキストデータを受信する。そして、補正ユーザテキストデータ作成プログラム303は、s20で作成したデータ補正モデルを用いて、ユーザテキストデータに対応する補正ユーザテキストデータを作成する補正ユーザテキストデータ作成処理s30を実行する(
図4)。具体的には、補正ユーザテキストデータ作成プログラム303は、ユーザテキストデータ701をデータ補正モデル601に入力することで、補正ユーザテキストデータ702を出力する(
図7)。
【0040】
その後、補正ユーザテキストデータ作成プログラム303は、作成した補正ユーザテキストデータ702を、ユーザ端末20に送信する。ユーザ端末20は、補正ユーザテキストデータ702を受信すると、受信した補正ユーザテキストデータ702を、入力データ活用装置10に送信する。
【0041】
そして、入力データ活用装置10は、補正ユーザテキストデータ702を受信すると、
受信した補正ユーザテキストデータ702を入力データとして、入力データ活用装置10が記憶している自然言語処理に係るプログラムを実行する(
図4、s40)。
【0042】
例えば、入力データ活用装置10は、学習済みモデルに対して、補正ユーザテキストデータ702を入力することで、補正ユーザテキストデータ702が示す文章の意味若しくは文脈の認識、校正、又は他言語への翻訳等を行う。
次に、以上の各処理の詳細を説明する。
【0043】
<学習データ作成処理>
以下、学習データ作成処理s10における改行必要データ作成処理及び改行不要データ作成処理をそれぞれ説明する。
【0044】
図8は、改行必要データ作成処理の一例を説明するフロー図である。入力データ作成支援装置30は、調整済みテキストデータを取得する(s101)。例えば、入力データ作成支援装置30は、調整済みテキストデータを、所定のデータベース又は情報処理装置等から読み込み又は受信する。
【0045】
なお、調整済みテキストデータは、複数行からなり、各行が一文、箇条書き、又は章のタイトル等となっており各行がテキストの文脈上意味をなす文字列のブロックとなっているテキストデータである。調整済みテキストデータは、例えば、ユーザが予め改行に関する必要な整形処理を行って作成したデータである。また、この調整済みテキストデータは、様々なアプリケーションデータから変換されたテキストデータであってもい。
【0046】
入力データ作成支援装置30は、s101で取得した調整済みテキストデータの読み込みポインタを先頭行に設定する。
【0047】
入力データ作成支援装置30は、調整済みテキストデータにおける、現在の読み込みポインタの行及びその次の行を取得する。そして、入力データ作成支援装置30は、取得した両行を特殊記号SEPにより連結し、改行必要データに追加する(s102)。
【0048】
入力データ作成支援装置30は、現在の読み込みポインタが指し示す行が調整済みテキストデータの最終行であるか否かを確認し、当該行が調整済みテキストデータの最終行であれば改行必要データ作成処理は終了する。一方、当該行が調整済みテキストデータの最終行でなければ、入力データ作成支援装置30は、現在の読み込みポインタを2行先に設定し、s102の処理を繰り返す。
【0049】
図9は、改行必要データの一例を示す図である。この改行必要データは、「本日の資料は、以下に格納しています。」なる一文901と、特殊記号902(SEP)と、一連のURLをなす文字列のブロック903「http://aaa.bbb.ccc」とが連結してなるテキストデータとなっている。
【0050】
<改行不要データ作成処理>
次に、
図10は、改行不要データ作成処理の一例を説明するフロー図である。入力データ作成支援装置30は、s101と同様に、複数行からなる調整済みテキストデータを取得する(s111)。
【0051】
そして、入力データ作成支援装置30は、s111で取得した調整済みテキストデータの読み込みポインタを先頭行に設定する。
【0052】
入力データ作成支援装置30は、調整済みテキストデータにおける、現在の読み込みポ
インタの行を取得する(s112)。そして、入力データ作成支援装置30は、s112で取得した行の文字数を最大値とする自然数の乱数nを生成する(s113)。入力データ作成支援装置30は、当該行の先頭文字からn文字目に、特殊記号SEPを挿入する(s114)。
【0053】
入力データ作成支援装置30は、現在の読み込みポインタが指し示す行が調整済みテキストデータの最終行であるか否かを確認し、当該行が調整済みテキストデータの最終行であれば改行不要データ作成処理は終了する。一方、当該行が調整済みテキストデータの最終行であれば、入力データ作成支援装置30は、現在の読み込みポインタを次の行に設定し、s112の処理を繰り返す。
【0054】
図11は、改行不要データの一例を示す図である。この改行不要データは、「本日の資料は、以下に格納しています。」なる一文における先頭から13文字目に、特殊記号1101(SEP)が挿入されたことで(文の途中に不要な改行が挿入されたことで)、「本日の資料は、以下に格納し[SEP]ています。」となっている。
【0055】
なお、入力データ作成支援装置30は、s113、s114の処理を繰り返すことで、一つの行のテキストデータから複数の改行不要データを作成してもよい。
【0056】
<補正ユーザテキストデータ作成処理>
図12は、補正ユーザテキストデータ作成処理s30の一例を説明するフロー図である。入力データ作成支援装置30は、ユーザテキストデータを取得する(s301)。例えば、入力データ作成支援装置30は、ユーザ端末20から、ユーザテキストデータを受信する。ユーザテキストデータは、少なくとも2行以上からなるテキストデータである。
【0057】
入力データ作成支援装置30は、s301で取得したユーザテキストデータから、文末を示す文字(本実施形態では句点(。))を全て検索し、各句点の直後に改行が無い場合、句点の直後に改行を挿入する(s302)。その後、入力データ作成支援装置30は、ユーザテキストデータの読み込みポインタを先頭行に設定する。また、入力データ作成支援装置30は、補正ユーザテキストデータを空情報にする。
【0058】
入力データ作成支援装置30は、ユーザテキストデータにおける、現在の読み込みポインタの行及びその次の行を取得する。そして、入力データ作成支援装置30は、取得した各行を、特殊記号SEPを介して連結する(s303)。
【0059】
入力データ作成支援装置30は、s303で連結した2行のテキストデータを、データ補正モデルに入力することで、出力値(1=改行必要、又は、0=改行不要)を得る(s304)。
【0060】
入力データ作成支援装置30は、出力値が「改行必要」(1)又は「改行不要」(0)であるかを確認する(s305)。出力値が「改行必要」である場合は(s305:改行必要)、入力データ作成支援装置30は、s306の処理を実行し、出力値が「改行不要」である場合は(s305:改行不要)、入力データ作成支援装置30は、s307の処理を実行する。
【0061】
s306において入力データ作成支援装置30は、s303で連結したテキストデータにおける特殊記号SEPを改行文字に置換することで、当該テキストデータを2行のテキストデータとし、その1行目を補正ユーザテキストデータに追加して出力する。その後、s308の処理が行われる。
【0062】
s307において入力データ作成支援装置30は、s303で連結したテキストデータにおける特殊記号SEPを削除することで、当該テキストデータを1行のテキストデータとし、これを補正ユーザテキストデータに追加して出力する。その後、s308の処理が行われる。
【0063】
s308において入力データ作成支援装置30は、現在の読み込みポインタが指し示す行がユーザテキストデータの最終行であるか否かを確認し、当該行がユーザテキストデータの最終行であればs309の処理を実行する。一方、当該行がユーザテキストデータの最終行でなければ、入力データ作成支援装置30は、現在の読み込みポインタを次の行に設定し、s303の処理を繰り返す。
【0064】
s309において入力データ作成支援装置30は、現在の読み込みポインタが指し示す行を、補正ユーザテキストデータの最終行として追加して出力する。以上で補正ユーザテキストデータ作成処理s30は終了する。
【0065】
以上のようにして作成された補正ユーザテキストデータは、入力データ活用装置10の学習済みモデルに対応した、適切な位置で改行が行われている入力データとなっている。
【0066】
ここで、
図13は、補正ユーザテキストデータ作成処理s30によりユーザテキストデータから補正ユーザテキストデータを作成する一例を示す図である。同図に示すように、入力データ作成支援装置30は、句点1302の直後に改行がなかったユーザテキストデータ1301に対して、その句点1302の直後に改行1303を挿入する(s302)。
【0067】
そして、入力データ作成支援装置30は、改行1303を挿入したユーザテキストデータ1304において、「本日の資料に関しては、」の第1の行1305と、その次の「以下に格納しています。」の第2の行1306とを特殊記号SEPで連結した2行のテキストデータをデータ補正モデルに入力すると、データ補正モデルから「改行不要」が出力される(s303、s304)。
【0068】
そこで、入力データ作成支援装置30は、第1の行1305と第2の行1306とを連結していた特殊記号を削除し、「本日の資料に関しては、以下に格納しています。」なる1行のテキストデータ1307を補正ユーザテキストデータとして出力する(s307、s308)。
【0069】
以上のように、本実施形態の入力データ作成支援装置30は、文字列のテキストデータと、その文字列のテキストデータに含まれている改行が文字列における意味の区切りとして正しいか否かを示す判定値(すなわち、改行必要又は改行不要)との関係を記憶したデータ補正モデルに、改行データ(特殊記号SEP)を含んだ2行のユーザテキストデータを入力することにより、そのユーザテキストデータの改行が正しいか否かを示す判定値を出力し、判定値が改行不要(改行が正しくない)を示している場合に、ユーザテキストデータにおける改行(特殊記号SEP)を削除した補正ユーザテキストデータを作成する。
【0070】
すなわち、入力データ作成支援装置30は、データ補正モデルを用いることで、ユーザテキストデータにおける改行が意味の区切り(例えば、文の末尾、章のタイトル文字列の末尾、箇条書きにおける各項目の末尾)として正しくない場合にその改行は不要として削除することで補正ユーザテキストデータを作成する。これにより、ユーザテキストの文章を適切なブロック単位で取り扱うことができる。そして、このような補正ユーザテキストデータは、自然言語処理を行う学習済みモデルの処理に適したものとなっている。
【0071】
このように、本実施形態の入力データ作成支援装置30によれば、自然言語処理を行う学習済みモデルに適した入力データの作成を支援することができる。
【0072】
また、本実施形態の入力データ作成支援装置30は、特殊記号(SEP)により複数の文字列のブロックに正しく分割されている改行必要データと、特殊記号(SEP)により文字列のブロックが途中で分割され正しいブロックの状態になっていない改行必要データとに基づき、データ補正モデルを作成し、記憶する。
【0073】
これにより、データ補正モデルは、テキストデータにおける特殊記号(SEP)の要否を正しく判定することができる学習済みモデルとなる。
【0074】
また、本実施形態の入力データ作成支援装置30は、テキストの文脈上意味をなす文字列のテキストデータである調整済みテキストデータを、特殊記号(SEP)を介して2以上結合することにより改行必要データを作成し、調整済みテキストデータの途中の指定された位置に特殊記号(SEP)を追加することで改行必要データを作成する。
【0075】
これにより、調整済みテキストデータのみを用意しておけば、改行必要データ及び改行不要テキストデータを自動的に作成し、これらのテキストデータをデータ補正モデルの作成に用いることができる。これにより、データ補正モデルの作成に必要なデータ量を削減することができる。
【0076】
また、本実施形態の入力データ作成支援装置30は、ユーザテキストデータから文末を示す文字(句点)を検索し、句点の直後に改行を示すデータが存在するか否かを確認し、句点の直後に改行を示すデータが存在しない場合には、句点の直後に改行を示すデータを追加し、改行を示すデータを追加したユーザテキストデータを、データ補正モデルに入力する。
【0077】
このように、ユーザテキストデータにおける文章の末尾に句点があるのにも関わらずその直後に改行が無い場合は改行を補った上で、そのユーザテキストデータをデータ補正モデルに入力することで、自然言語処理に適した補正ユーザテキストデータを作成することができるようになる。
【0078】
以上、本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で、任意の構成要素を用いて実施可能である。以上説明した実施形態や変形例はあくまで一例であり、発明の特徴が損なわれない限り、本発明はこれらの内容に限定されるものではない。また、上記では種々の実施形態や変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【0079】
例えば、本実施形態の各装置が備える各機能部の一部は他の装置に設けてもよいし、別装置が備える機能部を同一の装置に設けてもよい。
【0080】
なお、本実施形態では、文章は日本語であるものとしたが、他の言語であっても適用可能である。この場合、例えば、文の末尾を示す句点はピリオドとする。
【符号の説明】
【0081】
10 入力データ活用装置
20 ユーザ端末
30 入力データ作成支援装置