以下、本発明の実施の形態について、図面を参照しながら説明する。本発明の実施の形態では、業務システムを利用する利用者と利用者IDとの名寄せを支援する名寄せ支援システム1について説明する。
(実施例1)
まず、実施例1について説明する。実施例1では、機械学習の手法を用いて名寄せを行う場合について説明する。
<全体構成>
まず、本実施形態の実施例1における名寄せ支援システム1の全体構成について、図1を参照しながら説明する。図1は、本実施形態に係る名寄せ支援システム1の全体構成の一例を示す図(実施例1)である。
図1に示すように、実施例1における名寄せ支援システム1には、名寄せ支援装置10と、1以上のシステム環境E1とが含まれる。また、名寄せ支援装置10と、システム環境E1とは、例えばLAN(Local Area Network)等のネットワークNを介して通信可能に接続されている。
システム環境E1は、業務システム30を管理する業務システム管理部門のシステム環境である。システム環境E1には、業務システム管理者端末20と、業務システム30とが含まれる。業務システム管理者端末20は、業務システム30を利用するための利用者IDの発行等を行うシステム管理者のコンピュータである。業務システム30は、利用者IDが発行された利用者が利用可能なコンピュータシステムである。
なお、業務システム30には、一般に、最近稼働した新しいシステムもあれば、昔から稼働している古いシステムも存在する。また、業務システム30の具体例としては、基幹システム(例えば、ERP(Enterprise Resources Planning)システムやSCM(Supply Chain Management)システム等)、会計システム、人事管理システム、在庫管理システム等が挙げられる。ただし、業務システム30は、これらに限定されない。業務システム30は、様々な業務を提供又は支援するコンピュータシステムであって良い。例えば、銀行システム、商品販売システム、広告管理システム等の顧客管理システムであっても良い。
名寄せ支援装置10は、業務システム30を利用する利用者(業務システム30のユーザ)に関する情報と、業務システム30の利用者IDに関する情報との名寄せを行うコンピュータ又はコンピュータシステムである。
ここで、利用者に関する情報には、名寄せ元となる情報であり、例えば、人事部門や情報管理部門で管理されている社員情報が挙げられる。社員情報には、例えば、後述するように、姓や名、部署、メールアドレス、社員番号等が含まれる。以降では、一例として、利用者に関する情報は、社員情報であるものとして説明する。
また、利用者IDに関する情報とは、名寄せ対象となる情報であり、各業務システム30で管理されているアカウント情報やID情報等が挙げられる。以降では、利用者IDに関する情報を「名寄せ対象情報」と表す。
名寄せ支援装置10には、社員情報と名寄せ対象情報との名寄せを行う名寄せ支援プログラム100がインストールされている。また、名寄せ支援装置10は、社員情報が記憶される社員情報記憶部200と、名寄せ対象情報が記憶される名寄せ対象情報記憶部300とを有する。なお、社員情報記憶部200には、在職中の社員の社員情報に限られず、例えば、退職や異動した社員の社員情報も記憶されている。
名寄せ支援装置10は、名寄せ支援プログラム100により、機械学習の手法を用いて、社員情報記憶部200に記憶されている社員情報と、名寄せ対象情報記憶部300に記憶されている名寄せ対象情報との名寄せを行う。社員情報記憶部200に記憶される社員情報は、例えば、人事部門が管理するシステムや情報管理部門が管理するシステムから取得される。また、名寄せ対象情報記憶部300に記憶される名寄せ対象情報は、例えば、業務システム管理者端末20からアップロード等される。
名寄せ支援プログラム100による名寄せ結果は、「確定」、「候補」、及び「候補なし」の3つに分類される。
「確定」とは、社員情報と名寄せ対象情報との対応付けが行われたことを示す名寄せ結果である。「候補」とは、社員情報と名寄せ対象情報との対応付けが一応行われたものの、正しい名寄せであるか否かをユーザ(例えば、利用者IDの棚卸を行う担当者等)によって判断する必要があることを示す名寄せ結果(すなわち、正しい名寄せとは限らない名寄せ結果)である。「候補なし」とは、社員情報と名寄せ対象情報との対応付けが行われなかったことを示す名寄せ結果である。
名寄せ支援プログラム100による名寄せ結果が「候補」又は「候補なし」と分類された名寄せ対象情報については、利用者IDの棚卸を行う担当者等が、社員情報との名寄せを手作業で行って、名寄せを確定させる必要がある。以降では、例えば利用者IDの棚卸を行う担当者等が手作業により名寄せを確定させることを「名寄せ確定作業」と言う。
ここで、機械学習の手法を用いた名寄せでは、例えばN-gram等の手法を利用して、社員情報と名寄せ対象情報とから数値的に比較可能な特徴量をそれぞれ算出し、算出した特徴量を用いて互いの特徴が類似するか否かを判定することにより名寄せを行う。そして、機械学習の手法を用いた名寄せでは、互いの特徴が類似する社員情報と名寄せ対象情報との名寄せ結果を「候補」に分類する。これより、例えば利用者IDの棚卸を行う担当者等が名寄せ確定作業を行う際の作業負担が軽減される。
一方で、機械学習の手法を用いた名寄せでは、互いの特徴が類似しない社員情報と名寄せ対象情報との名寄せ結果は「候補なし」に分類する。
なお、図1に示す名寄せ支援システム1の構成は一例であって、他の構成であっても良い。例えば、名寄せ管理支援システム1は、業務システム管理者端末20を有していなくても良い。また、名寄せ支援装置10による名寄せは、例えば、クラウドサービス等の形態によって提供されても良い。
<機能構成>
次に、本実施形態の実施例1における名寄せ支援装置10の機能構成について、図2を参照しながら説明する。図2は、本実施形態に係る名寄せ支援装置10の機能構成の一例を示す図(実施例1)である。
図2に示すように、実施例1における名寄せ支援装置10は、機械学習名寄せ処理部110と、確定処理部120とを有する。これら各部は、名寄せ支援プログラム100がCPU(Central Processing Unit)に実行させる処理により実現される。
また、実施例1における名寄せ支援装置10は、社員情報記憶部200と、名寄せ対象情報記憶部300と、社員情報特徴量記憶部400と、名寄せ対象情報特徴量記憶部500と、名寄せ候補なし記憶部600と、名寄せ候補記憶部700と、名寄せ確定記憶部800とを有する。これら各記憶部は、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の記憶装置を用いて実現可能である。なお、これら各記憶部のうちの少なくとも1つの記憶部が、名寄せ支援装置10とネットワークNを介して接続される記憶装置等を用いて実現されていても良い。
社員情報記憶部200は、社員情報を記憶する。社員情報には、例えば、ユーザ識別子やユーザの氏名、社員番号等のデータ項目が含まれる。社員情報には、例えば、カナ氏名やアルファベット氏名、メールアドレス、部署、グループ等のデータ項目が含まれていても良い。また、氏名やカナ氏名、アルファベット氏名は、姓と名とが異なるデータ項目であっても良い。なお、社員情報にどのようなデータ項目が含まれるかは、例えば、当該社員が属する部門や組織等によって異なっていても良い。
名寄せ対象情報記憶部300は、名寄せ対象情報を記憶する。名寄せ対象情報には、例えば、利用者IDやユーザ識別子、ユーザの氏名、社員番号等のデータ項目が含まれる。名寄せ対象情報には、例えば、カナ氏名やアルファベット氏名、メールアドレス、部署、グループ等のデータ項目が含まれていても良い。また、氏名やカナ氏名、アルファベット氏名は、姓と氏とが異なるデータ項目であっても良い。なお、名寄せ対象情報にどのようなデータ項目が含まれるかは、例えば、業務システム管理部門によって異なっていても良い。
社員情報特徴量記憶部400は、機械学習名寄せ処理部110により算出された特徴量を算出する。社員情報特徴量記憶部400に記憶される特徴量は、後述するように、例えばN-gram等の手法により、社員情報から算出された特徴量である。
名寄せ対象情報特徴量記憶部500は、機械学習名寄せ処理部110により算出された特徴量を算出する。名寄せ対象情報特徴量記憶部500に記憶される特徴量は、後述するように、例えばN-gram等の手法により、名寄せ対象情報から算出された特徴量である。
なお、社員情報特徴量記憶部400と名寄せ対象情報特徴量記憶部500とは、同一の記憶部であっても良い。
名寄せ候補なし記憶部600は、名寄せ結果が「候補なし」と分類された名寄せ対象情報を記憶する。すなわち、名寄せ候補なし記憶部600には、名寄せされなかった名寄せ対象情報が記憶される。
名寄せ候補記憶部700は、名寄せ結果が「候補」と分類された名寄せ対象情報と社員情報とを対応付けて記憶する。
名寄せ確定記憶部800は、名寄せ結果が「確定」と分類された名寄せ対象情報と社員情報とを対応付けて記憶する。
機械学習名寄せ処理部110は、機械学習の手法を用いた名寄せ処理を行う。機械学習名寄せ処理部110には、情報取得部111と、正規化部112と、共通情報生成部113と、特徴量算出部114と、名寄せ部115とが含まれる。
情報取得部111は、社員情報記憶部200に記憶されている社員情報を取得する。また、情報取得部111は、名寄せ対象情報記憶部300に記憶されている名寄せ対象情報を取得する。
正規化部112は、情報取得部111により取得された社員情報及び名寄せ対象情報を正規化する。正規化とは、例えば、社員情報及び名寄せ対象情報に含まれる各データ項目について、文字列中の空白を削除したり、全ての英字を半角大文字に変換したり、半角カタカナを全角カタカナに変換したりすること等である。
共通情報生成部113は、正規化部112により正規化された社員情報から共通社員情報を生成する。共通社員情報とは、後述する共通対象情報とデータ項目が共通となるように、社員情報の各データ項目を内容的に関連するデータ項目で集約した情報である。
また、共通情報生成部113は、正規化部112により正規化された名寄せ対象情報から共通対象情報を生成する。共通対象情報とは、上述した共通社員情報とデータ項目が共通となるように、名寄せ対象情報の各データ項目を内容的に関連するデータ項目で集約した情報である。
特徴量算出部114は、例えばN-gram等の手法により、共通情報生成部113により生成された共通社員情報から特徴量(以降では、この特徴量を「社員特徴量」と表す。)を算出する。そして、特徴量算出部114は、算出した社員特徴量を、共通社員情報の生成元の社員情報と対応付けて社員情報特徴量記憶部400に記憶させる。
また、特徴量算出部114は、例えばN-gram等の手法により、共通情報生成部113により生成された共通対象情報から特徴量(以降では、この特徴量を「対象特徴量」と表す。)を算出する。そして、特徴量算出部114は、算出した対象特徴量を、共通対象情報の生成元の名寄せ対象情報と対応付けて名寄せ対象情報特徴量記憶部500に記憶させる。
名寄せ部115は、情報取得部111により取得された対象特徴量について、社員情報特徴量記憶部400に記憶されている社員特徴量のうち、当該対象特徴量との類似度が閾値以上であって、かつ、最も類似する社員特徴量を特定する。そして、名寄せ部115は、当該対象特徴量に対応付けられている名寄せ対象情報と、特定した社員特徴量に対応付けられている社員情報との名寄せを行う。このとき、当該名寄せ対象情報と、当該社員情報との名寄せ結果は、「候補」に分類される。
一方で、名寄せ部115は、情報取得部111により取得された対象特徴量について、当該対象特徴量との類似度が閾値以上の社員特徴量が社員情報特徴量記憶部400に記憶されていない場合、当該対象特徴量に対応付けられている名寄せ対象情報の名寄せ結果を「候補なし」に分類する。なお、ここでは、「候補」と「候補なし」とに分類したが、類似度の閾値を複数設定し、「候補」の中から「確定」をさらに分類しても良い。
なお、対象特徴量と社員特徴量との類似度は、例えば、対象特徴量及び社員特徴量から予め決められたM個のラベルと出現回数との組を取り出した上で、M次元空間内に出現回数を示す点をプロットした場合における点同士の距離に基づいて表される。したがって、対象特徴量と社員特徴量との類似度が閾値以上とは、例えば、上記の類似度を用いた場合に、対象特徴量と社員特徴量との距離の逆数が当該閾値以上であることを言う。なお、対象特徴量と社員特徴量との類似度が閾値以上とは、例えば、対象特徴量と社員特徴量との距離の当該閾値未満であるとしても良い。このような距離に基づく特徴量間の類似度の算出及び閾値との判定は、「近傍検索」とも称され、例えば、オープンソースJubatusを利用することができる。
確定処理部120は、名寄せ確定作業に関する処理を行う。確定処理部120には、識別子受付部121と、候補表示部122と、確定指示受付部123と、更新部124とが含まれる。
識別子受付部121は、例えば利用者IDの棚卸を行う担当者等が操作する端末装置によるユーザ識別子の指定を受け付ける。候補表示部122は、識別子受付部121によりユーザ識別子が受け付けられると、名寄せ候補記憶部700に記憶されている名寄せ対象情報のうち、当該ユーザ識別子の社員情報に対応付けられている名寄せ対象情報を当該端末装置に表示させる。すなわち、候補表示部122は、当該ユーザ識別子の社員情報に対して名寄せ結果が「候補」と分類された名寄せ対象情報の一覧を当該端末装置に表示させる。
確定指示受付部123は、候補表示部122により表示された名寄せ対象情報のうち、当該端末装置における名寄せ対象情報の確定指示を受け付ける。
更新部124は、確定指示受付部123により名寄せ対象情報の確定指示が受け付けられると、当該名寄せ対象情報の名寄せ結果を「確定」に更新する。すなわち、更新部124は、当該名寄せ対象情報と、この名寄せ対象情報に対応付けられている社員情報とを名寄せ候補記憶部700から削除すると共に、当該名寄せ対象情報と当該社員情報とを対応付けて名寄せ確定記憶部800に記憶させる。これにより、当該名寄せ対象情報の名寄せ結果が「確定」に分類される。
<処理の詳細>
次に、実施例1における名寄せ支援装置10の処理の詳細について説明する。以降では、社員情報記憶部200には、例えば、人事部門が管理するシステムや情報管理部門が管理するシステムから取得された社員情報が記憶されているものとする。同様に、名寄せ対象情報記憶部300には、業務システム管理者端末20からアップロード等された名寄せ対象情報が記憶されているものとする。
≪社員特徴量の算出≫
以降では、社員情報記憶部200に記憶されている社員情報から社員特徴量を算出する処理について、図3を参照しながら説明する。図3は、社員特徴量の算出処理の一例を示すフローチャート(実施例1)である。社員特徴量の算出処理は、少なくとも、後述する「機械学習による名寄せ処理」の前に実行されれば良い。
まず、機械学習名寄せ処理部110の情報取得部111は、社員情報記憶部200から社員情報を1件取得する(ステップS101)。
次に、機械学習名寄せ処理部110の正規化部112は、情報取得部111により取得された社員情報を正規化する(ステップS102)。すなわち、正規化部112は、例えば、社員情報に含まれる各データ項目について、文字列中の空白の削除、英字の半角大文字への変換、半角カタカナの全角カタカナへの変換等を行う。以降では、正規化された社員情報も単に「社員情報」と表す。
次に、機械学習名寄せ処理部110の共通情報生成部113は、社員情報から共通社員情報を生成する(ステップS103)。
ここで、共通社員情報の生成について、図4を参照しながら説明する。図4は、共通社員情報の一例を説明する図である。
図4に示すように、共通社員情報には、例えば、ID関連情報、名前関連情報、カナ名関連情報、アルファベット名関連情報、組織関連情報、メール関連情報、及び社員番号関連情報等のデータ項目が含まれる。このとき、共通情報生成部113は、社員情報に含まれる1以上のデータ項目を、共通社員情報の1つのデータ項目に集約することで、共通社員情報を生成する。
すなわち、共通情報生成部113は、例えば、社員情報に含まれるユーザ識別子を、共通社員情報のID関連情報に設定する。また、共通情報生成部113は、例えば、社員情報に含まれる姓及び名を、共通社員情報の名前関連情報に設定する。具体的には、例えば、社員情報に姓「鈴木」と名「一郎」とが含まれる場合、共通情報生成部113は、これらの姓と名とを繋げた「鈴木一郎」を、共通社員情報の名前関連情報に設定する。
同様に、共通情報生成部113は、社員情報に含まれるカナ姓及びカナ名を連結して、共通社員情報のカナ名関連情報に設定する。同様に、共通情報生成部113は、社員情報に含まれるアルファベット姓及びアルファベット名を連結して、共通社員情報のアルファベット名関連情報に設定する。
同様に、共通情報生成部113は、社員情報に含まれる部署及びグループを連結して、共通社員情報の組織関連情報に設定する。具体的には、例えば、社員情報に部署「経理部」とグループ「運用課」とが含まれる場合、共通情報生成部113は、これらの部署とグループとを繋げた「経理部運用課」を、共通社員情報の組織関連情報に設定する。
同様に、共通情報生成部113は、社員情報に含まれるメールアドレス1及びメールアドレス2を、共通社員情報のメール関連情報に設定する。同様に、共通情報生成部113は、社員情報に含まれる社員番号を、共通社員情報の社員番号関連情報に設定する。
以上により共通社員情報が生成される。なお、社員情報に含まれる1以上のデータ項目が、共通社員情報のどのデータ項目に集約されるかは予め決定される。
次に、機械学習名寄せ処理部110の特徴量算出部114は、例えばN-gram等の手法により、共通情報生成部113により生成された共通社員情報から社員特徴量を算出する(ステップS104)。特徴量算出部114は、例えば、共通社員情報のデータ項目毎に予め決定されたNの値を用いて、N-gramによる特徴量を算出する。なお、N-gramによる特徴量は、例えば、N文字のラベル(文字列)と、このラベルの出現回数との組の集合で表される。具体的には、名前関連情報はN=3にする等である。また、例えば、社員番号が6桁である場合には、社員番号関連情報はN=6にする等である。
なお、特徴量算出部114は、共通社員情報に含まれるデータ項目の全てを特徴量の算出に用いなくても良い。特徴量算出部114は、共通社員情報に含まれる一部のデータ項目(例えば、「社員番号関連情報」のみ、「ID関連情報及び「名前関連情報」等)を用いて特徴量を算出しても良い。
次に、機械学習名寄せ処理部110の特徴量算出部114は、上記のステップS104で算出した社員特徴量を、共通社員情報の生成元の社員情報と対応付けて社員情報特徴量記憶部400に記憶させる(ステップS105)。
次に、機械学習名寄せ処理部110の情報取得部111は、次の社員情報が社員情報記憶部200に記憶されているか否かを判定する(ステップS106)。言い換えれば、情報取得部111は、未だ取得していない社員情報が社員情報記憶部200に存在するか否かを判定する。
ステップS106において、次の社員情報が社員情報記憶部200に記憶されていないと判定された場合、機械学習名寄せ処理部110は、社員特徴量の算出処理を終了する。
一方で、ステップS106において、次の社員情報が社員情報記憶部200に記憶されていると判定された場合、機械学習名寄せ処理部110の情報取得部111は、次の社員情報を社員情報記憶部200から取得する(ステップS107)。そして、機械学習名寄せ処理部110は、ステップS102の処理に戻る。これにより、社員情報記憶部200に記憶されている全ての社員情報に対して、社員特徴量が算出される。
以上により、実施例1における名寄せ支援装置10は、社員情報記憶部200に記憶されている各社員情報の社員特徴量を算出することができる。なお、図3に示す社員特徴量の算出処理では、N-gramを用いて特徴量を算出したが、これに限られない。
≪対象特徴量の算出≫
以降では、名寄せ対象情報記憶部300に記憶されている名寄せ対象情報から対象特徴量を算出する処理について、図5を参照しながら説明する。図5は、対象特徴量の算出処理の一例を示すフローチャート(実施例1)である。対象特徴量の算出処理は、少なくとも、後述する「機械学習による名寄せ処理」の前に実行されれば良い。
まず、機械学習名寄せ処理部110の情報取得部111は、名寄せ対象情報記憶部300から名寄せ対象情報を1件取得する(ステップS201)。
次に、機械学習名寄せ処理部110の正規化部112は、情報取得部111により取得された名寄せ対象情報を正規化する(ステップS202)。この正規化は、上記のステップS102で説明した正規化と同様である。以降では、正規化された名寄せ対象情報も単に「名寄せ対象情報」と表す。
次に、機械学習名寄せ処理部110の共通情報生成部113は、名寄せ対象情報から共通対象情報を生成する(ステップS203)。
ここで、共通対象情報の生成について、図6を参照しながら説明する。図6は、共通対象情報の一例を説明する図である。
図9に示すように、共通対象情報には、共通社員情報と同じデータ項目(すなわち、ID関連情報、名前関連情報、カナ名関連情報、アルファベット名関連情報、組織関連情報、メール関連情報、及び社員番号関連情報等)が含まれる。このとき、共通情報生成部113は、名寄せ対象情報に含まれる1以上のデータ項目を、共通対象情報の1つのデータ項目に集約することで、共通対象情報を生成する。
すなわち、共通情報生成部113は、例えば、名寄せ対象情報に含まれる利用ID及びユーザ識別子を、共通対象情報のID関連情報に設定する。また、共通情報生成部113は、例えば、名寄せ対象情報に含まれる姓、名及び氏名を、共通対象情報の名前関連情報に設定する。同様に、共通情報生成部113は、名寄せ対象情報に含まれるカナ姓、カナ名及びカナ氏名を、共通対象情報のカナ名関連情報に設定する。同様に、共通情報生成部113は、名寄せ対象情報に含まれるアルファベット姓、アルファベット名及びアルファベット氏名を、共通対象情報のアルファベット名関連情報に設定する。
同様に、共通情報生成部113は、名寄せ対象情報に含まれる部署、グループ、会社及び本部を、共通対象情報の組織関連情報に設定する。同様に、共通情報生成部113は、名寄せ対象情報に含まれるメールアドレス1及びメールアドレス2を、共通対象情報のメール関連情報に設定する。同様に、共通情報生成部113は、名寄せ対象情報に含まれる社員番号を、共通対象情報の社員番号関連情報に設定する。
なお、業務システム30によっては、名寄せ対象情報の或るデータ項目が存在しない場合もある。例えば、或る業務システム30の名寄せ対象情報にはデータ項目「会社」が含まれる一方で、別の或る業務システム30の名寄せ対象情報にはデータ項目「会社」が含まれない場合が有り得る。このような場合、名寄せ対象情報に含まれるデータ項目だけを用いて、共通対象情報を生成すれば良い。具体的には、或る名寄せ対象情報には、部署「経理部」、グループ「運用課」、会社「株式会社A商事」が含まれる場合、共通情報生成部113は、これらを連携した「株式会社A商事経理部運用課」を組織関連情報に設定すれば良い。一方で、別の或る名寄せ対象情報には、部署「経理部」、グループ「運用課」が含まれるが、データ項目「会社」が含まれない場合、共通情報生成部113は、部署とグループとを連携した「経理部運用課」を組織関連情報に設定すれば良い。
以上により共通対象情報が生成される。なお、名寄せ対象情報に含まれる1以上のデータ項目が、共通対象情報のどのデータ項目に集約されるかは予め決定される。
次に、機械学習名寄せ処理部110の特徴量算出部114は、例えばN-gram等の手法により、共通情報生成部113により生成された共通対象情報から対象特徴量を算出する(ステップS204)。この対象特徴量の算出は、上記のステップS104で説明した社員特徴量の算出と同様である。
なお、上記のステップS104と同様に、特徴量算出部114は、共通対象情報に含まれるデータ項目の全てを特徴量の算出に用いなくても良い。特徴量算出部114は、共通対象情報に含まれる一部のデータ項目(例えば、「社員番号関連情報」のみ、「ID関連情報及び「名前関連情報」等)を用いて特徴量を算出しても良い。
次に、機械学習名寄せ処理部110の特徴量算出部114は、上記のステップS204で算出した対象特徴量を、共通対象情報の生成元の名寄せ対象情報と対応付けて名寄せ対象情報特徴量記憶部500に記憶させる(ステップS205)。
次に、機械学習名寄せ処理部110の情報取得部111は、次の名寄せ対象情報が名寄せ対象情報記憶部300に記憶されているか否かを判定する(ステップS206)。言い換えれば、情報取得部111は、未だ取得していない名寄せ対象情報が名寄せ対象情報記憶部300に存在するか否かを判定する。
ステップS206において、次の名寄せ対象情報が名寄せ対象情報記憶部300に記憶されていないと判定された場合、機械学習名寄せ処理部110は、対象特徴量の算出処理を終了する。
一方で、ステップS206において、次の名寄せ対象情報が名寄せ対象情報記憶部300に記憶されていると判定された場合、機械学習名寄せ処理部110の情報取得部111は、次の名寄せ対象情報を名寄せ対象情報記憶部300から取得する(ステップS207)。そして、機械学習名寄せ処理部110は、ステップS202の処理に戻る。これにより、名寄せ対象情報記憶部300に記憶されている全ての名寄せ対象情報に対して、対象特徴量が算出される。
以上により、実施例1における名寄せ支援装置10は、名寄せ対象情報記憶部300に記憶されている各名寄せ対象情報の対象特徴量を算出することができる。なお、図5に示す対象特徴量の算出処理では、N-gramを用いて特徴量を算出したが、これに限られない。
≪機械学習による名寄せ≫
以降では、対象特徴量と社員特徴量とを用いて、名寄せ対象情報を名寄せする処理について、図7を参照しながら説明する。図7は、機械学習による名寄せ処理の一例を示すフローチャート(実施例1)である。
まず、機械学習名寄せ処理部110の情報取得部111は、名寄せ対象情報特徴量記憶部500から対象特徴量と、当該対象特徴量に対応付けられている名寄せ対象情報とを取得する(ステップS301)。
次に、機械学習名寄せ処理部110の名寄せ部115は、情報取得部111により取得された対象特徴量との類似度が所定の閾値以上である社員特徴量が社員情報特徴量記憶部400に記憶されているか否かを判定する(ステップS302)。
ステップS302において、類似度が所定の閾値以上である社員特徴量が社員情報特徴量記憶部400に記憶されていると判定された場合、機械学習名寄せ処理部110の名寄せ部115は、これらの社員特徴量のうち、最も類似度が高い社員特徴量に対応付けられている社員情報を特定する。そして、名寄せ部115は、情報取得部111により取得された名寄せ対象情報と、特定した社員情報とを対応付けて名寄せ候補記憶部700に記憶させる(ステップS303)。これにより、当該名寄せ対象情報の名寄せ結果は「候補」となり、当該名寄せ対象情報が、当該社員情報と名寄せされる。
なお、名寄せ部115は、例えば、当該名寄せ対象情報との類似度によって社員特徴量を順位付けした上で、上位L件の社員特徴量に対応付けられている社員情報を抽出し、当該名寄せ対象情報と、抽出した社員情報とを名寄せしても良い。
なお、ステップS303では、最も類似度が高い社員特徴量に対応付けられている社員情報との名寄せを行ったが、これに限られず、例えば、対象特徴量との類似度が所定の閾値以上である社員特徴量に対応付けられている社員情報との名寄せを行っても良い。これにより、1つの名寄せ対象情報に対して、1つ以上の社員情報が対応付けられて名寄せ候補記憶部700に記憶される。
一方で、ステップS302において、類似度が所定の閾値以上である社員特徴量が社員情報特徴量記憶部400に記憶されていないと判定された場合、機械学習名寄せ処理部110の名寄せ部115は、情報取得部111により取得された名寄せ対象情報を名寄せ候補なし記憶部600に記憶させる(ステップS304)。これにより、当該名寄せ候補情報の名寄せ結果は「候補なし」となる。
次に、機械学習名寄せ処理部110の情報取得部111は、次の対象特徴量が名寄せ対象情報特徴量記憶部500に記憶されているか否かを判定する(ステップS305)。言い換えれば、情報取得部111は、未だ取得していない対象特徴量と、当該対象特徴量に対応付けられている名寄せ対象情報とが名寄せ対象情報特徴量記憶部500に存在するか否かを判定する。
ステップS305において、対象特徴量が名寄せ対象情報特徴量記憶部500に記憶されていないと判定された場合、機械学習名寄せ処理部110は、機械学習による名寄せ処理を終了する。
一方で、ステップS305において、次の対象特徴量が名寄せ対象情報特徴量記憶部500に記憶されていると判定された場合、機械学習名寄せ処理部110の情報取得部111は、次の対象特徴量と、当該対象特徴量に対応付けられている名寄せ対象情報とを名寄せ対象情報特徴量記憶部500から取得する(ステップS306)。そして、機械学習名寄せ処理部110は、ステップS302の処理に戻る。これにより、名寄せ対象情報特徴量記憶部500に記憶されている全ての名寄せ対象情報の名寄せ結果(「候補」又は「候補なし」)が得られる。
なお、図7に示す機械学習による名寄せ処理では、名寄せ対象情報特徴量記憶部500に記憶されている全ての名寄せ対象情報の名寄せを行っているが、これに限られず、例えば、ユーザにより指定された名寄せ対象情報のみの名寄せを行っても良い。すなわち、例えば、ユーザによる名寄せ対象情報の指定に応じて、名寄せ支援装置10は、上記のステップS301~ステップS304の処理が実行しても良い。これにより、ユーザは、名寄せ対象情報を指定するだけで、都度、機械学習による名寄せを行うことができるようになる。
また、図7に示す機械楽手による名寄せ処理では、予め記憶されている対象特徴量と、当該対象特徴量に対応付けられている名寄せ対象情報とを用いたが、これに限られない。例えば、名寄せ対象情報記憶部300から名寄せ対象情報を1件ずつ取得し、取得した名寄せ対象情報の対象特徴量の算出及び社員情報との名寄せを繰り返し実行しても良い。
≪名寄せ確定作業≫
以降では、例えば利用者IDの棚卸を行う担当者等のユーザが名寄せ確定作業を行う場合の処理について、図8を参照しながら説明する。図8は、確定処理の一例を示すフローチャート(実施例1)である。
まず、確定処理部120の識別子受付部121は、ユーザ識別子の指定を受け付ける(ステップS401)。ユーザは、例えば、名寄せ支援装置10と通信可能な端末装置を用いて、ユーザ識別子の指定操作を行うことができる。これにより、識別子受付部121は、ユーザ識別子の指定を受け付けることができる。当該端末装置は、ユーザ識別子の指定操作が行われると、このユーザ識別子を名寄せ支援装置10に送信する。
なお、ユーザは、ユーザ識別子の代わりに、社員情報を識別する任意の情報(例えば、社員番号等)を指定しても良い。
次に、確定処理部120の候補表示部122は、識別子受付部121によりユーザ識別子が受け付けられると、名寄せ候補記憶部700に記憶されている名寄せ対象情報のうち、当該ユーザ識別子の社員情報と対応付けられている名寄せ対象情報を、当該端末装置に表示させる(ステップS402)。すなわち、候補表示部122は、当該ユーザ識別子の社員情報に対して名寄せ結果が「候補」と分類された名寄せ対象情報の一覧を当該端末装置に表示させる。
これにより、当該端末装置のディスプレイ上には、名寄せ結果が「候補」と分類された名寄せ対象情報の一覧が表示される。なお、当該端末装置のディスプレイ上には、当該名寄せ対象情報に含まれる利用者IDの一覧が表示されても良い。
なお、候補表示部122は、当該名寄せ対象情報を所定の順(例えば、当該社員情報との類似度が高い順、所定のデータ項目(例えば、名前やメールアドレス、部署等)における類似度が高い又は低い順)でソートした上で、当該端末装置に表示させても良い。また、当該端末装置には、当該名寄せ対象情報に加えて、例えば、当該名寄せ対象情報に含まれる利用者IDで利用可能な業務システム30の種別やシステム名、システムの稼働開始日(稼働開始年)等が表示されても良い。
次に、確定処理部120の確定指示受付部123は、名寄せ対象情報の確定指示を受け付けたか否かを判定する(ステップS403)。ユーザは、例えば、当該端末装置のディスプレイ上に表示された名寄せ対象情報の一覧から所望の名寄せ対象情報(当該社員情報との名寄せを行う名寄せ対象情報)を選択した上で、確定操作を行うことができる。当該端末装置は、名寄せ対象情報の確定操作が行われると、名寄せ対象情報の確定指示を名寄せ支援装置10に送信する。これにより、確定指示受付部123は、名寄せ対象情報の確定指示を受け付けることができる。
ステップS403において、名寄せ対象情報の確定指示を受け付けた場合、確定処理部120の更新部124は、当該名寄せ対象情報の名寄せ結果を「確定」に更新する(ステップS404)。すなわち、更新部124は、当該名寄せ対象情報と、この名寄せ対象情報に対応付けられている社員情報とを名寄せ候補記憶部700から削除すると共に、当該名寄せ対象情報と当該社員情報とを対応付けて名寄せ確定記憶部800に記憶させる。これにより、当該名寄せ対象情報の名寄せ結果が「確定」に分類される。
以上により、実施例1における名寄せ支援装置10は、例えば利用者IDの棚卸を行う担当者等のユーザに対して、名寄せ結果が「候補」である名寄せ対象情報の一覧を提供することができる。これにより、当該ユーザは、自身が指定した社員情報と名寄せさせる名寄せ対象情報を、当該名寄せ対象情報の一覧の中から選択することができる。したがって、実施例1における名寄せ支援装置10によれば、名寄せ確定作業を行う場合におけるユーザの負担を軽減させることができる。
(実施例2)
次に、実施例2について説明する。実施例2では、機械学習による名寄せに加えて、ルールベースによる名寄せも行って、これら2つの名寄せ結果をマージする場合について説明する。ルールベースよる名寄せも行うことで、名寄せ結果が「確定」である名寄せ対象情報の数を増やすと共に、名寄せ結果が「候補」である名寄せ対象情報の数を減らすことができる。これにより、ユーザによる名寄せ確定作業の負担を更に軽減させることができる。
なお、実施例2では、主に、実施例1との相違点について説明し、実施例1と同様の構成要素については、同一の符号を付与し、その説明を省略するものとする。
<機能構成>
まず、本実施形態の実施例2における名寄せ支援装置10の機能構成について、図9を参照しながら説明する。図9は、本実施形態に係る名寄せ支援装置10の機能構成の一例を示す図(実施例2)である。
図9に示すように、実施例2における名寄せ支援装置10は、更に、ルールベース名寄せ処理部130と、名寄せ結果マージ部140とを有する。これら各部は、名寄せ支援プログラム100がCPUに実行させる処理により実現される。
ルールベース名寄せ処理部130は、ルールベースの手法を用いた名寄せ処理を行う。すなわち、ルールベース名寄せ処理部130は、名寄せのルール(条件)と当該ルールを満たした場合における名寄せ結果とが予め定義されたルールテーブルを参照して、名寄せ対象情報と社員情報との名寄せを行う。
名寄せ結果マージ部140は、機械学習名寄せ処理部110による名寄せ結果と、ルールベース名寄せ処理部130による名寄せ結果とをマージする。このとき、例えば、同一の名寄せ対象情報及び社員情報について、ルールベース名寄せ処理部130による名寄せ結果が「候補なし」に分類される一方で、機械学習名寄せ処理部110による名寄せ結果が「候補」に分類されることがある。この場合、名寄せ結果マージ部140は、ルールベース名寄せ処理部130による名寄せ結果を削除する。
また、例えば、同一の名寄せ対象情報及び社員情報について、ルールベース名寄せ処理部130による名寄せ結果が「確定」に分類される一方で、機械学習名寄せ処理部110による名寄せ結果が「候補」に分類されることがある。この場合、名寄せ結果マージ部140は、機械学習名寄せ処理部110による名寄せ結果を削除する。
そして、名寄せ結果マージ部140は、マージ後の名寄せ結果について、その分類に応じて、名寄せ候補なし記憶部600、名寄せ候補記憶部700又は名寄せ確定記憶部800のいずれかに記憶させる。
<処理の詳細>
次に、実施例2における名寄せ支援装置10の処理の詳細について説明する。なお、社員特徴量の算出処理と、対象特徴量の算出処理と、機械学習による名寄せ処理と、確定処理とは、実施例1と同様であるため、その説明を省略する。
≪名寄せ結果のマージ≫
以降では、機械学習名寄せ処理部110による名寄せ結果と、ルールベース名寄せ処理部130による名寄せ結果とをマージする処理について、図10を参照しながら説明する。図10は、名寄せ結果のマージ処理の一例を示すフローチャート(実施例2)である。
機械学習名寄せ処理部110は、機械学習による名寄せ処理を行う(ステップS501)。機械学習による名寄せ処理は、図7で説明した通りである。機械学習による名寄せ処理の名寄せ結果は、「候補」又は「候補なし」のいずれかに分類される。
ルールベース名寄せ処理部130は、ルールベースによる名寄せ処理を行う(ステップS502)。ルールベースによる名寄せ処理では、名寄せのルール(条件)と当該ルールを満たした場合における名寄せ結果とが予め定義されたルールテーブルを参照して、名寄せ対象情報と社員情報との名寄せを行う。例えば、ルールとしては、例えば、「名寄せ対象情報に含まれる社員番号と、社員情報に含まれる社員番号とが完全一致すること」や「名寄せ対象情報に含まれる姓及び名と、社員情報に含まれる姓及び名とが完全一致すること」、「名寄せ対象情報に含まれる姓及び名と、社員情報に含まれる氏名とが完全一致すること」等が挙げられる。ルールベースによる名寄せ処理の名寄せ結果は、名寄せ対象情報と社員情報とが満たすルールに応じて、「確定」、「候補」又は「候補なし」のいずれかに分類される。
なお、上記のステップS501の処理(機械学習による名寄せ処理)と、上記のステップS502の処理(ルールベースによる名寄せ処理)とは、並列に実行されても良いし、いずれか一方の処理を先に実行した後に他方の処理を実行しても良い。
次に、名寄せ結果マージ部140は、機械学習名寄せ処理部110による名寄せ結果と、ルールベース名寄せ処理部130による名寄せ結果とをマージする(ステップS503)。
ここで、機械学習名寄せ処理部110による名寄せ結果と、ルールベース名寄せ処理部130の名寄せ結果とのマージについて、図11を参照しながら説明する。
図11に示すように、上記のステップS502のルールベースによる名寄せ処理によって、ルールベース名寄せ処理部130による名寄せ結果は、例えば図12に示すルールテーブルに基づいて、「確定」、「候補」、「候補なし」に分類される。図12に示すルールテーブルでは、ルール内容と分類区分とが対応付けられており、当該ルール内容には、社員情報のデータ項目と名寄せ対象情報のデータ項目との判定条件が定義されている。これにより、例えば、社員情報のデータ項目「社員番号」と名寄せ対象情報のデータ項目「社員番号」とが完全一致する場合、名寄せ結果は「確定」に分類される。同様に、社員情報のデータ項目「姓」及び「名」と、名寄せ対象情報のデータ項目「姓」及び「名」とが完全一致する場合、名寄せ結果は「候補」に分類される。
また、図11に示すように、機械学習名寄せ処理部110による名寄せ結果は、「候補」、「候補なし」に分類される。
このとき、名寄せ結果マージ部140は、例えば、同一の名寄せ対象情報及び社員情報について、ルールベース名寄せ処理部130による名寄せ結果が「候補なし」で、機械学習名寄せ処理部110による名寄せ結果が「候補」である場合、ルールベース名寄せ処理部130による名寄せ結果を削除する。
また、例えば、名寄せ結果マージ部140は、同一の名寄せ対象情報及び社員情報について、ルールベース名寄せ処理部130による名寄せ結果が「確定」で、機械学習名寄せ処理部110による名寄せ結果が「候補」である場合、機械学習名寄せ処理部110による名寄せ結果を削除する。
これにより、図11に示すように、名寄せ結果マージ部140によるマージ後の名寄せ結果は、例えば、ユーザ識別子「XXX0001」が含まれる社員情報と、或る業務システム30(システムA)の利用者ID「ID0001」が含まれる名寄せ対象情報との名寄せ結果はルールベースによる名寄せ結果である「確定」、ユーザ識別子「XXX0001」が含まれる社員情報と、別の或る業務システム30(システムB)の利用者ID「ID0001」が含まれる名寄せ対象情報との名寄せ結果は機械学習による名寄せ結果である「候補」となる。
このように、名寄せ結果マージ部140によって、ルールベース名寄せ処理部130による名寄せ結果と、機械学習名寄せ処理部110による名寄せ結果とをマージすることで、名寄せ結果が「確定」となる数を増やし、名寄せ結果が「候補」となる数と、名寄せ結果が「候補なし」となる数とを減らすことができる。
次に、名寄せ結果マージ部140は、上記のステップS403におけるマージ後の名寄せ結果に応じて、社員情報及び名寄せ対象情報を格納する(ステップS504)。
すなわち、名寄せ対象情報と、この名寄せ対象情報に対応する社員情報との名寄せ結果が「確定」と分類されている場合、名寄せ結果マージ部140は、これら社員情報及び名寄せ対象情報を対応付けて名寄せ確定記憶部800に記憶させる。
また、名寄せ対象情報と、この名寄せ対象情報に対応する社員情報との名寄せ結果が「候補」と分類されている場合、名寄せ結果マージ部140は、これら社員情報及び名寄せ対象情報を対応付けて名寄せ候補記憶部700に記憶させる。
更に、名寄せされなかった名寄せ対象情報が存在する場合(すなわち、当該名寄せ対象情報の名寄せ結果が「候補なし」と分類されている場合)、名寄せ結果マージ部140は、この名寄せ対象情報を名寄せ候補なし記憶部600に記憶させる。
以上により、実施例2における名寄せ支援装置10は、社員情報記憶部200に記憶されているユーザ情報と、名寄せ対象情報記憶部300に記憶されている名寄せ対象情報とについて、ルールベースによる名寄せと機械学習による名寄せとを行うことができる。しかも、実施例2における名寄せ支援装置10は、機械学習による名寄せに加えて、ルールベースによる名寄せも行うことで、名寄せ結果が「候補なし」となる名寄せ対象情報の数と、名寄せ結果が「候補」となる名寄せ対象情報の数とを減らすと共に、名寄せ結果が「確定」となる名寄せ対象情報の数を増やすことができる。
(実施例3)
次に、実施例3について説明する。実施例3では、名寄せ結果が「確定」となった名寄せ対象情報を用いて共通社員情報を作成する場合について説明する。名寄せ結果が「確定」となった名寄せ対象情報を用いて共通社員情報を作成することで、名寄せが確定した名寄せ対象情報に含まれる各種情報(例えば、氏名やメールアドレス、部署等)も考慮した社員特徴量が算出される。
例えば、古い業務システム30の名寄せ対象情報であって、既に名寄せが確定している名寄せ対象情報に含まれる旧姓や変更前のメールアドレス、移動前の部署等の情報も考慮した社員特徴量が算出される。これにより、例えば、旧姓や変更前のメールアドレス、移動前の部署等の情報が設定されている他の業務システム30の名寄せ対象情報を、機械学習による名寄せ処理によって、名寄せ結果「候補」とすることができる。このように、実施例3では、既に確定した名寄せ結果を用いることで、機械学習による名寄せ処理の精度を向上させることができる。
なお、実施例3では、主に、実施例1との相違点について説明し、実施例1と同様の構成要素については、同一の符号を付与し、その説明を省略するものとする。
<処理の詳細>
次に、実施例3における名寄せ支援装置10の処理の詳細について説明する。なお、対象特徴量の算出処理と、機械学習による名寄せ処理とは、実施例1と同様であるため、その説明を省略する。
≪社員特徴量の算出≫
以降では、既に確定した名寄せ結果を考慮して、社員情報記憶部200に記憶されている社員情報から社員特徴量を算出する処理について、図13を参照しながら説明する。図13は、社員特徴量の算出処理の一例を示すフローチャート(実施例3)である。なお、図13のステップS101~ステップS107は、図3と同様であるため、その説明を省略する。
ステップS102に続いて、機械学習名寄せ処理部110の共通情報生成部113は、情報取得部111により取得された社員情報に対応付けられた名寄せ対象情報で、名寄せ結果が「確定」である名寄せ対象情報が存在するか否かを判定する(ステップS601)。すなわち、共通情報生成部113は、名寄せ確定記憶部800に記憶されている名寄せ対象情報のうち、当該社員情報と対応付けられている名寄せ対象情報が存在するか否かを判定する。
ステップS601において、名寄せ結果が「確定」の名寄せ対象情報が存在しないと判定された場合、機械学習名寄せ処理部110は、ステップS103に進む。
一方で、ステップS601において、名寄せ結果が「確定」の名寄せ対象情報が存在すると判定された場合、機械学習名寄せ処理部110の共通情報生成部113は、当該社員情報と当該名寄せ対象情報とから共通社員情報を生成する(ステップS602)。この場合、共通情報生成部113は、名寄せ対象情報に含まれる1以上のデータ項目についても、共通社員情報の1つのデータ項目に集約することで、共通社員情報を生成する。
具体的には、例えば、当該社員情報に姓「鈴木」と名「花子」とが含まれ、当該名寄せ対象情報(名寄せ結果が「確定」の名寄せ対象情報)に姓「山田」(例えば、旧姓)が含まれる場合、共通情報生成部113は、これらを繋げた「鈴木山田花子」を共通社員情報の名前関連情報に設定する。これにより、既に名寄せが確定した名寄せ対象情報に含まれる各情報も設定された共通社員情報が生成される。したがって、既に名寄せが確定した名寄せ対象情報に含まれる各情報も考慮した社員特徴量が算出される。
また、例えば、各業務システム30の名寄せをした後、名寄せの途中で、社員情報特徴量を抽出し直して名寄せを行うことで、前回の名寄せと比べて「候補」の数を増やすことができる。これにより、例えば、同じ業務システム30の名寄せをする場合に、他の業務システム30の名寄せ結果(「確定」となった名寄せ対象情報)にも基づき算出した社員特徴情報量を用いた名寄せを行うことで、初回の名寄せと比べて2回目以降の名寄せの方がより高い精度で名寄せを行うことができるようになる。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。