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

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

▶ スカイハイブ テクノロジーズ ホールディングス インコーポレイテッドの特許一覧

<>
  • 特表-機械学習によるスキルデータの生成 図1
  • 特表-機械学習によるスキルデータの生成 図2
  • 特表-機械学習によるスキルデータの生成 図3
  • 特表-機械学習によるスキルデータの生成 図4
  • 特表-機械学習によるスキルデータの生成 図5A
  • 特表-機械学習によるスキルデータの生成 図5B
  • 特表-機械学習によるスキルデータの生成 図6
  • 特表-機械学習によるスキルデータの生成 図7
  • 特表-機械学習によるスキルデータの生成 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-25
(54)【発明の名称】機械学習によるスキルデータの生成
(51)【国際特許分類】
   G06F 16/901 20190101AFI20240418BHJP
   G06F 16/28 20190101ALI20240418BHJP
   G06Q 10/06 20230101ALI20240418BHJP
【FI】
G06F16/901
G06F16/28
G06Q10/06
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023566935
(86)(22)【出願日】2022-04-27
(85)【翻訳文提出日】2023-12-26
(86)【国際出願番号】 CA2022050641
(87)【国際公開番号】W WO2022226646
(87)【国際公開日】2022-11-03
(31)【優先権主張番号】17/241,069
(32)【優先日】2021-04-27
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
(71)【出願人】
【識別番号】523395339
【氏名又は名称】スカイハイブ テクノロジーズ ホールディングス インコーポレイテッド
【氏名又は名称原語表記】SkyHive Technologies Holdings, Inc.
【住所又は居所原語表記】430 Cowper Street, Suite 250, Palo Alto, California 94301, USA
(74)【代理人】
【識別番号】110000855
【氏名又は名称】弁理士法人浅村特許事務所
(72)【発明者】
【氏名】ヒントン、ショーン
(72)【発明者】
【氏名】レディー、モーハン
(72)【発明者】
【氏名】ブハロフ、セルゲイ
(72)【発明者】
【氏名】エラストフ、ユーリ
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA10
5B175GB04
5B175KA12
(57)【要約】
データ管理サーバコンピュータ(「サーバ」)及び関連方法が、機械学習技術を使用して、スキル名を含むスキルデータに関連する電子文書又は検索プロセスを強化するために、開示される。サーバは、辞書から知識グラフにスキル名を編成するようにプログラムされる。知識グラフは、スキル名及びスキル名の単語を表すノードと、構文又は意味関係を表すエッジと、を含む。サーバは、知識グラフを使用してスキル関連の要求に応答し、要求に応答する際に知識グラフのアクセスパターンを追跡するようにプログラムされる。要求に対する返答は、知識グラフの構造又はアクセスパターンに基づいて生成され、履歴書又は職務記述書などの検索結果又はスキル関連データとして使用され得る。
【特許請求の範囲】
【請求項1】
仕事検索、仕事の雇用、又はスキル調査のためのスキルデータを生成するコンピュータ実施方法であって、
プロセッサによって、複数のスキル名のスキル名ごとに、依存関係グラフを取得するステップであって、前記依存関係グラフが、前記スキル名の単語ごとのノードと、エッジによって接続された2つのノードにおける単語間の構文関係を表す前記エッジと、を有する、ステップと、
前記プロセッサによって、対応する依存グラフに基づいて、前記複数のスキル名の各スキル名から、少なくとも1つの単語を選択するステップと、
前記選択した単語の単語ごとに、上位語ツリーを取得するステップであって、
前記上位語ツリーが、前記単語の1つ又は複数の意味の意味ごとにノードを含み、
前記上位語ツリーのうちの少なくとも1つの上位語ツリーが、異なる単語の意味のノードを含む、ステップと、
前記複数のスキル名のスキル名ごとに、特定の単語の前記上位語ツリーに基づいて、前記スキル名から選択した前記特定の単語の意味を前記スキル名に割り当てるステップと、
知識グラフを取得するために、2つのスキル名に割り当てられた2つの意味についての2つのノードが上位語ツリー内で第1の閾値距離以下で離れているときに、前記2つのスキル名についての2つの依存関係グラフをマージするステップと、
スキルに関する要求を受信するステップと、
前記要求に応答して、特定のスキル名と、前記特定のスキル名のノードから第2の閾値距離内のノードを含む前記知識グラフのサブグラフと、を識別するステップと、
前記サブグラフ内のノードに対応するスキル名を含む前記要求に対する応答を生成し、送信するステップと
を含む、コンピュータ実施方法。
【請求項2】
取得する前記ステップが、ニューラルネットワークを含む、統計モデルの形態でタガー、パーサ、又はテキストカテゴライザを適用するステップを含む、請求項1に記載のコンピュータ実施方法。
【請求項3】
取得する前記ステップが、2つのスキル名が単語を共有するとき、前記2つのスキル名についての2つの依存関係グラフをマージするステップを含む、請求項1に記載のコンピュータ実施方法。
【請求項4】
少なくとも1つの単語を選択する前記ステップと、上位語ツリーを取得する前記ステップが、スキル名から構文ルートを識別し、前記構文ルートに対応する上位語ツリーを検索又は作成するステップを含む、請求項1に記載のコンピュータ実施方法。
【請求項5】
単語の意味に対して取得された上位語ツリーの各ノードが、前記意味に対応する1つ又は複数の単語又は句を含み、割り当てる前記ステップが、
前記複数のスキル名の出現を有する文書のセットと、前記取得した上位語ツリーのノードに含まれる前記単語及び句とに基づいて、前記複数のスキル名のスキル名ごとに、並びに各取得した上位語ツリーのノード内の単語及び句ごとに、埋め込みを作成するステップであって、2つの埋め込みが、前記文書のセットによって定義された意味空間内で近い2つの対応するスキル名、単語又は句について、ベクトル空間内で近い、ステップ
を更に含む、各ノード、請求項1に記載のコンピュータ実施方法。
【請求項6】
割り当てる前記ステップが、
取得した上位語ツリーのスキル名及びノードについて、前記スキル名についての前記埋め込み、及び前記ノードに含まれる単語又は句ごとの前記埋め込み、に関する類似度スコアを算出するステップと、
前記ノード上の前記類似度スコアの集約類似度スコアを計算するステップと、
前記スキル名と、最高の集約類似度スコアをもたらす任意の取得した上位語ツリーのノードに関連付けられた単語の意味と、を関連付けるステップと
を更に含む、請求項5に記載のコンピュータ実施方法。
【請求項7】
割り当てる前記ステップが、
取得した上位語ツリーのノードごとに、前記ノードに含まれる任意の単語又は句の埋め込みの集約埋め込みを算出するステップと、
取得した上位語ツリーのスキル名及びノードについて、前記スキル名の前記埋め込みについての類似度スコアと、前記取得した上位語ツリーの前記ノードについて前記集約埋め込みと、を算出するステップと、
前記スキル名と、最高の類似度スコアをもたらす任意の取得した上位語ツリーのノードに関連付けられた単語の意味と、を関連付けるステップと
を更に含む、請求項5に記載のコンピュータ実施方法。
【請求項8】
スキル活用、評価、訓練、又は市場性に関連するスキルデータを受信するステップと、
前記スキルデータから、前記複数のスキル名のスキル名ごとに、自然言語処理技術を使用して、適用可能な職名、適用可能な肩書きのリスト、要求又は保有される平均経験年数、前記スキルによって求められ得る給与額、必要な又は完了した訓練コース又は認定のリスト、あるいは対応するスキルが評価される頻度、前記スキルがどの程度十分に活用されるか、前記スキルがどの程度市場性があるか、又は前記スキルのためにどの程度の訓練材料が利用可能であるかに基づく有用性インジケータ、を決定するステップと
を更に含む、請求項1に記載のコンピュータ実施方法。
【請求項9】
スキル名の単語、又は前記スキル名に対応するノードのセットを表す前記知識グラフのノードごとに、マッチングする要求のリストを、要求又は要求に対する応答に前記スキル名が含まれる回数を、あるいは要求に直接対応する第2のノードから前記ノード又は前記ノードのセットに到達する前にトラバースされたエッジの数を、維持するステップを含む、前記知識グラフのアクセスパターンを追跡するステップを更に含む、請求項1に記載のコンピュータ実施方法。
【請求項10】
前記要求が、部分クエリであり、
識別する前記ステップが、リアルタイムで実施され、
マッチング基準に基づいて前記部分クエリにマッチングする前記知識グラフに表されたスキル名のリストを選択するステップと、
スキル名ごとに、前記部分クエリとのマッチングからの対応するマッチングスコア、対応するサブグラフのサイズ、又は前記知識グラフ内の対応するノード若しくはノードのセットに関連付けられたアクセスパターンに基づいて、スキル名の前記リストをランク付けするステップと
を含み、
生成し、送信する前記ステップが、リアルタイムで実施され、前記部分クエリを拡張するための候補として、スキル名の前記ランク付けしたリストを提供するステップを含む、請求項1に記載のコンピュータ実施方法。
【請求項11】
前記要求が、完全クエリであり、
識別する前記ステップが、リアルタイムで実施され、
マッチング基準に基づいて前記完全クエリにマッチングする前記知識グラフ内のスキル名のリストを選択するステップと、
スキル名の前記リストのスキル名ごとに、前記スキル名のためのノードと、前記ノードから特定の距離内のすべてのノードと、を含む前記知識グラフのサブグラフを決定するステップと、
スキル名ごとに、前記完全クエリとのマッチングからの対応するマッチングスコア、対応する有用性インジケータ、スキル名の前記リストのスキル名について対応するノードとノードとの間の前記知識グラフ内の距離、又は前記知識グラフ内の前記対応するノードに関連付けられたアクセスパターンに基づいて、サブグラフの前記リストに表されたすべてのスキル名のセットをランク付けするステップと
を含み、
生成し、送信する前記ステップが、リアルタイムで実施され、スキル名の前記ランク付けしたセットを検索結果として前記完全クエリに提供するステップを含む、請求項1に記載のコンピュータ実施方法。
【請求項12】
前記要求が、スキル名、肩書き、又は職務記述書を含み、
識別する前記ステップが、
マッチング基準に基づいて前記要求にマッチングするメタデータを有する前記知識グラフ内のスキル名のリストを選択するステップと、
スキル名の前記リストのスキル名ごとに、前記スキル名の前記ノードと、前記ノードから特定の距離内のすべてのノードと、を含む前記知識グラフのサブグラフを決定するステップと、
スキル名ごとに、前記要求とのマッチングからの対応するマッチングスコア、スキル名の前記リストのスキル名について対応するノードとノードとの間の前記知識グラフ内の距離、対応するスキルの評価、活用、市場性、若しくは訓練に関する情報、又は前記知識グラフ内の前記対応するノードに関連付けられたアクセスパターンに基づいて、サブグラフの前記リスト内のすべてのスキル名のセットをランク付けするステップと
を含み、
生成し、送信する前記ステップが、前記要求に対する応答として、スキル名の前記ランク付けしたセット、及び対応するスキルの評価、活用、市場性、又は訓練に関連する関連情報を提供するステップを含む、請求項1に記載のコンピュータ実施方法。
【請求項13】
命令を記憶する1つ又は複数の非一時的記憶媒体であって、前記命令が、1つ又は複数のコンピュータデバイスによって実行されると、仕事検索、仕事の雇用、又はスキル調査のためのスキルデータを生成する方法を実施させ、前記方法が、
複数のスキル名のスキル名ごとに、依存関係グラフを取得するステップであって、前記依存関係グラフが、前記スキル名の単語ごとのノードと、エッジによって接続された2つのノードにおける単語間の構文関係を表す前記エッジと、を有する、ステップと、
対応する依存グラフに基づいて、前記複数のスキル名の各スキル名から、少なくとも1つの単語を選択するステップと、
前記選択した単語の単語ごとに、上位語ツリーを取得するステップであって、
前記上位語ツリーが、前記単語の1つ又は複数の意味の意味ごとにノードを含み、
前記上位語ツリーのうちの少なくとも1つの上位語ツリーが、異なる単語の意味のノードを含む、ステップと、
前記複数のスキル名のスキル名ごとに、特定の単語の前記上位語ツリーに基づいて、前記スキル名から選択した前記特定の単語の意味を前記スキル名に割り当てるステップと、
知識グラフを取得するために、2つのスキル名に割り当てられた2つの意味についての2つのノードが上位語ツリー内で第1の閾値距離以下で離れているときに、前記2つのスキル名についての2つの依存関係グラフをマージするステップと、
スキルに関する要求を受信するステップと、
前記要求に応答して、特定のスキル名と、前記特定のスキル名のノードから第2の閾値距離内のノードを含む前記知識グラフのサブグラフと、を識別するステップと、
前記サブグラフ内のノードに対応するスキル名を含む前記要求に対する応答を生成し、送信するステップと
を含む、1つ又は複数の非一時的記憶媒体。
【請求項14】
少なくとも1つの単語を選択する前記ステップと、上位語ツリーを取得する前記ステップが、スキル名から構文ルートを識別し、前記構文ルートに対応する上位語ツリーを検索又は作成するステップを含む、請求項13に記載の1つ又は複数の非一時的記憶媒体。
【請求項15】
単語の意味に対して取得された上位語ツリーの各ノードが、前記意味に対応する1つ又は複数の単語又は句を含み、割り当てる前記ステップが、
前記複数のスキル名の出現を有する文書のセットと、前記取得した上位語ツリーのノードに含まれる前記単語及び句とに基づいて、前記複数のスキル名のスキル名ごとに、並びに各取得した上位語ツリーのノード内の単語及び句ごとに、埋め込みを作成するステップであって、2つの埋め込みが、前記文書のセットによって定義された意味空間内で近い2つの対応するスキル名、単語又は句について、ベクトル空間内で近い、ステップ
を更に含む、各ノード、請求項13に記載の1つ又は複数の非一時的記憶媒体。
【請求項16】
割り当てる前記ステップが、
取得した上位語ツリーのスキル名及びノードについて、前記スキル名についての前記埋め込み、及び前記ノードに含まれる単語又は句ごとの前記埋め込み、に関する類似度スコアを算出するステップと、
前記ノード上の前記類似度スコアの集約類似度スコアを計算するステップと、
前記スキル名と、最高の集約類似度スコアをもたらす任意の取得した上位語ツリーのノードに関連付けられた単語の意味と、を関連付けるステップと
を更に含む、請求項15に記載の1つ又は複数の非一時的記憶媒体。
【請求項17】
割り当てる前記ステップが、
取得した上位語ツリーのノードごとに、前記ノードに含まれる任意の単語又は句の埋め込みの集約埋め込みを算出するステップと、
取得した上位語ツリーのスキル名及びノードについて、前記スキル名の前記埋め込みについての類似度スコアと、前記取得した上位語ツリーの前記ノードについて前記集約埋め込みと、を算出するステップと、
前記スキル名と、最高の類似度スコアをもたらす任意の取得した上位語ツリーのノードに関連付けられた単語の意味と、を関連付けるステップと
を更に含む、請求項15に記載の1つ又は複数の非一時的記憶媒体。
【請求項18】
前記要求が、部分クエリであり、
識別する前記ステップが、リアルタイムで実施され、
マッチング基準に基づいて前記部分クエリにマッチングする前記知識グラフに表されたスキル名のリストを選択するステップと、
スキル名ごとに、前記部分クエリとのマッチングからの対応するマッチングスコア、対応するサブグラフのサイズ、又は前記知識グラフ内の対応するノード若しくはノードのセットに関連付けられたアクセスパターンに基づいて、スキル名の前記リストをランク付けするステップと
を含み、
生成し、送信する前記ステップが、リアルタイムで実施され、前記部分クエリを拡張するための候補として、スキル名の前記ランク付けしたリストを提供するステップを含む、請求項13に記載の1つ又は複数の非一時的記憶媒体。
【請求項19】
前記要求が、完全クエリであり、
識別する前記ステップが、リアルタイムで実施され、
マッチング基準に基づいて前記完全クエリにマッチングする前記知識グラフ内のスキル名のリストを選択するステップと、
スキル名の前記リストのスキル名ごとに、前記スキル名のためのノードと、前記ノードから特定の距離内のすべてのノードと、を含む前記知識グラフのサブグラフを決定するステップと、
スキル名ごとに、前記完全クエリとのマッチングからの対応するマッチングスコア、対応する有用性インジケータ、スキル名の前記リストのスキル名について対応するノードとノードとの間の前記知識グラフ内の距離、又は前記知識グラフ内の前記対応するノードに関連付けられたアクセスパターンに基づいて、サブグラフの前記リストに表されたすべてのスキル名のセットをランク付けするステップと
を含み、
生成し、送信する前記ステップが、リアルタイムで実施され、スキル名の前記ランク付けしたセットを検索結果として前記完全クエリに提供するステップを含む、請求項13に記載の1つ又は複数の非一時的記憶媒体。
【請求項20】
前記要求が、スキル名、肩書き、又は職務記述書を含み、
識別する前記ステップが、
マッチング基準に基づいて前記要求にマッチングするメタデータを有する前記知識グラフ内のスキル名のリストを選択するステップと、
スキル名の前記リストのスキル名ごとに、前記スキル名の前記ノードと、前記ノードから特定の距離内のすべてのノードと、を含む前記知識グラフのサブグラフを決定するステップと、
スキル名ごとに、前記要求とのマッチングからの対応するマッチングスコア、スキル名の前記リストのスキル名について対応するノードとノードとの間の前記知識グラフ内の距離、対応するスキルの評価、活用、市場性、若しくは訓練に関する情報、又は前記知識グラフ内の前記対応するノードに関連付けられたアクセスパターンに基づいて、サブグラフの前記リスト内のすべてのスキル名のセットをランク付けするステップと
を含み、
生成し、送信する前記ステップが、前記要求に対する応答として、スキル名の前記ランク付けしたセット、及び対応するスキルの評価、活用、市場性、又は訓練に関連する関連情報を提供するステップを含む、請求項13に記載の1つ又は複数の非一時的記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の1つの技術分野は、デジタルデータ処理である。別の技術分野は、電子文書の生成及び検索である。
【背景技術】
【0002】
このセクションに記載する手法は、追求され得る手法であるが、必ずしも以前に着想又は追求された手法ではない。したがって、別段の指示がない限り、このセクションに記載する手法のいずれも、単にこのセクションに含まれることによって先行技術として認められると仮定すべきではない。
【0003】
今日の流動的な世界では、仕事を一意に定義し、人々はいつでも仕事を変更し得る。仕事を説明し、その仕事に適した志望者を見つける際に、任意の役職における特定のスキル又は経験の量にもはや焦点を当てるのではなく、代わりに、その仕事が必要とするスキルの完全なセットを認識することが有用である。しかし、何十万ものスキル名が存在する。これらのスキル名の一部は、同一又は類似の意味を有する可能性があり、これらのスキル名の一部は、大きく関連するスキルに対応する可能性がある。したがって、スキル名及び関連するスキル情報の効果的な検索を、並びに関連する仕事に好適にマッチングする職務記述書又は履歴書などのスキル関連データの自動生成を、可能にするシステムを有することが有用であろう。
【0004】
図面について以下に説明する。
【図面の簡単な説明】
【0005】
図1】様々な実施形態が実施され得る例示的なネットワークコンピュータシステムの図である。
図2】開示した実施形態によるデータ管理サーバコンピュータの例示的な構成要素の図である。
図3】スキル名の依存関係グラフの図である。
図4】依存関係グラフの組合せの図である。
図5A】「ソフトウェア」を含む例示的な上位語ツリー(hypernym tree)の図である。
図5B】「コード」を含む例示的な上位語ツリーの図である。
図6】例示的な知識グラフの図である。
図7】データ管理サーバによって実施される、仕事の検索、仕事の雇用、又はスキル調査のためのスキルデータを生成する例示的なプロセスの図である。
図8】本発明の一実施形態を実施し得るコンピュータシステムを示すブロック図である。
【発明を実施するための形態】
【0006】
以下の説明では、説明の目的のために、本発明の完全な理解を提供するために多くの具体的な詳細を記載する。しかしながら、本発明がこれらの具体的な詳細なしで実施され得ることは明らかであろう。他の例では、本発明を不必要に不明瞭にすることを避けるために、周知の構造及びデバイスをブロック図形式で示す。
【0007】
実施形態を、以下の概要に従って以下のセクションで説明する。
1.全体概要
2.例示的なコンピュータ環境
3.例示的なコンピュータ構成要素
4.機能説明
4.1.スキル名の依存関係グラフの作成
4.2.スキル名の上位語ツリーの生成
4.3.スキル名の知識グラフの管理
5.例示的な処理
6.ハードウェア実装形態
【0008】
1.全体概要
データ管理サーバコンピュータ(「サーバ」)及び関連方法が、機械学習技術を使用して、スキル名を含むスキルデータに関連する電子文書又は検索プロセスを強化するために、開示される。サーバは、辞書から知識グラフにスキル名を編成するようにプログラムされる。知識グラフは、スキル名及びスキル名の単語を表すノードと、構文又は意味関係を表すエッジと、を含む。サーバは、知識グラフを使用してスキル関連の要求に応答し、要求に応答する際に知識グラフのアクセスパターンを追跡するようにプログラムされる。要求に対する返答は、知識グラフの構造又はアクセスパターンに基づいて生成され、履歴書又は職務記述書などの検索結果又はスキル関連データとして使用され得る。
【0009】
いくつかの実施形態では、サーバは、何十万ものエントリを有し得るスキル名の辞書にアクセスする。スキル名は、何かを行う能力の名前であり、例えば、ツール又は主題に関連し得る。スキル名の例は、「プロダクトエンジニアリング」又は「オブジェクト指向プログラミング」を含む。サーバはまた、機械学習技術を使用して、仕事検索ウェブサイト又は人事システムなど、スキルの検索、訓練、評価、又は活用に関連するデータソースからスキル名及び他のスキル情報を抽出し得る。
【0010】
いくつかの実施形態では、サーバは、機械学習技術を使用して、スキル名の依存関係グラフを検索するか、又はそれを作成することによって、各スキル名の単語を編成し、ノードは、スキル名の単語を表し、エッジは、構文関係を表す。依存関係グラフは、スキル名のすべての他の単語が直接的又は間接的に関連する単語、通常は名詞を表す構文ルートを通常含む。例えば、「医学の体系化された命名法(systemized nomenclature of medicine)」というスキル名の場合、構文ルートは、「命名法(nomenclature)」とみなされ得る。言い換えれば、例えば、構文ルートの修飾語又は前置詞であり得る。
【0011】
いくつかの実施形態では、サーバはまた、上位語ツリーを検索することによって、又は機械学習技術を使用して上位語ツリーを作成することによって、スキル名の単語を編成する。上位語ツリーは、同義語の同義語集に関連付けられた単語の意味のノードと、意味関係を表すエッジと、を含む。上位語ツリーでは、2つの意味が意味的に関連しているので、2つの単語それぞれの2つの意味のノードを接続し得る。例えば、「要約を与える」と概略的に記載している「要約」の特定の意味のノードは、「人々若しくはグループによって、又はそれらに、又はそれらの間で、通信される何か」と概略的に記載している「通信」の特定の意味のノードと接続されてもよい。
【0012】
いくつかの実施形態では、サーバは、対応する依存関係グラフを上位語ツリーと接続することによって、意味的に編成され得るように、スキル名に意味を割り当てる。特定の実施形態では、スキル名、具体的には構文ルートの依存関係グラフは、上位語ツリー内の同義語集に関連付けられたノードにマッチングされてもよい。そのようなマッチングは、同義語集へのスキル名、及び単語又は句の埋め込みに基づいて、様々な方法で実施され得る。
【0013】
いくつかの実施形態では、上位語ツリーに基づく単語の意味をスキル名に割り当てると、サーバは、上位語ツリー内のノード間の接続に基づいて依存関係グラフを接続してもよい。具体的には、2つのスキル名それぞれについての2つの依存関係グラフが、エッジによって接続された上位語ツリー内の2つのノードにマッチングされるとき、2つの依存関係グラフは、エッジによって接続され得る。したがって、サーバは、相互接続された依存関係グラフのセットである知識グラフを生成する。知識グラフの構造は、スキル名間の意味的関係を反映する。
【0014】
いくつかの実施形態では、サーバは、スキル関連要求を受信し、知識グラフに基づいてスキル関連要求に応答してもよい。サーバは、要求に応答する際に知識グラフのアクセスパターンを追跡し、要求に対する返答を生成するために知識グラフの既存の構造及びアクセスパターンに依存し得る。要求は、部分的又は完全なスキル名を含む部分又は完全クエリであり、要求に対する応答は、拡張クエリ又はクエリの検索結果を含み得る。要求はまた、例えば、肩書き又は職名であってもよく、要求に対する応答は、肩書き又は職名に対する更新された職務記述書又は履歴書を含む。
【0015】
データ管理サーバコンピュータは、多くの技術的利点をもたらす。サーバは、意図されたクエリを自動的に予測し、関連する広範なスキル関連データに基づいて豊富な検索結果を生成することによって、スキル関連情報の迅速で、効果的な検索を可能にする。サーバはまた、十分に編成された包括的な範囲のスキル関連データに同様に基づいて、求人、履歴書、又はキャリアプランなど、高品質のスキルデータの生成を可能にする。
【0016】
2.例示的なコンピュータ環境
図1は、様々な実施形態が実施され得る例示的なネットワークコンピュータシステムを示している。図1は、明確な例を説明する目的で簡略化した概略的な形式で示しており、他の実施形態は、多い、少ない、又は異なる要素を含んでもよい。
【0017】
いくつかの実施形態では、ネットワークコンピュータシステムは、データ管理サーバコンピュータ102(「サーバ」)と、1つ又は複数のサードパーティデータソース122と、1つ又は複数のネットワーク118を介して直接的又は間接的に通信可能に結合された1つ又は複数のクライアントデバイス112と、を備える。
【0018】
いくつかの実施形態では、サーバ102は、スキルデータの収集、知識グラフの生成、及びスキルに関連するデジタル文書の生成又は検索の改善を含むがこれらに限定されない、1つ又は複数のコンピュータ、仮想コンピュータインスタンス、並びに/あるいは、機能をホスト又は実行するように構成された、データ構造及び/又はデータベースレコードを用いてプログラム又は構成されたサーバベースのアプリケーションのインスタンスを広く表す。サーバ102は、サーバファーム、クラウドコンピュータプラットフォーム、並列コンピュータ、又は上述の機能のためのデータ処理、データ記憶、及びネットワーク通信において十分な計算能力を有する任意の他の計算設備を備え得る。
【0019】
いくつかの実施形態では、1つ又は複数のサードパーティデータソース122の各々は、仕事若しくはスキルに関連するデータ、又は言語構文若しくは意味に関連するデータなど、異なる種類のデータを管理するようにプログラムされる。管理は、関連するプログラミングコード又はプログラミングコードを実行した結果を収集、生成、又は記憶することを含み得る。管理はまた、関連するプログラミングコード又はプログラミングコードの実行の結果にアクセスするためのインターフェースを提供することを含み得る。サードパーティデータソース122の各々は、サーバファーム、クラウドコンピュータプラットフォーム、又は並列コンピュータを同様に備え、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、又はウェアラブルデバイスを備え、あるいは上記の機能のためのデータ処理、データ記憶、及びネットワーク通信において十分な計算能力を有する任意の他の種類のコンピュータデバイスを、備え得る。
【0020】
いくつかの実施形態では、1つ又は複数のクライアントデバイス112の各々は、スキルに関連し得る要求を提出し、要求に対する返答を処理するようにプログラムされる。1つ又は複数のクライアントデバイス112の各々は、履歴書又は求人などの関連データも受信又は送信するようにプログラムされ得る。1つ又は複数のクライアントデバイス112の各々は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、ウェアラブルデバイス、又は上記の機能のためのデータ処理、データ記憶及びネットワーク通信において十分な計算能力を有する任意の他の種類のコンピュータデバイスを備え得る。
【0021】
ネットワーク118は、図1の様々な要素間のデータの交換を実施する任意の媒体又は機構によって実装され得る。ネットワーク118の例には、セルラアンテナを介してコンピュータデバイスへのデータ接続と通信可能に結合されたセルラネットワーク、近距離無線通信(NFC)ネットワーク、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、地上波又は衛星リンクなどのうちの1つ又は複数を含むが、これらに限定されない。
【0022】
いくつかの実施形態では、サーバ102は、1つ又は複数のサードパーティデータソース122から、求人及び履歴書などのスキル関連データを検索するようにプログラムされる。サーバ102はまた、ユーザ又は1つ若しくは複数のクライアントデバイス112からそのようなデータを直接受信するようにプログラムされてもよい。次いで、サーバ102は、スキル名、及びスキル名に関連するメタデータを抽出するなど、スキル関連データを処理するようにプログラムされる。サーバ102は、スキル名の構文データ若しくは意味データ、又はそのようなデータを生成するために使用され得るツールなど、追加のスキル関連データを、1つ又は複数のサードパーティデータソース122から検索するようにプログラムされる。サーバ102は、すべての利用可能なデータを処理し、スキル名が包括的で知的に編成された知識グラフを構築するように構成される。サーバ102は、仕事又はスキルに関連するデータの検索クエリに応答すること、あるいは求人又は履歴書を生成又は拡張することなど、1つ又は複数の機能を使用するために、1つ又は複数のクライアントデバイス112のクライアントデバイスから要求を受信するようにプログラムされ得る。要求は、肩書き又はスキル名の1つ又は複数の単語を含み得る。選択された機能に応じて、サーバ102は、スキル名、追加のスキル名、又はスキル名に関連する他のデータから、追加の単語を返すようにプログラムされ得る。
【0023】
3.例示的なコンピュータ構成要素
図2は、開示した実施形態によるデータ管理サーバコンピュータの例示的な構成要素を示している。この図は、例示のみを目的としており、サーバ102は、少ない又は多い、機能又は記憶構成要素を備え得る。機能構成要素の各々は、ソフトウェア構成要素、汎用若しくは専用ハードウェア構成要素、ファームウェア構成要素、又はそれらの任意の組合せとして実装され得る。記憶構成要素は、リレーショナルデータベース、オブジェクトデータベース、フラットファイルシステム、又はJSONストアのいずれかを使用して実装され得る。記憶構成要素は、プログラム呼出し、遠隔手続呼出し(RPC)機能、又はメッセージングバスを使用して、ローカルに又はネットワークを介して機能構成要素に接続され得る。構成要素は、自己完結型であっても、なくてもよい。実装固有又は他の考慮事項に応じて、構成要素は、機能的又は物理的に、集中又は分散されてもよい。
【0024】
いくつかの実施形態では、サーバ102は、スキルデータ収集命令202と、スキルデータ処理命令204と、知識グラフ管理命令206と、ユーザインターフェース命令208と、を備え得る。更に、サーバ102は、データベースモジュール220を備えてもよい。
【0025】
いくつかの実施形態では、スキルデータ収集命令202は、ユーザ又はデータソースからスキルデータを収集し、更なる処理のためにスキルデータをローカルデータベースに記憶してもよい。スキルデータは、求人、履歴書、スキルの説明、スキルトレーニング情報、スキル評価情報、又はスキルの市場性情報を含んでもよい。
【0026】
いくつかの実施形態では、スキルデータ処理命令204は、スキルデータの処理を可能にする。処理は、スキル名又はスキルの説明を抽出すること、スキル名に関連付けられるべきメタデータを生成すること、又はスキル名の構文的若しくは意味的特徴を識別すること、を含んでもよい。
【0027】
いくつかの実施形態では、知識グラフ管理命令206は、スキル名を編成する知識グラフの構築及び更新を可能にする。構築は、スキル名内の単語を編成するスキル名の依存関係グラフを構築すること、構文的若しくは意味的特徴又は他の関連データに基づいてスキル名間の関係を決定すること、あるいは決定された関係に基づいて依存関係グラフをマージすること、を含んでもよい。知識グラフは、例えば、新規のスキルデータが受信されたとき、又は知識グラフとのユーザ相互作用が発生したときに、更新されてもよい。
【0028】
いくつかの実施形態では、ユーザインターフェース命令208は、ユーザ又はユーザデバイスと対話することを可能にする。対話することは、スキルに関連するユーザ若しくはユーザデバイスからの要求を受信すること、知識グラフから生成され得る要求に対する応答をユーザデバイスに送信すること、又はユーザ若しくはユーザデバイスに返答を表示させること、を含み得る。対話することはまた、サーバ102による使用のために訓練データベースに追加される、又はユーザ若しくはユーザデバイスによる使用のために強化される、職務記述書又は履歴書など、スキルデータをユーザから受信すること、を含んでもよい。
【0029】
いくつかの実施形態では、データベース220は、関連するデータ構造を管理し、サーバ102によって実施される機能に、関連するデータを記憶するように、プログラム又は構成される。データは、求人、履歴書、スキル名、スキルの市場性若しくは活用情報、キャリアプラン、職務調査、仕事若しくはスキルに関連する評価若しくは訓練データ、構文データ、意味データ、単語若しくは句を表すベクトル若しくは埋め込み、類似性若しくは距離データ、依存関係グラフ、上位語ツリー、知識グラフ、クライアントの要求若しくはクエリ、又は検索結果に対応し得る。データはまた、埋め込みを生成するための、あるいは構文的若しくは意味的関係、又は類似性若しくは距離を決定するための、プログラミングコードに対応し得る。
【0030】
4.機能説明
4.1.スキル名の依存関係グラフの作成
いくつかの実施形態では、サーバは、本明細書に記載の様々なタスクを実施するように構成されたデータ構造及び/又はデータベースレコードを用いて、プログラム又は構成される。サーバは、地理及び職名にわたって、職務記述書、仕事に対する履歴書、又はスキル評価、活用、市場性、若しくは訓練に関連するデータなど、スキルデータを受信する。サーバは、スキル名のデータベースを備え、又はスキルデータからデータベースを構築し得る。構築は、例えば、スキル名のシードセットから始まる教師あり学習で、又はスキルデータの文書に繰り返し若しくは体系的に現れる句を識別することによる教師なし学習で、実施されてもよい。システムは、スキルに関する追加情報を同様に生成し、スキル名に関連付けて追加情報を記憶し得る。例えば、スキル名の追加情報は、適用可能な職名、適用可能な肩書きのリスト、肩書きに必要とされる又は通常有する経験年数、スキルによって指示され得る給与額、スキルの熟練度を実証するために必要とされる訓練コース又は資格証明書のリスト、あるいはスキルが評価される頻度、評価に従ってスキルがどの程度十分に利用されるか、スキルがどの程度市場性があるか、又は利用可能なスキルデータにわたってスキルにどの程度の訓練材料が利用可能であるかに基づいて有用性インジケータ、を含んでもよい。
【0031】
いくつかの実施形態では、スキル名ごとに、サーバは、依存関係グラフを構築する。図3は、スキル名の依存関係グラフを示している。サーバは、DeepPalov(バージョン0.14.0)又はspaCy(バージョン3.0)によるオープンソースのライブラリなど、当業者に知られている方法を使用して、スキル名に対して構文解析を実施し得る。構文解析は、タガー(tagger)、パーサ、又はエンティティ認識器のための深層学習駆動モデルを含む、国内言語処理技術を使用して一般に実施され得る。電子テスト機器を動作させる能力を示す「電子テスト機器」306などのスキル名では、構文解析は、「機器」などの単語を構文ルートとして識別することができ、これは、名詞であることが多く、依存関係グラフの初期ノード302として機能する。構文解析は、「電子」などのスキル名の第2の単語を更に識別することができ、これは、別の単語を修飾するか、又は別の単語と別の関係を有する、形容詞又は別の名詞であり得る。その場合、関係は、依存関係グラフのエッジ304に対応する。したがって、構文解析は、構文ルート、並びにその構文ルートに依存する構成要素のチェーンを識別する。
【0032】
いくつかの実施形態では、サーバは、共有語に基づいて、データベース内のスキル名の依存関係グラフを組み合わせる。図4は、依存関係グラフの組合せを示している。「製造」という単語を含む多くのスキル名がある。これらのスキル名の依存関係グラフは、「製造」という単語に対して共通ノード402を使用することによって互いに接続され得る。例えば、「産業製造」というスキル名は、「産業」という単語に対するノード404を含む依存関係グラフに対応し、「重量機器製造」というスキル名は、「重量」と「機器」という単語に対するノード406を含む依存関係グラフに対応する。
【0033】
4.2.スキル名の上位語ツリーの生成
いくつかの実施形態では、サーバは、上位語ツリーを介して依存関係グラフをマージする。サーバは、データベース内のすべてのスキル名の単語について上位語ツリーを最初に生成する。当業者に知られているように、すべてのXが、Y(の種類)である場合、Yは、Xの上位語である(例えば、「イヌ(dog)」は、「イヌ科(canine)」の上位語である。)。したがって、上位語ツリーが、Yに対応するノードをルートとして、ルートから、Xに対応するノードまでのエッジを用いて確立され得る。上位語ツリーのルートから下へのトラバースは、更に特定の意味を有する単語との遭遇を意味する。単語のセットのための上位語ツリーは、WordNet(バージョン3.1)など、当業者に知られている方法を使用して取得され得る。更に、単語は多義的であり得、複数の意味を有する。各意味は、要約記述又は同義語集(同義語のグループ)と関連付けられ、上位語ツリー内の新規のパスにつながり得る。
【0034】
図5は、例示的な上位語ツリーを示している。図5Aは、「ソフトウェア(software)」という単語を含む例示的な上位語ツリーを示している。この上位語ツリーは、ノード506が、「エンティティ(entity)」n.01を表すことから始まり、n.0Xは、単語のX番目の意味を表す。次いで、「ソフトウェア」上位語ツリーは、エッジ508、510、512、514、516、及び518を介して「コード(code)」n.03を表すノード504まで延在し、更に「ソフトウェア」n.01を表すノード520まで延在する。図5Bは、「コード」を含む例示的な上位語ツリーを示す。この上位語ツリーは、「エンティティ」n.01を表す同じノード506で始まり、同じパスを通るが、「ノード(node)」n.02を表す追加のノード524及び「ノード」n.01を表す追加のノード526を含む、「コード」n.03を表すノード504まで延在する。
【0035】
いくつかの実施形態では、サーバは、データベース内のスキル名の構文ルートである単語について、その単語を含む上位語ツリーを使用してその単語の特定の意味を選択する。サーバは、データベース内のスキル名ごとに、及びコーパスに関してデータベース内のスキル名の単語を含む上位語ツリーの同義語集内の単語又は句ごとに、埋め込みを作成し得る。コーパスの一例は、同義語集内の単語も含む、スキル名のデータベースが導出される職務記述書又は履歴書のセットを含む。一実装形態では、2つの埋め込みは、典型的には、2つの埋め込みによって表される2つの単語又は句が意味的意味において近いとき、ベクトル空間内の距離尺度に対して近いものであり、ここで、意味的意味は、コーパスに共に現れる単語又は句を特徴付け得る。スキル名は、コーパス内の特定の肩書き、スキル名記述、関連するコンピテンスなどと共起し得る。上位語ツリーは、関連する単語の固有のグループ化を含む。したがって、スキル名は、それ自体によって、又は同時に出現する句と共に拡張されて、特定の単語意味、又は単語の対応する同義語集とマッチングされ得る。次いで、埋め込みは、通常ニューラルネットワークを利用するGloVe又はWord2Vecなど、当業者に知られている方法を使用して生成され得る。一例では、「制作」は、「音楽制作」、「ビデオゲーム制作」などのスキル名の一部である。「制作」を伴う上位語ツリーは、「演出(staging)」及び「プレゼンテーション(presentation)」を含む同義語集を有する「ステージ若しくはスクリーン又はラジオ若しくはテレビのプレゼンテーション」によって概略的に記述される意味を含む、「制作」の複数の意味を表すノードを含み得る。したがって、「音楽制作」及び「ビデオゲーム制作」などのスキル名ごとに、並びに「ステージ若しくはスクリーン又はラジオ若しくはテレビのプレゼンテーション」などの単語意味の要約記述、あるいは「演出」若しくは「プレゼンテーション」などの同義語集内の単語若しくは句ごとに、埋め込みは、作成され得る。
【0036】
いくつかの実施形態では、サーバは、生成された埋め込みを比較することによって、単語の意味をスキル名に割り当てる。サーバは、スキル名の埋め込みと、構文ルートとして指定されたスキル名の単語の同義語集など、スキル名の単語の意味の同義語集ごとの1つ又は複数の埋め込みと、の間の距離を測定し得る。サーバは、スキル名の埋め込みと、同義語集内の単語又は句ごとの埋め込みとの間の距離を測定し、スキル名と同義語集との間の距離として、又は単語の関連する意味として、距離の集約距離を算出し得る。サーバはまた、同義語集内の単語又は句の埋め込みの集約埋め込みを算出し、スキル名と同義語集との間の距離として、又は単語の関連する意味として、スキル名の埋め込みと集約埋め込みとの間の距離を測定し得る。あるいは、サーバは、スキル名の埋め込みと、同義語集の要約記述又は単語の関連する意味の埋め込みとの間の距離を算出し得る。距離は、コサイン類似度又はユークリッド距離など、当業者に知られている任意の類似度又は距離尺度を使用して算出され得る。そして、サーバは、生成された埋め込みに基づいて、最小距離につながる単語の意味をスキル名に割り当てる。特定の実施形態では、サーバは、距離が閾値を下回るときにのみ、最小距離につながる単語の意味を割り当て得る。最小距離が閾値を下回っていないとき、単語の包括的な意味が、スキル名に割り当てられ得る。
【0037】
いくつかの実施形態では、上述したように、共有単語に基づいてスキル名の依存関係グラフを組み合わせる代わりに、サーバは、単語の同じ意味が割り当てられたときに、スキル名の依存関係グラフをマージ又は接続する。例えば、「メディア関連制作」を要約記述した「制作」という単語の特定の意味が、「ラジオ制作」及び「テレビ制作」というスキル名に割り当てられた場合、2つのスキル名の依存関係グラフは接続され得る。サーバは、単語の特定の意味を表す新規のノードを作成し、新規のノードから単語の特定の意味を割り当てられたスキル名のすべての依存関係グラフへのエッジを作成し得る。
【0038】
いくつかの実施形態では、サーバは、上位語ツリーをトレースすることによって依存関係グラフを更に組み合わせる。2つの異なる単語の2つの意味を表すノードが、上位語ツリーにおいて特定の数以下のエッジしか離れていないとき、サーバは、2つの異なる単語の2つの意味にそれぞれ関連付けられた依存関係グラフの2つのセットを接続し得る。図5Aに戻って参照すると、「コード」n.03を表すノード504は、「ソフトウェア」n.01を表すノード520と直接接続され、これは、2つの単語の2つの意味の間の密接な関係を示唆している。したがって、「コード」n.03に関連付けられ、したがって、「コード」n.03を表すノードに接続される依存関係グラフのセットは、「ソフトウェア」n.01に関連付けられた依存関係グラフのセットと接続され、したがって、「コード」n.03を表すノードと「ソフトウェア」n.01を表すノードとの間にエッジを作成することによって、「ソフトウェア」n.01を表すノードに接続され得る。例えば、WordNetによれば、「ソフトウェア」n.01は、「コンピュータシステムの動作に関連し、読み出し/書き込みメモリに記憶される、書かれたプログラム又は手順又はルール及び関連文書」と概略約に記述される一方で、「コード」という単語の複数の意味のうちの「コード」n.03は、「コンピュータプログラム又はそのような命令のセット内のデータ又は命令の記号的配置」と概略的に記述される。したがって、「ソフトウェア」及び「コード」は、極めて異なる構文で現れるが、サーバは、それらの関連するスキル名を適切に共に自動的にグループ化し得る。次いで、結果として得られる依存関係グラフのスーパーセットは、スキル名の知識グラフと考えられ得る。
【0039】
4.3.スキル名のための知識グラフの管理
図6は、例示的な知識グラフを示している。知識グラフは、「ソフトウェア」n.01を表すノード602と、「コード」n.03を表すノード604と、添付のすべての依存関係グラフとを、含む。スキル名「Javaコーディング」の依存関係グラフ606は、構文ルート「コード」を有する。「コード」n.03に対応する「コード」の意味は、スキル名「Javaコーディング」に割り当てられる。したがって、依存関係グラフ606は、知識グラフ内の「コード」n.03を表すノード604に接続される。同様に、スキル名「ソフトウェア開発」の依存関係グラフ608は、構文ルート「ソフトウェア」を有する。「ソフトウェア」n.01に対応する「ソフトウェア」の意味は、スキル名「ソフトウェア開発」に割り当てられる。したがって、依存関係グラフ608は、知識グラフ内の「ソフトウェア」n.01を表すノード602に接続される。
【0040】
いくつかの実施形態では、サーバは、ユーザ又はユーザデバイスから要求を受信する。要求は、要求に応答した処理の範囲を示すスキル名及び任意選択的に程度を指定し得る。これに応じて、サーバは、受信したスキル名の単語を表すノードと、選択されたスキル名の単語を表すノードとの間の知識グラフにおける距離(例えば、最短経路の長さ)が、受信された程度又は所定の程度に基づいて何らかの閾値を下回るように、すべてのスキル名を選択し得る。例えば、受信したスキル名は、「Javaコーディング」であってもよい。程度は1であってもよく、これは1の距離に対応すると考えてもよい。「Javaコーディング」と「コード開発」の依存関係グラフ間の距離は、ゼロ(両方とも図6のノード604に接続されている)であると算出され、「Javaコーディング」と「ソフトウェアエンジニアリング」の依存関係グラフ間の距離は、1(図6のエッジ610を通って)であると算出され、「コード開発」と「ソフトウェアエンジニアリング」との両方は、関連するスキル名としてクライアントデバイスに送信され得る。
【0041】
いくつかの実施形態では、サーバは、知識グラフのアクセスパターンを追跡する。要求に応答して、以下で更に説明するように、知識グラフのノード及びエッジがアクセスされる。サーバは、そのような追跡又は他の目的のために、初期辞書又はスキル名のインデックスを含み得るテーブルなど、スキル名の別のデータ構造を維持し得る。知識グラフのノードごと、又はスキル名に対応するノードのセットごとに、サーバは、マッチングする要求のリスト、(包含する)スキル名が要求又は要求に対する応答に含まれる回数、あるいは要求に直接対応する第2のノードからノード又はノードのセットが到達する前にトラバースされたエッジの数(ノードと第2のノードとの間の距離)、を記録し得る。知識グラフをトラバースする際に、図6のエッジ610のような、上記で説明した上位語ツリーから導出され得るエッジの方向性は、考慮又は無視され得る。一実施形態では、方向性は、エッジをトラバースする際に無視されるが、以下で更に説明するように、エッジの終点であるノードに添付された依存関係グラフをどのように重み付けするかを決定する際に考慮される。頻繁に又は直接アクセスされるノード又はエッジに関連付けられたスキル名は、例えば、ランキングにおいて高い優先順位を与えられ得る。
【0042】
いくつかの実施形態では、サーバは、検索エンジン又はデータ生成器であるシステムに結合又は統合され得る。検索エンジンとして、要求は、クエリが完了したという指示がサーバによって受信される前に、部分的なスキル名を含む部分的なクエリを含み、サーバは、部分的なクエリを、知識グラフに表されたスキル名にマッチングすることによって、部分的なクエリをどのように拡張するかを決定し(又は結合されたシステムに決定させ)得る。サーバは、正規表現を使用したファジーマッチングなど、特定のマッチング基準に基づいて、部分クエリにマッチングするスキル名のリストを生成し得る。サーバは、スキル名について、知識グラフのサブグラフのサイズ(例えば、ノードの数)に基づいて、スキル名のリストを更にランク付けし得る。サブグラフは、スキル名を表すノード又はノードのセットから任意の距離内のすべてのノードを含み、その距離は、所定の値であってもよく、又は要求から決定されてもよい(例えば、上記の程度)。サーバはまた、知識グラフの他のプロパティを、又はスキル名に関連して記憶された他の情報を、使用してスキル名のリストをランク付し、次いで、サーバは、要求に応答して、スキル名のランク付けされたリストを返し得る。
【0043】
いくつかの実施形態では、要求が完全クエリを現在含むとき、サーバは、例えば、サブグラフ内のすべてのスキル名を返し得る。サーバはまた、例えば、活用、市場性、訓練、又は評価に関して、スキル名に関連付けられた追加情報を返してもよい。これらのスキル名は、完全クエリ内のスキル名を表すノード又はノードのセットに対する、対応するノード間の距離に基づいてランク付けされ得る。スキル名はまた、要求に応答して知識グラフ内の対応するノードがアクセスされる頻度、又はアクセスされる方法(直接的に、1つ又は複数の方向付けられたエッジなどを介して)に基づいて、ランク付けされ得る。例えば、狭い意味から広い意味を形成する1つ又は複数の方向付けられたエッジを介して、スキル名のノードに到達するとき、クエリ目標の目的が一般化されたスキル名を見つけることであるとき、スキル名に高いランクを与え、又はその目標が対応するスキルの専門化を識別することであるとき、スキル名に低いランクを与え得る。
【0044】
データ生成器として、要求は、スキル名を含み、サーバは、知識グラフからスキル名のサブグラフを同様に識別し(又は結合されたシステムに識別させ)得る。要求はまた、職名又は肩書きを含み、サーバは、職名又は肩書きに関連付けられたスキル名に対応するすべてのノードを含むサブグラフを識別し得る。要求の両方の種類について、サーバは、サブグラフ及び他の関連情報からのスキル名のリストを、更なる使用のための出力データとしての改良された職務記述書、履歴書、キャリアプラン、職務調査、又は仕事若しくはスキルに関連する他のデータのセクションとして、自動的に生成し得る。スキル名のリストは、上述したように、ランク付けされた順序で出力データにリストするために同様にランク付けされ得る。職務記述書の場合、スキル名の関連情報は、好ましい経験年数、必要な証明書の種類、又は仕事に対するスキルの重要度インジケータを含んでもよい。履歴書の場合、スキル名の関連情報は、好ましい経験年数、必要な証明書の種類、取得した訓練コースの種類などを同様に含んでもよいが、ユーザが、個人資格にマッチングするように情報を調整することが可能である。
【0045】
5.例示的な処理
図7は、所与の目的のための関連スキル名の包括的なリストを識別する、データ管理サーバによって実施される例示的なプロセスを示している。図7は、明確な例を説明する目的で簡略化した概略的な形式で示しており、他の実施形態は、様々な方法で接続された多い、少ない、又は異なる要素を含み得る。図7は、実行されると本明細書に記載の機能改善及び技術的進歩を実施する1つ又は複数のコンピュータプログラム又は他のソフトウェア要素を実装するために使用され得る、アルゴリズム、計画又は概要を開示することを意図する。更に、本明細書のフロー図は、当業者が蓄積されたスキル及び知識を使用してコーディング又は実装することを計画するソフトウェアプログラムの基礎を形成するアルゴリズム、計画、又は仕様について互いに通信するために、当業者が通常使用するのと同じ詳細レベルで説明している。
【0046】
一実施形態では、サーバは、スキル活用、評価、訓練、又は市場性に関連するスキルデータを受信し、スキルデータから、複数のスキル名のスキル名ごとに、自然言語処理技術を使用して、適用可能な職名、適用可能な肩書きのリスト、要求又は保有される平均経験年数、スキルによって求められ得る給与額、必要な又は完了した訓練コース又は認定のリスト、あるいは対応するスキルが評価される頻度、スキルがどの程度十分に活用されるか、スキルがどの程度市場性があるか、又はスキルのためにどの程度の訓練材料が利用可能であるかに基づく有用性インジケータ、を決定するようにプログラムされる。
【0047】
いくつかの実施形態では、ステップ702において、サーバは、複数のスキル名のスキル名ごとに、依存関係グラフを取得するようにプログラム又は構成され、依存関係グラフは、スキル名の単語ごとのノードと、エッジによって接続された2つのノードにおける単語間の構文関係を表すエッジと、を有する。
【0048】
いくつかの実施形態では、ステップ704において、サーバは、対応する依存関係グラフに基づいて、複数のスキル名の各スキル名から、少なくとも1つの単語を選択するようにプログラム又は構成される。
【0049】
いくつかの実施形態では、ステップ706において、サーバは、選択した単語の単語ごとに、上位語ツリーを取得するようにプログラム又は構成される。上位語ツリーは、単語の1つ又は複数の意味の意味ごとのノードと、異なる単語の意味のノードを含む上位語ツリーのうちの少なくとも1つの上位語ツリーと、を含む。
【0050】
上位語ツリーを取得する際に、一実施形態では、サーバは、ニューラルネットワークを含む形式統計モデルに、タガー、パーサ、又はテキストカテゴライザを適用するようにプログラムされる。別の実施形態では、サーバは、2つのスキル名が単語を共有するとき、2つのスキル名についての2つの依存関係グラフをマージするようにプログラムされる。更に別の実施形態では、サーバは、スキル名から構文ルートを識別し、構文ルートに対応する上位語ツリーを検索又は作成するように構成される。
【0051】
いくつかの実施形態では、ステップ708において、サーバは、複数のスキル名のスキル名ごとに、特定の単語の上位語ツリーに基づいて、スキル名から選択した特定の単語の意味をスキル名に割り当てるようにプログラム又は構成される。
【0052】
一実施形態では、単語の意味に対して取得された上位語ツリーの各ノードは、意味に対応する1つ又は複数の単語又は句を含む。特定の単語の意味をスキル名に割り当てる際に、サーバは、複数のスキル名の出現を有する文書のセットと、取得した上位語ツリーのノードに含まれる単語及び句とに基づいて、複数のスキル名のスキル名ごとに、並びに各取得した各上位語ツリーのノード内の単語及び句ごとに、埋め込みを作成するようにプログラムされ、2つの埋め込みは、文書のセットによって定義された意味空間内で近い2つの対応するスキル名、単語又は句について、ベクトル空間内で近い。
【0053】
別の実施形態では、特定の単語の意味をスキル名に割り当てる際に、サーバは、取得した上位語ツリーのスキル名及びノードについて、スキル名についての埋め込み、及びノードに含まれる単語又は句ごとの埋め込み、に関する類似度スコアを算出し、ノード上の類似度スコアの集約類似度スコアを計算し、スキル名と、最高の集約類似度スコアをもたらす任意の取得した上位語ツリーのノードに関連付けられた単語の意味と、を関連付ける、ようにプログラムされる。
【0054】
更に別の実施形態では、特定の単語の意味をスキル名に割り当てる際に、サーバは、取得した上位語ツリーのノードごとに、ノードに含まれる任意の単語又は句の埋め込みの集約埋め込みを算出し、取得した上位語ツリーのスキル名及びノードについて、スキル名の埋め込みについての類似度スコアと、取得した上位語ツリーのノードについて集約埋め込みと、を算出し、スキル名と、最高の類似度スコアをもたらす任意の取得した上位語ツリーのノードに関連付けられた単語の意味と、を関連付ける、ようにプログラムされる。
【0055】
いくつかの実施形態では、ステップ710において、サーバは、知識グラフを取得するために、2つのスキル名に割り当てられた2つの意味についての2つのノードが上位語ツリー内で第1の閾値距離以下で離れているときに、2つのスキル名についての2つの依存関係グラフをマージするようにプログラム又は構成される。
【0056】
一実施形態では、サーバは、スキル名の単語、又はスキル名に対応するノードのセットを表す知識グラフのノードごとに、マッチングする要求のリストを、要求又は要求に対する応答にスキル名が含まれる回数を、あるいは要求に直接対応する第2のノードからノード又はノードのセットに到達する前にトラバースされたエッジの数を、維持することを含む、知識グラフのアクセスパターンを追跡するようにプログラムされる。
【0057】
いくつかの実施形態では、ステップ712において、サーバは、スキルに関する要求を受信するようにプログラム又は構成される。
【0058】
いくつかの実施形態では、ステップ714において、サーバは、要求に応答して、特定のスキル名と、特定のスキル名のノードから第2の閾値距離内のノードを含む知識グラフのサブグラフと、を識別するようにプログラム又は構成される。
【0059】
いくつかの実施形態では、ステップ716において、サーバは、サブグラフ内のノードに対応するスキル名を含む要求に対する応答を生成し、送信するようにプログラム又は構成される。
【0060】
一実施形態では、要求は部分クエリである。次いで、サーバは、識別するステップをリアルタイムで実施するようにプログラムされる。サーバは、更に、マッチング基準に基づいて、部分クエリにマッチングする知識グラフに表されたスキル名のリストを選択し、スキル名ごとに、部分クエリとのマッチングからの対応するマッチングスコア、対応するサブグラフのサイズ、又は知識グラフ内の対応するノード若しくはノードのセットに関連付けられたアクセスパターンに基づいて、スキル名のリストをランク付けする、ようにプログラムされる。サーバはまた、部分クエリを拡張するための候補として、スキル名のランク付けしたリストを提供することを含む、生成し、送信するステップをリアルタイムで実施するようにプログラムされる。
【0061】
別の実施形態では、要求は完全クエリである。次いで、サーバは、識別するステップをリアルタイムで実施するようにプログラムされる。サーバは、更に、マッチング基準に基づいて完全クエリにマッチングする知識グラフ内のスキル名のリストを選択し、スキル名のリストのスキル名ごとに、スキル名のためのノードと、ノードから特定の距離内のすべてのノードと、を含む知識グラフのサブグラフを決定し、スキル名ごとに、完全クエリとのマッチングからの対応するマッチングスコア、対応する有用性インジケータ、スキル名のリストのスキル名について対応するノードとノードとの間の知識グラフ内の距離、又は知識グラフ内の対応するノードに関連付けられたアクセスパターンに基づいて、サブグラフのリストに表されたすべてのスキル名のセットをランク付けする、ようにプログラムされる。サーバはまた、スキル名のランク付けしたセットを検索結果として完全クエリに提供することを含む、生成し、送信するステップをリアルタイムで実施するようにプログラムされる。
【0062】
更に別の実施形態では、要求は、スキル名、肩書き、又は職務記述書を含む。知識グラフのスキル名及びサブグラフを識別する際に、サーバは、マッチング基準に基づいて要求にマッチングするメタデータを有する知識グラフ内のスキル名のリストを選択し、スキル名のリストのスキル名ごとに、スキル名のノードと、ノードから特定の距離内のすべてのノードと、を含む知識グラフのサブグラフを決定し、スキル名ごとに、要求とのマッチングからの対応するマッチングスコア、スキル名のリストのスキル名について対応するノードとノードとの間の知識グラフ内の距離、対応するスキルの評価、活用、市場性、若しくは訓練に関する情報、又は知識グラフ内の対応するノードに関連付けられたアクセスパターンに基づいて、サブグラフのリスト内のすべてのスキル名のセットをランク付けする、ようにプログラムされる。生成し、送信するステップを実施する際に、サーバはまた、要求に対する応答として、スキル名のランク付けしたセット、及び対応するスキルの評価、活用、市場性、又は訓練に関連する関連情報を提供するようにプログラムされる。
【0063】
6.ハードウェア実装形態
一実施形態によれば、本明細書に記載の技術は、1つ又は複数の専用コンピュータデバイスによって実施される。専用コンピュータデバイスは、本技術を実施するようにハードワイヤードされてもよく、あるいは本技術を実施するように永続的にプログラムされた1つ又は複数の特定用途向け集積回路(ASIC)又はフィールドプログラマブルゲートアレイ(FPGA)などのデジタル電子デバイスを含んでもよく、あるいはファームウェア、メモリ、他のストレージ、又はそられ組合せ内のプログラム命令に応じて本技術を実施するようにプログラムされた1つ又は複数の汎用ハードウェアプロセッサを含んでもよい。そのような専用コンピュータデバイスはまた、カスタムハードワイヤードロジック、ASIC、又はFPGAをカスタムプログラミングと組み合わせて、本技術を達成してもよい。専用コンピュータデバイスは、デスクトップコンピュータシステム、ポータブルコンピュータシステム、ハンドヘルドデバイス、ネットワーキングデバイス、あるいは本技術を実施するためにハードワイヤード及び/又はプログラムロジックを組み込んだ任意の他のデバイスであってもよい。
【0064】
例えば、図8は、本発明の一実施形態が実装され得るコンピュータシステム800を示すブロック図である。コンピュータシステム800は、情報を通信するためのバス802又は他の通信機構と、情報を処理するためにバス802に結合されたハードウェアプロセッサ804と、を含む。ハードウェアプロセッサ804は、例えば、汎用マイクロプロセッサであってもよい。
【0065】
コンピュータシステム800はまた、情報、及びプロセッサ804によって実行される命令を記憶するためにバス802に結合された、ランダムアクセスメモリ(RAM)又は他の動的記憶デバイスなどのメインメモリ806を含む。メインメモリ806はまた、プロセッサ804によって実行される命令の実行中に、一時変数又は他の中間情報を記憶するために使用されてもよい。そのような命令は、プロセッサ804にアクセス可能な非一時的記憶媒体に記憶されると、コンピュータシステム800を、命令で指定された動作を実行するようにカスタマイズされた専用マシンにする。
【0066】
コンピュータシステム800は、静的情報、及びプロセッサ804のための命令を記憶するためにバス802に結合された読み出し専用メモリ(ROM)808又は他の静的記憶デバイスを更に含む。磁気ディスク、光ディスク、又はソリッドステートドライブなどの記憶デバイス810が提供され、情報及び命令を記憶するためにバス802に結合される。
【0067】
コンピュータシステム800は、バス802を介して、コンピュータユーザに情報を表示するための陰極線管(CRT)などのディスプレイ812に結合され得る。英数字及び他のキーを含む入力デバイス814は、情報及びコマンド選択をプロセッサ804に通信するためにバス802に結合される。別の種類のユーザ入力デバイスは、プロセッサ804に方向情報及びコマンド選択を通信し、ディスプレイ812上のカーソル移動を制御するために、マウス、トラックボール、又はカーソル方向キーなどのカーソル制御816である。この入力デバイスは、デバイスが平面内の位置の指定を可能にする2つの軸、すなわち第1の軸(例えば、x)及び第2の軸(例えば、y)に2つの自由度を通常有する。
【0068】
コンピュータシステム800は、カスタマイズされたハードワイヤードロジック、1つ又は複数のASIC若しくはFPGA、ファームウェア、及び/又はコンピュータシステムと組み合わせてコンピュータシステム800を専用マシンにするかプログラムするプログラムロジックを使用して、本明細書に記載の技術を実装し得る。一実施形態によれば、本明細書の技術は、プロセッサ804がメインメモリ806に含まれる1つ又は複数の命令の1つ又は複数のシーケンスを実行することに応答して、コンピュータシステム800によって実施される。そのような命令は、記憶デバイス810などの別の記憶媒体からメインメモリ806に読み込まれてもよい。メインメモリ806に含まれる命令シーケンスの実行により、プロセッサ804は、本明細書に記載のプロセスステップを実施する。代替的な実施形態では、ハードワイヤード回路が、ソフトウェア命令の代わりに、又はソフトウェア命令と組み合わせて使用され得る。
【0069】
本明細書で使用される「記憶媒体」という用語は、機械を特定の方法で動作させるデータ及び/又は命令を記憶する任意の非一時的媒体を指す。そのような記憶媒体は、不揮発性媒体及び/又は揮発性媒体を含んでもよい。不揮発性媒体は、例えば、光ディスク、磁気ディスク、又は記憶デバイス810などのソリッドステートドライブを含む。揮発性媒体は、メインメモリ806などのダイナミックメモリを含む。一般的な形態の記憶媒体は、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープ若しくは任意の他の磁気データ記憶媒体、CD-ROM、任意の他の光学データ記憶媒体、穴のパターンを有する任意の物理媒体、RAM、PROM、及びEPROM、FLASH-EPROM、NVRAM、任意の他のメモリチップ若しくはカートリッジを含む。
【0070】
記憶媒体は、伝送媒体とは異なるが、伝送媒体と共に使用されてもよい。伝送媒体は、記憶媒体間の情報の転送に関与する。例えば、伝送媒体は、バス802を備えるワイヤを含む、同軸ケーブル、銅線、及び光ファイバを含む。伝送媒体はまた、電波及び赤外線データ通信中に生成されるものなどの音響波又は光波の形態をとり得る。
【0071】
媒体の様々な形態は、実行のために、プロセッサ804に1つ又は複数の命令の1つ又は複数のシーケンスを搬送することに関与し得る。例えば、命令は、リモートコンピュータの磁気ディスク又はソリッドステートドライブ上で最初に搬送されてもよい。リモートコンピュータは、命令をその動的メモリにロードし、モデムを使用して電話回線を介して命令を送信し得る。コンピュータシステム800に対してローカルなモデムは、電話回線上でデータを受信し、赤外線送信機を使用してデータを赤外線信号に変換し得る。赤外線検出器は、赤外線信号で搬送されたデータを受信し、適切な回路が、データをバス802上に配置し得る。バス802は、データをメインメモリ806に搬送し、そこからプロセッサ804が命令を取り出して実行する。メインメモリ806によって受信された命令は、任意選択的に、プロセッサ804による実行の前又は後のいずれかで、記憶デバイス810に記憶されてもよい。
【0072】
コンピュータシステム800はまた、バス802に結合された通信インターフェース818を含む。通信インターフェース818は、ローカルネットワーク822に接続されたネットワークリンク820に結合する双方向データ通信をもたらす。例えば、通信インターフェース818は、対応する種類の電話回線にデータ通信接続を実施する、統合サービスデジタルネットワーク(ISDN)カード、ケーブルモデム、衛星モデム、又はモデムであってもよい。別の例として、通信インターフェース818は、互換性のあるLANへのデータ通信接続を実施するローカルエリアネットワーク(LAN)カードであってもよい。無線リンクが、実装されてもよい。任意のそのような実装形態では、通信インターフェース818は、様々な種類の情報を表すデジタルデータストリームを搬送する電気信号、電磁信号、又は光信号を送受信する。
【0073】
ネットワークリンク820は、データ通信を1つ又は複数のネットワークを介して他のデータデバイスに提供する。例えば、ネットワークリンク820は、ローカルネットワーク822を介して、ホストコンピュータ824に、又はインターネットサービスプロバイダ(ISP)826によって操作されるデータ機器に、接続を提供してもよい。ISP826は、現在一般に「インターネット」828と呼ばれているワールドワイドパケットデータ通信ネットワークを介してデータ通信サービスを提供する。ローカルネットワーク822とインターネット828とは両方とも、デジタルデータストリームを搬送する電気、電磁又は光信号を使用する。様々なネットワークを介した信号、並びにコンピュータシステム800との間でデジタルデータを搬送する、ネットワークリンク820上の、及び通信インターフェース818を介した信号は、伝送媒体の例示的な形態である。
【0074】
コンピュータシステム800は、ネットワーク、ネットワークリンク820及び通信インターフェース818を介して、メッセージを送信し、プログラムコードを含むデータを受信し得る。インターネットの例では、サーバ830は、インターネット828、ISP826、ローカルネットワーク822、及び通信インターフェース818を介して、アプリケーションプログラムの要求されたコードを送信してもよい。
【0075】
受信したコードは、受信したときにプロセッサ804によって実行されてもよく、及び/又は後の実行のために記憶デバイス810又は他の不揮発性記憶装置に記憶されてもよい。
【0076】
前述の明細書では、本発明の実施形態は、実装形態ごとに異なり得る多数の特定の詳細を参照して記載されている。したがって、本明細書及び図面は、限定的な意味ではなく例示的な意味でみなされるべきである。本発明の範囲の唯一かつ排他的な指標、及び本出願人によって本発明の範囲であることが意図されているものは、本出願から発行される特許請求の範囲の文字通りの同等の範囲であり、そのような特許請求の範囲が発行する特定の形態であり、その後の修正を含む。
図1
図2
図3
図4
図5A
図5B
図6
図7
図8
【国際調査報告】