JP2020154514A - Learning device, learning method, retrieval device, retrieval method and program - Google Patents
Learning device, learning method, retrieval device, retrieval method and program Download PDFInfo
- Publication number
- JP2020154514A JP2020154514A JP2019050872A JP2019050872A JP2020154514A JP 2020154514 A JP2020154514 A JP 2020154514A JP 2019050872 A JP2019050872 A JP 2019050872A JP 2019050872 A JP2019050872 A JP 2019050872A JP 2020154514 A JP2020154514 A JP 2020154514A
- Authority
- JP
- Japan
- Prior art keywords
- feature vector
- vector
- search
- data
- error
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 92
- 239000013598 vector Substances 0.000 claims abstract description 276
- 230000006870 function Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 abstract description 6
- 238000013528 artificial neural network Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 16
- 230000010354 integration Effects 0.000 description 7
- KNMAVSAGTYIFJF-UHFFFAOYSA-N 1-[2-[(2-hydroxy-3-phenoxypropyl)amino]ethylamino]-3-phenoxypropan-2-ol;dihydrochloride Chemical compound Cl.Cl.C=1C=CC=CC=1OCC(O)CNCCNCC(O)COC1=CC=CC=C1 KNMAVSAGTYIFJF-UHFFFAOYSA-N 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、学習装置、学習方法、検索装置、検索方法及びプログラムに関する。 The present invention relates to a learning device, a learning method, a search device, a search method and a program.
文書等の情報から必要な情報を検索する際の検索精度を向上させるための手法として、適合性フィードバックという手法が知られている。この手法は、検索結果をユーザに提示して、良い(ユーザが望む)検索結果なのか、悪い検索結果なのかのフィードバックを得ることにより、最終的な検索結果の精度を向上させていく手法である。例えば、特許文献1には、語間の関連性を考慮した適合性フィードバックを実現して、検索時間の短縮と精度の高い検索を可能にする情報検索方法が開示されている。
A method called conformity feedback is known as a method for improving the search accuracy when searching for necessary information from information such as documents. This method improves the accuracy of the final search result by presenting the search result to the user and getting feedback on whether the search result is good (desired by the user) or bad. is there. For example,
特許文献1に開示されている情報検索方法では、適合性フィードバックを行うことによって、精度の高い検索を可能にしている。しかし、フィードバックが得られていない新規の検索文に対しては、精度の高い検索を行うことができない。
The information retrieval method disclosed in
本発明は、上記実情に鑑みてなされたものであり、フィードバックが得られていない新規の検索文に対しても精度の高い検索を行うための学習装置、学習方法、検索装置、検索方法及びプログラムを提供することを目的とする。 The present invention has been made in view of the above circumstances, and is a learning device, a learning method, a search device, a search method, and a program for performing a highly accurate search even for a new search sentence for which feedback has not been obtained. The purpose is to provide.
上記目的を達成するため、本発明の第1の観点に係る学習装置は、
基準データを取得する基準データ取得手段と、
入力されたデータから特徴ベクトルを生成する特徴ベクトル生成手段と、
前記基準データに類似する類似データを取得する類似データ取得手段と、
前記特徴ベクトルを入力すると前記特徴ベクトルの次元数より低い次元数の中間ベクトルを生成するエンコーダと、前記中間ベクトルを入力すると前記特徴ベクトルと同じ次元数の出力ベクトルを生成するデコーダと、からなるオートエンコーダと、
前記オートエンコーダのパラメータを更新する更新手段と、
を備え、
前記更新手段は、
前記基準データを前記特徴ベクトル生成手段に入力して生成される第1の特徴ベクトルと、前記第1の特徴ベクトルを前記オートエンコーダに入力して生成される出力ベクトルと、の間の誤差である第1の誤差が小さくなるように前記オートエンコーダのパラメータを更新する第1の更新処理と、
前記第1の特徴ベクトルを前記オートエンコーダのエンコーダに入力して生成される第1の中間ベクトルと、前記類似データを前記特徴ベクトル生成手段に入力して生成される第2の特徴ベクトルを前記オートエンコーダのエンコーダに入力して生成される第2の中間ベクトルと、の間の誤差である第2の誤差が小さくなるように前記オートエンコーダのパラメータを更新する第2の更新処理と、
を行う。
In order to achieve the above object, the learning device according to the first aspect of the present invention is
Standard data acquisition means for acquiring standard data,
A feature vector generation means that generates a feature vector from the input data,
Similar data acquisition means for acquiring similar data similar to the reference data, and
An auto consisting of an encoder that generates an intermediate vector having a dimension number lower than the dimension number of the feature vector when the feature vector is input, and a decoder that generates an output vector having the same dimension number as the feature vector when the intermediate vector is input. With the encoder
An update means for updating the parameters of the autoencoder, and
With
The update means
It is an error between the first feature vector generated by inputting the reference data into the feature vector generating means and the output vector generated by inputting the first feature vector into the autoencoder. The first update process of updating the parameters of the autoencoder so that the first error becomes small, and
The first intermediate vector generated by inputting the first feature vector into the encoder of the autoencoder and the second feature vector generated by inputting the similar data into the feature vector generating means are referred to as the auto. A second update process for updating the parameters of the autoencoder so that the second error, which is an error between the second intermediate vector generated by inputting to the encoder of the encoder, becomes smaller.
I do.
前記更新手段は、前記第1の更新処理と前記第2の更新処理とを交互に繰り返し行うことにより、前記第1の誤差と前記第2の誤差とがともに小さくなるように前記オートエンコーダのパラメータを更新する、
ようにしてもよい。
The update means alternately repeats the first update process and the second update process, so that both the first error and the second error are reduced by the parameters of the autoencoder. To update,
You may do so.
前記類似データ取得手段は、1つの前記基準データに対して複数の前記類似データを取得し、
前記更新手段は、前記複数の前記類似データを用いて前記第2の更新処理を行う、
ようにしてもよい。
The similar data acquisition means acquires a plurality of the similar data with respect to one reference data, and obtains a plurality of the similar data.
The update means performs the second update process using the plurality of similar data.
You may do so.
前記更新手段は、前記第1の誤差を自乗誤差を求めることにより算出し、前記第2の誤差をコサイン類似度を求めることにより算出する、
ようにしてもよい。
The updating means calculates the first error by obtaining the square error, and calculates the second error by obtaining the cosine similarity.
You may do so.
前記更新手段は、前記第1の誤差と前記第2の誤差との自乗和平均又は調和平均の値が最小になるように、前記第1の更新処理と前記第2の更新処理とを行う、
ようにしてもよい。
The update means performs the first update process and the second update process so that the value of the square sum average or the harmonic mean of the first error and the second error is minimized.
You may do so.
上記目的を達成するため、本発明の第2の観点に係る学習方法は、
特徴ベクトルを入力すると前記特徴ベクトルの次元数より低い次元数の中間ベクトルを生成するエンコーダと、前記中間ベクトルを入力すると前記特徴ベクトルと同じ次元数の出力ベクトルを生成するデコーダと、からなるオートエンコーダの学習方法であって、
基準データから第1の特徴ベクトルを生成する第1の特徴ベクトル生成ステップと、
前記基準データと類似する類似データから第2の特徴ベクトルを生成する第2の特徴ベクトル生成ステップと、
前記オートエンコーダのパラメータを更新する更新ステップと、
を備え、
前記更新ステップでは、
前記第1の特徴ベクトル生成ステップで生成された前記第1の特徴ベクトルと、前記第1の特徴ベクトルを前記オートエンコーダに入力して生成される出力ベクトルと、の間の誤差である第1の誤差が小さくなるように前記オートエンコーダのパラメータを更新する第1の更新処理と、
前記第1の特徴ベクトルを前記オートエンコーダのエンコーダに入力して生成される第1の中間ベクトルと、前記第2の特徴ベクトルを前記オートエンコーダのエンコーダに入力して生成される第2の中間ベクトルと、の間の誤差である第2の誤差が小さくなるように前記オートエンコーダのパラメータを更新する第2の更新処理と、
を行う。
In order to achieve the above object, the learning method according to the second aspect of the present invention is
An autoencoder consisting of an encoder that generates an intermediate vector having a dimension number lower than the dimension number of the feature vector when a feature vector is input, and a decoder that generates an output vector having the same dimension number as the feature vector when the feature vector is input. Is a learning method of
The first feature vector generation step to generate the first feature vector from the reference data, and
A second feature vector generation step of generating a second feature vector from similar data similar to the reference data, and
An update step for updating the parameters of the autoencoder, and
With
In the update step
The first, which is an error between the first feature vector generated in the first feature vector generation step and the output vector generated by inputting the first feature vector into the autoencoder. The first update process of updating the parameters of the autoencoder so that the error becomes small, and
A first intermediate vector generated by inputting the first feature vector into the encoder of the autoencoder and a second intermediate vector generated by inputting the second feature vector into the encoder of the autoencoder. A second update process for updating the parameters of the autoencoder so that the second error, which is an error between the two, is reduced.
I do.
上記目的を達成するため、本発明の第3の観点に係る検索装置は、
本発明の第2の観点に係る学習方法でパラメータを更新したオートエンコーダと、
入力されたデータから特徴ベクトルを生成する特徴ベクトル生成手段と、
検索される被検索データを前記特徴ベクトル生成手段に入力して生成される被検索特徴ベクトルを前記オートエンコーダのエンコーダに入力して生成される中間ベクトルである被検索中間ベクトルを生成することにより、前記被検索データの集合である被検索データ群から、前記被検索中間ベクトルの集合である被検索中間ベクトル群を予め生成する被検索中間ベクトル群生成手段と、
検索対象となる検索データを取得する検索データ取得手段と、
前記検索データを前記特徴ベクトル生成手段に入力して生成される検索特徴ベクトルを前記オートエンコーダのエンコーダに入力して生成される中間ベクトルである検索中間ベクトルと、前記被検索中間ベクトルと、の間のコサイン類似度に基づいて、前記被検索データ群の中から前記検索データに類似する前記被検索データを検索する検索手段と、
を備える。
In order to achieve the above object, the search device according to the third aspect of the present invention is
An autoencoder whose parameters have been updated by the learning method according to the second aspect of the present invention,
A feature vector generation means that generates a feature vector from the input data,
By inputting the searched data to be searched into the feature vector generation means and generating the searched intermediate vector which is an intermediate vector generated by inputting the searched feature vector into the encoder of the auto encoder, the searched intermediate vector is generated. A search intermediate vector group generation means for generating in advance a search intermediate vector group, which is a set of search intermediate vectors, from a search data group, which is a set of search data.
Search data acquisition means to acquire search data to be searched, and
Between the search intermediate vector, which is an intermediate vector generated by inputting the search data into the feature vector generation means and the search feature vector generated by inputting the search feature vector into the encoder of the auto encoder, and the search intermediate vector. A search means for searching the searched data similar to the search data from the searched data group based on the cosine similarity of the above.
To be equipped.
上記目的を達成するため、本発明の第4の観点に係る検索方法は、
本発明の第2の観点に係る学習方法でパラメータを更新したオートエンコーダによる検索方法であって、
検索される被検索データから生成される被検索特徴ベクトルを前記オートエンコーダのエンコーダに入力して生成される中間ベクトルである被検索中間ベクトルを生成することにより、前記被検索データの集合である被検索データ群から、前記被検索中間ベクトルの集合である被検索中間ベクトル群を予め生成する被検索中間ベクトル群生成ステップと、
検索対象となる検索データから検索特徴ベクトルを生成する検索特徴ベクトル生成ステップと、
前記検索特徴ベクトルを前記オートエンコーダのエンコーダに入力して生成される中間ベクトルである検索中間ベクトルと、前記被検索中間ベクトルと、の間のコサイン類似度に基づいて、前記被検索データ群の中から前記検索データに類似する前記被検索データを検索する検索ステップと、
を備える。
In order to achieve the above object, the search method according to the fourth aspect of the present invention is
A search method using an autoencoder in which parameters are updated by the learning method according to the second aspect of the present invention.
By inputting the searched feature vector generated from the searched searched data into the encoder of the auto encoder and generating the searched intermediate vector which is the intermediate vector generated, the searched is a set of the searched data. A search intermediate vector group generation step that previously generates a search intermediate vector group that is a set of the search intermediate vectors from the search data group,
A search feature vector generation step that generates a search feature vector from the search data to be searched, and
In the search data group, based on the cosine similarity between the search intermediate vector, which is an intermediate vector generated by inputting the search feature vector into the encoder of the autoencoder, and the search intermediate vector. To search for the searched data similar to the search data from
To be equipped.
上記目的を達成するため、本発明の第5の観点に係るプログラムは、
コンピュータを、
基準データを取得する基準データ取得手段、
入力されたデータから特徴ベクトルを生成する特徴ベクトル生成手段、
前記基準データに類似する類似データを取得する類似データ取得手段、
前記特徴ベクトルを入力すると前記特徴ベクトルの次元数より低い次元数の中間ベクトルを生成するエンコーダと、前記中間ベクトルを入力すると前記特徴ベクトルと同じ次元数の出力ベクトルを生成するデコーダと、からなるオートエンコーダ、
前記オートエンコーダのパラメータを更新する更新手段、
として機能させるためのプログラムであって、
前記更新手段は、
前記基準データを前記特徴ベクトル生成手段に入力して生成される第1の特徴ベクトルと、前記第1の特徴ベクトルを前記オートエンコーダに入力して生成される出力ベクトルと、の間の誤差である第1の誤差が小さくなるように前記オートエンコーダのパラメータを更新する第1の更新処理と、
前記第1の特徴ベクトルを前記オートエンコーダのエンコーダに入力して生成される第1の中間ベクトルと、前記類似データを前記特徴ベクトル生成手段に入力して生成される第2の特徴ベクトルを前記オートエンコーダのエンコーダに入力して生成される第2の中間ベクトルと、の間の誤差である第2の誤差が小さくなるように前記オートエンコーダのパラメータを更新する第2の更新処理と、
を行う。
In order to achieve the above object, the program according to the fifth aspect of the present invention is
Computer,
Reference data acquisition means for acquiring reference data,
Feature vector generation means, which generates a feature vector from the input data,
Similar data acquisition means for acquiring similar data similar to the reference data,
An auto consisting of an encoder that generates an intermediate vector having a dimension number lower than the dimension number of the feature vector when the feature vector is input, and a decoder that generates an output vector having the same dimension number as the feature vector when the intermediate vector is input. Encoder,
An update means for updating the parameters of the autoencoder,
It is a program to function as
The update means
It is an error between the first feature vector generated by inputting the reference data into the feature vector generating means and the output vector generated by inputting the first feature vector into the autoencoder. The first update process of updating the parameters of the autoencoder so that the first error becomes small, and
The first intermediate vector generated by inputting the first feature vector into the encoder of the autoencoder and the second feature vector generated by inputting the similar data into the feature vector generating means are referred to as the auto. A second update process for updating the parameters of the autoencoder so that the second error, which is an error between the second intermediate vector generated by inputting to the encoder of the encoder, becomes smaller.
I do.
本発明によれば、フィードバックが得られていない新規の検索文に対しても精度の高い検索を行うための学習装置、学習方法、検索装置、検索方法及びプログラムを提供することができる。 According to the present invention, it is possible to provide a learning device, a learning method, a search device, a search method, and a program for performing a highly accurate search even for a new search sentence for which feedback has not been obtained.
以下、本発明の学習装置を、ソフトウェア開発等におけるプロジェクト管理システムに適用した実施の形態について、図面を参照して説明する。なお、図中、同一又は相当部分には同一符号を付す。 Hereinafter, embodiments in which the learning device of the present invention is applied to a project management system in software development and the like will be described with reference to the drawings. In the figure, the same or corresponding parts are designated by the same reference numerals.
実施の形態に係るプロジェクト管理システム1は、ソフトウェア開発等におけるプロジェクトの進捗や課題等を管理するシステムである。図1に示すように、プロジェクト管理システム1は、管理装置100と端末200とを備える。
The
プロジェクト管理システム1において、ソフトウェア開発等の担当者は、解決すべき課題が発生した際に、端末200を通して、図2に示すようなチケットを入力する。そして、入力されたチケットは、入力された順番にチケット番号が付されて管理装置100の記憶部16に記憶されていき、図3に示すようなチケットDB(DataBase)が構成される。チケットDBが構成されると、担当者や管理者は、チケットDBに登録されたチケットを確認することにより、プロジェクトの進捗や課題等を管理できるようになる。
In the
また、新たに発生した課題を担当者や管理者が解決する際には、過去に発生した類似課題の情報が参考になる場合があるため、管理装置100は、それまでに入力された過去のチケットの情報を学習して、新たに入力されたチケットに記載された課題と類似する課題が記載された過去のチケット(類似チケット)を検索する機能を持つ。このような、過去のチケットの情報を学習し、類似チケットを検索する管理装置100の構成について以下に説明する。
Further, when the person in charge or the administrator solves the newly generated problem, the information of the similar problem that has occurred in the past may be referred to, so that the
管理装置100は、図1に示すように、制御部10と、記憶部16と、通信部17と、を備える。
As shown in FIG. 1, the
制御部10は、CPU(Central Processing Unit)等で構成される。制御部10は、記憶部16に記憶されたプログラムを実行することにより、後述する各部(データ取得部11、特徴ベクトル生成部12、類似データ取得部13、オートエンコーダ14、更新部15)の機能を実現する。
The
記憶部16は、ROM(Read Only Memory)、RAM(Random Access Memory)等で構成され、チケットDB及び後述するフィードバックDB並びに制御部10のCPUが実行するプログラム及び必要なデータを記憶する。
The
通信部17は、他の機器とデータ通信を行うためのデバイス(ネットワークカード等)で構成される。管理装置100は、通信部17を介して、端末200や他の装置等とデータの送受信を行う。
The
次に、制御部10の機能について説明する。制御部10は、データ取得部11、特徴ベクトル生成部12、類似データ取得部13、オートエンコーダ14、更新部15の機能を実現する。
Next, the function of the
データ取得部11は、管理装置100に登録された大量のチケットからなるチケットDBから、各チケットのタイトル及び本文の情報を取得する。後述する学習処理においては、データ取得部11は基準チケットのタイトル及び本文の情報(基準データ)を取得し、データ取得部11は、基準データ取得手段として機能する。なお、チケットのタイトル及び本文の情報は、基準データの一例であり、データ取得部11は、他の情報を基準データとして用いてもよい。例えば、チケットの優先度等も含めて基準データとしてもよいし、逆にタイトルのみ、本文のみを基準データとしてもよい。
The data acquisition unit 11 acquires information on the title and text of each ticket from the ticket DB composed of a large number of tickets registered in the
特徴ベクトル生成部12は、入力されたデータから特徴ベクトルを生成する。特徴ベクトル生成部12は、特徴ベクトル生成手段として機能する。具体的には、特徴ベクトル生成部12は、チケットが入力データとして与えられると、当該チケットのタイトルと本文を分かち書き文にして、当該分かち書き文中に出現する各単語の出現頻度から特徴ベクトルを生成する。本実施の形態では、この特徴ベクトルはBoW(Bag of Words)ベクトルである。BoWベクトルとは、単語の種類数(例えば2万)を次元数とし、各単語が当該分かち書き文に出現する頻度を各次元の要素の値とするベクトルである。
The feature
類似データ取得部13は、担当者等からのフィードバックを受けることにより、チケットDBに登録された大量のチケットの中でタイトル及び本文の情報が互いに類似するチケットの情報を取得する。類似データ取得部13は、類似データ取得手段として機能する。具体的には、類似データ取得部13は、管理装置100に登録された大量のチケットの中の1つのチケット(例えば最も直近に入力されたチケット)を基準チケットとし、基準チケットに類似するチケットを所定の数(例えば10個)抽出する。この抽出は、基準チケット及び他の各チケットに対して、特徴ベクトル生成部12により特徴ベクトルを生成し、基準チケットの特徴ベクトルと他の各チケットの特徴ベクトルとの間のコサイン類似度を求め、基準チケットとのコサイン類似度の高い順に所定の数(例えば10個)の他の各チケットを抽出することにより行われる。
By receiving feedback from the person in charge or the like, the similar
そして、図4に示すように、担当者等の使用する端末200の表示部23に、抽出された各チケットを表示し、それら抽出された各チケットが基準チケットと本当に類似しているか否かについて、担当者等からフィードバックを受ける。類似データ取得部13が、受けたフィードバックの情報を管理装置100の記憶部16に登録していくことにより、図5に示すようなフィードバックDBが構成される。類似するチケットに関するフィードバック情報の登録をいつ行うかは任意であるが、例えば、類似データ取得部13は、新規チケットが登録される度に、当該新規チケットを基準チケットとして、類似チケットの情報のフィードバックを受け、フィードバックDBに登録する。
Then, as shown in FIG. 4, each extracted ticket is displayed on the
オートエンコーダ14は、図6に示すように、ニューラルネットワークによるエンコーダ141とデコーダ142とを接続したニューラルネットワークである。オートエンコーダ14において、エンコーダ141に入力された入力ベクトル143は、入力ベクトル143よりも次元数の低い次元数の中間ベクトル144に変換される。そして、中間ベクトル144は、デコーダ142に入力され、入力ベクトル143と同じ次元数の出力ベクトル145に変換される。
As shown in FIG. 6, the
そして、入力ベクトル143と出力ベクトル145との間の誤差(第1の誤差146)が小さくなるように(出力ベクトル145が入力ベクトル143を復元できるように)、エンコーダ141及びデコーダ142のニューラルネットワークを学習させることにより、オートエンコーダ14が得られる。オートエンコーダ14のニューラルネットワークの学習は、後述する学習処理により、ニューラルネットワークの内部のパラメータ(ニューラルネットワークの各結合の重み等)が更新されることによって行われる。
Then, the neural network of the
本実施の形態においては、オートエンコーダ14(エンコーダ141)に入力される入力ベクトル143の次元数及びオートエンコーダ14(デコーダ142)から出力される出力ベクトル145の次元数は、特徴ベクトル生成部12が生成する特徴ベクトルの次元数であり、例えば2万次元である。また、オートエンコーダ14の中間ベクトル144の次元数は特徴ベクトル生成部12が生成する特徴ベクトルの次元数よりも低い次元数であり、例えば1000次元である。また、デコーダ142のニューラルネットワークとエンコーダ141のニューラルネットワークとは、互いに転置の関係にあるニューラルネットワークとすることができる。
In the present embodiment, the feature
更新部15は、オートエンコーダ14の誤差(第1の誤差146等)が小さくなるようにオートエンコーダ14の内部のパラメータ(ニューラルネットワークの各結合の重み等)を更新する。更新部15は、更新手段として機能する。
The
端末200は、PC(Personal Computer)等の情報端末機器である。端末200は、図1に示すように、制御部20と、記憶部21と、通信部22と、表示部23と、入力部24と、を備え、管理装置100と通信可能に接続されている。
The terminal 200 is an information terminal device such as a PC (Personal Computer). As shown in FIG. 1, the terminal 200 includes a
制御部20は、CPU等で構成される。制御部20は、記憶部21に記憶されたプログラムを実行することにより、管理装置100にアクセスするWebブラウザの機能等を実現する。
The
記憶部21は、ROM、RAM等で構成され、制御部20のCPUが実行するプログラム及び必要なデータを記憶する。
The
通信部22は、他の機器とデータ通信を行うためのデバイス(ネットワークカード等)で構成される。端末200は、通信部22を介して、管理装置100等とデータの送受信を行う。
The
表示部23は、液晶ディスプレイや有機EL(Electro−Luminescence)等のディスプレイで構成され、管理装置100から受信したチケットの情報等を表示する。
The
入力部24は、キーボード、マウス、タッチパネル等で構成され、担当者等からのチケットやフィードバック等の入力を受け付ける。
The
なお、図1では、端末200が1つのみ示されているが、プロジェクト管理システム1は、複数の端末200を備えて、どの端末200からでも管理装置100と通信できるようにしてもよい。また、逆に、プロジェクト管理システム1は、管理装置100が表示部及び入力部を備えるなら、端末200を備えなくてもよい。この場合、チケット等の情報は、管理装置100の表示部に表示され、管理装置100の入力部が担当者等からのチケットやフィードバック等の入力を受け付ける。
Although only one
次に、プロジェクト管理システム1のハードウェア構成について、図7を参照して説明する。管理装置100は、CPU(Central Processing Unit)101と、RAM(Random Access Memory)102と、ROM(Read Only Memory)103と、ハードディスクドライブ104と、ネットワークカード105とを備える。
Next, the hardware configuration of the
CPU101は、ハードディスクドライブ104に記憶されているプログラムをRAM102に読み出して実行することにより、制御部10として機能し、上述した各部の機能を実現する。
The
RAM102は、揮発性メモリであり、CPU101の作業領域や、CPU101が実行するプログラムで使用される変数を格納する領域として用いられる。
The
ROM103は、不揮発性メモリであり、CPU101が実行する管理装置100の基本動作のための制御プログラム、BIOS(Basic Input Output System)等を記憶する。
The
ハードディスクドライブ104は、管理装置100に格納する各種情報と、CPU101が実行するプログラムが格納される。RAM102、ROM103及びハードディスクドライブ104により記憶部16が構成される。
The
ネットワークカード105は、通信回線とのインターフェースであり、端末200が備える後述するネットワークカード205と通信可能に接続されている。ネットワークカード105とネットワークカード205との間は直接接続されていても良いし、インターネット、イントラネット、VPN(Virtual Private Network)、LAN(Local Area Network)等のネットワークを介して接続されていても良い。ネットワークカード105により、通信部17が構成される。
The
端末200は、CPU201と、RAM202と、ROM203と、ハードディスクドライブ204と、ネットワークカード205と、ディスプレイ206と、キーボード207とを備える。
The terminal 200 includes a
CPU201は、ハードディスクドライブ204に記憶されているプログラムをRAM202に読み出して実行することにより、制御部20として機能し、端末200における各種処理を実行する。
The
RAM202は、揮発性メモリであり、CPU201の作業領域や、CPU201が実行するプログラムで使用される変数を格納する領域として用いられる。
The
ROM203は、不揮発性メモリであり、CPU201が実行する端末200の基本動作のための制御プログラム、BIOS等を記憶する。
The
ハードディスクドライブ204は、端末200に格納する各種情報と、CPU201が実行するプログラムが格納される。RAM202、ROM203及びハードディスクドライブ204により記憶部21が構成される。
The
ネットワークカード205は、通信回線とのインターフェースであり、管理装置100が備えるネットワークカード105と通信可能に接続されている。ネットワークカード205とネットワークカード105との間は直接接続されていても良いし、インターネット、イントラネット、VPN、LAN等のネットワークを介して接続されていても良い。ネットワークカード205により、通信部22が構成される。
The
次に、後述する検索処理によって類似チケットを検索できるようにするために、過去のチケットの情報を学習する学習処理について図8を参照して説明する。学習処理は、プロジェクト管理システム1の管理者等が、管理装置100に学習処理の開始を指示すると開始される。この時、管理装置100は、学習装置として動作する。なお、学習処理開始時点で、管理装置100の記憶部16に記憶されているチケットDBにはチケット数分のチケット情報が、フィードバックDBにはフィードバック数分のフィードバック情報が、それぞれ格納されているものとする。
Next, a learning process for learning information on past tickets will be described with reference to FIG. 8 so that similar tickets can be searched by the search process described later. The learning process is started when the manager or the like of the
まず、管理装置100の制御部10は、チケット番号を指定する変数TNを1に初期化する(ステップS101)。次に、データ取得部11は、チケットDBからチケット番号がTNであるチケットのタイトル及び本文(文章TNとする)を取得する(ステップS102)。
First, the
そして、特徴ベクトル生成部12は、文章TNからBoWTNベクトルを生成する(ステップS103)。ここで、BoWTNベクトルは第1の特徴ベクトルとも呼ばれ、ステップS103は第1の特徴ベクトル生成ステップとも呼ばれる。次に、制御部10は、オートエンコーダ14に、BoWTNベクトルを入力し、第1の誤差146を算出する(ステップS104)。第1の誤差146とは、図9に示すように、BoWTNベクトルを入力ベクトル143としてオートエンコーダ14に入力した時にオートエンコーダ14から出力される出力ベクトル145と、入力ベクトル143と、の間の誤差である。制御部10は、第1の誤差146を、自乗誤差(各ベクトルの対応する要素の差を自乗した値の総和)として算出する。
Then, the feature
そして、更新部15は、算出された第1の誤差146が小さくなるように、オートエンコーダ14のニューラルネットワークのパラメータ(結合の重みなど)を更新する(ステップS105)。次に、制御部10は、変数TNに1を加算する(ステップS106)。
Then, the
そして、制御部10は、変数TNの値が、チケットDBに格納されているチケット数より大きいか否かを判定する(ステップS107)。変数TNの値がチケット数以下なら(ステップS107;No)、ステップS102に戻る。
Then, the
変数TNの値がチケット数より大きいなら(ステップS107;Yes)、制御部10は、フィードバック番号を指定する変数FNを1に初期化する(ステップS108)。そして、類似データ取得部13は、フィードバックDBからフィードバック番号がFNである基準チケット番号(FN1とする)と類似チケット番号(FN2とする)を取得し、チケットDBからチケット番号がFN1であるチケット(基準チケット)のタイトル及び本文(文章FN1とする)とチケット番号がFN2であるチケット(類似チケット)のタイトル及び本文(文章FN2とする)とを取得する(ステップS109)。
If the value of the variable TN is larger than the number of tickets (step S107; Yes), the
次に、特徴ベクトル生成部12は、文章FN1からBoWFN1ベクトルを生成し、文章FN2からBoWFN2ベクトルを生成する(ステップS110)。なお、BoWFN1ベクトルは第1の特徴ベクトルとも呼ばれ、BoWFN2ベクトルは第2の特徴ベクトルとも呼ばれる。そして、ステップS110は、文章FN1からBoWFN1ベクトルを生成する第1の特徴ベクトル生成ステップと、文章FN2からBoWFN2ベクトルを生成する第2の特徴ベクトル生成ステップとからなる。
Next, the feature
次に、制御部10は、オートエンコーダ14のエンコーダ141にBoWFN1ベクトル及びBoWFN2ベクトルをそれぞれ入力して得られる中間ベクトル144及び中間ベクトル144’に基づき第2の誤差147を算出する(ステップS111)。なお、ここで得られる中間ベクトル144は第1の中間ベクトルとも呼ばれ、中間ベクトル144’は第2の中間ベクトルとも呼ばれる。
Next, the
第2の誤差147とは、図9に示すように、オートエンコーダ14のエンコーダ141に、BoWFN1ベクトルを入力ベクトル143として入力して得られる中間ベクトル144と、エンコーダ141に、BoWFN2ベクトルを入力ベクトル143’として入力して得られる中間ベクトル144’と、の間の誤差である。制御部10は、第2の誤差147を、コサイン類似度(2つのベクトルの内積を、各ベクトルの長さ(L2ノルム)で割った値)として算出する。
And the
なお、ここでコサイン類似度を用いている理由は、後述するように、中間ベクトル144を文章の類似度の算出に用いるためである。この場合、第2の誤差147については、誤差の絶対的な値を小さくするよりも、中間ベクトル144の間の類似度を高める(コサイン類似度を1に近づける)方が良いからである。一般的な誤差(小さい方が類似度が高い)と性質を似せるため、第2の誤差147を、コサイン類似度の逆数(1/コサイン類似度)として算出したり、1からコサイン類似度を引いた値(1−コサイン類似度)として算出したりしてもよい。
The reason why the cosine similarity is used here is that the
図8に戻り、更新部15は、算出された第2の誤差147が小さくなるように(コサイン類似度の値が1に近づくように)、オートエンコーダ14のニューラルネットワークのパラメータを更新する(ステップS112)。なお、ステップS105は第1の更新処理であり、ステップS112は第2の更新処理である。そして、ステップS105とステップS112は更新ステップとも呼ばれる。
Returning to FIG. 8, the
次に、制御部10は、変数FNに1を加算する(ステップS113)。そして、制御部10は、変数FNの値が、フィードバックDBに格納されているフィードバック数より大きいか否かを判定する(ステップS114)。変数FNの値がフィードバック数以下なら(ステップS114;No)、ステップS109に戻る。
Next, the
変数FNの値がフィードバック数より大きいなら(ステップS114;Yes)、制御部10は、第1の誤差146と第2の誤差147を統合した誤差(統合誤差)が、学習処理を開始してからそれまでの最小値になったか否かを判定する(ステップS115)。第1の誤差146と第2の誤差147を統合した誤差(統合誤差)とは、この統合誤差を小さくすることにより、第1の誤差146と第2の誤差147とが総合的に小さくなるような指標となる値である。例えば、第2の誤差147を1からコサイン類似度を引いた値(1−コサイン類似度)として算出する場合、第1の誤差146と第2の誤差147の平均(調和平均、自乗和平均、算術平均、幾何平均等のうちのいずれか)の値を統合誤差とすることができる。
If the value of the variable FN is larger than the number of feedbacks (step S114; Yes), the
統合誤差が最小値であるなら(ステップS115;Yes)、制御部10は、その時点でのオートエンコーダ14のニューラルネットワークのパラメータを記憶部16に保存し(ステップS116)、ステップS101に戻る。
If the integration error is the minimum value (step S115; Yes), the
統合誤差が最小値でないなら(ステップS115;No)、制御部10は、統合誤差が最小値にならずにステップS101からステップS116までのループを所定の回数(例えば100回)繰り返したか否かを判定する(ステップS117)。
If the integration error is not the minimum value (step S115; No), the
まだ所定の回数繰り返していなければ(ステップS117;No)、ステップS101に戻る。所定の回数繰り返していたら(ステップS117;Yes)、更新部15は、ステップS116で記憶部16に保存したパラメータで、オートエンコーダ14のニューラルネットワークのパラメータを更新し(ステップS118)、学習処理を終了する。
If the process has not been repeated a predetermined number of times (step S117; No), the process returns to step S101. If the process is repeated a predetermined number of times (step S117; Yes), the
上述した学習処理が行われることにより、オートエンコーダ14のエンコーダ141は、エンコーダ141に入力される特徴ベクトルの元の文章が類似すると、エンコーダ141が出力する中間ベクトル144も類似するように、ニューラルネットワークのパラメータが更新される。
By performing the above-mentioned learning process, the
なお、上述した学習処理(図8)では、1つのチケット情報から誤差を算出する(ステップS104)毎にパラメータ更新(ステップS105)を行っていたが、第1の誤差の算出を複数(バッチサイズ)のチケット情報で行ってからパラメータ更新を行う、いわゆるミニバッチ学習を行ってもよい。フィードバック情報についても同様に、第2の誤差の算出を複数(バッチサイズ)のフィードバック情報で行ってからパラメータ更新を行うようにしてもよい。このようにすることにより、一部の特殊なデータによって算出された異常な誤差による(検索精度に悪影響を与える)パラメータ更新を避けることができる。 In the learning process (FIG. 8) described above, the parameter is updated (step S105) every time the error is calculated from one ticket information (step S104), but a plurality of first error calculations (batch size) are performed. ), So-called mini-batch learning, in which parameters are updated after the ticket information is used, may be performed. Similarly, for the feedback information, the second error may be calculated with a plurality of (batch size) feedback information, and then the parameters may be updated. By doing so, it is possible to avoid parameter updates (which adversely affect the search accuracy) due to an abnormal error calculated by some special data.
また、チケットDBに格納されているチケット数の大きさと、フィードバックDBに格納されているフィードバック数の大きさとが、かなり異なる場合(例えば、チケット数が、フィードバック数の2倍以上等)、少ない方の情報を繰り返し用いることにより、ステップS105によるパラメータ更新の回数と、ステップS112によるパラメータ更新の回数とが大体同じ回数になるようにチケット数及びフィードバック数を調整してもよい。 Also, if the size of the number of tickets stored in the ticket DB and the size of the number of feedbacks stored in the feedback DB are significantly different (for example, the number of tickets is twice or more the number of feedbacks), the smaller one. By repeatedly using the information in the above, the number of tickets and the number of feedbacks may be adjusted so that the number of parameter updates in step S105 and the number of parameter updates in step S112 are approximately the same.
第1の誤差と第2の誤差とが共に小さくなるのが理想だが、実際にはこの2つの誤差の間で綱引き状態になることが多い。その場合、チケット数がフィードバック数より多いと第1の誤差の最小化を優先したパラメータ更新が行われ、フィードバック数がチケット数より多いと第2の誤差の最小化を優先したパラメータ更新が行われがちである。上述の調整を行うことにより、このような偏ったパラメータ更新を防ぎ、第1の誤差と第2の誤差の両方をバランス良く小さくすることができるようになる。 Ideally, both the first error and the second error should be small, but in reality, there is often a tug of war between these two errors. In that case, if the number of tickets is larger than the number of feedbacks, the parameter update that prioritizes the minimization of the first error is performed, and if the number of feedbacks is larger than the number of tickets, the parameter update that prioritizes the minimization of the second error is performed. It tends to be. By making the above adjustments, it is possible to prevent such a biased parameter update and reduce both the first error and the second error in a well-balanced manner.
次に、上述の学習処理により学習されたオートエンコーダ14を用いて類似チケットを検索する検索処理について、図10を参照して説明する。担当者等が、検索対象となるチケット(検索チケット)を示して、管理装置100に検索処理の開始を指示すると、検索処理が開始される。この時、管理装置100は、検索装置として動作する。なお、検索処理開始前に、既に上述の学習処理(図8)により、管理装置100のオートエンコーダ14の学習(ニューラルネットワークのパラメータの更新)は済んでおり、記憶部16に記憶されているチケットDBにはチケット数分のチケット情報が格納されているものとする。チケットDBに格納されているデータは、検索されるチケット(被検索データ)の集まりなので、被検索データ群とも呼ばれる。
Next, a search process for searching for similar tickets using the
まず、管理装置100の制御部10は、チケット番号を指定する変数TNを1に初期化する(ステップS201)。次に、データ取得部11は、チケットDBからチケット番号がTNであるチケットのタイトル及び本文(文章TNとする)を取得する(ステップS202)。
First, the
そして、特徴ベクトル生成部12は、文章TNからBoWTNベクトルを生成する(ステップS203)。BoWTNベクトルは、検索されるチケット(被検索データ)の特徴ベクトルなので、被検索特徴ベクトルとも呼ばれる。次に、制御部10は、オートエンコーダ14のエンコーダ141にBoWTNベクトルを入力して、中間ベクトル144を取得し、当該中間ベクトルを特徴量VTNとして、記憶部16に保存する(ステップS204)。特徴量VTNは、検索されるチケット(被検索データ)の中間ベクトルなので、被検索中間ベクトルとも呼ばれる。ステップS204は、被検索中間ベクトル生成ステップとも呼ばれる。そして、ステップS204を実行する際、制御部10は被検索中間ベクトル生成手段として機能する。
Then, the feature
そして、制御部10は、変数TNに1を加算する(ステップS205)。次に、制御部10は、変数TNの値が、チケットDBに格納されているチケット数より大きいか否かを判定する(ステップS206)。変数TNの値がチケット数以下なら(ステップS206;No)、ステップS202に戻る。これにより、記憶部16には、TNが1からチケット数までのVTN(被検索中間ベクトル群)が保存される。ステップS201からステップS206までは、被検索中間ベクトル群生成ステップとも呼ばれる。そして、ステップS201からステップS206までを実行する際、制御部10は被検索中間ベクトル群生成手段として機能する。
Then, the
変数TNの値がチケット数より大きいなら(ステップS206;Yes)、データ取得部11は、検索処理の開始が指示された時に担当者等から示された検索チケットのタイトル及び本文(文章Sとする)を取得する(ステップS207)。ステップS207を実行する際、データ取得部11は検索データ取得手段として機能する。そして、特徴ベクトル生成部12は、文章SからBoWSベクトルを生成する(ステップS208)。BoWSベクトルは検索チケット(検索データ)の特徴ベクトルなので検索特徴ベクトルとも呼ばれ、ステップS208は検索特徴ベクトル生成ステップとも呼ばれる。
If the value of the variable TN is larger than the number of tickets (step S206; Yes), the data acquisition unit 11 sets the title and body of the search ticket (sentence S) indicated by the person in charge or the like when the start of the search process is instructed. ) Is acquired (step S207). When executing step S207, the data acquisition unit 11 functions as a search data acquisition means. Then, the feature
次に、制御部10は、オートエンコーダ14のエンコーダ141に、BoWSベクトルを入力して、出力される中間ベクトル144を特徴量VSとして取得する(ステップS209)。
Next, the
そして、制御部10は、記憶部16に保存されている特徴量VTN(TN=1〜チケット数)と特徴量VSとの間でコサイン類似度を計算し、コサイン類似度の高い順に所定の数(例えば10個)のチケットTN(特徴量VSとのコサイン類似度が高い特徴量VTNに対応するチケット)を抽出する(ステップS210)。ステップS210を実行する際、制御部10は、検索手段として機能する。また、ステップS210は、検索ステップとも呼ばれる。
Then, the
そして、制御部10は、抽出した類似チケットを出力して(ステップS211)、検索処理を終了する。この類似チケットの出力は、管理装置100にアクセスしている端末200の表示部23に表示(例えば端末200で動いているWebブラウザで表示)すること等によって行われる。
Then, the
なお、上記検索処理のうち、ステップS201からステップS206までの処理は、検索されるチケット(被検索データ)の中間ベクトルを生成する処理(被検索中間ベクトル群生成処理)であり、学習処理(図8)の後に一度実行すれば、その後の検索処理においては、再度実行する必要はない。被検索中間ベクトル群生成処理を行って、記憶部16に、被検索中間ベクトル群が保存されている状態の場合、検索処理は、ステップS201からステップS206をスキップして、ステップS207から開始される。
Of the above search processes, the processes from step S201 to step S206 are processes for generating intermediate vectors of the tickets to be searched (searched data) (searched intermediate vector group generation processing), and are learning processes (FIG. If it is executed once after 8), it is not necessary to execute it again in the subsequent search process. When the searched intermediate vector group generation process is performed and the searched intermediate vector group is stored in the
以上、検索処理について説明した。以上説明したように、学習処理によってチケットDB及びフィードバックDBの情報に基づいて、オートエンコーダ14を学習させることにより、フィードバックが得られていない新規の検索チケットに対しても、エンコーダ141が出力する中間ベクトルの類似度を用いることによって、精度の高い類似チケット検索を行うことができる。担当者や管理者は、新規のチケットに類似する過去のチケットの情報が得られたら、当該過去のチケットに対して行われた対応策等を参照することができるので、今後の作業の参考にすることができる。
The search process has been described above. As described above, by learning the
(変形例)
本発明は、上述した実施の形態に限定されるわけではなく、その他の種々の変更が可能である。例えば、プロジェクト管理システム1では、上記実施の形態で示した全ての技術的特徴を備えるものでなくてもよく、従来技術における少なくとも1つの課題を解決できるように、上記実施の形態で説明した一部の構成を備えたものであってもよい。また、下記の変形例それぞれについて、少なくとも一部を組み合わせても良い。
(Modification example)
The present invention is not limited to the above-described embodiment, and various other modifications are possible. For example, the
例えば、上述の実施の形態ではフィードバックの入力は図4に示すように、管理装置100によって抽出された所定の数のチケットの中からチェックボックスで入力する形態になっていた。しかし、フィードバックの入力はこれに限られない。例えば、管理装置100が抽出していないチケットであっても、担当者、管理者等が自ら見つけた類似チケットの情報をフィードバック可能にしてもよい。また、フィードバック時に、単に類似するという情報だけで無く、どの程度類似するのかの情報(例えば、「類似度高」、「類似度中」、「類似度低」等)も含めたフィードバックを可能にしてもよい。
For example, in the above-described embodiment, as shown in FIG. 4, the feedback input is in the form of inputting with a check box from a predetermined number of tickets extracted by the
類似度のフィードバックも行える場合、フィードバックDB(図5)には、類似度の情報も含めるようにし、学習処理(図8)のステップS112でのパラメータ更新の際は、類似度の大きさに応じてパラメータの更新の度合いを修正するようにしてもよい。このようにすることで、管理装置100は、フィードバックの情報をより反映した学習を行えるようになり、検索処理(図10)において、担当者や管理者により納得のいく検索結果を出力できるようになる。
When feedback of similarity can be performed, the feedback DB (FIG. 5) also includes information on similarity, and when updating the parameters in step S112 of the learning process (FIG. 8), it depends on the magnitude of similarity. The degree of parameter update may be modified. By doing so, the
また、上述の実施の形態では、プロジェクト管理におけるチケットについて、類似チケットを検索するための特徴量の学習、及び、学習した特徴量に基づく類似チケットの検索、をそれぞれ行う管理装置100について説明した。しかし、本発明の適用範囲は類似チケットの検索に限られない。一般的に、文書データの情報と、文書データ間の類似度についてのフィードバック情報と、が格納されたシステムにおいて、ある文書に類似した文書を検索する場合には、上述した学習処理及び検索処理を適用することができる。例えば、ネットワーク上で質問すると誰かが回答を返してくれるようなQ&Aシステムに本発明を適用すれば、新規の質問文に類似する過去の質問文が検索可能になる。そして、当該過去の質問文に対する回答を参照することにより、当該新規の質問をした人にとっても参考になる情報を得ることができる。
Further, in the above-described embodiment, the
なお、管理装置100及び端末200は、専用の装置によらず、通常のコンピュータを用いて実現可能である。例えば、コンピュータに上述のいずれかを実行するためのプログラムを格納した記録媒体から該プログラムをコンピュータにインストールすることにより、上述の処理を実行する管理装置100及び端末200を構成してもよい。また、複数のコンピュータが協働して動作することによって、1つの管理装置100又は端末200を構成しても良い。
The
また、コンピュータにプログラムを供給するための手法は、任意である。例えば、通信回線、通信ネットワーク、通信システム等を介して供給しても良い。 Also, the method for supplying the program to the computer is arbitrary. For example, it may be supplied via a communication line, a communication network, a communication system, or the like.
また、上述の機能の一部をOS(Operating System)が提供する場合には、OSが提供する機能以外の部分をプログラムで提供すれば良い。 When the OS (Operating System) provides a part of the above-mentioned functions, a part other than the functions provided by the OS may be provided by a program.
1…プロジェクト管理システム、10,20…制御部、11…データ取得部、12…特徴ベクトル生成部、13…類似データ取得部、14…オートエンコーダ、15…更新部、16,21…記憶部、17,22…通信部、23…表示部、24…入力部、100…管理装置、101,201…CPU、102,202…RAM、103,203…ROM、104,204…ハードディスクドライブ、105,205…ネットワークカード、141…エンコーダ、142…デコーダ、143,143’…入力ベクトル、144,144’…中間ベクトル、145…出力ベクトル、146…第1の誤差、147…第2の誤差、200…端末、206…ディスプレイ、207…キーボード 1 ... project management system, 10, 20 ... control unit, 11 ... data acquisition unit, 12 ... feature vector generation unit, 13 ... similar data acquisition unit, 14 ... auto encoder, 15 ... update unit, 16, 21 ... storage unit, 17, 22 ... Communication unit, 23 ... Display unit, 24 ... Input unit, 100 ... Management device, 101, 201 ... CPU, 102, 202 ... RAM, 103, 203 ... ROM, 104, 204 ... Hard disk drive, 105, 205 ... network card, 141 ... encoder, 142 ... decoder, 143, 143'... input vector, 144, 144' ... intermediate vector, 145 ... output vector, 146 ... first error, 147 ... second error, 200 ... terminal , 206 ... Display, 207 ... Keyboard
Claims (9)
入力されたデータから特徴ベクトルを生成する特徴ベクトル生成手段と、
前記基準データに類似する類似データを取得する類似データ取得手段と、
前記特徴ベクトルを入力すると前記特徴ベクトルの次元数より低い次元数の中間ベクトルを生成するエンコーダと、前記中間ベクトルを入力すると前記特徴ベクトルと同じ次元数の出力ベクトルを生成するデコーダと、からなるオートエンコーダと、
前記オートエンコーダのパラメータを更新する更新手段と、
を備え、
前記更新手段は、
前記基準データを前記特徴ベクトル生成手段に入力して生成される第1の特徴ベクトルと、前記第1の特徴ベクトルを前記オートエンコーダに入力して生成される出力ベクトルと、の間の誤差である第1の誤差が小さくなるように前記オートエンコーダのパラメータを更新する第1の更新処理と、
前記第1の特徴ベクトルを前記オートエンコーダのエンコーダに入力して生成される第1の中間ベクトルと、前記類似データを前記特徴ベクトル生成手段に入力して生成される第2の特徴ベクトルを前記オートエンコーダのエンコーダに入力して生成される第2の中間ベクトルと、の間の誤差である第2の誤差が小さくなるように前記オートエンコーダのパラメータを更新する第2の更新処理と、
を行う学習装置。 Standard data acquisition means for acquiring standard data,
A feature vector generation means that generates a feature vector from the input data,
Similar data acquisition means for acquiring similar data similar to the reference data, and
An auto consisting of an encoder that generates an intermediate vector having a dimension number lower than the dimension number of the feature vector when the feature vector is input, and a decoder that generates an output vector having the same dimension number as the feature vector when the intermediate vector is input. With the encoder
An update means for updating the parameters of the autoencoder, and
With
The update means
It is an error between the first feature vector generated by inputting the reference data into the feature vector generating means and the output vector generated by inputting the first feature vector into the autoencoder. The first update process of updating the parameters of the autoencoder so that the first error becomes small, and
The first intermediate vector generated by inputting the first feature vector into the encoder of the autoencoder and the second feature vector generated by inputting the similar data into the feature vector generating means are referred to as the auto. A second update process for updating the parameters of the autoencoder so that the second error, which is an error between the second intermediate vector generated by inputting to the encoder of the encoder, becomes smaller.
Learning device to do.
請求項1に記載の学習装置。 The update means alternately repeats the first update process and the second update process, so that both the first error and the second error are reduced by the parameters of the autoencoder. To update,
The learning device according to claim 1.
前記更新手段は、前記複数の前記類似データを用いて前記第2の更新処理を行う、
請求項1又は2に記載の学習装置。 The similar data acquisition means acquires a plurality of the similar data with respect to one reference data, and obtains a plurality of the similar data.
The update means performs the second update process using the plurality of similar data.
The learning device according to claim 1 or 2.
請求項1から3のいずれか1項に記載の学習装置。 The updating means calculates the first error by obtaining the square error, and calculates the second error by obtaining the cosine similarity.
The learning device according to any one of claims 1 to 3.
請求項1から4のいずれか1項に記載の学習装置。 The update means performs the first update process and the second update process so that the value of the square sum average or the harmonic mean of the first error and the second error is minimized.
The learning device according to any one of claims 1 to 4.
基準データから第1の特徴ベクトルを生成する第1の特徴ベクトル生成ステップと、
前記基準データと類似する類似データから第2の特徴ベクトルを生成する第2の特徴ベクトル生成ステップと、
前記オートエンコーダのパラメータを更新する更新ステップと、
を備え、
前記更新ステップでは、
前記第1の特徴ベクトル生成ステップで生成された前記第1の特徴ベクトルと、前記第1の特徴ベクトルを前記オートエンコーダに入力して生成される出力ベクトルと、の間の誤差である第1の誤差が小さくなるように前記オートエンコーダのパラメータを更新する第1の更新処理と、
前記第1の特徴ベクトルを前記オートエンコーダのエンコーダに入力して生成される第1の中間ベクトルと、前記第2の特徴ベクトルを前記オートエンコーダのエンコーダに入力して生成される第2の中間ベクトルと、の間の誤差である第2の誤差が小さくなるように前記オートエンコーダのパラメータを更新する第2の更新処理と、
を行う学習方法。 An autoencoder consisting of an encoder that generates an intermediate vector having a dimension number lower than the dimension number of the feature vector when a feature vector is input, and a decoder that generates an output vector having the same dimension number as the feature vector when the feature vector is input. Is a learning method of
The first feature vector generation step to generate the first feature vector from the reference data, and
A second feature vector generation step of generating a second feature vector from similar data similar to the reference data, and
An update step for updating the parameters of the autoencoder, and
With
In the update step
The first, which is an error between the first feature vector generated in the first feature vector generation step and the output vector generated by inputting the first feature vector into the autoencoder. The first update process of updating the parameters of the autoencoder so that the error becomes small, and
A first intermediate vector generated by inputting the first feature vector into the encoder of the autoencoder and a second intermediate vector generated by inputting the second feature vector into the encoder of the autoencoder. A second update process for updating the parameters of the autoencoder so that the second error, which is an error between the two, is reduced.
Learning method to do.
入力されたデータから特徴ベクトルを生成する特徴ベクトル生成手段と、
検索される被検索データを前記特徴ベクトル生成手段に入力して生成される被検索特徴ベクトルを前記オートエンコーダのエンコーダに入力して生成される中間ベクトルである被検索中間ベクトルを生成することにより、前記被検索データの集合である被検索データ群から、前記被検索中間ベクトルの集合である被検索中間ベクトル群を予め生成する被検索中間ベクトル群生成手段と、
検索対象となる検索データを取得する検索データ取得手段と、
前記検索データを前記特徴ベクトル生成手段に入力して生成される検索特徴ベクトルを前記オートエンコーダのエンコーダに入力して生成される中間ベクトルである検索中間ベクトルと、前記被検索中間ベクトルと、の間のコサイン類似度に基づいて、前記被検索データ群の中から前記検索データに類似する前記被検索データを検索する検索手段と、
を備える検索装置。 An autoencoder whose parameters have been updated by the learning method according to claim 6.
A feature vector generation means that generates a feature vector from the input data,
By inputting the searched data to be searched into the feature vector generation means and generating the searched intermediate vector which is an intermediate vector generated by inputting the searched feature vector into the encoder of the auto encoder, the searched intermediate vector is generated. A search intermediate vector group generation means for generating in advance a search intermediate vector group, which is a set of search intermediate vectors, from a search data group, which is a set of search data.
Search data acquisition means to acquire search data to be searched, and
Between the search intermediate vector, which is an intermediate vector generated by inputting the search data into the feature vector generation means and the search feature vector generated by inputting the search feature vector into the encoder of the auto encoder, and the search intermediate vector. A search means for searching the searched data similar to the search data from the searched data group based on the cosine similarity of the above.
A search device equipped with.
検索される被検索データから生成される被検索特徴ベクトルを前記オートエンコーダのエンコーダに入力して生成される中間ベクトルである被検索中間ベクトルを生成することにより、前記被検索データの集合である被検索データ群から、前記被検索中間ベクトルの集合である被検索中間ベクトル群を予め生成する被検索中間ベクトル群生成ステップと、
検索対象となる検索データから検索特徴ベクトルを生成する検索特徴ベクトル生成ステップと、
前記検索特徴ベクトルを前記オートエンコーダのエンコーダに入力して生成される中間ベクトルである検索中間ベクトルと、前記被検索中間ベクトルと、の間のコサイン類似度に基づいて、前記被検索データ群の中から前記検索データに類似する前記被検索データを検索する検索ステップと、
を備える検索方法。 A search method using an autoencoder in which parameters are updated by the learning method according to claim 6.
By inputting the searched feature vector generated from the searched searched data into the encoder of the auto encoder and generating the searched intermediate vector which is the intermediate vector generated, the searched is a set of the searched data. A search intermediate vector group generation step that previously generates a search intermediate vector group that is a set of the search intermediate vectors from the search data group,
A search feature vector generation step that generates a search feature vector from the search data to be searched, and
In the search data group, based on the cosine similarity between the search intermediate vector, which is an intermediate vector generated by inputting the search feature vector into the encoder of the autoencoder, and the search intermediate vector. To search for the searched data similar to the search data from
Search method with.
基準データを取得する基準データ取得手段、
入力されたデータから特徴ベクトルを生成する特徴ベクトル生成手段、
前記基準データに類似する類似データを取得する類似データ取得手段、
前記特徴ベクトルを入力すると前記特徴ベクトルの次元数より低い次元数の中間ベクトルを生成するエンコーダと、前記中間ベクトルを入力すると前記特徴ベクトルと同じ次元数の出力ベクトルを生成するデコーダと、からなるオートエンコーダ、
前記オートエンコーダのパラメータを更新する更新手段、
として機能させるためのプログラムであって、
前記更新手段は、
前記基準データを前記特徴ベクトル生成手段に入力して生成される第1の特徴ベクトルと、前記第1の特徴ベクトルを前記オートエンコーダに入力して生成される出力ベクトルと、の間の誤差である第1の誤差が小さくなるように前記オートエンコーダのパラメータを更新する第1の更新処理と、
前記第1の特徴ベクトルを前記オートエンコーダのエンコーダに入力して生成される第1の中間ベクトルと、前記類似データを前記特徴ベクトル生成手段に入力して生成される第2の特徴ベクトルを前記オートエンコーダのエンコーダに入力して生成される第2の中間ベクトルと、の間の誤差である第2の誤差が小さくなるように前記オートエンコーダのパラメータを更新する第2の更新処理と、
を行うプログラム。 Computer,
Reference data acquisition means for acquiring reference data,
Feature vector generation means, which generates a feature vector from the input data,
Similar data acquisition means for acquiring similar data similar to the reference data,
An auto consisting of an encoder that generates an intermediate vector having a dimension number lower than the dimension number of the feature vector when the feature vector is input, and a decoder that generates an output vector having the same dimension number as the feature vector when the intermediate vector is input. Encoder,
An update means for updating the parameters of the autoencoder,
It is a program to function as
The update means
It is an error between the first feature vector generated by inputting the reference data into the feature vector generating means and the output vector generated by inputting the first feature vector into the autoencoder. The first update process of updating the parameters of the autoencoder so that the first error becomes small, and
The first intermediate vector generated by inputting the first feature vector into the encoder of the autoencoder and the second feature vector generated by inputting the similar data into the feature vector generating means are referred to as the auto. A second update process for updating the parameters of the autoencoder so that the second error, which is an error between the second intermediate vector generated by inputting to the encoder of the encoder, becomes smaller.
Program to do.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019050872A JP2020154514A (en) | 2019-03-19 | 2019-03-19 | Learning device, learning method, retrieval device, retrieval method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019050872A JP2020154514A (en) | 2019-03-19 | 2019-03-19 | Learning device, learning method, retrieval device, retrieval method and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020154514A true JP2020154514A (en) | 2020-09-24 |
Family
ID=72559122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019050872A Pending JP2020154514A (en) | 2019-03-19 | 2019-03-19 | Learning device, learning method, retrieval device, retrieval method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020154514A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112351252A (en) * | 2020-10-27 | 2021-02-09 | 重庆中星微人工智能芯片技术有限公司 | Monitoring video coding and decoding device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160155136A1 (en) * | 2014-12-02 | 2016-06-02 | Fair Isaac Corporation | Auto-encoder enhanced self-diagnostic components for model monitoring |
JP2017054214A (en) * | 2015-09-07 | 2017-03-16 | ヤフー株式会社 | Determination device, learning device, information distribution device, determination method, and determination program |
JP2018148350A (en) * | 2017-03-03 | 2018-09-20 | 日本電信電話株式会社 | Threshold determination device, threshold level determination method and program |
JP2018195012A (en) * | 2017-05-16 | 2018-12-06 | 富士通株式会社 | Learning program, leaning method, learning device, and conversion parameter creating method |
-
2019
- 2019-03-19 JP JP2019050872A patent/JP2020154514A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160155136A1 (en) * | 2014-12-02 | 2016-06-02 | Fair Isaac Corporation | Auto-encoder enhanced self-diagnostic components for model monitoring |
JP2017054214A (en) * | 2015-09-07 | 2017-03-16 | ヤフー株式会社 | Determination device, learning device, information distribution device, determination method, and determination program |
JP2018148350A (en) * | 2017-03-03 | 2018-09-20 | 日本電信電話株式会社 | Threshold determination device, threshold level determination method and program |
JP2018195012A (en) * | 2017-05-16 | 2018-12-06 | 富士通株式会社 | Learning program, leaning method, learning device, and conversion parameter creating method |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112351252A (en) * | 2020-10-27 | 2021-02-09 | 重庆中星微人工智能芯片技术有限公司 | Monitoring video coding and decoding device |
CN112351252B (en) * | 2020-10-27 | 2023-10-20 | 重庆中星微人工智能芯片技术有限公司 | Monitoring video coding and decoding device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108804641B (en) | Text similarity calculation method, device, equipment and storage medium | |
US6327590B1 (en) | System and method for collaborative ranking of search results employing user and group profiles derived from document collection content analysis | |
US7194466B2 (en) | Object clustering using inter-layer links | |
US20080208836A1 (en) | Regression framework for learning ranking functions using relative preferences | |
US9317533B2 (en) | Adaptive image retrieval database | |
US20120284259A1 (en) | Automated Generation of Ontologies | |
US20070196804A1 (en) | Question-answering system, question-answering method, and question-answering program | |
US20080021891A1 (en) | Searching a document using relevance feedback | |
US20140229476A1 (en) | System for Information Discovery & Organization | |
CN111444320A (en) | Text retrieval method and device, computer equipment and storage medium | |
US20120150861A1 (en) | Highlighting known answers in search results | |
US20090281975A1 (en) | Recommending similar content identified with a neural network | |
KR20160144384A (en) | Context-sensitive search using a deep learning model | |
JP2012212455A (en) | Ranking method and ranking system | |
US10613841B2 (en) | Task UI layout representing semantical relations | |
US11500884B2 (en) | Search and ranking of records across different databases | |
CA3169288A1 (en) | Knowledge graph based reasoning recommendation system and method | |
CN110389999A (en) | A kind of method, apparatus of information extraction, storage medium and electronic equipment | |
JP2020154514A (en) | Learning device, learning method, retrieval device, retrieval method and program | |
US20160196266A1 (en) | Inferring seniority based on canonical titles | |
WO2019085118A1 (en) | Topic model-based associated word analysis method, and electronic apparatus and storage medium | |
CN112685389A (en) | Data management method, data management device, electronic device, and storage medium | |
CN113571198A (en) | Conversion rate prediction method, device, equipment and storage medium | |
US20160196619A1 (en) | Homogenizing time-based seniority signal with transition-based signal | |
JP2011159100A (en) | Successive similar document retrieval apparatus, successive similar document retrieval method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20211109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20211109 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220214 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230207 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20230801 |