(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-06-04
(45)【発行日】2024-06-12
(54)【発明の名称】検索支援システム、検索支援方法及びプログラム
(51)【国際特許分類】
G06F 16/9035 20190101AFI20240605BHJP
【FI】
G06F16/9035
(21)【出願番号】P 2024069418
(22)【出願日】2024-04-23
【審査請求日】2024-04-23
【早期審査対象出願】
(73)【特許権者】
【識別番号】512313953
【氏名又は名称】株式会社ビズリーチ
(74)【代理人】
【識別番号】110002789
【氏名又は名称】弁理士法人IPX
(72)【発明者】
【氏名】菅谷 信介
(72)【発明者】
【氏名】山本 凌平
【審査官】早川 学
(56)【参考文献】
【文献】特許第7385077(JP,B1)
【文献】特許第7403027(JP,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
検索支援システムであって、
少なくとも1つのプロセッサを備え、
前記プロセッサは、プログラムを読み出すことで次の各ステップを実行するように構成され、
受付ステップでは、少なくとも1つの検索キーワードを含む検索クエリの入力を受け付け、
取得ステップでは、前記受付ステップで受け付けた検索クエリに対応する検索用情報を検索用推奨求職者データベースから取得し、ここで、前記検索用情報は、求職者検索に使用される、少なくとも1つのキーワードを含む検索クエリと紐づけられて前記検索用推奨求職者データベースに登録された、検索用推奨求職者の属性を特定する情報であり、前記検索用推奨求職者は、検索クエリに基づく過去の検索結果に基づいて、求人成約に関連するアクションの発生期待値が高いと想定される求職者であり、
検索ステップでは、前記受付ステップで受け付けた検索クエリと前記検索用情報とを検索条件として、求職者を検索する、検索支援システム。
【請求項2】
請求項1に記載の検索支援システムにおいて、
前記検索ステップでは、前記受付ステップで受け付けた検索クエリと求職者データベースに登録された求職者の登録情報に含まれるキーワードとの照合と、前記検索用情報と前記登録情報との比較とに基づいて求職者を検索する、検索支援システム。
【請求項3】
請求項2に記載の検索支援システムにおいて、
前記検索用情報は、ベクトルデータであり、
前記検索ステップでは、前記受付ステップで受け付けた検索クエリに含まれる前記検索キーワードと同一の又は類似するキーワードが前記登録情報に含まれる求職者を検索対象として抽出するとともに、前記検索用情報と前記登録情報との類似度の高さを示す類似スコアに基づいて、検索対象として抽出された求職者の表示を調整し、ここで、前記類似スコアは、前記検索用情報と、前記登録情報をベクトル化したベクトルデータとの比較によって得られる、検索支援システム。
【請求項4】
請求項3に記載の検索支援システムにおいて、
前記検索ステップでは、前記類似スコアの大きさに基づいて、抽出された求職者の表示順を決定する、検索支援システム。
【請求項5】
請求項1に記載の検索支援システムにおいて、
前記検索用推奨求職者データベースは、以下のステップによって構築され、
候補者選択ステップでは、求職者の検索において過去に使用された検索クエリである登録用クエリによって検索された複数の検索済求職者の中から、求人成約に関連するアクションの発生数が所定以上であるか、又は複数の前記検索済求職者における前記発生数の順位が所定以内である前記検索済求職者を候補者として選択し、
特徴情報取得ステップでは、前記候補者の属性を表す特徴情報を特徴情報データベースから取得し、
検索用情報作成ステップでは、前記特徴情報を検索用情報作成モデルに入力し、前記検索用情報作成モデルに前記検索用情報を出力させ、ここで、前記検索用情報作成モデルは、前記特徴情報を入力とし、前記検索用情報を出力することが可能なように学習された学習モデルであり、
登録ステップでは、前記登録用クエリと前記検索用情報とを紐づけて、前記検索用推奨求職者データベースに登録する、検索支援システム。
【請求項6】
請求項5に記載の検索支援システムにおいて、
前記検索用情報作成ステップでは、前記検索用情報作成モデルに前記検索用情報をテキストデータで出力させるとともに、前記テキストデータをベクトルデータ化し、
前記登録ステップでは、ベクトルデータ化された前記検索用情報を前記検索用推奨求職者データベースに登録する、検索支援システム。
【請求項7】
請求項5に記載の検索支援システムにおいて、
前記特徴情報データベースは、求職者の登録情報が登録された求職者データベースから抽出された属性情報が、当該求職者の識別情報に紐づけられて登録されたデータベースである、検索支援システム。
【請求項8】
請求項7に記載の検索支援システムにおいて、
前記属性情報は、前記登録情報をトピックモデルに入力し、前記トピックモデルに出力させたトピックを含む、検索支援システム。
【請求項9】
請求項7に記載の検索支援システムにおいて、
前記属性情報は、前記登録情報から抽出されたスキル又は資格を含む、検索支援システム。
【請求項10】
請求項9に記載の検索支援システムにおいて、
前記属性情報は、前記スキルの経験度を含み、
前記特徴情報取得ステップでは、前記経験度の大きさに基づいて前記特徴情報として取得する前記スキルを選択する、検索支援システム。
【請求項11】
請求項5に記載の検索支援システムにおいて、
前記アクションには、任意の求人に基づくスカウト文書の受信、任意の求人からのスカウト文書への返信、任意の求人に対する審査通過、及び任意の求人における成約の少なくとも1つが含まれる、検索支援システム。
【請求項12】
検索支援方法であって、
請求項1から請求項11のいずれか1項に記載の検索支援システムが実行する各ステップを備える、検索支援方法。
【請求項13】
プログラムであって、
コンピュータに、請求項1から請求項11のいずれか1項に記載の検索支援システムの各ステップを実行させるための、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検索支援システム、検索支援方法及びプログラムに関する。
【背景技術】
【0002】
特許文献1に開示されるように、求職者が登録した求職者情報に基づき、求人者が条件に合致する求職者を検索する技術が知られている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述の従来技術では、求人者が要件を満たす求職者を見つけるまでに、検索条件を変えて検索を繰り返す場合があり、検索に要するコストが大きい。
【0005】
本発明では上記事情に鑑み、検索に要する手間や時間といったコストを低減できる検索支援システム等を提供することとした。
【課題を解決するための手段】
【0006】
本発明の一態様によれば、検索支援システムが提供される。この検索支援システムは、少なくとも1つのプロセッサを備える。プロセッサは、プログラムを読み出すことで次の各ステップを実行するように構成される。受付ステップでは、少なくとも1つの検索キーワードを含む検索クエリの入力を受け付ける。取得ステップでは、受付ステップで受け付けた検索クエリに対応する検索用情報を検索用推奨求職者データベースから取得する。検索用情報は、求職者検索に使用される、少なくとも1つのキーワードを含む検索クエリと紐づけられて検索用推奨求職者データベースに登録された、検索用推奨求職者の属性を特定する情報であり、検索用推奨求職者は、検索クエリに基づく過去の検索結果に基づいて、求人成約に関連するアクションの発生期待値が高いと想定される求職者である。検索ステップでは、受付ステップで受け付けた検索クエリと検索用情報とを検索条件として、求職者を検索する。
【0007】
このような態様によれば、求人者が求職者を検索するための検索クエリを入力した際に、求人成約に関連するアクションの発生が期待される検索用推奨求職者に関する情報(検索用情報)を用いて、求職者の絞り込みをアシストすることができる。そのため、求人者による検索に要するコストが低減される。
【図面の簡単な説明】
【0008】
【
図2】サーバ装置10のハードウェア構成を示すブロック図である。
【
図3】求人者端末20及び求職者端末30のハードウェア構成を示すブロック図である。
【
図4】サーバ装置10(制御部11)、求人者端末20(制御部21)及び求職者端末30(制御部31)によって実現される機能を示すブロック図である。
【
図5】検索用推奨求職者データベースの構築手順を示す模式図である。
【
図6】データベース構築部115によって実行される、検索用推奨求職者データベースの構築処理の一例を示すフロー図である。
【
図7】検索支援システム1によって実行される情報処理(求職者の検索処理)の流れの一例を示すアクティビティ図である。
【発明を実施するための形態】
【0009】
以下、図面を用いて本発明の実施形態について説明する。以下に示す実施形態中で示した各種特徴事項は、互いに組み合わせ可能である。
【0010】
ところで、一実施形態に登場するソフトウェアを実現するためのプログラムは、コンピュータが読み取り可能な非一時的な記録媒体(Non-Transitory Computer-Readable Medium)として提供されてもよいし、外部のサーバからダウンロード可能に提供されてもよいし、外部のコンピュータで当該プログラムを起動させてクライアント端末でその機能を実現(いわゆるクラウドコンピューティング)するように提供されてもよい。
【0011】
また、一実施形態に係る種々の情報処理において、入力と、入力に応じた出力とが実現されうる。ここで、入力の結果として出力が得られれば、かかる情報処理において参照される情報(以下、参照情報と称する。)の態様は、限定されない。参照情報は、例えば、データベース、ルックアップテーブル、所定の関数(統計学的手法によって構築された、回帰式等の判定式を含む。)等のルールベースの情報でもよいし、入力と出力との相関を予め学習させた学習済みモデルでもよいし、プロンプトを入力することで所望の結果を出力可能な大規模言語モデルでもよい。
【0012】
また、一実施形態において「部」とは、例えば、広義の回路によって実施されるハードウェア資源と、これらのハードウェア資源によって具体的に実現されうるソフトウェアの情報処理とを合わせたものも含みうる。また、一実施形態においては様々な情報を取り扱うが、これら情報は、例えば電圧・電流を表す信号値の物理的な値、0又は1で構成される2進数のビット集合体としての信号値の高低、又は量子的な重ね合わせ(いわゆる量子ビット)によって表され、広義の回路上で通信・演算が実行されうる。
【0013】
さらに、広義の回路とは、回路(Circuit)、回路類(Circuitry)、プロセッサ(Processor)、及びメモリ(Memory)等を少なくとも適当に組み合わせることによって実現される回路である。また、プロセッサは、汎用プロセッサでもよいし、専用の回路でもよい。すなわち、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)、プログラマブル論理デバイス(例えば、単純プログラマブル論理デバイス(Simple Programmable Logic Device:SPLD)、複合プログラマブル論理デバイス(Complex Programmable Logic Device:CPLD)、及びフィールドプログラマブルゲートアレイ(Field Programmable Gate Array:FPGA))等を含むものである。
【0014】
1.ハードウェア構成
本節では、ハードウェア構成について説明する。
【0015】
<検索支援システム1>
図1は、検索支援システム1を表す構成図である。検索支援システム1は、通信回線2と、サーバ装置10と、複数の求人者端末20と、複数の求職者端末30とを備える。サーバ装置10と、求人者端末20と、求職者端末30とは、通信回線2を通じて相互に通信可能に構成されている。サーバ装置10、求人者端末20及び求職者端末30の接続は有線でも無線でもよい。
【0016】
検索支援システム1は、例えば、複数の求人者(第1求人者U1及び第2求人者U2)と、複数の求職者(第1求職者U3及び第2求職者U4)とが利用する求人・求職システムの一部を構成する。検索支援システム1は、求人者による求職者の検索、求人者から求職者へのスカウト文書の送信等を主に行う。一実施形態において、検索支援システム1とは、1つ又はそれ以上の装置又は構成要素からなるものである。以下、これらの構成要素について説明する。
【0017】
<サーバ装置10>
図2は、サーバ装置10のハードウェア構成を示すブロック図である。サーバ装置10は、制御部11と、記憶部12と、通信部13と、通信バス14とを備える。制御部11、記憶部12、及び通信部13は、サーバ装置10の内部において通信バス14を介して電気的に接続されている。
【0018】
<制御部11>
制御部11は、サーバ装置10に関連する全体動作の処理・制御を行う。制御部11は、例えば中央処理装置(Central Processing Unit:CPU)である。制御部11は、記憶部12に記憶された所定のプログラムを読み出すことによって、サーバ装置10に係る種々の機能を実現する。すなわち、記憶部12に記憶されているソフトウェアによる情報処理が、ハードウェアの一例である制御部11によって具体的に実現されることで、制御部11に含まれる各機能部として実行されうる。これらについては、次節においてさらに詳述する。なお、制御部11は単一であることに限定されず、機能毎に複数の制御部11を有するように実施してもよい。またそれらの組合せであってもよい。
【0019】
<記憶部12>
記憶部12は、前述の記載により定義される様々な情報を記憶する。これは、例えば、制御部11によって実行されるサーバ装置10に係る種々のプログラム等を記憶するソリッドステートドライブ(Solid State Drive:SSD)等のストレージデバイスとして、あるいは、プログラムの演算に係る一時的に必要な情報(引数、配列等)を記憶するランダムアクセスメモリ(Random Access Memory:RAM)等のメモリとして実施されうる。記憶部12は、制御部11によって実行されるサーバ装置10に係る種々のプログラム、変数等を記憶している。
【0020】
<通信部13>
通信部13は、USB、IEEE1394、Thunderbolt(登録商標)、有線LANネットワーク通信等といった有線型の通信手段が好ましいものの、無線LANネットワーク通信、3G/LTE/5G等のモバイル通信、BLUETOOTH(登録商標)通信等を必要に応じて含めてもよい。すなわち、これら複数の通信手段の集合として実施することがより好ましい。すなわち、サーバ装置10は、通信部13及びネットワークを介して、外部から種々の情報を通信してもよい。
【0021】
サーバ装置10は、オンプレミス形態であってもよく、クラウド形態であってもよい。クラウド形態のサーバ装置10としては、例えば、SaaS(Software as a Service)、クラウドコンピューティングという形態で、上述の機能や処理を提供してもよい。
【0022】
<求人者端末20>
図3は、求人者端末20及び求職者端末30のハードウェア構成を示すブロック図である。
図3Aに示されるように、求人者端末20は、制御部21と、記憶部22と、通信部23と、入力部24と、出力部25と、通信バス26とを備える。制御部21、記憶部22、通信部23、入力部24、及び出力部25は、求人者端末20の内部において通信バス26を介して電気的に接続されている。求人者端末20は、サーバ装置10によって提供されるサービスを受ける組織に属するユーザである各求人者が、業務において使用する情報処理端末である。制御部21、記憶部22及び通信部23の説明は、サーバ装置10における各部の説明と同様のため省略する。
【0023】
<入力部24>
入力部24は、ユーザによってなされた操作入力を受け付ける。操作入力は、命令信号として通信バス26を介して制御部21に転送される。制御部21は、必要に応じて、転送された命令信号に基づいて所定の制御や演算を実行しうる。入力部24は、求人者端末20の筐体に含まれるものであってもよいし、外付けされるものであってもよい。例えば、入力部24は、出力部25と一体となってタッチパネルとして実施されてもよい。入力部24がタッチパネルとして実施される場合、ユーザは、入力部24に対してタップ操作、スワイプ操作等を入力することができる。入力部24としては、タッチパネルに代えて、スイッチボタン、マウス、トラックパッド、QWERTYキーボード等が採用可能である。
【0024】
<出力部25>
出力部25は、ユーザが操作可能なグラフィカルユーザインターフェース(Graphical User Interface:GUI)の画面を表示する。出力部25は、求人者端末20の筐体に含まれるものであってもよいし、外付けされるものであってもよい。具体的には、出力部25は、CRTディスプレイ、液晶ディスプレイ、有機ELディスプレイ、又はプラズマディスプレイ等の表示デバイスとして実施されうる。これらの表示デバイスは、求人者端末20の種類に応じて使い分けて実施されることが好ましい。
【0025】
<求職者端末30>
図3Bに示されるように、求職者端末30は、制御部31と、記憶部32と、通信部33と、入力部34と、出力部35と、通信バス36とを備える。制御部31、記憶部32、通信部33、入力部34、及び出力部35は、求職者端末30の内部において通信バス36を介して電気的に接続されている。求職者端末30は、サーバ装置10によって提供されるサービスを受けるユーザである各求職者が使用する情報処理端末である。制御部31、記憶部32、通信部33、入力部34及び出力部35の説明は、求人者端末20における各部の説明と同様のため省略する。
【0026】
2.機能構成
本節では、本実施形態の機能構成について説明する。記憶部12に記憶されているソフトウェアによる情報処理がハードウェアの一例である制御部11によって具体的に実現されることで、制御部11(検索支援システム1が備える少なくとも1つのプロセッサ)に含まれる各機能部として実行されうる。
【0027】
図4は、サーバ装置10(制御部11)、求人者端末20(制御部21)及び求職者端末30(制御部31)によって実現される機能を示すブロック図である。
【0028】
図4Aに示されるように、サーバ装置10(制御部11)は、基本表示制御部111と、受付部112と、取得部113と、検索部114と、データベース構築部115と、人工知能部120とを備える。
図4Bに示されるように、求人者端末20(制御部21)は、表示部211と、操作取得部212とを備える。
図4Cに示されるように、求職者端末30(制御部31)は、表示部311と、操作受付部312とを備える。
【0029】
<基本表示制御部111>
基本表示制御部111は、種々の情報を求人者端末20及び求職者端末30に表示させるように構成される。例えば、基本表示制御部111は、求人者が作成した求人票及びスカウト文書、求職者が作成した登録情報等を、求人者端末20の表示部211又は求職者端末30の表示部311に表示させる。
【0030】
求人者には、営利法人(例えば企業等)、非営利法人(例えば、協同組合、財団法人等)、公的法人(例えば地方公共団体等)等の組織が含まれる。また、求人者には、組織の代理人として、求職者と組織とを仲介する人材仲介業者も含まれる。人材仲介業者は、ヘッドハンター、エージェント等とも呼ばれる。
【0031】
<受付部112>
受付部112は、求人者端末20及び求職者端末30からの入力を受け付けるように構成される。具体的には、受付部112は、求人者端末20から、少なくとも1つの検索キーワードを含む検索クエリの入力を受け付ける。
【0032】
検索キーワードは、求職者データベースに登録された求職者の登録情報に対して、同一又は類似のキーワードの存在判定(キーワードの照合)が実行されるキーワードである。検索クエリは、1つの検索キーワードで構成されてもよいし、複数の検索キーワードで構成されてもよい。すなわち、受付部112は、検索クエリとして、1つの検索キーワードの入力を受け付けてもよいし、複数の検索キーワードの入力を受け付けてもよい。
【0033】
検索クエリは、検索キーワード以外の検索条件を含んでもよい。検索キーワード以外の検索条件としては、例えば、特定のパラメータ(例えば、年収)の範囲、予め用意された選択肢から選択される条件(例えば、リモートワークの有無)等が挙げられる。
【0034】
また、検索キーワードは、求人者端末20から、ユーザである求人者によって手入力される以外に、予め用意された選択肢から選択されてもよい。例えば、職種、業種、学校名、組織名等について、予め設定された職種、業種、学校名、組織名等の一覧の中から、ユーザである求人者が検索キーワードを選択することで、検索キーワードが入力されてもよい。
【0035】
求職者データベースは、例えば記憶部12に記憶される。また、求職者の登録情報には、求職者の履歴書、職務経歴書、その他のプロフィール情報が含まれる。なお、「履歴書」は、主に求職者のプロフィール、現況、学歴、職歴、希望の労働条件等が記載された文書であり、「職務経歴書」は、レジュメとも呼ばれ、求職者が求人者に対して、自身のこれまでの職務に関する経歴、経験、スキル、資格等を伝える文書である。また、求職者の登録情報には、求職者が希望する業種及び職種が含まれてもよい。
【0036】
求職者は、登録情報から抽出される属性を有する。属性には、例えば、経験組織、経験職種、保有スキル、保有資格、学歴、年収、年齢等が含まれる。
【0037】
<取得部113>
取得部113は、受付部112が受け付けた検索クエリに対応する検索用情報を、検索用推奨求職者データベースから取得するように構成される。
【0038】
検索用情報は、求職者検索に使用される、少なくとも1つのキーワードを含む検索クエリと紐づけられて検索用推奨求職者データベースに登録された、検索用推奨求職者の属性を特定する情報である。また、検索用推奨求職者は、検索クエリに基づく過去の検索結果に基づいて、求人成約に関連するアクションの発生期待値が高いと想定される求職者である。
【0039】
検索用推奨求職者は、例えば、求職者データベースに登録された求職者の登録情報に基づいて生成された属性を有する、仮想の求職者である。具体的には、検索用推奨求職者は、後述されるデータベース構築部115によって生成された属性によって定義される求職者である。
【0040】
求人成約に関連するアクションには、例えば、求人者から送られるスカウト文書の受信、求人者から送られたスカウト文書への返信、求人に対する審査(書類審査、面接審査等)の通過、求人の成約等が含まれる。検索用推奨求職者の属性は、求職者データベースに登録された求職者の属性と同じものであり、例えば、経験組織、経験職種、保有スキル、保有資格、学歴、年収、年齢等が含まれる。
【0041】
検索用情報は、属性(例えば、経験職種)又は属性に関する情報(例えば、経験職種の記述を含む職歴)をそのまま表したキーワード又は文章や、属性又は属性に関する情報の特徴量(例えばベクトルデータ)等を含む。検索用情報は、検索用推奨求職者が有する複数の属性を特定する情報であってもよい。すなわち、検索用情報は、複数の属性又は複数の属性に関する情報それぞれに対応するキーワード若しくは文章、又は特徴量を含んでもよい。また、検索用情報は、検索用推奨求職者の履歴書及び/又は職務経歴書であってもよい。
【0042】
特に、検索用情報は、ベクトルデータであるとよい。つまり、検索用情報は、検索用推奨求職者の属性又は属性に関する情報を変換したベクトルデータであるとよい。これにより、検索対象となる求職者データベースの求職者の登録情報と検索用情報とを比較する際の演算負荷及び演算時間を低減することができる。なお、ベクトルデータは、テキストデータを、形態素解析等による自然言語処理、カテゴリ変数のエンコーディング等の既知の手法によって定量化したベクトル値である。検索用情報は、複数の属性のベクトル値の和(複数のベクトルを合成したベクトル)で表現されてもよい。また、検索用情報を構成するベクトルデータは、密ベクトル(Dense Vector)であってもよいし、疎ベクトル(Sparse Vector)であってもよい。
【0043】
検索用推奨求職者データベースは、例えば記憶部12に記憶される。検索用推奨求職者データベースには、過去に検索に使用された複数の検索クエリ(典型的には単一の検索キーワード又は複数の検索キーワードの組み合わせ)と、これらの検索クエリに1つずつ対応する検索用情報(検索用推奨求職者)とを関連付けた情報が、例えばテーブル、リスト等の形式で登録されている。例えば、「Java」(登録商標)という検索クエリに対しては、当該検索クエリによる検索結果に含まれる可能性が高く、かつ、求人成約に関連するアクションの発生期待値も高い検索用推奨求職者の属性を特定する、検索用情報(例えばベクトルデータ)が検索用推奨求職者データベースにおいて紐づけて記録される。検索用推奨求職者データベースの構築方法については、後述されるデータベース構築部115の説明において述べる。
【0044】
取得部113は、検索を行う求人者が入力した検索クエリと同一又は類似の検索クエリを検索用推奨求職者データベースにおいて検索し、検索された検索クエリに関連付けられた検索用情報を、求人者が入力した検索クエリに対応する検索用情報として、検索用推奨求職者データベースから取得する。検索クエリの類似判断は、例えば、ベクトルデータ等の特徴量による比較、同義語、類義語、表記ゆれワード等が登録されたデータベースの参照、学習モデル(大規模言語モデル)による判定等によって行われる。
【0045】
また、検索クエリに複数の検索キーワードが含まれる場合や、検索キーワード以外の検索条件(例えば、業種、職種等の属性を指定する条件)が含まれる場合等には、取得部113は、検索クエリを複数の検索キーワード、又は検索条件をキーワード化したものを所定の形式で並べた文字列を1つの検索クエリとする。所定の形式は、例えば、検索クエリの種類とその内容との組み合わせを列挙する形式である。
【0046】
例えば、検索キーワードに「Java」(登録商標)が入力され、検索条件の業種として「IT/インターネット」が選択された場合は、検索クエリは「キーワード="Java"、業種="IT/インターネット"」といった、検索クエリの種類(キーワードや、業種等の選択条件)を表す文字列と、その内容(入力又は選択されたキーワード)との組み合わせが列挙された文字列とされる。検索用推奨求職者データベースには、単体の検索キーワードで構成された検索クエリに加えて、上述のような所定の形式の文字列で構成された検索クエリが登録されており、取得部113は、このような文字列で構成された検索クエリを検索用推奨求職者データベースで照合することで、検索用情報を取得する。
【0047】
検索を行う求人者が入力した検索クエリと同一又は類似の検索クエリが検索用推奨求職者データベースに存在しない場合、取得部113は、検索用情報を取得しないか、又は検索用情報が存在しないことを示す、ダミーの検索用情報を取得する。
【0048】
<検索部114>
検索部114は、求人者が入力した検索クエリに基づいて、求職者検索を実行するように構成される。具体的には、検索部114は、受付部112が受け付けた(つまり、ユーザである求人者が入力した)検索クエリと、取得部113が取得した検索用情報とを検索条件として、求職者を検索する。
【0049】
検索部114は、受付部112が受け付けた検索クエリと求職者データベースに登録された求職者の登録情報に含まれるキーワードとの照合と、検索用情報と登録情報との比較とに基づいて求職者を検索するとよい。これにより、検索クエリを用いて求職者を検索しつつ、検索用情報によって検索結果を絞り込むことが可能となる。そのため、検索に要するコストの低減が促進される。
【0050】
詳細には、検索部114は、受付部112が受け付けた検索クエリに含まれる検索キーワードと同一の又は類似するキーワードが登録情報に含まれる求職者を検索対象として抽出するとよい。キーワード検索におけるキーワードの類似判断は、例えば、ベクトルデータ等の特徴量による比較、同義語、類義語、表記ゆれワード等が登録されたデータベースの参照、学習モデル(大規模言語モデル)による判定等によって行われる。
【0051】
検索クエリに複数の検索キーワードが含まれている場合、検索部114は、複数の検索キーワードの全てが登録情報に含まれる求職者の抽出(つまり、AND条件によるキーワード検索)を行ってもよいし、複数の検索キーワードのいずれかが登録情報に含まれる求職者の抽出(つまり、OR条件によるキーワード検索)を行ってもよい。また、検索部114は、検索を行う求人者による、AND条件及びOR条件のどちらかの選択に基づいて、キーワード検索を実行してもよい。
【0052】
さらに、検索部114は、検索用情報と登録情報との類似度の高さを示す類似スコアに基づいて、検索対象として抽出された求職者の表示を調整するとよい。類似スコアは、例えば、検索用情報と、登録情報をベクトル化したベクトルデータとの比較によって得られる値である。これにより、一般的なキーワード検索に基づいて抽出された求職者に対し、検索用情報によるフィルタリング等を行うことができる。
【0053】
登録情報のベクトルデータは、検索用情報のベクトルデータと同様の手法で、登録情報に含まれる属性又は属性に関する情報をベクトル変換したものである。検索部114は、検索用情報及び登録情報それぞれの属性ごとのベクトルデータ同士を比較してもよいし、検索用情報及び登録情報それぞれの全体属性を示すベクトルデータ(例えば、属性ごとのベクトルデータを合成したベクトルデータ)同士を比較してもよい。
【0054】
類似スコアは、検索用情報及び登録情報とのベクトルの距離(特徴量の差)が小さいほど、大きくなるスコアである。ベクトルの距離としては、例えば、コサイン類似度が用いられる。この場合、類似スコアは、コサイン類似度が1に近いほど、大きくされる。
【0055】
検索対象として抽出された求職者の「表示の調整」には、求職者の表示順の調整、求職者の表示有無の調整等が含まれる。検索部114は、類似スコアの大きさに基づいて、抽出された求職者の表示順を決定するとよい。例えば、検索部114は、類似スコアが大きい順に求職者をソートした検索結果を求人者端末20に表示させるとよい。これにより、求人成約に関連するアクションが発生しやすい求職者が優先表示されるため、求人者による、検索結果のさらなる絞り込み等のコストが低減される。
【0056】
検索部114は、類似スコアが予め定めた閾値未満の求職者を求人者端末20に表示させる検索結果から除外してもよい。すなわち、検索部114は、類似スコアが所定値以上の求職者のみを検索結果として求人者端末20に表示させてもよい。
【0057】
取得部113によって検索用情報が取得されていない場合又はダミーの検索用情報が取得されている場合(つまり、求人者が入力した検索クエリに対応する検索用情報が検索用推奨求職者データベースに存在しなかった場合)、検索部114は、検索クエリのみを検索条件として求職者を検索する。つまり、検索部114は、検索クエリに基づく求職者の検索のみを行い、検索用情報と求職者の登録情報との比較を行なわない。
【0058】
<データベース構築部115>
データベース構築部115は、検索用推奨求職者データベースを構築するように構成される。
図4に示されるように、データベース構築部115は、候補者選択部115Aと、特徴情報取得部115Bと、属性情報生成部115Cと、検索用情報作成部115Dと、登録部115Eとを有する。
【0059】
<候補者選択部115A>
候補者選択部115Aは、求職者の検索において過去に使用された検索クエリである登録用クエリによって検索された複数の検索済求職者の中から、求人成約に関連するアクションの発生数が所定以上であるか、又は検索された複数の検索済求職者における発生数の順位が所定以内である検索済求職者を候補者として選択するように構成される。また、候補者選択部115Aは、候補者として選択した求職者の識別情報(ID)を検索ログから取得する。検索ログは、例えば、記憶部12に記憶されている。
【0060】
求職者の検索において過去に使用された検索クエリ(登録用クエリ)は、検索ログにおいて、当該検索クエリを用いた検索結果(検索済求職者の情報)とともに記憶されている。また、検索ログには、検索済求職者の、求人成約に関連するアクションの履歴が記憶されている。
【0061】
求人成約に関連するアクションには、任意の求人に基づくスカウト文書の受信、任意の求人からのスカウト文書への返信、任意の求人に対する審査通過、及び任意の求人における成約の少なくとも1つが含まれる。これにより、スカウト文書の送信対象となりやすい求職者、スカウト文書へ返信する可能性が高い求職者、審査を通過しやすい求職者、求人成約しやすい求職者等を、検索結果として求人者に優先的に提示することができる。
【0062】
特に、候補者選択部115Aは、スカウト文書の受信数が所定以上(例えば、数十通以上、数百通以上等)であるか、又は検索された複数の検索済求職者の中でのスカウト文書の受信数の順位が所定以内(例えば、100位以内)である検索済求職者を候補者として選択するとよい。これにより、求人成約までのアクションの起点となるスカウト文書の送信対象となりやすい求職者を優先的に検索することができる。
【0063】
候補者選択部115Aは、登録用クエリを入力とし、候補者を出力とすることが可能なように学習された候補者抽出モデルを用いて、候補者を選択してもよい。この場合、候補者選択部115Aは、登録用クエリを候補者抽出モデルに入力し、候補者抽出モデルに候補者(典型的には候補者の識別番号)を出力させる。候補者抽出モデルは、学習用の登録用クエリ(検索クエリ)と、当該登録用クエリによって検索され、かつ、求人成約に関連するアクションの期待値が高い求職者の登録情報との組み合わせを教師データとして学習した学習モデルである。
【0064】
候補者抽出モデルは、大規模言語モデルを含む生成AIであってもよい。この場合、候補者選択部115Aは、登録用クエリを入力とし、検索ログを参照して、候補者を出力する指示を含むプロンプトを候補者抽出モデルに入力し、候補者を候補者抽出モデルに出力させる。候補者選択部115Aは、登録用クエリに基づいて候補者を抽出する指示を候補者抽出モデルへ与えるプロンプトを生成し、当該プロンプトを候補者抽出モデルへ入力してもよい。また、候補者選択部115Aは、候補者の抽出・出力指示と登録用クエリとに加え、入力及び出力のサンプルとして、例えば、1以上の登録用クエリのサンプルと、それに対応する1以上の候補者のサンプルとを挿入したプロンプトを候補者抽出モデルに入力してもよい。候補者抽出モデルは、入力されたプロンプトにしたがって、登録用クエリに基づいて候補者を抽出する。
【0065】
<特徴情報取得部115B>
特徴情報取得部115Bは、候補者選択部115Aが選択した候補者の属性を表す特徴情報を特徴情報データベースから取得するように構成される。候補者選択部115Aが複数の候補者を選択した場合には、特徴情報取得部115Bは、それぞれの候補者の特徴情報を取得する。すなわち、特徴情報取得部115Bは、候補者群に対応する特徴情報群を取得する。
【0066】
特徴情報は、候補者の経験組織、経験職種、保有スキル、保有資格、学歴、年収、年齢等を表すテキストデータ又は特徴量(ベクトルデータ)である。
【0067】
特徴情報データベースは、求職者の登録情報が登録された求職者データベースから抽出された属性情報が、当該求職者の識別情報に紐づけられて登録されたデータベースであってもよい。この場合、特徴情報取得部115Bは、候補者選択部115Aが取得した識別情報(候補者ID)に対応する属性情報を、検索用情報作成部115Dで用いられる特徴情報として特徴情報データベースから取得する。これにより、求職者データベースに含まれる求職者の登録情報を直接参照することなく、候補者の特徴情報を抽出することが可能となる。その結果、実際の求職者の情報が各種の情報処理に利用されることや、検索用情報作成部115Dで使用する検索用情報作成モデル等の学習モデルに実際の求職者の情報が入力されること等が抑制される。また、検索用情報作成モデルの出力精度が向上する。属性情報を取得するための特徴情報データベースは、属性情報生成部115Cによって構築される。また、属性情報は、テキストデータであってもよいし、ベクトル等の特徴量であってもよい。
【0068】
また、特徴情報データベースは、例えば、求職者データベース(又はそのマスタデータベース)であってもよい。この場合、特徴情報取得部115Bは、候補者選択部115Aが取得した識別情報(候補者ID)に対応する求職者の登録情報から、検索用情報作成部115Dで用いられる特徴情報を抽出する。なお、このように求職者データベースから直接特徴情報を取得する場合は、データベース構築部115は、必ずしも以下に説明する属性情報生成部115Cを有しなくてもよい。
【0069】
<属性情報生成部115C>
属性情報生成部115Cは、求職者データベースから特徴情報データベースを構築するように構成される。具体的には、属性情報生成部115Cは、求職者データベースに含まれる求職者の登録情報を1つずつ、求職者の識別情報と登録情報から抽出される属性情報との組み合わせに置き換えた情報を特徴情報データベースに登録する。つまり、特徴情報データベースには、求職者の識別情報と対応付けられて、求職者の属性情報が記憶される。
【0070】
求職者データベースから抽出される属性情報(つまり、特徴情報データベースに登録される属性情報)は、登録情報をトピックモデルに入力し、トピックモデルに出力させたトピックを含むとよい。これにより、求職者個々の属性の抽出精度が高められる。
【0071】
ここで、トピックモデルは、文書(ここでは登録情報)が、複数の潜在的なトピックから確率的に生成されると仮定したモデルであり、文書に含まれる各単語(キーワード)は、トピックが有する単語の確率分布にしたがって出現すると仮定される。トピックモデルは、指定したトピックの数に応じてトピックを出力する。属性情報生成部115Cは、求職者データベースの登録情報をトピックモデルに入力する。トピックモデルは、登録情報から抽出されたキーワードに基づき、トピックの確率分布(複数のトピックそれぞれの出現確率)及び各トピックにおける各キーワードの確率分布(複数のキーワードそれぞれの出現確率)を出力する。これにより、登録情報の特徴が取得される。
【0072】
属性情報生成部115Cは、トピックモデルが出力したトピックを、トピックモデルに入力した登録情報に含まれる識別情報と関連付けられた属性情報として、特徴情報データベースに登録する。属性情報には、トピックモデルが出力したトピックに対応するトピック名(属性名)が含まれる。トピック名は、例えば、各トピックに含まれるキーワードの分布に基づいて手動で設定される。また、トピック名として、各トピックの出現頻度が最も高いキーワードが設定されてもよい。さらに、トピック名は、各トピックに含まれるキーワードの分布をトピック名判定モデルに入力し、トピック名判定モデルに出力させたものであってもよい。トピック名判定モデルは、キーワードの分布を入力とし、これらのキーワードの分布に対する主題を表すトピック名を出力することが可能なように学習された学習モデルである。ここで、トピック名判定モデルは、予め作成されたスキルやキーワード等の一覧からトピック名を選択して出力してもよい。例えば、トピック名判定モデルは、求職者データベースに登録されている多数の求職者において使用されているキーワード、スキル、資格情報等を抽出した一覧の中からトピック名を出力するように学習されてもよい。
【0073】
属性情報生成部115Cは、トピック名をベクトルデータに変換してから特徴情報データベースに登録してもよい。属性情報生成部115Cは、この処理を特徴情報データベースへの登録対象となる全ての求職者の登録情報に対して実行する。
【0074】
トピックモデルは、求職者データベースに登録されている複数の登録情報(典型的には全ての登録情報)の内容に基づいて、複数のトピックと、当該トピックに対応する、登録情報に含まれるキーワードとの対応関係を構築した学習モデルである。トピックモデルは、入力された登録情報に対応する、少なくとも1つのトピックを出力するように学習されている。なお、トピックモデルに用いられる解析手法(分析手法)としては、LDA(Latent Dirichlet Allocation)、LSI(Latent Semantic Indexing)、PLSA(Probabilistic Latent Semantic Analysis)等が挙げられる。また、トピックモデルには、これら以外の解析手法が用いられてもよい。
【0075】
上述のように、属性情報として用いられるトピック名は、例えば、求職者データベースに登録されている多数の求職者において使用されているキーワードや、スキルや資格情報等を抽出したものであってもよい。この場合、属性情報生成部115Cは、抽出したキーワードやスキル等の情報をトピックモデルに入力し、これらの情報におけるトピック分布を推定する。例えば、「java」(登録商標)というスキルに対し、複数のトピックそれぞれの出現確率を推定する。このように推定したスキル等の情報におけるトピック分布と、求職者の登録情報におけるトピック分布との距離(類似度)を算出し、登録情報のトピック分布に近いトピック分布を持つスキル等の情報を、その登録情報の属性情報としてもよい。
【0076】
トピックモデルの構築(学習)の段階では、例えば、まず、求職者データベースに登録されている参照可能な全ての登録情報、又は一部の登録情報(例えば、特定の職種や業種など、特定の属性を有する求職者の登録情報)に含まれる文章に対し、形態素解析等によってキーワードの出現頻度を算出するとともに、複数のキーワードの共起度を分析し、各登録情報におけるトピックの確率分布(出現確率)と、各トピックにおけるキーワードの確率分布(出現確率)とを推定する。各トピックにおけるキーワードの確率分布は、「トピックと登録情報に含まれるキーワードとの対応関係」に相当する。
【0077】
このように構築されたトピックモデルは、登録情報の入力を受けて、当該登録情報に含まれるキーワードに基づいて登録情報におけるトピックの確率分布を出力する。そして、トピックモデルは、例えば、登録情報から推定される複数のトピックのうち、トピックの出現頻度(確率)が予め定めた閾値以上の少なくとも1つのトピックを出力する。また、トピックモデルは、推定された複数のトピックのうち、出現頻度が所定の値以上であるトピックや、出現頻度の高さの順位が所定以内(例えば、3位以内)であるトピック等を出力してもよい。
【0078】
属性情報生成部115Cは、トピックモデル以外の学習モデルを用いて、登録情報から属性情報を抽出してもよい。例えば、属性情報生成部115Cは、大規模言語モデルを含む生成AIである属性情報抽出モデルを用いてもよい。この場合、属性情報生成部115Cは、登録情報を入力とし、属性情報を出力する指示を含むプロンプトを属性情報抽出モデルに入力し、属性情報を属性情報抽出モデルに出力させる。属性情報生成部115Cは、登録情報から属性情報を抽出する指示を属性情報抽出モデルへ与えるプロンプトを生成し、当該プロンプトを属性情報抽出モデルへ入力してもよい。また、属性情報生成部115Cは、属性情報の出力指示と登録情報とに加え、入力及び出力のサンプルとして、例えば、1以上の登録情報のサンプルと、それに対応する1以上の属性情報のサンプルとを挿入したプロンプトを属性情報抽出モデルに入力してもよい。属性情報抽出モデルは、入力されたプロンプトにしたがって、登録情報から属性情報を抽出する。
【0079】
求職者データベースから抽出される属性情報は、登録情報から抽出されたスキル又は資格を含んでもよい。これにより、求職者のスキル又は資格に基づいた、求職者の検索結果の絞り込みのアシストが可能となる。
【0080】
属性情報生成部115Cは、例えば、形態素解析等による自然言語処理、学習モデル(大規模言語モデル)等を用いて、登録情報からスキル又は資格を示すキーワード、文章等のテキストデータを抽出する。また、属性情報生成部115Cは、予め登録情報に付与された、スキル、資格等の属性を示すタグを参照してスキル又は資格を抽出してもよい。属性情報生成部115Cは、抽出されたテキストデータ又はタグを、スキル又は資格を抽出した登録情報に含まれる識別情報と関連付けられた属性情報として、特徴情報データベースに登録する。また、属性情報生成部115Cは、抽出したテキストデータ又はタグをベクトルデータに変換してから特徴情報データベースに登録してもよい。属性情報生成部115Cは、この処理を特徴情報データベースへの登録対象となる全ての求職者の登録情報に対して実行する。
【0081】
さらに、属性情報は、スキルの経験度を含むとよい。スキルの経験度は、例えば、スキルの使用期間(実務経験年数)、スキルを使用した職種又は業種の数等で表される。属性情報生成部115Cは、例えば、スキルの抽出時に、登録情報からスキルの経験度を表すキーワード、文章等のテキストデータをさらに抽出し、必要に応じて特徴量(ベクトルデータ)に変換する。属性情報生成部115Cは、抽出されたスキルと当該スキルの経験度とを属性情報として特徴情報データベースに登録する。
【0082】
特徴情報データベースの属性情報にスキルの経験度が含まれる場合、特徴情報取得部115Bは、候補者のスキルの経験度の大きさに基づいて、特徴情報として取得するスキルを選択するとよい。これにより、検索用情報作成部115Dにおいて検索用推奨求職者(検索用情報)の生成に用いられるスキルが厳選されるため、より精度の高い検索結果を提示することが可能な検索用情報が、データベース構築部115において生成される。
【0083】
<検索用情報作成部115D>
検索用情報作成部115Dは、特徴情報取得部115Bが取得した少なくとも1つの特徴情報を検索用情報作成モデルに入力し、検索用情報作成モデルに検索用情報を出力させるように構成される。検索用情報作成モデルは、特徴情報を入力とし、検索用推奨求職者の属性を特定する、検索用情報を出力することが可能なように学習された学習モデルである。換言すれば、検索用情報作成モデルは、実際の求職者の情報である特徴情報を入力とし、仮想の求職者の情報を作成及び出力する。
【0084】
特徴情報取得部115Bが複数の候補者の特徴情報(特徴情報群)を取得している場合には、検索用情報作成部115Dは、特徴情報群を検索用情報作成モデルに入力する。検索用情報作成モデルは、特徴情報群から、1つの検索用情報を作成する。
【0085】
検索用情報作成モデルは、学習用の特徴情報と、当該特徴情報によって特徴付けられる検索用推奨求職者の属性を特定する検索用情報(例えば、履歴書及び/又は職務経歴書)との組み合わせを教師データとして学習した学習モデルである。
【0086】
検索用情報作成モデルは、大規模言語モデルを含む生成AIであってもよい。この場合、検索用情報作成部115Dは、少なくとも1つの特徴情報を入力とし、検索用情報を出力する指示を含むプロンプトを検索用情報作成モデルに入力し、検索用情報を検索用情報作成モデルに出力させる。検索用情報作成部115Dは、特徴情報から検索用情報を作成する指示を検索用情報作成モデルへ与えるプロンプトを生成し、当該プロンプトを検索用情報作成モデルへ入力してもよい。また、検索用情報作成部115Dは、検索用情報の作成・出力指示と特徴情報とに加え、入力及び出力のサンプルとして、例えば、1以上の特徴情報のサンプルと、それに対応する1以上の検索用情報のサンプルとを挿入したプロンプトを検索用情報作成モデルに入力してもよい。検索用情報作成モデルは、入力されたプロンプトにしたがって、特徴情報から検索用情報を作成する。
【0087】
検索用情報作成部115Dは、検索用情報作成モデルに検索用情報をテキストデータで出力させるとともに、当該テキストデータをベクトルデータ化してもよい。これにより、検索用情報に含まれる属性や記載事項等を、実際の求職者が有する属性や求職者が作成した登録情報の記載事項等を再現したものに近づけつつ、求職者データベースの登録情報と検索用情報とを比較する際の演算負荷及び演算時間を低減することができる。その結果、検索用情報を用いた求職者の検索精度を高めつつ、検索における処理効率も高めることができる。
【0088】
具体的には、検索用情報作成部115Dは、大規模言語モデルである検索用情報作成モデルに入力するプロンプトに対し、求職者の登録情報(履歴書及び/又は職務経歴書)に含まれる項目に対応するテキストデータ(数値、キーワード又は文章)をそれぞれ作成する指示と、登録情報と同じフォーマットで検索用情報を出力する指示とを挿入してもよい。登録情報に含まれる項目としては、例えば、年齢、性別、住所、現在の職種、現在の業種、現在の年収、希望年収、希望勤務地、希望職種、希望業種、職務要約、職務経歴(職務名、会社名、部署・役職、在籍期間、詳細説明等を含む)、経験、スキル、能力、自己PR、資格、表彰、学歴等が挙げられる。検索用情報作成部115Dは、登録情報に含まれる各項目に対応するテキストデータの作成指示に加えて、各項目のサンプルを、検索用情報作成モデルへのプロンプトに挿入してもよい。また、検索用情報作成部115Dは、求職者の登録情報のサンプル又はフォーマットのデータや、各項目の候補(例えば、職種名のリスト)等をプロンプトに添付してもよい。
【0089】
テキストデータとして作成された検索用情報は、例えば、項目(属性)ごとにベクトル変換されてもよいし、検索用情報全体でベクトル変換されてもよい。検索用情報が項目ごとにベクトル変換される場合、ベクトルデータ化された検索用情報は、複数のベクトルの集合、又は複数のベクトルの合成値で構成される。
【0090】
検索用情報作成部115Dは、特徴情報取得部115Bが特徴情報データベースから取得した複数の特徴情報のうち、全ての特徴情報を検索用情報作成モデルへ入力してもよいし、一部の特徴情報のみを検索用情報作成モデルへ入力してもよい。例えば、検索用情報作成部115Dは、特徴情報取得部115Bが取得した複数の特徴情報のうち、特徴情報を共有している候補者(つまり、同じ特徴情報を有する共有候補者)の数が所定以上であるか、又は、取得された特徴情報における共有候補者の数の順位が所定以内の特徴情報を検索用情報作成モデルへ入力してもよい。具体的には、特徴情報取得部115Bによって、特徴情報データベースから複数のスキルが特徴情報群として取得された場合、これらのスキルのうち、スキルを有している候補者の数が所定以上のものが特徴情報として検索用情報作成モデルへ入力される。
【0091】
<登録部115E>
登録部115Eは、候補者選択部115Aによる候補者選択に用いられた登録用クエリと、検索用情報作成部115Dが作成した検索用情報とを紐づけて、検索用推奨求職者データベースに登録するように構成される。検索用情報作成部115Dにおいて検索用情報がベクトルデータ化されている場合は、登録部115Eは、ベクトルデータ化された検索用情報を検索用推奨求職者データベースに登録する。これにより、取得部113が検索用情報を取得するための検索用推奨求職者データベースが、実際の検索結果と、実際の求職者の登録情報とを元に構築される。
【0092】
図5は、検索用推奨求職者データベースの構築手順を示す模式図である。
図5に示されるように、データベース構築部115は、検索ログが記録された検索ログデータベースDB1から、過去に検索で使用された検索クエリ(登録用クエリ)と、当該検索クエリに対応する候補者の識別情報群を取得する。データベース構築部115は、この識別情報群を用いて、特徴情報データベースDB2から特徴情報群を抽出する。特徴情報データベースDB2は、求職者データベースDB3を元に構築されている。データベース構築部115は、抽出された特徴情報群を検索用情報作成モデルLMに入力し、検索用情報(検索用推奨求職者を特定する情報)を取得する。データベース構築部115は、取得した1つの検索用情報を、検索ログデータベースDB1から取得した1つの検索クエリと紐づけて、検索用推奨求職者データベースDB4に登録する。
【0093】
データベース構築部115は、所定のタイミングで、属性情報生成部115Cによる特徴情報データベースDB2の更新と、候補者選択部115A、特徴情報取得部115B、検索用情報作成部115D、及び登録部115Eによる検索用推奨求職者データベースDB4の更新とを実行する。所定のタイミングとしては、例えば、日次である。
【0094】
図6は、データベース構築部115によって実行される、検索用推奨求職者データベースの構築処理の一例を示すフロー図である。データベース構築部115は、まず、過去の検索結果が記録された検索ログを参照する(ステップS110)。次に、データベース構築部115は、検索ログから、検索用推奨求職者データベースに登録されていない検索クエリ(未登録クエリ)を抽出する(ステップS120)。続いて、データベース構築部115は、1つの未登録クエリに対し、候補者(アクション発生期待値が高い検索済求職者)の識別情報群を取得する(ステップS130)。
【0095】
識別情報群の取得後、データベース構築部115は、特徴情報データベースを参照する(ステップS140)。次に、データベース構築部115は、特徴情報データベースから、識別情報群に対応する特徴情報群を取得する(ステップS150)。特徴情報群の取得後、データベース構築部115は、特徴情報群を検索用情報作成モデルへ入力し、検索用情報作成モデルから出力される検索用情報を取得する(ステップS160)。また、データベース構築部115は、必要に応じて検索用情報をベクトルデータ化する。検索用情報の取得後、データベース構築部115は、検索用情報を未登録クエリと紐づけて、検索用推奨求職者データベースに登録する(ステップS170)。
【0096】
検索用情報の登録後、データベース構築部115は、検索ログに未登録クエリが存在するか否か判定する(ステップS180)。検索ログに未登録クエリが存在する場合(S180:YES)、データベース構築部115は、ステップS130の識別情報群の取得からの処理を繰り返す。一方、検索ログに未登録クエリが存在しない場合(S180:NO)、データベース構築部115は、検索用推奨求職者データベースの構築処理を終了する。
【0097】
<人工知能部120>
人工知能部120は、各機能部から入力を受け付け、指示された出力を返すように構成されている。なお、サーバ装置10が各機能部において使用する人工知能は、共通のものであってもよいし、機能部毎に個別に用意されたものであってもよい。
【0098】
人工知能部120は、GPT(Generative Pretrained Transformer、GPT-1、GPT-2、GPT-3を含む)、BERT(Bidirectional Encoder Representations from Transformers)、BART(Bidirectional and Auto-regressive Transformer)等を含むトランスフォーマ(Transformer)や再帰型ニューラルネットワーク(Recurrent Neural Network(RNN))等の言語モデル等の学習モデルを備えるAI(Artificial Intelligence)であって、生成AIを含んでもよい。
【0099】
言語モデルは、機械学習アルゴリズムによる学習モデルの一例である。機械学習の具体的なアルゴリズムとしては、最近傍法、ナイーブベイズ法、決定木、サポートベクターマシン、ニューラルネットワークを利用した深層学習(ディープラーニング)等が挙げられる。人工知能部120は、上記のアルゴリズムを適宜適用することができる。
【0100】
人工知能部120は、教師あり学習、教師なし学習、又は自己教師あり学習等の学習方法によって構築された学習済みモデルを有してもよい。教師あり学習では、教師データ(学習データ)を用いて機械学習を行う。教師データは、学習用の入力データ及び出力データ(正解データ)のペアで構成される。また、言語モデルは、特定のタスクのために訓練されたものだけでなく、幅広いタスクに対して汎用的に用いることができる汎用モデルであってもよい。
【0101】
人工知能部120は、人工知能として、膨大なデータを学習した大規模言語モデル(Large Language Models(LLM))のような汎用的な自然言語処理の学習モデルであってもよい。LLMは、テキストデータ等で構成される大規模なデータ(例えば、(i)インターネット上にあるWebコンテンツ、又は、(ii)所定のデータベースに蓄積されたデータ)を事前に大量に学習した学習モデルであり、タスクを与えることで様々な言語処理タスクを実行することができるものであり、与えられたプロンプトにしたがって、文章のパターンや文脈の把握、質問への応答、文章の生成等の幅広い自然言語処理タスクを行うことができる。このような汎用的な学習モデルは、One-shot LearningやFew-shot Learning等により、ファインチューニングなしで様々なタスクに対応可能な言語モデルを含む。また、汎用的な学習モデルは、Zero-shot Learningによっても、様々なタスクに対応可能に構成されてもよい。制御部11の各機能部において用いられる人工知能は、それぞれ別個の学習モデルであってもよいし、共通した汎用的な学習モデルであってもよい。
【0102】
人工知能部120に含まれる学習モデル(検索用情報作成モデル等の、各機能部において使用される学習モデル)は、転移学習又はファインチューニングとして追加の学習を行うことが可能である。例えば、人工知能部120は、新たな求職者の登録情報、求人票の登録等が発生する都度、これらを新たな教師データとして、追加の学習を行ってファインチューニングされてもよい。これにより、学習モデルから出力される情報の精度が向上する。
【0103】
人工知能部120に含まれる学習モデルは、元となる学習モデルを用いた知識蒸留(Knowledge Distillation)により得られた学習モデル(蒸留モデル)であってもよい。知識蒸留では、大規模言語モデルなどの、学習済みモデルを教師モデルとし、教師モデルの出力(Sоft Target)に対する生徒モデル(蒸留モデル)の出力の損失(Sоft Target Loss)が小さくなるように、生徒モデルのパラメータを調整することで、生徒モデルの学習が行われ、その生徒モデルが蒸留モデルとなる。また、教師データ(学習モデルの入力データと出力データとの組合わせ)の正解ラベル(Hard Target)に対する生徒モデルの出力の損失(Hard Target Loss)が小さくなるように生徒モデルの学習が行われてもよい。蒸留モデルは、元となる学習モデル(教師モデル)に比べて、当該学習モデルと近い性能をもちつつ、パラメータ数が小さく、処理負荷が小さくなる。そのため、蒸留モデルを用いることで、検索支援システム1のコストを低減できる。
【0104】
例えば、検索用情報作成モデル等は、大規模言語モデルにおける入力データと出力データとの組み合わせを教師データとして学習された蒸留モデルであってもよい。また、検索支援システム1の導入時には検索用情報作成モデル等として大規模言語モデルを使用し、当該大規模言語モデルによる教師データが蓄積された時点で、当該教師データによる知識蒸留によって得られた蒸留モデルを検索用情報作成モデル等として使用してもよい。
【0105】
<表示部>
求人者端末20の表示部211及び求職者端末30の表示部311は、それぞれ、サーバ装置10から送信されてきた画面データが示す画面を表示する。
【0106】
<操作取得部>
求人者端末20の操作取得部212は、求人者端末20を利用するユーザ(求人者)による操作を受け付ける。求職者端末30の操作受付部312は、求職者端末30を利用するユーザ(求職者)による操作を受け付ける。
【0107】
3.情報処理方法
本節では、サーバ装置10の情報処理方法について説明する。この情報処理方法は、サーバ装置10の各部が、各ステップとしてコンピュータにより実行される。
【0108】
この情報処理は、受付ステップと、取得ステップと、検索ステップとを備える。受付ステップでは、少なくとも1つの検索キーワードを含む検索クエリの入力を受け付ける。取得ステップでは、受付ステップで受け付けた検索クエリに対応する検索用情報を検索用推奨求職者データベースから取得する。検索ステップでは、受付ステップで受け付けた検索クエリと検索用情報とを検索条件として、求職者を検索する。
【0109】
図7は、検索支援システム1によって実行される情報処理(求職者の検索処理)の流れの一例を示すアクティビティ図である。以下では、このアクティビティ図の各アクティビティに沿って、情報処理を説明する。
【0110】
求職者の検索処理は、ユーザである求人者による検索クエリの入力から開始される。求人者は、求人者端末20において、検索クエリを入力する(アクティビティA101)。サーバ装置10は、求人者端末20から検索クエリの入力を受け付ける(アクティビティA102)。続いて、サーバ装置10は、検索クエリに対応する検索用情報を取得する(アクティビティA103)。
【0111】
検索用情報の取得後、サーバ装置10は、入力された検索クエリと、取得した検索用情報とに基づき、求職者検索を実行する(アクティビティA104)。続いて、サーバ装置10は、求職者の検索結果を求人者端末20に出力する(アクティビティA105)。これにより、求職者の検索結果が求人者端末20に表示される(アクティビティA106)。
【0112】
4.作用
本実施形態の作用をまとめると、次の通りとなる。すなわち、求人者が求職者を検索するための検索クエリを入力した際に、求人成約に関連するアクションの発生が期待される検索用推奨求職者に関する情報(検索用情報)を用いて、求職者の絞り込みをアシストすることができる。そのため、求人者による検索に要するコストが低減される。
【0113】
以上、本発明の実施形態について説明したが、本発明はこれに限定されることなく、その発明の技術的思想を逸脱しない範囲で適宜変更可能である。
【0114】
5.その他
上記実施形態では、サーバ装置10が種々の記憶・制御を行ったが、サーバ装置10に代えて、複数の外部装置が用いられてもよい。すなわち、種々の情報やプログラムは、ブロックチェーン技術等を用いて複数の外部装置に分散して記憶されてもよい。特に、人工知能部120は、サーバ装置10の外部構成であってもよい。その場合、外部構成である人工知能部120は、例えば、人工知能のサービスサーバによって提供され、サーバ装置10の各機能部から入力を受け付け、人工知能のサービスを実行する要求を受け付け、処理結果として指示された出力をサーバ装置10に返すように構成される。人工知能のサービスサーバは、学習モデルとして言語モデルを用いてサービスを提供するサーバであってもよいし、言語モデルを用いて言語処理タスクを実行するサーバであってもよい。人工知能のサービスサーバは、LLMによって構築されてもよい。人工知能のサービスサーバは、テキスト、画像、音声等によるプロンプトの入力を受け付け、当該プロンプトに対する回答を生成して応答する。
【0115】
また、データベース構築部115も、サーバ装置10の外部構成であってもよい。さらに、検索用推奨求職者データベースは、サーバ装置10の外部のサーバに記憶され、サーバ装置10の各機能部から参照されるように構成されたものであってもよい。
【0116】
本実施形態の態様は、検索支援システム1に限定されず、情報処理方法であっても、プログラムであってもよい。求職支援方法は、検索支援システム1が実行する各ステップを備える。プログラムは、コンピュータに、検索支援システム1の各ステップを実行させる。
【0117】
次に記載の各態様で提供されてもよい。
【0118】
(1)検索支援システムであって、少なくとも1つのプロセッサを備え、前記プロセッサは、プログラムを読み出すことで次の各ステップを実行するように構成され、受付ステップでは、少なくとも1つの検索キーワードを含む検索クエリの入力を受け付け、取得ステップでは、前記受付ステップで受け付けた検索クエリに対応する検索用情報を検索用推奨求職者データベースから取得し、ここで、前記検索用情報は、求職者検索に使用される、少なくとも1つのキーワードを含む検索クエリと紐づけられて前記検索用推奨求職者データベースに登録された、検索用推奨求職者の属性を特定する情報であり、前記検索用推奨求職者は、検索クエリに基づく過去の検索結果に基づいて、求人成約に関連するアクションの発生期待値が高いと想定される求職者であり、検索ステップでは、前記受付ステップで受け付けた検索クエリと前記検索用情報とを検索条件として、求職者を検索する、検索支援システム。
【0119】
(2)上記(1)に記載の検索支援システムにおいて、前記検索ステップでは、前記受付ステップで受け付けた検索クエリと求職者データベースに登録された求職者の登録情報に含まれるキーワードとの照合と、前記検索用情報と前記登録情報との比較とに基づいて求職者を検索する、検索支援システム。
【0120】
(3)上記(2)に記載の検索支援システムにおいて、前記検索用情報は、ベクトルデータであり、前記検索ステップでは、前記受付ステップで受け付けた検索クエリに含まれる前記検索キーワードと同一の又は類似するキーワードが前記登録情報に含まれる求職者を検索対象として抽出するとともに、前記検索用情報と前記登録情報との類似度の高さを示す類似スコアに基づいて、検索対象として抽出された求職者の表示を調整し、ここで、前記類似スコアは、前記検索用情報と、前記登録情報をベクトル化したベクトルデータとの比較によって得られる、検索支援システム。
【0121】
(4)上記(3)に記載の検索支援システムにおいて、前記検索ステップでは、前記類似スコアの大きさに基づいて、抽出された求職者の表示順を決定する、検索支援システム。
【0122】
(5)上記(1)から(4)のいずれか1つに記載の検索支援システムにおいて、前記検索用推奨求職者データベースは、以下のステップによって構築され、候補者選択ステップでは、求職者の検索において過去に使用された検索クエリである登録用クエリによって検索された複数の検索済求職者の中から、求人成約に関連するアクションの発生数が所定以上であるか、又は複数の前記検索済求職者における前記発生数の順位が所定以内である前記検索済求職者を候補者として選択し、特徴情報取得ステップでは、前記候補者の属性を表す特徴情報を特徴情報データベースから取得し、検索用情報作成ステップでは、前記特徴情報を検索用情報作成モデルに入力し、前記検索用情報作成モデルに前記検索用情報を出力させ、ここで、前記検索用情報作成モデルは、前記特徴情報を入力とし、前記検索用情報を出力することが可能なように学習された学習モデルであり、登録ステップでは、前記登録用クエリと前記検索用情報とを紐づけて、前記検索用推奨求職者データベースに登録する、検索支援システム。
【0123】
(6)上記(5)に記載の検索支援システムにおいて、前記検索用情報作成ステップでは、前記検索用情報作成モデルに前記検索用情報をテキストデータで出力させるとともに、前記テキストデータをベクトルデータ化し、前記登録ステップでは、ベクトルデータ化された前記検索用情報を前記検索用推奨求職者データベースに登録する、検索支援システム。
【0124】
(7)上記(5)又は(6)に記載の検索支援システムにおいて、前記特徴情報データベースは、求職者の登録情報が登録された求職者データベースから抽出された属性情報が、当該求職者の識別情報に紐づけられて登録されたデータベースである、検索支援システム。
【0125】
(8)上記(7)に記載の検索支援システムにおいて、前記属性情報は、前記登録情報をトピックモデルに入力し、前記トピックモデルに出力させたトピックを含む、検索支援システム。
【0126】
(9)上記(7)又は(8)に記載の検索支援システムにおいて、前記属性情報は、前記登録情報から抽出されたスキル又は資格を含む、検索支援システム。
【0127】
(10)上記(9)に記載の検索支援システムにおいて、前記属性情報は、前記スキルの経験度を含み、前記特徴情報取得ステップでは、前記経験度の大きさに基づいて前記特徴情報として取得する前記スキルを選択する、検索支援システム。
【0128】
(11)上記(5)から(9)のいずれか1つに記載の検索支援システムにおいて、前記アクションには、任意の求人に基づくスカウト文書の受信、任意の求人からのスカウト文書への返信、任意の求人に対する審査通過、及び任意の求人における成約の少なくとも1つが含まれる、検索支援システム。
【0129】
(12)検索支援方法であって、上記(1)から(11)のいずれか1つに記載の検索支援システムが実行する各ステップを備える、検索支援方法。
【0130】
(13)プログラムであって、コンピュータに、上記(1)から(11)のいずれか1つに記載の検索支援システムの各ステップを実行させるための、プログラム。
もちろん、この限りではない。
【0131】
最後に、本開示に係る種々の実施形態を説明したが、これらは、例として提示したものであり、発明の範囲を限定することは意図していない。当該新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。当該実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0132】
1 :検索支援システム
2 :通信回線
10 :サーバ装置
11 :制御部
12 :記憶部
13 :通信部
14 :通信バス
20 :求人者端末
21 :制御部
22 :記憶部
23 :通信部
24 :入力部
25 :出力部
26 :通信バス
30 :求職者端末
31 :制御部
32 :記憶部
33 :通信部
34 :入力部
35 :出力部
36 :通信バス
111 :基本表示制御部
112 :受付部
113 :取得部
114 :検索部
115 :データベース構築部
115A :候補者選択部
115B :特徴情報取得部
115C :属性情報生成部
115D :検索用情報作成部
115E :登録部
120 :人工知能部
211 :表示部
212 :操作取得部
311 :表示部
312 :操作受付部
【要約】
【課題】検索に要する手間や時間といったコストを低減できる検索支援システム等を提供する。
【解決手段】本発明の一態様によれば、検索支援システムが提供される。この検索支援システムは、少なくとも1つのプロセッサを備える。プロセッサは、プログラムを読み出すことで次の各ステップを実行するように構成される。受付ステップでは、少なくとも1つの検索キーワードを含む検索クエリの入力を受け付ける。取得ステップでは、受付ステップで受け付けた検索クエリに対応する検索用情報を検索用推奨求職者データベースから取得する。検索用情報は、求職者検索に使用される、少なくとも1つのキーワードを含む検索クエリと紐づけられて検索用推奨求職者データベースに登録された、検索用推奨求職者の属性を特定する情報であり、検索用推奨求職者は、検索クエリに基づく過去の検索結果に基づいて、求人成約に関連するアクションの発生期待値が高いと想定される求職者である。検索ステップでは、受付ステップで受け付けた検索クエリと検索用情報とを検索条件として、求職者を検索する。
【選択図】
図1