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

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

7710144情報識別装置、情報識別方法、および、プログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-07-10
(45)【発行日】2025-07-18
(54)【発明の名称】情報識別装置、情報識別方法、および、プログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20250711BHJP
   G06F 16/35 20250101ALI20250711BHJP
   G06F 40/216 20200101ALI20250711BHJP
   G06F 40/279 20200101ALI20250711BHJP
【FI】
G06N20/00 130
G06F16/35
G06F40/216
G06F40/279
【請求項の数】 7
(21)【出願番号】P 2023568771
(86)(22)【出願日】2021-12-20
(86)【国際出願番号】 JP2021047014
(87)【国際公開番号】W WO2023119360
(87)【国際公開日】2023-06-29
【審査請求日】2024-06-05
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】NTT株式会社
(74)【代理人】
【識別番号】100083806
【弁理士】
【氏名又は名称】三好 秀和
(74)【代理人】
【識別番号】100129230
【弁理士】
【氏名又は名称】工藤 理恵
(72)【発明者】
【氏名】小山内 遥香
(72)【発明者】
【氏名】酒井 優
(72)【発明者】
【氏名】佐々木 幸次
(72)【発明者】
【氏名】金丸 翔
(72)【発明者】
【氏名】高橋 謙輔
(72)【発明者】
【氏名】近藤 悟
【審査官】多賀 実
(56)【参考文献】
【文献】特開2019-215705(JP,A)
【文献】特開2008-084064(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 40/00-40/58
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
学習用の情報を単語に分割する分割部と、
各単語の分散表現を生成する分散表現生成部と、
各単語の分散表現を組み合わせて、分散表現の組み合わせを生成する分散表現連結部と、
前記分散表現の組み合わせと、前記学習用の情報に対応する種別の種別番号とを含む学習データを生成する学習データ生成部と、
前記学習データを機械学習させて、入力情報をいずれかの種別に識別する分類器を生成する学習部と、
前記分類器が出力する最高値の確信度が正の場合、前記入力情報の種別を前記最高値の種別と判定し、前記最高値の確信度が負の場合、前記入力情報の種別を新たな種別と判定する判定部と、を備える
情報識別装置。
【請求項2】
前記判定部は、前記最高値の確信度を用いて、前記入力情報の種別を既存のいずれかの種別か、あるいは、前記新たな種別かを判定する
請求項1に記載の情報識別装置。
【請求項3】
前記判定部は、前記新たな種別の新たな種別番号を生成し、
前記新たな種別番号を含む追加学習データを生成する学習データ更新部を備え、
前記学習部は、前記追加学習データを用いて前記分類器を再学習させる
請求項1または2に記載の情報識別装置。
【請求項4】
前記判定部が新たな種別と判定した場合、前記入力情報のkeyの第1類似語と、前記入力情報のvalueの第2類似語とをそれぞれ抽出する類似語抽出部を備え、
前記分散表現生成部は、前記第1類似語の分散表現と、前記第2類似語の分散表現とを生成し、
前記分散表現連結部は、前記第1類似語の分散表現と、前記第2類似語の分散表現とを組み合わせて、追加の分散表現の組み合わせを生成し、
前記学習データ更新部は、前記追加の分散表現の組み合わせと、前記新たな種別番号とを含む前記追加学習データを生成する
請求項3に記載の情報識別装置。
【請求項5】
前記分散表現連結部は、分散表現の組み合わせとして、各単語の分散表現の和を算出する請求項1からのいずれか1項に記載の情報識別装置。
【請求項6】
情報識別装置が行う情報識別方法であって、
学習用の情報を単語に分割するステップと、
各単語の分散表現を生成するステップと、
各単語の分散表現を組み合わせて、分散表現の組み合わせを生成するステップと、
前記分散表現の組み合わせと、前記学習用の情報に対応する種別の種別番号とを含む学習データを生成するステップと、
前記学習データを機械学習させて、入力情報をいずれかの種別に識別する分類器を生成するステップと、
前記分類器が出力する最高値の確信度が正の場合、前記入力情報の種別を前記最高値の種別と判定し、前記最高値の確信度が負の場合、前記入力情報の種別を新たな種別と判定するステップと、を行う
情報識別方法。
【請求項7】
請求項1からのいずれか1項に記載の情報識別装置としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報識別装置、情報識別方法、および、プログラムに関する。
【背景技術】
【0002】
B2B2Xによる異業種の複数の事業者が連携したB2B2Xサービスが増加している。このようなサービスを提供するにあたり、顧客情報、契約情報、請求情報等の情報を、連携する事業者間で流通させる必要がある。
【0003】
情報の流通においては、情報の識別が必要であり、情報の識別に関する技術として、形態素解析(非特許文献1)、文字の分散表現化(非特許文献2)、分類器の確信度算出技術(非特許文献3)がある。
【先行技術文献】
【非特許文献】
【0004】
【文献】Taku Kudo, Kaoru Yamamoto and Yuji Matsumoto, "Applying Conditional Random Fields to Japanese Morphological Analysis", Conference on Empirical Methods in Natural Language Processing, 2004, p.230‐237
【文献】Piotr Bojanowski, Edouard Grave, Armand Joulin and Tomas Mikolov, "Enriching Word Vectors with Subword Information", Transactions of the Association for Computational Linguistics, vol. 5, pp. 135‐146, 2017
【文献】大島 辰之輔, 山崎 俊彦, 相澤 清晴, 10-8 多クラス物体認識のための学習を用いた確信度処理(第10部門 メディア工学(AR・画像認識)), 映像情報メディア学会冬季大会講演予稿集, 2014, 2014 巻, セッションID 108, p. 10-8-1 - 10-8-2
【発明の概要】
【発明が解決しようとする課題】
【0005】
現状では、連携する事業者間で情報を流通させるために、オペレータが投入された情報の内容を見て種別を判断し、手作業で流通先の決定および情報の形式変換を行っている。
【0006】
今後、異業種の複数社が連携したサービスが増加していくことに対応するために、連携する事業者間での情報流通を自動化する必要がある。情報流通の自動化にあたっては、異なる形式の情報が投入された場合に、同じ種別であると識別することが求められる。具体的には、情報を種別ごとに適切な宛先に流通させるために、各社が用いる既存システムが異なり同種別の情報が異なる形式で投入される場合にも、自動で同種別であると識別する必要がある。
【0007】
非特許文献1-3では、異なる形式の情報が投入された場合に、同じ種別であると識別することは考慮されていない。そのため、これらの非特許文献を用いて、異なる形式の情報を同じ種別であると識別することはできない。
【0008】
本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、異なる形式の情報が入力された場合に、同じ種別であると識別可能な技術を提供することにある。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明の一態様は、学習用の情報を単語に分割する分割部と、各単語の分散表現を生成する分散表現生成部と、各単語の分散表現を組み合わせて、分散表現の組み合わせを生成する分散表現連結部と、前記分散表現の組み合わせと、前記学習用の情報に対応する種別の種別番号とを含む学習データを生成する学習データ生成部と、前記学習データを機械学習させて、入力情報をいずれかの種別に識別する分類器を生成する学習部と、を備える。
【0010】
本発明の一態様は、情報識別装置が行う情報識別方法であって、学習用の情報を単語に分割するステップと、各単語の分散表現を生成するステップと、各単語の分散表現を組み合わせて、分散表現の組み合わせを生成するステップと、前記分散表現の組み合わせと、前記学習用の情報に対応する種別の種別番号とを含む学習データを生成するステップと、前記学習データを機械学習させて、入力情報をいずれかの種別に識別する分類器を生成するステップと、を行う。
【0011】
本発明の一態様は、上記情報識別装置としてコンピュータを機能させるプログラムである。
【発明の効果】
【0012】
本発明によれば、異なる形式の情報が入力された場合に、同じ種別であると識別可能な技術を提供することができる。
【図面の簡単な説明】
【0013】
図1図1は、本実施形態の情報識別装置の構成例を示す。
図2図2は、学習フェーズの情報識別装置の動作を説明する説明図である。
図3図3は、各単語の分散表現と、分散表現の和との関係を示す図である。
図4図4は、学習フェーズの情報識別装置の動作を示すシーケンス図である。
図5図5は、種別を識別可能な場合を説明するための説明図である。
図6図6は、種別を識別不可能な場合を説明するための説明図である。
図7図7は、識別可能な情報が入力された場合の全体の流れを示す図である。
図8図8は、識別不可能な情報が入力された場合の全体の流れを示す図である。
図9図9は、識別不可能な情報が入力された場合の全体の流れを示す図である。
図10図10は、新たな種別および類似語の分散表現と、分散表現の和との関係を示す図である。
図11A図11Aは、分散表現化できる場合の識別フェーズの情報識別装置の動作を示すシーケンス図である。
図11B図11Bは、類似語の分散表現と再学習用の学習データの例を示す。
図12図12は、分散表現化できない場合の識別フェーズの情報識別装置の動作を示すシーケンス図である。
図13図13は、境界面と点の距離の算出方法を説明するための説明図である。
図14A図14Aは、Pythonによる分散表現連結部の実装例である。
図14B図14Bは、Pythonによる種別判定部の実装例である。
図15】本実施形態の効果を示す模式図である。
図16】ハードウェア構成例である。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態について、図面を参照して説明する。
【0015】
<情報識別装置の構成>
図1に、本実施形態の情報識別装置1の構成例を示す。情報識別装置1は、異業種複数社間での情報流通において、入力された情報の種別を識別する装置である。図示する情報識別装置1は、文字列分割部11と、分散表現生成部12と、分散表現連結部13と、学習データ生成部14と、種別分類部15と、種別判定部16と、類似語抽出部17と、学習データ更新部18と、種別保持部19と、正規表現判定部20とを備える。
【0016】
文字列分割部11(分割部)は、入力された学習用の情報を単語に分割する。具体的には、文字列分割部11は、情報の文字列を形態素解析し、それだけで意味を持つ、最小単位の単語に分割する(非特許文献1参照)。本実施形態の情報は、keyとvalueを含む。
【0017】
分散表現生成部12は、文字列分割部11により分割された各単語の分散表現を生成する。分散表現は、自然言語処理の1つであって、単語を高次元の実数ベクトルで表現する技術である(非特許文献2参照)。単語の意味を数学的に表現することで、単語の意味を用いた演算処理が可能となる。
【0018】
分散表現連結部13は、各単語の分散表現を組み合わせて、分散表現の組み合わせを生成する。本実施形態では、分散表現連結部13は、分散表現の組み合わせとして、各単語の分散表現の和を算出する。
【0019】
学習データ生成部14は、分散表現の組み合わせと、学習用の情報に対応する種別の種別番号とを含む学習データを生成する。
【0020】
種別分類部15は、学習部と、分類器とを備える。学習部は、学習データを機械学習させて分類器を生成する。分類器は、入力された情報をいずれかの種別に識別するための学習済みモデルである。
【0021】
分類器には、SVM(support-vector machine)を用いてもよい(非特許文献3参照)。SVMは、多クラス分類器がどの程度自信を持って認識をしているかという確信度に焦点をあて、より高い精度での推定を目指した手法である。SVMは、Kクラスに分類する際、One vs All SVMの考え方を用いて、K個の境界面を作成し、分類対象とそれぞれの境界面との距離から算出される確信度を用いて分類種別を決定する。本実施形態における分散器の確信度の算出方法としては、SVMの境界面からの距離を利用する。境界面から見て正の方向にあって、境界面との距離が遠いほど確信度が大きい。確信度の算出については後述する。
【0022】
種別判定部16(判定部)は、分類器が出力する最高値(最大値)の確信度を用いて、入力された情報の種別を既存のいずれかの種別か、あるいは、新たな種別かを判定する。具体的には、種別判定部16は、最高値の確信度が正の場合、入力情報の種別を最高値の種別と判定し、最高値の確信度が負の場合、入力情報の種別を新たな種別と判定する。種別判定部16は、入力情報の種別を新たな種別と判定した場合、新たな種別の種別番号(新たな種別番号)を生成し、当該種別番号を新たな種別とともに種別保持部19に格納する。
【0023】
類似語抽出部17は、種別判定部16が新たな種別と判定した場合、入力情報のkeyの類似語(第1類似語)と、入力情報のvalueの類似語(第2類似語)と、をそれぞれ抽出する。そして、分散表現生成部12は、keyの類似語の分散表現と、valueの類似語の分散表現とを生成する。
【0024】
分散表現連結部13は、keyの類似語の分散表現と、valueの類似語の分散表現とを組み合わせて、追加の分散表現の組み合わせを生成する。また、分散表現連結部13は、keyの分散表現と、valueの類似語の分散表現とを組み合わせて、追加の分散表現の組み合わせを生成してもよい。また、分散表現連結部13は、keyの類似語の分散表現と、valueの分散表現とを組み合わせて、追加の分散表現の組み合わせを生成してもよい。
【0025】
学習データ更新部18は、新たな種別番号を含む学習データ(追加学習データ)を生成する。具体的には、学習データ更新部18は、追加の分散表現の組み合わせと、新たな種別番号とを含む学習データを生成する。種別判定部16の学習部は、学習データ更新部18が生成した追加学習データを用いて分類器を再学習させる。
【0026】
種別保持部19には、種別と、種別番号とが対応付けて格納されている。正規表現判定部20は、入力された情報のvalueが分散表現化できない場合(正規表現の場合)に、入力された情報の種別を判定する。
【0027】
ミドルBシステム3は、サービス事業者のシステムである。本実施形態の情報識別装置1は、ミドルBが運用する装置である。オペレータ端末7は、ミドルBのオペレータが使用する端末である。ファーストBシステム5は、ミドルBが提供するサービスに関連する連携事業者のシステムである。図1に示す例では、情報識別装置1は、ミドルBシステム3から入力された情報の種別を識別し、識別結果をファーストBシステム5に出力する。
【0028】
<学習フェーズ>
図2は、学習フェーズにおける情報識別装置1の動作を説明する説明図である。オペレータ端末7は、オペレータが入力した学習用の情報(文字列)を、情報識別装置1の文字列分割部11に送信する(ステップS11)。文字列分割部11は、入力された情報を形態素解析により単語に分割する(ステップS12)。
【0029】
図示する例では、文字列分割部11は、「氏名:山田太郎」を、「氏名」、「山田」、「太郎」に分割し、分散表現生成部12に出力する。「氏名」がkeyで、「山田太郎」がvalueである。
【0030】
分散表現生成部12は、文字列分割部11が分割した各単語の分散表現を生成し、分散表現連結部13に出力する(ステップS13)。すなわち、分散表現生成部12は、各単語を高次元の実数ベクトルに変換する。
【0031】
分散表現連結部13は、各単語の分散表現を組み合わせて、分散表現の組み合わせを生成し、学習データ生成部14に出力する(ステップS14)。分散表現の組み合わせを用いることにより、複数の意味を持つ単語に対して、複数の種別が割り当てられることを防ぎ、分類精度を向上させることができる。本実施形態では、分散表現連結部13は、分散表現の組み合わせとして、各単語の分散表現の和を算出する。
【0032】
学習データ生成部14は、ステップS11で入力された学習用の情報の種別番号を、オペレータ端末7から受け付け(ステップS15)、分散表現の組み合わせと当該種別番号とを含む学習データを生成し、種別分類部15に出力する(ステップS16)。図示する学習データは、「氏名」、「山田」、「太郎」の分散表現の和と、種別番号:0とを含む。学習データは、種別分類部15の分類器を学習させるためのデータである。種別分類部15の学習部は、学習データを用いた機械学習により分類器を生成する。
【0033】
以上説明したように、本実施形態の学習フェーズでは、情報識別装置1は、keyとvalueを含む情報を単語に分割し、各単語の分散表現を算出し、各単語の分散表現の組み合わせを生成し、分散表現の組み合わせと種別番号とを含む学習データを生成する。これにより、後述する識別フェーズにおいて、複数の意味を持つ単語、または同義語が投入されても、適切な種別に識別することができる。
【0034】
図3は、分散表現生成部12が生成した各単語(「姓」、「氏名」、「住所」、「山口」)の分散表現(ベクトル)と、分散表現連結13部が生成した分散表現の和(「姓:山口」、「氏名:山口」、「住所:山口」)と、を示したものである。図示するように、同じ種別の分散表現の和は、近い位置にマッピング(すなわちクラスタリング)されることを示している。
【0035】
図3からわかるように、分散表現の組み合わせとして分散表現の和を用いることで、同じ種別の情報が近い位置にマッピングされる。したがって、Keyの分散表現とValueの分散表現の和を用いて、多クラス分類における学習データを生成することで、複数の意味を持つ単語の意味の識別、および、異なる単語が同種別であることの識別が可能になる。
【0036】
図4は、学習フェーズの情報識別装置1の動作を示すシーケンス図である。
【0037】
オペレータ端末7は、オペレータの指示を受け付けて、学習用の情報を情報識別装置1の文字列分割部11に入力する(ステップS21)。ここでは、種別が「氏名」の複数の情報が入力されている。文字列分割部11は、情報を単語に分割する(ステップS22)。分散表現生成部12は、情報毎に分割された各単語の分散表現を生成し、分散表現連結部13に出力する(ステップS23)。
【0038】
分散表現連結部13は、情報毎に各単語の分散表現を組み合わせて、分散表現の組み合わせを生成し、学習データ生成部14に出力する(ステップS24)。ここでは、分散表現の組み合わせとして、各単語の分散表現の和を用いる。
【0039】
オペレータ端末7は、オペレータの指示を受け付けて、S21で送信した情報の種別番号を、種別保持部19に要求する(ステップS25)。ここでは、オペレータ端末7は、「氏名」の種別番号を要求する。種別保持部19は、「氏名」に対応する種別番号をオペレータ端末7に送信する(ステップS26)。オペレータ端末7は、種別番号を取得すると、当該種別番号を学習データ生成部14に送信する(ステップS27)。
【0040】
学習データ生成部14は、ステップS24で受け付けた分散表現の和と、S27で受け付けた種別番号とを含む学習データを生成し、種別分類部15に送出する(ステップS28)。種別分類部15の学習部は、学習データを機械学習することで分類器を生成する(ステップS29)。
【0041】
なお、図4では、ステップS25でオペレータ端末7が種別保持部19に種別番号を要求したが、学習データ生成部14が、種別保持部19に種別番号を要求してもよい。この場合、ステップS26で種別保持部19は種別番号を学習データ生成部14に送出し、学習データ生成部14は、分散表現の和と種別保持部19から取得した種別番号とを用いて学習データを生成する(ステップS28)。
【0042】
次に、郵便番号や電話番号など分散表現化できない情報を種別保持部19に登録する動作について説明する(ステップS30、S31)。郵便番号や電話番号など分散表現化できない情報については、後述する識別フェーズで、情報識別装置1の正規表現判定部20が、正規表現を用いて数字や文字列のパターンから何の種別であるかを判定する。なお、ステップS30、S31は、ステップS21~S28と非同期に行われる。
【0043】
オペレータ端末7は、ファーストBシステム5の連携事業者から、種別と対応する正規表現のパターンとを受け付け(ステップS30)、当該種別と正規表現のパターンとを情報識別装置1の種別保持部21に送信する(ステップS31)。種別保持部19は、送信された種別と正規表現のパターンとを自身の記憶部に格納する。
【0044】
図4では、種別が郵便番号の正規表現のパターンと、種別が電話番号の正規表現のパターンとを例示している。郵便番号の正規表現では、〒マークではじまり、数字3桁と-(ハイフン)と数字4桁で終わることを表している。
【0045】
<識別フェーズ>
識別フェーズでは、情報識別装置1は、種別分類部15の分類器で算出された確信度を用いて、入力された情報の種別を、種別保持部19に保持されたいずれかの種別に識別可能か否かを判定する。本実施形態では、情報識別装置1は、分類器が出力する確信度の最高値が正の場合は識別可と判定し、確信度の最高値が負の場合は識別不可であり、種別保持部19に保持されていない新たな種別であると判定する。
【0046】
図5および図6は、識別フェーズにおける情報識別装置1の動作概要を説明する説明図である。図5は、種別を識別可能な場合の説明図であり、図6は、種別を識別不可能な場合の説明図である。
【0047】
図5では、分散表現連結部13は、文字列分割部11および分散表現生成部12を介してミドルBから入力された情報の分散表現の和(分散表現の組み合わせ)を、種別分類部15に出力する。種別分類部15の分類器は、種別毎の確信度を出力する。図示する例では、種別分類部15は、「氏名」、「住所」、「会社名」の3つの種別に識別可能であるものとする。
【0048】
種別判定部16は、種別毎の確信度の最高値が正の場合は、入力された情報に最高値の種別を割り当てる。ここでは、最高値の「氏名」の確信度が正であるため、種別判定部16は、入力された情報の種別は「氏名」であると判定し、入力された情報と判定した種別とをファーストBシステム5に出力する。
【0049】
図6では、図5と同様に、分散表現連結部13は、分散表現の和を種別分類部15に出力し、種別分類部15は、種別毎の確信度を出力する。図示する例では、種別分類部15が出力する最高値の「氏名」の確信度は負である。種別判定部16は、確信度の最高値が負であるため、入力された情報が既存の種別に当てはまらないと判定し、入力された情報のkeyおよびvalueの分散表現を類似語抽出部17に出力する。なお、各機能部11-18は、当該機能部で処理されたデータを出力するとともに、当該機能部に入力されたデータも合わせて出力するものとする。したがって、種別判定部16は、分散表現連結部13および種別分類部15を介して、分散表現生成部12が生成したkeyおよびvalueの分散表現を取得する。以降の処理については後述する。
【0050】
図7は、図5の識別可能な情報が入力された場合の情報識別装置1の全体の流れを示す図である。
【0051】
ミドルBシステム3は、任意の情報を情報識別装置1の文字列分割部11に送信する(ステップS41)。文字列分割部11は、入力された情報を単語に分割する(ステップS42)。分散表現生成部12は、分割された各単語の分散表現を生成する(ステップS43)。分散表現連結部13は、各単語の分散表現を組み合わせる(ステップS44)。ここでは、識別可能な情報として、S41で「名前:渡辺太郎」が入力され、分散表現連結部13は、「名前」の分散表現と、「渡辺」の分散表現と、「太郎」の分散表現との和を算出する。
【0052】
種別分類部15は、入力された分散表現の組み合わせに対して、種別毎の確信度を出力する(ステップS45)。
【0053】
種別判定部16は、種別分類部15から出力される確信度を受け付け(ステップS46)、最高値の確信度が正か否かを判定する(ステップS47)。ここでは、最高値の確信度が正であり(ステップS47:YES)、種別判定部16は、S41で入力された情報は確信度が最大の種別であると判定する。(ステップS48)。すなわち、種別判定部16は、入力された情報に確信度が最大の種別を割り当てる。ここでは、「名前:渡辺太郎」に「名前」の種別が割り当られる。
【0054】
そして、種別判定部16は、入力された情報に、判定した種別(または種別番号)を付加してファーストBシステム5に出力する。なお、各機能部11-18は、当該機能部で処理されたデータを出力するとともに、当該機能部に入力されたデータも合わせて出力するものとする。したがって、種別判定部16は、分散表現生成部12、分散表現連結部13および種別分類部15を介して、文字列分割部11に入力された情報を取得する。
【0055】
図8および図9は、図6の識別不可能な情報が入力された場合の情報識別装置1の全体の流れを示す図である。図8に示すステップS41~S45は、図7で説明したステップS41~S45と同様である。ただし、図8では、ステップS41で入力される「担当者:渡辺太郎」は、既存の種別に該当しない識別不可能な情報であるものとする。
【0056】
種別判定部16は、種別分類部15から出力される確信度を受け付ける(ステップS46)。図8では、最高値の「氏名」の確信度が負であり(ステップS47:NO)、種別判定部16は、S41で入力された情報の種別は現時点の種別分類部15では識別不可能であると判定する。この場合、種別判定部16は、種別保持部19に新たな種別の種別番号を追加する(ステップS49)。そして、種別判定部16は、S41で入力された情報のkey(担当者)の分散表現と、value(渡辺太郎)の分散表現とを、類似語抽出部17に出力する(ステップS50)。
【0057】
図9に進み、前述の通り、ステップS49で種別判定部16は、種別保持部19に新たな種別と種別番号(「担当者」-3)を追加する。また、ステップS50で、S41で入力された情報のkey(担当者)の分散表現と、value(渡辺太郎)の分散表現とを、類似語抽出部17に出力する。
【0058】
類似語抽出部17は、keyの分散表現と、valueの分散表現とを用いて、keyの類似語とvalueの類似語とを抽出し、分散表現生成部12に出力する(ステップS51)。例えば、類似語抽出部17は、非特許文献2のFastTextのモデルと、コサイン類似度とを用いて、keyおよびvalueの類似語を抽出する。「担当者」(key)の類似語として、「携わる」、「従事」、「主任」などが抽出され、「渡辺太郎」(value)の類似語として「渡邊」、「伊藤」、「佐藤」などが抽出される。
【0059】
分散表現生成部12は、keyの各類似語およびvalueの各類似語の分散表現を生成する(ステップS52)。分散表現連結部13は、keyおよびkeyの類似語の分散表現と、valueおよびvalueの類似語の分散表現とをそれぞれ組み合わせて、追加の分散表現の組み合わせを生成する(ステップS53)。例えば、以下のような分散表現の組み合わせが生成される。
【0060】
・(key)の分散表現と、(value)の分散表現の和
・(key)の分散表現と、(valueの類似語)の分散表現の和
・(keyの類似語)の分散表現と、(valueの類似語)の分散表現の和
・(keyの類似語)の分散表現と、(value)の分散表現の和
学習データ生成部14は、分散表現連結部13が生成した分散表現の組み合わせと、ステップS49で種別判定部16が払い出した新たな種別番号とを含む追加の学習データを生成し、種別分類部15に出力する(ステップS54)。種別分類部15の学習部は、追加の学習データを用いて、分類器を再学習する。
【0061】
図10は、図3に示す説明図に、新たな種別(担当者)および新たな種別の類似語(携わる)の散表現(ベクトル)と、分散表現の和(「担当者:山口」、「携わる:山口」)とを追加したものである。図示するように、「担当者」の分散表現の和と、「携わる」の分散表現の和は、近い位置にマッピングされることを示している。
【0062】
図10からわかるように、分散表現の組み合わせとして、分散表現の和をとることで、同じ種別の情報が近い位置にマッピングされる。したがって、新たな種別のKeyおよびValueの分散表現の和と、新たな種別のKeyおよびValueの類似語の分散表現の和とを用いて、新たな種別の追加の学習データを生成し分類器に学習させることで、新たな種別を識別することが可能になる。
【0063】
すなわち、新たな種別を生成する際は、追加の学習データとして、新たな種別であるkeyの分散表現とvalueの分散表現との組み合わせを用いる。その際、keyおよびvalue類似語を抽出し、抽出した類似語の分散表現の和を活用した学習データを学習させることで、分類器に新たな種別のクラスを生成し、新たな種別の識別精度を向上させることが可能となる。
【0064】
図11Aおよび図12は、識別フェーズの情報識別装置1の動作を示すシーケンス図である。図11Aは、入力された情報のvalueが分散表現化できる場合の動作を示し、図11Bは、類似語の分散表現と、再学習用の追加の学習データの例を示す。図12は、入力された情報のvalueが分散表現化できない場合の動作を示す。
【0065】
図11Aで、ミドルBシステムは、keyとvalueを含む情報を、情報識別装置1の文字列分割部11に入力する(ステップS61)。ここでは、「担当者:渡辺太郎」(key:value)が入力される。
【0066】
文字列分割部11は、情報を単語(文字列)に分割する(ステップS62)。ここでは、「担当者」と、「渡辺」と、「太郎」とに分割される。分散表現生成部12は、分割された各単語の分散表現を生成し、分散表現連結部13に出力する(ステップS63)。
【0067】
分散表現連結部13は、各単語の分散表現を組み合わせて、分散表現の組み合わせを生成し、種別分類部15に出力する(ステップS65)。ここでは、「担当者」の分散表現と、「渡辺」の分散表現と、「太郎」の分散表現との和を生成する。種別分類部15の分類器は、入力された分散表現の組み合わせに対する、種別毎の確信度を出力する(ステップS65)。分類器が分類する種別がK個の場合、分類器はK個の確信度を算出する。
【0068】
種別判定部16は、分類器が出力する最大の確信度が正の値の場合、S61で入力された情報の種別は確信度が最大の種別であると判定する。そして、種別判定部16は、S61で入力された情報と、最大の確信度の種別(種別名および/または種別番号)とを含む識別結果をファーストBシステム5に送信する(ステップS66)。ここでは、[(担当者:渡辺太郎),3]が送信される。3は、「担当者」の種別番号である。
【0069】
一方、分類器が出力する最大の確信度が負の値の場合、種別判定部16は、S61で入力された情報のkeyを種別保持部19に登録する(ステップS67)。種別保持部19は、登録されたkeyの種別番号を払い出し(ステップS68)、完了通知を種別判定部16に出力する(ステップS69)。ここでは、種別保持部19は、「担当者」の種別番号として「3」を払い出し、「担当者」と「3」とを対応付けて保持する。なお、種別判定部16がkeyの種別番号を払い出し、ステップS67でkeyと種別番号を種別保持部19に登録してもよい。
【0070】
種別判定部16は、完了通知を受け付けると、keyの分散表現と、valueの分散表現とを、類似語抽出部17に出力する(ステップS70)。ここでは、種別判定部16は、「担当者」(key)の分散表現と、「渡辺太郎」(value)の分散表現とを出力する。
【0071】
類似語抽出部17は、keyの分散表現に類似する類似語と、valueの分散表現に類似する類似語とを抽出し、分散表現生成部12に出力する(ステップS71)。このとき、類似語抽出部17は、ステップS70で取得したkeyの分散表現およびvalueの分散表現も、類似語とともに分散表現生成部12に出力する。
【0072】
分散表現生成部12は、入力された各類似語の分散表現を生成する(ステップS72)。分散表現連結部13は、ステップS70で出力されたkeyの分散表現およびその類似語の分散表現と、ステップS70で出力されたvalueの分散表現およびその類似語の分散表現と、をそれぞれ組み合わせた追加の分散表現の組み合わせを生成し、学習データ更新部18に送出する(ステップS73)。
【0073】
学習データ更新部18は、追加の分散表現の組み合わせと、ステップS68で払い出された新たな種別番号とを含む追加の学習データを生成し、種別分類部15に出力する(ステップS74)。種別分類部15の学習部は、追加の学習データを用いて再学習させて分類器を更新し、再学習完了を分散表現連結部13に通知する(ステップS75)。
【0074】
分散表現連結部13は、ステップS64に戻り、ステップS61で入力された情報の分散表現の組み合わせを、種別分類部15の再学習後の分類器に再び入力する。分類器は、各種別の確信度を出力する(ステップS65)。このとき、「担当者」の種別の確信度が最大となり、種別判定部16は、S61で入力された情報の種別は、「担当者」であると判定する。
【0075】
図11Bに、類似語の分散表現と、学習データとの一例を示す。図示する類似語の分散表現のリスト131には、keyの「担当者」の類似語として、「携わる」、「従事」、「主任」などの分散表現と、valueの「渡辺太郎」の類似語として、「岡本」、「山本」、「渡邊」などの分散表現とが示されている。
【0076】
学習データのリスト132には、分散表現の組み合わせと種別番号とを含む、複数の学習データが示されている。新たな種別の「担当者」を再学習させるための追加の学習データ133として、例えば「担当者」(key)の分散表現と「岡本」(valueの類似語)の分散表現の和と、種別番号「3」の学習データが例示されている。
【0077】
次に、図12を参照して、入力された情報のvalueが分散表現化できない場合の動作を説明する。
【0078】
ミドルBシステム3は、keyとvalueを含む情報を、情報識別装置1の文字列分割部11に入力する(ステップS61)。文字列分割部11は、情報を単語に分割する(ステップS62)。ここでは、「電話番号:090-1234-5678」(key:value)が入力され、「電話」と、「番号」と、「090-1234-5678」とに分割される。
【0079】
分散表現生成部12は、分割された各単語の分散表現を試みるが、分散表現化できない単語がある場合はエラーとなる。ここでは、分散表現生成部12は、分散表現化できない「090-1234-5678」(value)を正規表現判定部20に出力する(ステップS81)。
【0080】
正規表現判定部20は、valueが入力されると、種別保持部19に登録されている正規表現と種別番号の組の全てを、種別保持部19に要求し、取得する(ステップS82、S83)。そして、正規表現判定部20は、ステップS82で入力されたvalueの文字列のパターンが取得した正規表現のどのパターンと一致するかを判定する。
【0081】
いずれかの正規表現のパターンと一致する場合、正規表現判定部20は、S61で入力された情報の種別は一致したパターンの正規表現の種別であると判定する。そして、正規表現判定部20は、S61で入力された情報と、一致したパターンの種別とを含む識別結果をファーストBシステム5に送信する(ステップS84)。
【0082】
一方、いずれの正規表現のパターンとも一致しない場合、正規表現判定部20は、種別を特定できない旨のエラーをミドルBシステム3に送信する(ステップS85)。
【0083】
<種別分類度の確信度>
次に、種別分類部15の分類器(SVM)が出力する種別毎の確信度について説明する。確信度は多クラス分類を行う分類器の各クラスにおける境界面、投入した情報と境界面との距離、投入した情報が境界面から見て正負どちら側に存在するか、を用いて算出される。すなわち、分類器は、境界面と投入された情報の距離から正または負の確信度を算出する。
【0084】
前提として、確信度を用いて割り当てる種別が存在するか否かを判断するために、分類器が識別可能な種別が3種類以上存在することが必要である。識別できる種別が1種類の場合は、境界を引くことができないため確信度を算出することができない。また、識別できる種別が2種類の場合は、どちらかの種別の確信度が必ず正となるため識別不可であることを判断できない。
【0085】
図13は、境界面(超平面)と点の距離の算出方法を説明するための説明図である。点X(x-)から境界面に下した垂線の足をH(h)とすると、下記ベクトルは、境界面に垂直なので境界面の法線ベクトルwに平行である。
【0086】
【数1】
【0087】
よって、実数kを用いて以下のように表現できる。
【0088】
【数2】
【0089】
ここで、H(h)は、境界面wTx+b=0上の点であるため以下の式が成り立つ。
【0090】
【数3】
【0091】
よって求めたい点と境界面との距離dは、以下の式で算出される。
【0092】
【数4】
【0093】
したがって、以下の式が成立する。すなわち、多クラス分類を行う分類器の各クラスにおける境界面wTx+b=0と、投入された情報X(x-)との距離は、以下の式で表現される。
【0094】
【数5】
【0095】
<分散表現連結部および種別判定部の実装例>
図14Aは、Pythonによる分散表現連結部13の実装例で、図14Bは、Pythonによる種別判定部16の実装例である。
【0096】
図14Aに示す分散表現連結部13の実装例は、key(氏名)の分散表現と、valueの分散表現(渡辺の分散表現+太郎の分散表現)の和を取ることで、分散表現の組み合わせを算出することを示している。
【0097】
図14Bに示す種別判定部16の実装例は、種別分類部15が出力する最高値の確信度が0より大きい場合(正の値の場合)、「true」(識別可能)を出力し、最高値の確信度が0以下の場合(0または負の値の場合)、「false」(識別不可能)を出力することを示している。
【0098】
以上説明した本実施形態の情報識別装置1は、学習用の情報を単語に分割する文字列分割部11と、各単語の分散表現を生成する分散表現生成部12と、各単語の分散表現を組み合わせて、分散表現の組み合わせを生成する分散表現連結部13と、前記分散表現の組み合わせと、前記学習用の情報に対応する種別の種別番号とを含む学習データを生成する学習データ生成部14と、前記学習データを機械学習させて、入力情報をいずれかの種別に識別する分類器を生成する学習部と、を備える。
【0099】
また、本実施形態の情報識別装置1は、分類器が出力する最高値の確信度を用いて、前記入力情報の種別を既存のいずれかの種別か、あるいは、新たな種別かを判定する種別判定部16を備える。
【0100】
また、本実施形態の情報識別装置1の種別判定部16は、新たな種別の新たな種別番号を生成し、前記新たな種別番号を含む追加学習データを生成する学習データ更新部18を備え、学習部は、前記追加学習データを用いて分類器を再学習させる。
【0101】
これにより、図15に示すように、本実施形態では、各社の既存システムが同じ種別の情報を、異なる形式で投入する場合であっても、同じ種別の情報であると識別することができる。
【0102】
また、分類器で識別できない未知の情報が投入された場合に、新たな種別の情報であると正しく識別し、新たな種別用の学習データを生成して、分類器を再学習させる。これにより、再学習後の分類器は、新たな種別の分類が可能となり、これにより、情報の流通における自動的な情報識別が可能となる。
【0103】
上記説明した情報識別装置1は、例えば、図16に示すような汎用的なコンピュータシステムを用いることができる。図示するコンピュータシステムは、CPU(Central Processing Unit、プロセッサ)901と、メモリ902と、ストレージ903(HDD:Hard Disk Drive、SSD:Solid State Drive)と、通信装置904と、入力装置905と、出力装置906とを備える。メモリ902およびストレージ903は、記憶装置である。このコンピュータシステムにおいて、CPU901がメモリ902上にロードされた所定のプログラムを実行することにより、情報識別装置1の機能が実現される。
【0104】
情報識別装置1は、1つのコンピュータで実装されてもよく、あるいは複数のコンピュータで実装されても良い。また、情報識別装置1は、コンピュータに実装される仮想マシンであっても良い。情報識別装置1のプログラムは、HDD、SSD、USB(Universal Serial Bus)メモリ、CD (Compact Disc)、DVD (Digital Versatile Disc)などのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。
【0105】
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【符号の説明】
【0106】
1 :情報識別装置
11:文字列分割部(分割部)
12:分散表現生成部
13:分散表現連結部
14:学習データ生成部
15:種別分類部
16:種別判定部(判定部)
17:類似語抽出部
18:学習データ更新部
19:種別保持部
20:正規表現判定部
3 :ミドルBシステム
5 :ファーストBシステム
7 :オペレータ端末
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11A
図11B
図12
図13
図14A
図14B
図15
図16