(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023079254
(43)【公開日】2023-06-08
(54)【発明の名称】演算装置、情報取得方法
(51)【国際特許分類】
G06F 16/35 20190101AFI20230601BHJP
G06Q 40/02 20230101ALI20230601BHJP
【FI】
G06F16/35
G06Q40/02
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021192628
(22)【出願日】2021-11-29
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】落久保 秀
(72)【発明者】
【氏名】鈴木 尚宏
(72)【発明者】
【氏名】鵜飼 敏之
【テーマコード(参考)】
5B175
5L055
【Fターム(参考)】
5B175DA01
5B175FA03
5L055BB03
(57)【要約】
【課題】入力される文書に関連する情報を特定できる。
【解決手段】演算装置は、予め複数の階層に分類されて定義された複数のラベルから、入力される文書である入力文書に対応するラベルを1以上出力するラベル出力部と、ラベル出力部が出力するラベルにおける相関の有無を1次元のベクトルである第1ベクトルとして出力する第1ベクトル生成部と、あらかじめ作成されたモデルであって、第1ベクトルに対応する入力文書には含まれない情報である付加情報を出力する判定モデルを用いて、第1ベクトル生成部が生成した第1ベクトルに対応する付加情報を特定し、第1ベクトルと統合することで第2ベクトルを生成する第2ベクトル生成部と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
予め複数の階層に分類されて定義された複数のラベルから、入力される文書である入力文書に対応する前記ラベルを1以上出力するラベル出力部と、
前記ラベル出力部が出力する前記ラベルにおける相関の有無を1次元のベクトルである第1ベクトルとして出力する第1ベクトル生成部と、
あらかじめ作成されたモデルであって、前記第1ベクトルに対応する前記入力文書には含まれない情報である付加情報を出力する判定モデルを用いて、前記第1ベクトル生成部が生成した前記第1ベクトルに対応する前記付加情報を特定し、前記第1ベクトルと統合することで第2ベクトルを生成する第2ベクトル生成部と、を備える演算装置。
【請求項2】
請求項1に記載の演算装置において、
あらかじめ作成されたモデルであって、入力される前記第2ベクトルの修正候補を出力する推薦モデルを用いて、前記第2ベクトル生成部が生成した前記第2ベクトルに対応する前記修正候補を特定する修正候補特定部と、
前記修正候補特定部が特定した前記修正候補をオペレータに提示し、前記オペレータによる修正指示を取得する入力部と、
前記修正候補特定部が特定する前記修正候補、および前記入力部が取得する前記修正指示に基づき前記第2ベクトルを修正して第3ベクトルを得る第3ベクトル生成部と、
前記第2ベクトル生成部が生成した前記第2ベクトル、および前記入力部が取得する前記修正指示を用いて、前記推薦モデルを更新する推薦モデル更新部と、を備える演算装置。
【請求項3】
請求項1に記載の演算装置において、
前記階層は、上位の階層に属する前記ラベルほど影響が広く、下位の階層に属する前記ラベルほど影響が狭く、
前記判定モデルが特定する前記付加情報は、前記第1ベクトルにおける最も下位の階層に属する前記ラベルに関する相関の情報を含む、演算装置。
【請求項4】
予め複数の階層に分類されて定義された複数のラベルから、入力される文書である入力文書に対応する前記ラベルを1以上出力するラベル出力処理と、
前記ラベル出力処理により出力される前記ラベルにおける相関の有無を1次元のベクトルである第1ベクトルとして出力する第1ベクトル生成処理と、
あらかじめ作成されたモデルであって、前記第1ベクトルに対応する前記入力文書には含まれない情報である付加情報を出力する判定モデルを用いて、前記第1ベクトル生成処理により生成された前記第1ベクトルに対応する前記付加情報を特定し、前記第1ベクトルと統合することで第2ベクトルを生成する第2ベクトル生成処理と、を含む情報取得方法。
【請求項5】
請求項4に記載の情報取得方法において、
あらかじめ作成されたモデルであって、入力される前記第2ベクトルの修正候補を出力する推薦モデルを用いて、前記第2ベクトル生成処理により生成された前記第2ベクトルに対応する前記修正候補を特定する修正候補特定処理と、
前記修正候補特定処理により特定された前記修正候補をオペレータに提示し、前記オペレータによる修正指示を取得する入力処理と、
前記修正候補特定処理により特定される前記修正候補、および前記入力処理により取得される前記修正指示に基づき前記第2ベクトルを修正して第3ベクトルを得る第3ベクトル生成処理と、
前記第2ベクトル生成処理により生成された前記第2ベクトル、および前記入力処理により取得される前記修正指示を用いて、前記推薦モデルを更新する推薦モデル更新処理と、を含む情報取得方法。
【請求項6】
請求項4に記載の情報取得方法において、
前記階層は、上位の階層に属する前記ラベルほど影響が広く、下位の階層に属する前記ラベルほど影響が狭く、
前記判定モデルが特定する前記付加情報は、前記第1ベクトルにおける最も下位の階層に属する前記ラベルに関する相関の情報を含む、情報取得方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、演算装置、および情報取得方法に関する。
【背景技術】
【0002】
入力された情報から適切な情報を導くためには、その情報を適切に読み解くだけでなく周辺分野の理解も必要なことがあり、長年の技術と経験が必要となることがある。特許文献1には、概念化された情報に割り当てられたノードの階層構造から所定ノードを抽出する抽出部と、前記抽出部にて抽出された前記所定ノードに紐付けられた下位ノードの情報に基づいて、前記抽出部で抽出された前記所定ノードを分類する分類部とを備える情報管理装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載されている発明では、必要な情報の抽出に改善の余地がある。
【課題を解決するための手段】
【0005】
本発明の第1の態様による演算装置は、予め複数の階層に分類されて定義された複数のラベルから、入力される文書である入力文書に対応する前記ラベルを1以上出力するラベル出力部と、前記ラベル出力部が出力する前記ラベルにおける相関の有無を1次元のベクトルである第1ベクトルとして出力する第1ベクトル生成部と、あらかじめ作成されたモデルであって、前記第1ベクトルに対応する前記入力文書には含まれない情報である付加情報を出力する判定モデルを用いて、前記第1ベクトル生成部が生成した前記第1ベクトルに対応する前記付加情報を特定し、前記第1ベクトルと統合することで第2ベクトルを生成する第2ベクトル生成部と、を備える。
本発明の第2の態様による情報取得方法は、予め複数の階層に分類されて定義された複数のラベルから、入力される文書である入力文書に対応する前記ラベルを1以上出力するラベル出力処理と、前記ラベル出力処理により出力される前記ラベルにおける相関の有無を1次元のベクトルである第1ベクトルとして出力する第1ベクトル生成処理と、あらかじめ作成されたモデルであって、前記第1ベクトルに対応する前記入力文書には含まれない情報である付加情報を出力する判定モデルを用いて、前記第1ベクトル生成処理により生成された前記第1ベクトルに対応する前記付加情報を特定し、前記第1ベクトルと統合することで第2ベクトルを生成する第2ベクトル生成処理と、を含む。
【発明の効果】
【0006】
本発明によれば、入力される文書に関連する情報を特定できる。
【図面の簡単な説明】
【0007】
【
図8】第1ベクトル表、第2ベクトル表、および第3ベクトル表の一例を示す図
【
図10】第1ベクトル生成処理を示すフローチャート
【
図11】第2ベクトル生成処理を示すフローチャート
【
図12】第3ベクトル生成処理を示すフローチャート
【発明を実施するための形態】
【0008】
―実施の形態―
以下、
図1~
図14を参照して、演算装置の実施の形態を説明する。
【0009】
(構成)
図1は、演算装置1の機能ブロック図である。演算装置1はその機能として、第1ベクトル生成部11と、第2ベクトル生成部12と、第3ベクトル生成部13と、入出力部14と、ラベル出力部15と、修正候補特定部16と、推薦モデル更新部17と、判定モデル生成部18と、を備える。
【0010】
図2は、演算装置1のハードウエア構成図である。ただし
図2には演算装置1に記録される情報も併記している。演算装置1は、中央演算装置であるCPU41、読み出し専用の記憶装置であるROM42、読み書き可能な記憶装置であるRAM43、ユーザインタフェースである入出力装置44、通信装置45、および不揮発性の記憶装置46を備える。CPU41がROM42に格納されるプログラムをRAM43に展開して実行することで
図1に示した様々な機能を実現する。
【0011】
演算装置1は、CPU41、ROM42、およびRAM43の組み合わせの代わりに書き換え可能な論理回路であるFPGA(Field Programmable Gate Array)や特定用途向け集積回路であるASIC(Application Specific Integrated Circuit)により実現されてもよい。また演算装置1は、CPU41、ROM42、およびRAM43の組み合わせの代わりに、異なる構成の組み合わせ、たとえばCPU41、ROM42、RAM43とFPGAの組み合わせにより実現されてもよい。
【0012】
入出力装置44は、演算装置1を操作するオペレータに対するヒューマンインタフェースおよび情報読み取り装置である。入出力装置44はたとえば、オペレータからの入力を受け付けるマウス、またはキーボードと、オペレータに情報を提示する液晶ディスプレイと、オペレータが提供する電子データを読み込む媒体読み取り装置である。媒体読み取り装置とは、磁気ディスク読み取り装置、光学ディスク読み取り装置、半導体メモリ読み取り装置などである。
【0013】
通信装置45は、オペレータが操作する端末と通信する通信モジュールである。通信装置45を介してオペレータからの入力の受付およびオペレータへの情報の提示ができるので、通信装置45は入出力装置44の代替となりうる。そのため演算装置1は、入出力装置44および通信装置45の少なくとも一方を備えればよい。
【0014】
記憶装置46はたとえばハードディスクドライブである。記憶装置46には、システムID表201と、機能ID表202と、操作ID表203と、モジュールID表204と、第1ベクトルID表221と、第2ベクトルID表222と、第3ベクトルID表223と、第1ベクトルV1と、第2ベクトルV2と、第3ベクトルV3と、入力文書Dと、テキストベクトルVTと、複数組の過去データ9と、判定モデル241と、推薦モデル242と、が格納される。それぞれの過去データ9には、過去入力文書PDと、過去テキストベクトルPVTと、過去第1ベクトルPV1と、過去第2ベクトルPV2と、過去第3ベクトルPV3と、が含まれ相互に紐づけられる。
【0015】
システムID表201、機能ID表202、操作ID表203、モジュールID表204、第1ベクトルID表221、第2ベクトルID表222、および第3ベクトルID表223は、あらかじめ作成される。入力文書Dは、オペレータにより入力される。第1ベクトルV1、第2ベクトルV2、第3ベクトルV3、入力文書D、およびテキストベクトルVTは、後述する処理により作成される。
【0016】
過去データ9は、本実施の形態による処理が実行される前にあらかじめ作成された情報である。入力文書Dと過去入力文書PD、テキストベクトルVTと過去テキストベクトルPVT、第1ベクトルV1と過去第1ベクトルPV1、第2ベクトルV2と過去第2ベクトルPV2と、および第3ベクトルV3と過去第3ベクトルPV3は、それぞれ同種の情報である。
【0017】
(ラベル)
本実施の形態では、構成や処理を抽象化した「ラベル」という概念を用いる。複数のラベルが存在し、影響の広さにより階層化される。ラベルの数や階層の構造はあらかじめ定められており、途中で変更はされない。ラベルの数は2以上であればよく、階層の数も2以上であればよい。
【0018】
本実施の形態では、ラベルは4階層に分類される。この4階層のそれぞれを、上の階層から順番に「システムラベル」、「機能ラベル」、「操作ラベル」、および「モジュールラベル」と呼ぶ。各階層のラベルは、直近の上下1階層のラベルと接続可能であり、同一階層のラベル同士は接続されない。いずれの第2階層以下のいずれのラベルも、少なくとも1つの上位階層のラベルと接続される。ラベル同士が接続されることは、接続されたラベル同士に関係性があることを意味する。
【0019】
本実施の形態では、3つのシステムラベル、2つの機能ラベル、4つの操作ラベル、および3つのモジュールラベルを定義する。3つのシステムラベルとは、「勘定系システム」、「口座番号管理システム」、「顧客管理システム」である。2つの機能ラベルとは、「オンライン処理機能」、「バッチ処理機能」である。4つの操作ラベルとは、「入金」、「出金」、「送金」、「その他」である。3つのモジュールラベルとは、「残高更新モジュール」、「手数料算出モジュール」、「同期処理モジュール」である。
【0020】
(記憶装置に格納される情報)
図3は、ラベルの相関の一例を示す図である。
図3には、前述の4階層のラベルが示されており、図示上部に上位のラベル、図示下部に界のラベルを示している。ただし
図3では、作図の都合により「勘定系システム」の相関のみを示している。
図3に示すように、それぞれの下位のラベルは上位の1以上のラベルと接続される。またそれぞれの上位のラベルとは、1以上の下位のラベルと接続される場合もあるし、下位のラベルと接続されない場合もある。
【0021】
本実施の形態では、システムID、機能ID、操作ID、およびモジュールIDを定義する。システムIDとは、システムラベルを識別する識別子である。機能IDとは、機能ラベルおよびその機能ラベルに至る経路を識別する識別子である。操作IDとは、操作ラベルおよびその操作ラベルに至る経路を識別する識別子である。モジュールIDとは、モジュールラベルおよびそのモジュールラベルに至る経路を識別する識別子である。詳しくは後述するが、これら4つのIDのうち、上位のラベルを有しないシステムIDのみ特性が異なり、残りの3つは類似する特性を有する。
【0022】
図4はシステムID表201の一例を示す図である。システムID表201は、システムラベルの識別子を示す。システムIDはたとえばハイフンを含まない文字列であり、文字列とシステムラベルとの対応が示される。
【0023】
図5は機能ID表202の一例を示す図である。機能IDは、上位のシステムIDと、同一のシステムラベルを上位に有する機能ラベル同士を識別する識別子とをハイフンで結んだもの、たとえば「1-1」である。機能IDの全体で、機能ラベルとその上位のシステムラベルの組合せが特定される。機能IDの後半のみでは、機能ラベルを識別できない。
【0024】
図6は、操作ID表203の一例を示す図である。操作IDは、同一経路を有する上位の機能ラベルの機能IDと、同一の機能ラベルを上位に有する操作ラベルを識別する識別子とをハイフンで結んだもの、たとえば「1-1-1」である。具体的には、上位に「勘定系システム」を有する機能ラベルである「オンライン処理機能」は機能IDが「1-1」であり、この下位に属する操作ラベルは「1」~「4」の識別子が追加されて「1-1-1」~「1-1-4」に設定される。
【0025】
図7は、モジュールID表204の一例を示す図である。モジュールIDは、同一経路を有する上位の操作ラベルの機能IDと、同一の操作ラベルを上位に有するモジュールラベルを識別する識別子とをハイフンで結んだもの、たとえば「1-1-1-1」である。具体的には、上位に「勘定系システム」および「オンライン処理機能」を有するモジュールラベルである「出金」は機能IDが「1-1-2」であり、この下位に属する操作ラベルは「1」~「2」の識別子が追加されて「1-1-2-1」および「1-1-2-2」に設定される。
【0026】
本実施の形態では、ラベル間の相関、具体的には接続の有無を表す第1ベクトルV1、第2ベクトルV2、および第3ベクトルV3を定義する。第1ベクトルV1、第2ベクトルV2、および第3ベクトルV3は、いずれも1次元のベクトルであり要素数は同一である。ベクトルの各要素は、特定のラベル同士の接続の有無を表し、たとえば「1」は接続があることを示し、「0」は接続がないことを示す。
【0027】
第1ベクトルV1、第2ベクトルV2、および第3ベクトルV3の要素数は、ラベル間の接続の最大数である。前述のように直近の上下1階層のラベル同士しか接続されない。
図3の例によればシステムラベルと機能ラベルとの間の接続数は3x2で6、機能ラベルと操作ラベルとの間の接続数は2x4で8、操作ラベルとモジュールラベルとの間の接続数は4x3で12である。そのため、これらベクトルの要素数は、6,8、12の和である「26」となる。
【0028】
このベクトルの要素をE1~E26と呼ぶ。ベクトルの要素とラベルの相関との対応関係は予め定められている。たとえば要素E1は、「勘定系システム」と「オンライン処理機能」の相関の有無を示す。また以下では、システムラベルと機能ラベルとの間の相関をE1~E6、機能ラベルと操作ラベルとの間の相関をE7~E14、操作ラベルとモジュール機能ラベルとの間の相関をE15~E26とする。この場合に、第1ベクトルV1はモジュールラベルの存在を勘案しないので、要素E15~E26は必ず「0」である。第2ベクトルV2および第3ベクトルV3は、要素E15~E26は「1」または「0」である。
【0029】
以下では、第1ベクトルV1において必ず「0」である、モジュールラベルに関する要素の値を「付加情報」と呼ぶ。換言すると、第2ベクトルV2と第1ベクトルV1との差分が付加情報であり、第1ベクトルV1と付加情報とを統合することで第2ベクトルV2が生成される。また以下では、第3ベクトルV3と第2ベクトルV2との差分を「修正候補」とも呼ぶ。
【0030】
判定モデル241は、第1ベクトルV1を入力とし、入力された第1ベクトルV1に対応する付加情報を出力する機械学習モデルである。判定モデル241のパラメータは、過去データ9に含まれる過去第1ベクトルPV1と、過去第1ベクトルPV1と過去第2ベクトルPV2との差分との組合せを複数用いて事前に学習が行われる。
【0031】
推薦モデル242は、第2ベクトルV2を入力とし、入力された第2ベクトルV2に対応する修正候補を出力する機械学習モデルである。推薦モデル242のパラメータは、過去データ9に含まれる過去第2ベクトルPV2と、過去第2ベクトルPV2と過去第3ベクトルPV3との差分との組合せを複数用いて事前に学習が行われる。また推薦モデル242は、推薦モデル更新部17により、第2ベクトルV2とオペレータが指定する修正候補とを用いて推薦モデル242を更新する。
【0032】
図8は、第1ベクトルID表221、第2ベクトルID表222、および第3ベクトルID表223の一例を示す図である。ただし
図8では作図の都合により第1ベクトルID表221、第2ベクトルID表222、および第3ベクトルID表223を1つの表として表している。前述のように第1ベクトルV1、第2ベクトルV2、および第3ベクトルV3の要素数は同一であり、たとえばE1~E26である。
図8に示すIDは、ベクトルの種類とベクトルごとの通し番号の組合せである。たとえば「V1-D1」は、第1ベクトルV1の1つ目のIDであることを示している。
【0033】
第1ベクトルID表221、第2ベクトルID表222、および第3ベクトルID表223には、これまでに生成された第1ベクトルV1、第2ベクトルV2、および第3ベクトルV3の具体的な値が格納される。第1ベクトルID表221、第2ベクトルID表222、および第3ベクトルID表223に格納されるデータの順番は任意であり、データの優劣はない。また、第1ベクトルID表221、第2ベクトルID表222、および第3ベクトルID表223のそれぞれにおいてIDの関連性はなく、それぞれに格納されるデータ数は異なってもよい。さらに、第1ベクトルID表221、第2ベクトルID表222、および第3ベクトルID表223に格納されるデータと過去データ9に含まれる各ベクトルのデータは重複があってもよいし、重複がなくてもよい。
【0034】
図9は、入力文書Dの一例を示す図である。入力文書Dは自然言語で記載された文書である。
図9に示す入力文書Dは、項目に分けて記載されており、処理内容が「1.2 実施事項」に記載されている。そのため入力文書Dの全体を読み込む必要はなく、「1.2 実施事項」を読み込めばよい。
【0035】
(機能の概要)
第1ベクトル生成部11は、第1ベクトルV1を生成する。第2ベクトル生成部12は、第2ベクトルV2を生成する。第3ベクトル生成部13は、第3ベクトルV3を生成する。入出力部14は、入出力装置44を用いてオペレータへの情報の提示、およびオペレータからの情報の取得を行う。ラベル出力部15は、入力文書Dに対応するラベルを出力する。
【0036】
修正候補特定部16は、推薦モデル242に第2ベクトルV2を入力して修正候補を取得する。推薦モデル更新部17は、第2ベクトルV2とオペレータが指定する修正候補の組合せを用いて推薦モデル242を更新する。ただしこの際に推薦モデル更新部17は、さらに過去データ9を用いてもよい。判定モデル生成部18は、判定モデル241を生成する。
【0037】
(第1ベクトル生成部の詳細)
図10は、第1ベクトル生成部11による第1ベクトル生成処理を示すフローチャートである。ステップS300では第1ベクトル生成部11は、入出力部14を用いて外部から文書、たとえば入力文書Dを読み込む。ただし本ステップにおいて読み込んだ文書に本処理が必要とする情報である対象文書、たとえば実施事項が記載されていない場合は、入出力部14を用いてオペレータに問い合わせて別途入力させる。
【0038】
続くステップS301では第1ベクトル生成部11は、ステップS300において読み込んだ対象文書から3種類のラベル、すなわちシステムラベル、機能ラベル、および操作ラベルを検出する。前述のとおり、システムラベルの具体的な名称はシステムID表201に記載されており、機能ラベルの具体的な名称は機能ID表202に記載されており、操作ラベルの具体的な名称は操作ID表203に記載されている。そのため第1ベクトル生成部11は、これらの表を参照してラベルの名称を特定し、たとえば読み込んだ文書の実施事項の項目に記載されている文字列を対象に検索をすることで本ステップの処理が可能である。
【0039】
続くステップS302では第1ベクトル生成部11は、ステップS301の処理結果を用いて、ステップS300において読み込んだ文書にシステムラベル、機能ラベル、および操作ラベルがそれぞれ少なくとも1つが含まれるか否かを判断する。第1ベクトル生成部11は、3種類のラベルが少なくとも1つずつ含まれると判断する場合はステップS303に進み、3種類のうち1種類でも対象文書に含まれていないと判断する場合はステップS306に進む。
【0040】
ステップS303では第1ベクトル生成部11は、ステップS301において検出されたラベルの組合せは、あらかじめ規定されているもの、すなわち第1ベクトルID表221に記載されているものであるか否かを判断する。第1ベクトル生成部11は、検出されたラベルの組合せの少なくとも1つが規定されたものであると判断する場合はステップS304に進み、検出されたラベルのいずれの組合せも規定されていないと判断する場合はステップS306に進む。
【0041】
ステップS304では第1ベクトル生成部11は、対象文書に含まれるラベル、すなわちステップS301において検出されたラベルであり、第1ベクトルID表221に記載されている組合せのラベルを採用する。
【0042】
続くステップS305では第1ベクトル生成部11は、ステップS304またはステップS305において採用したラベル間で最大限の接続を有する組合せを作成し、これを第1ベクトルV1として
図10に示す処理を終了する。たとえばステップS304において採用されたラベルが、1つのシステムラベル、2つの機能ラベル、および3つの操作ラベルであった場合には、次のような第1ベクトルV1が作成される。すなわちこの第1ベクトルV1は、システムラベルと機能ラベルとの間の相関を示すE1~E6のうち2つの要素が「1」であり、機能ラベルと操作ラベルとの間の相関を示すE7~E14のうち6つの要素が「1」となる。
【0043】
ステップS306では第1ベクトル生成部11は、対象文書をテキストベクトル化する。このテキストベクトルの生成には、様々な手法を用いることができ、たとえば単語の頻度を評価する手法を用いることができる。続くステップS307では第1ベクトル生成部11は、過去データ9に含まれるテキストベクトルから最も類似するテキストベクトルを特定し、その最も類似するテキストベクトルと組み合わされている入力文書Dを特定する。最も類似するテキストベクトルの特定には、たとえばコサイン類似度を利用できる。
【0044】
具体的には第1ベクトル生成部11は、まず、対象文書のテキストベクトルとそれぞれの過去データ9に含まれるテキストベクトルとの組合せごとにコサイン類似度を算出する。そして第1ベクトル生成部11は、値が最も「1」に近いコサイン類似度を有するテキストベクトルVTを特定し、そのテキストベクトルVTに紐づく入力文書Dを特定する。
【0045】
続くステップS308では第1ベクトル生成部11は、ステップS307において特定した入力文書Dに紐づくラベルを採用してステップS305に進む。入力文書Dに紐づくラベルは、たとえばその入力文書Dに紐づく第1ベクトルV1において、要素の値が「1」である全ての組み合わせのラベルとして特定できる。以上が
図10の説明である。
【0046】
(第2ベクトル生成部の詳細)
図11は、第2ベクトル生成部12による第2ベクトル生成処理を示すフローチャートである。まずステップS311では第2ベクトル生成部12は、第1ベクトルV1を判定モデル241に入力する。続くステップS312では第2ベクトル生成部12は、判定モデル241の出力とステップS311において入力した第1ベクトルV1との和を第2ベクトルV2として出力し、
図11に示す処理を終了する。
【0047】
前述のとおり、第1ベクトルV1にはモジュールラベルに関する情報が含まれないので、モジュールラベルとの相関を示す要素、たとえば前述の例では要素E15~E26は全て「0」に設定されている。また、判定モデル241の出力は、モジュールラベルとの相関を示す要素の値である。そのため、第1ベクトルV1におけるモジュールラベルとの相関を示すそれぞれの要素の値と、判定モデル241の出力におけるそれぞれの要素の値との和が第2ベクトルV2となる。ただしステップS312の処理は、第1ベクトルV1におけるモジュールラベルに関する情報を有する要素と、判定モデル241の出力に含まれる要素とを入れ替える処理とも言える。
【0048】
(第3ベクトル生成部の詳細)
図12は、第3ベクトル生成部13による第3ベクトル生成処理を示すフローチャートである。まずステップS321では第3ベクトル生成部13は、第2ベクトルV2を推薦モデル242に入力する。続くステップS322では第3ベクトル生成部13は、推薦モデル242の出力を入出力部14を介してオペレータに提示する。続くステップS323では第3ベクトル生成部13は、オペレータから修正指示を受けたか否かを判断し、修正指示を受けたと判断する場合はステップS324に進み、修正指示を受けていないと判断する場合はステップS325に進む。ステップS324では第3ベクトル生成部13は、オペレータからの修正指示どおりに推薦モデル242の出力を修正してステップS325に進む。
【0049】
ステップS325では第3ベクトル生成部13は、推薦モデル242の出力と、第2ベクトルV2との和を第3ベクトルV3として出力する。なお本ステップで使用される推薦モデル242の出力とは、ステップS323において肯定判断された場合にはステップS324において修正された推薦モデル242の出力であり、ステップS323において否定判断された場合には推薦モデル242の出力そのものである。推薦モデル242の出力と第2ベクトルV2との和を算出する処理は、
図11において判定モデル241の出力と第1ベクトルV1との和を算出する処理と同一である。
【0050】
なお本ステップにおける出力である第3ベクトルV3は、入出力部14を介してオペレータに提示できる。オペレータへの第3ベクトルV3の提示は、各要素の値をそのまま表示してもよいし、
図3に示したような視覚的に理解が容易な相関図を提示してもよい。
【0051】
続くステップS326では第3ベクトル生成部13は、推薦モデル更新部17に推薦モデル242を更新させて
図12に示す処理を終了する。具体的には第3ベクトル生成部13は、ステップS321において推薦モデル242に入力した第2ベクトルV2と、ステップS325において使用した推薦モデル242の出力との組合せを用いて、推薦モデル更新部17に推薦モデル242を更新させる。ただし本ステップは、ステップS323において肯定判断された場合にのみ実行してもよい。
【0052】
(判定モデル生成処理)
図13は、判定モデル生成部18が実行する判定モデル生成処理を示すフローチャートである。ステップS331では判定モデル生成部18は、生成済みの第1ベクトルV1と第2ベクトルV2の組を読み込んでステップS332に進む。たとえば判定モデル生成部18は、過去データ9に含まれる全ての過去第1ベクトルPV1と過去第2ベクトルPV2の組を全て読み込む。
【0053】
ステップS332では判定モデル生成部18は、ステップS331において読み込んだ複数の組から未選択の組を1つ選択する。続くステップS333では判定モデル生成部18は、ステップS332において選択した組における2つのベクトルの差分、すなわち付加情報を算出する。続くステップS334では、ステップS332において選択したベクトルの組に含まれる第1ベクトルV1を入力とし、ステップS333において算出した差分、すなわち付加情報を出力とする学習データを生成する。
【0054】
続くステップS335では判定モデル生成部18は、ステップS331において読み込んだ複数の組のうち、未選択のベクトルの組が存在するか否かを判断する。判定モデル生成部18は、未選択の組が存在すると判断する場合はステップS332に戻り、未選択の組が存在しないと判断する場合はステップS336に進む。ステップS336では判定モデル生成部18は、ステップS334において生成した全ての学習データを用いて判定モデル241を生成して
図13に示す処理を終了する。
【0055】
(推薦モデル更新処理)
図14は、推薦モデル更新部17が実行する推薦モデル更新処理を示すフローチャートである。ステップS341では推薦モデル更新部17は、生成済みの第2ベクトルV2と第3ベクトルV3の組を読み込んでステップS342に進む。たとえば推薦モデル更新部17は、過去データ9に含まれる全ての過去第1ベクトルPV1と過去第2ベクトルPV2の組を全て読み込む。
【0056】
ステップS342では推薦モデル更新部17は、ステップS341において読み込んだ複数の組から未選択の組を1つ選択する。続くステップS343では推薦モデル更新部17は、ステップS342において選択した組における2つのベクトルの差分、すなわち修正候補を算出する。続くステップS344では、ステップS342において選択したベクトルの組に含まれる第1ベクトルV1を入力とし、ステップS343において算出した差分、すなわち付加情報を出力とする学習データを生成する。
【0057】
続くステップS345では推薦モデル更新部17は、ステップS341において読み込んだ複数の組のうち、未選択のベクトルの組が存在するか否かを判断する。推薦モデル更新部17は、未選択の組が存在すると判断する場合はステップS342に戻り、未選択の組が存在しないと判断する場合はステップS346に進む。
【0058】
ステップS346では推薦モデル更新部17は、
図12のステップS321において入力した第2ベクトルV2と、ステップS324においてオペレータの指示により修正した出力との組を学習データにさらに追加する。続くステップS347では推薦モデル更新部17は、ステップS346において追加された分も含めた全ての学習データを用いて推薦モデル242を生成して
図14に示す処理を終了する。
【0059】
上述した実施の形態によれば、次の作用効果が得られる。
(1)演算装置1は、予め複数の階層に分類されて定義された複数のラベルから、入力される文章に対応するラベルを1以上出力するラベル出力部15と、ラベル出力部15が出力するラベルにおける相関の有無を1次元のベクトルである第1ベクトルV1として出力する第1ベクトル生成部11と、あらかじめ作成されたモデルであって、第1ベクトルV1に対応する入力文章には含まれない情報である付加情報を出力する判定モデル241を用いて、第1ベクトル生成部11が生成した第1ベクトルV1に対応する付加情報を特定し、第1ベクトルV1と統合することで第2ベクトルV2を生成する第2ベクトル生成部12と、を備える。そのため、あらかじめ定められたラベルを用いて入力文書Dの影響範囲を付加情報として得られる。具体的には、付加情報において要素の値が「1」に対応するモジュールを入力文書Dに関連する情報として特定できる。
【0060】
(2)あらかじめ作成されたモデルであって、入力される第2ベクトルV2の修正候補を出力する推薦モデル242を用いて、第2ベクトル生成部12が生成した第2ベクトルV2に対応する修正候補を特定する修正候補特定部16と、修正候補特定部16が特定した修正候補をオペレータに提示し、オペレータによる修正指示を取得する入出力部14と、修正候補特定部16が特定する修正候補、および入力部が取得する修正指示に基づき第2ベクトルV2を修正して第3ベクトルV3を得る第3ベクトル生成部13と、第2ベクトル生成部12が生成した第2ベクトルV2、および入出力部14が取得する修正指示を用いて、推薦モデル242を更新する推薦モデル更新部17と、を備える。そのため、オペレータの修正指示に基づき第3ベクトルV3を修正するだけでなく、次回以降の修正候補の算出精度を向上するために推薦モデル242のパラメータを更新できる。
【0061】
(3)ラベルの階層は、上位の階層に属するラベルほど影響が広く、下位の階層に属するラベルほど影響が狭い。判定モデル241が特定する付加情報は、第1ベクトルV1における最も下位の階層に属するラベルに関する相関の情報を含む。そのため、入力文書Dに記載されていない詳細な情報を取得できる。
【0062】
(変形例1)
演算装置1は、第3ベクトル生成部13、修正候補特定部16、および推薦モデル更新部17を備えなくてもよい。すなわち演算装置1は、第2ベクトルV2が生成できればよい。この変形例1では、オペレータによる修正やオペレータの修正に基づく推薦モデル242の更新はできないが、上述した実施の形態よりも簡素な構成で、あらかじめ定められたラベルを用いて入力文書Dの影響範囲を付加情報として得られる。
【0063】
(変形例2)
上述した実施の形態では、システムラベル、機能ラベル、および操作ラベルは入力文書Dから抽出された。しかしこれら3つのラベルのうち少なくとも1つ、特にシステムラベルは入力文書Dからの抽出に加えて、オペレータにより入力されてもよい。
【0064】
(変形例3)
上述した実施の形態では、判定モデル241は最も下位のラベル、すなわちモジュールラベルのみを判定した。しかし判定モデル241は最も下位のラベル以外、たとえば下から2番目の操作ラベルや下から3つ目の機能ラベルも判定してよい。この場合には、付加情報に操作ラベルや機能ラベルとの関連を示すベクトルの要素も含まれることになる。さらにこの場合は、推薦モデル242は最も下位のラベル以外、たとえば下から2番目の操作ラベルや下から3つ目の機能ラベルも推薦してよい。この場合には、修正候補に操作ラベルや機能ラベルとの関連を示すベクトルの要素も含まれることになる。
【0065】
上述した各実施の形態および変形例において、機能ブロックの構成は一例に過ぎない。別々の機能ブロックとして示したいくつかの機能構成を一体に構成してもよいし、1つの機能ブロック図で表した構成を2以上の機能に分割してもよい。また各機能ブロックが有する機能の一部を他の機能ブロックが備える構成としてもよい。
【0066】
上述した各実施の形態および変形例において、プログラムはROM42に格納されるとしたが、プログラムは記憶装置46に格納されていてもよい。また、演算装置1が不図示の入出力インタフェースを備え、必要なときに入出力インタフェースと演算装置1が利用可能な媒体を介して、他の装置からプログラムが読み込まれてもよい。ここで媒体とは、例えば入出力インタフェースに着脱可能な記憶媒体、または通信媒体、すなわち有線、無線、光などのネットワーク、または当該ネットワークを伝搬する搬送波やディジタル信号、を指す。また、プログラムにより実現される機能の一部または全部がハードウエア回路やFPGAにより実現されてもよい。
【0067】
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【符号の説明】
【0068】
1…演算装置
11…第1ベクトル生成部
12…第2ベクトル生成部
13…第3ベクトル生成部
14…入出力部
15…ラベル出力部
16…修正候補特定部
17…推薦モデル更新部
18…判定モデル生成部
44…入出力装置
201…システムID表
202…機能ID表
203…操作ID表
204…モジュールID表
221…第1ベクトルID表
222…第2ベクトルID表
223…第3ベクトルID表
241…判定モデル
242…推薦モデル
D…入力文書
V1…第1ベクトル
V2…第2ベクトル
V3…第3ベクトル