CN107958014B - 搜索引擎 - Google Patents
搜索引擎 Download PDFInfo
- Publication number
- CN107958014B CN107958014B CN201710908835.0A CN201710908835A CN107958014B CN 107958014 B CN107958014 B CN 107958014B CN 201710908835 A CN201710908835 A CN 201710908835A CN 107958014 B CN107958014 B CN 107958014B
- Authority
- CN
- China
- Prior art keywords
- career
- training data
- vector
- vocational
- classification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/105—Human resources
- G06Q10/1053—Employment or hiring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3334—Selection or weighting of terms from queries, including natural language queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/105—Human resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
Abstract
包括在存储设备上编码的用于执行工作机会搜索的计算机程序的方法、系统、和装置。在一个方面中,一种系统包括数据处理装置和其上存储有当由数据处理装置运行时使数据处理装置执行操作的指令的计算机可读存储设备。操作包括定义向量词汇、定义包括多个不同职业的职业分类、获得多个标记的训练数据项,其中每个标记的训练数据项至少与(i)职位、和(ii)职业相关联,为相应的标记的训练数据项中的每一个生成包括用于向量词汇中每个相应术语的特征权重的职业向量,并且基于用于生成职业向量的标记的训练数据项的职业,将每个相应职业向量与职业分类中的职业相关联。
Description
技术领域
本说明书涉及搜索引擎。
背景技术
搜索引擎通常可以被描述为运行搜索并检索存储的数据的任何程序。然而,基于目前的任务,搜索引擎可以以各种不同的方式被配置。例如,一些搜索引擎可以被配置为执行基于关键字的搜索和检索。这样的搜索引擎可以至少部分地基于搜索术语出现在特定资源中的次数或特定资源的元数据来识别相关搜索结果。可替换地或此外,一些搜索引擎可以将搜索结果识别为响应于查询,因为资源提供商响应于包括特定搜索术语的搜索查询向搜索引擎提供商支付一笔钱以返回提供商的资源。然而,搜索引擎可以响应于查询来识别搜索结果的上述方式仅仅是示例性的。
还可以将搜索引擎配置成以各种其他方式响应于查询来识别搜索结果。可以根据需要采用搜索引擎的定制配置来解决与搜索和检索有关的特定问题。自定义搜索引擎可以包括改变搜索引擎运行搜索、识别相关的搜索结果、排列所识别的搜索结果等的方式。
发明内容
在一些实施方式中,提供了通过提高响应于工作搜索查询而提供的搜索结果的质量来增强工作搜索的工作识别模型。搜索结果被改进,因为工作识别模型能够识别相关的工作岗位(job posting),否则由于基于关键词的搜索的固有限制,常规算法将不会注意到该相关的工作岗位。通过采用除传统的基于关键词的搜索之外的附加方法,工作识别模型可以识别包括与所接收到的工作搜索查询的关键字不匹配的职位的相关工作岗位。例如,响应寻求“专利专家”工作机会的工作查询,工作识别模型可以识别与“专利律师”、“知识产权律师”、“律师”或类似的有关的工作岗位。
根据一个实施方式,本说明书的主题可以以促进工作搜索的方法来体现。该方法可以包括以下动作:定义向量词汇表、定义包括多个不同职业(occupation)的职业分类、获得多个标记的训练数据项,其中每个标记的训练数据项至少与(i)职位(job title)以及(ii)职业相关联、为相应的标记的训练数据项中的每一个生成包括用于向量词汇表中的每个相应术语的特征权重职业向量、基于用于生成职业向量的标记的训练数据项的职业,将每个相应职业向量与职业分类中的职业相关联、接收包括与一个或多个潜在的工作机会的特性有关的字符串的搜索查询、基于所接收的查询生成第一向量、针对职业分类中的多个职业的每个相应职业确定指示查询向量是否在相应职业中被正确分类的置信度、选择与最高置信度相关联的特定职业、使用所选择的职业获得一个或多个工作岗位、以及响应于搜索查询提供在搜索结果的集合中所获得的工作岗位。
其他版本包括执行由在计算机存储设备上编码的指令所定义的方法的动作的对应系统、装置、和计算机程序。
在一个实施方式中,本说明书的主题可以体现在训练职业分类以促进工作搜索的系统中。该系统可以包括一个或多个数据处理装置、以及一个或多个计算机可读存储设备,其上存储有当由一个或多个数据处理装置运行时,使得一个或多个数据处理装置执行操作的指令。操作包括以下:定义向量词汇表、定义包括多个不同职业的职业分类、获得多个标记的训练数据项,其中每个标记的训练数据项至少与(i)职位以及(ii)职业相关联、为相应的标记的训练数据项中的每一个生成包括用于向量词汇表中的每个相应术语的特征权重的职业向量、以及基于用于生成职业向量的标记的训练数据项的职业,将每个相应职业向量与职业分类中的职业相关联。
其他版本包括执行由在计算机存储设备上编码的指令所定义的方法的动作的对应系统、装置、和计算机程序。
在一个实施方式中,本说明书的主题可以体现在其上存储有指令的计算机可读存储设备中,当由数据处理装置运行时,指令使得数据处理装置执行操作。操作可以包括以下:接收包括与一个或多个工作机会的特性有关的字符串的搜索查询、基于所接收的查询来生成包括用于预定的向量词汇表中的每个相应术语的特征权重的查询向量、针对职业分类中的多个职业的每个相应职业确定指示查询向量是否在相应职业中被正确分类的置信度、选择与最高置信度相关联的特定职业、使用所选择的职业获得一个或多个工作岗位、以及响应于搜索查询来提供在搜索结果的集合中所获得的工作岗位。
其他版本包括执行由在计算机存储设备上编码的指令所定义的方法的动作的对应方法、系统、和装置。
这些和其它版本可以可选地包括以下特征中的一个或多个。例如,在一些实施方式中,定义向量词汇表包括生成包括存在于存储在文本语料库中的至少一个训练数据项中的术语和不存在于存储在文本语料库中的至少一个训练数据项中的术语的向量词汇表。可替换地或此外,定义向量词汇表可以包括生成仅包括存在于存储在文本语料库中的至少一个训练数据项中的术语的向量词汇表。
在一些实施方式中,特征权重可以至少部分地基于表示术语频率的第一值,该第一值至少部分地基于相应的训练数据项的职位中的每个相应术语的出现次数所确定。可替换地或此外,特征权重至少部分地基于表示反向职业频率的第二值,该反向职业频率至少部分地基于职业分类中的职业的数量所确定,其中相应的训练数据项的职位中的每个相应的项存在于职业分类中。可替换地或此外,特征权重至少部分地基于表示职业导数的第三值,该职业导数至少部分地基于跨越职业分类中相应的职业中的每一个的相应的训练数据项的职位中的每个相应术语的密度。
在一些实施方式中,特征权重至少部分地基于(i)表示反向职业频率的第二值以及基于(ii)表示职业导数的第三值两者,反向职业频率至少部分地基于职业分类中的职业数量所确定,其中相应训练数据项的职位中的每个相应的项存在于职业分类中,职业导数至少部分地基于跨越所述职业分类中相应的职业中的每一个的相应的训练数据项的职位中的每个相应术语的密度。可替换地,特征权重可以基于(i)表示反向职业频率的第二值和(ii)表示职业导数的第三值的三分之一的和。
在一些实施方式中,预定的向量词汇表可以包括存在于存储在文本语料库中的至少一个训练数据项中的术语和不存在于存储在文本语料库中的至少一个训练数据项中的术语。
这些和其他版本各自可以可选地包括以下特征中的一个或多个。
附图说明
图1是使用工作识别模型促进工作搜索和检索的系统的示例的场景图。
图2是用于训练职业分类的系统的示例。
图3是使用工作识别模型运行工作搜索的系统的示例。
图4是用于训练职业分类的过程的示例的流程图。
图5是用于使用工作识别模型执行工作搜索的过程的示例的流程图。
在附图和下面的描述中阐述了这些以及其他实施方式的细节。其他特征和优点将从说明书和附图以及权利要求书中变得显而易见。
具体实施方式
图1是使用工作识别模型110促进工作搜索和检索的系统100的示例的场景图。
系统100包括工作识别模型110和显示用户界面160的至少一个用户设备。工作识别模型110可以被配置为经由诸如WAN、LAN、蜂窝网络、因特网或其组合的一个或多个网络从多个不同的计算机获得工作岗位数据。例如,工作识别模型110可以经由一个或多个网络从第一计算机获得(111)与高级程序员130的第一雇主、商业销售132、和执行官134相关联的工作岗位数据。类似地,例如,工作识别模型110可以经由一个或多个网络从第二计算机获得(112),对于“软件工程师”140、“推销员”142、和“首席执行官”144的工作岗位数据。此外,例如,工作识别模型110可以经由一个或多个网络从第三计算机获得(113),对于“软件忍者”150,“销售武士”152和“皇帝”154的工作岗位数据。工作岗位数据(也称为工作岗位)可以包括例如描述由雇主使其可用的工作机会的一个或多个术语。
通过工作识别模型110从多个不同的源所获得的每个相应的工作岗位130、132、134、140、142、144、150、152、154可以与一个或多个职业有关。职业可以包括包含描述相同专业的一个或多个职位的特定类别。所获得的111、112、113工作岗位中的两个或更多个可能与相同或基本类似的职业有关,同时使用不同的术语来描述两个或更多个特定工作岗位中的每一个的职位。用于描述工作岗位的特定职位的术语中的这种差异可能由于各种不同的原因而出现。首先,最重要的是,来自不同的雇主的不同的人起草了每个相应的工作岗位。结果,每个相应的人的风格可能不同。可替换地或此外,一些雇主可以基于雇主的公司的文化、雇主的营销策略等来创造独特的职位。例如,第一美发沙龙可以作为坚固的理发店进入市场,从而为“理发师”宣传工作岗位。可替换地,第二美发沙龙可以作为时髦的美容院进入市场,从而为“造型师”宣传工作岗位。然而,在两种情况下,工作岗位正在寻求一个人来执行剪裁和设计头发的“发型师”的职业。在限于基于关键词搜索的搜索系统中,使用术语“理发师”搜索工作机会、寻求针对“发型师”的工作机会的人可能不会收到对于“造型师”、“发型师”或者类似的可用工作职位,如果那些工作岗位不包括术语“理发师”。本公开的方面利用工作识别模型来寻求以解决该问题。
一旦工作识别模型110获得(111、112、113)工作岗位,工作识别模型110可以生成对应于所获得的每个相应的工作岗位130、132、134、140、142、144、150、152、154的职业向量130a、132a、134a、140a、142a、144a、150a、152a、154a。所生成的向量可以提供工作岗位中的术语的表示,其可用于促进工作岗位的搜索和检索,而不依赖仅将搜索查询中的关键字与职位中的术语相匹配。相应的向量可以具有特征权重,所述特征权重基于出现在工作岗位中的每个特定词的频率、出现在工作岗位的标题中的每个特定词的频率、职位中的每个特定单词存在于其中的职业分类中的职业数量、跨越职业分类中相应的职业中的每一个的职位中每个特定词的密度等。
工作职业模型110包括分类单元122和职业分类124。职业分类124是将来自现有工作岗位的已知职位与一个或多个特定职业相关联的分类法。在训练期间,工作识别模型110将为所获得的工作岗位生成的每个相应职业向量与职业分类124中的职业相关联。分类单元122可以接收(115)搜索查询164并生成查询向量164a。分类单元122可以访问(116)职业分类124,并且针对职业分类124中的每个特定职业,计算指示查询向量164a被适当地分类为职业分类124中的多个职业的每个特定职业的可能性的置信度。然后,分类单元122可以选择与最高置信度相关联的职业作为与查询向量164a有关的职业,并将所选择的职业提供给工作识别模型110。
举例来说,在阶段A,用户可以将包括术语“软件专家”的搜索查询164输入到用户界面160的搜索框162中。搜索查询可以由工作识别模型110经由诸如LAN、WAN、蜂窝网络、因特网等的一个或多个网络接收114。接下来,工作识别模型110可以向包括查询164的分类单元122提供输入(115)。分类单元122可以生成查询向量164a。考虑到所生成的并与诸如职业向量130a、132a、134a、140a、142a、144a、150a、150a、152a、154a的职业分类124中的每个特定职业相关联的一个或多个职业向量,分类单元122可分析查询向量164a。然后,分类单元122可以基于所计算的置信度来确定查询向量164a与特定职业相关联,并且选择特定职业。
工作识别模型110可以从分类单元122接收(117)特定的职业。可替换地或此外,来自分类单元122的输出可以包括指示查询向量164a与职业分类124所输出的职业有关的可能性的置信度。来自职业分类124的职业输出可以用于检索相关的工作岗位。具体地,给定特定职业的输出,工作识别模型110可以使用基于职业类型来存储对工作岗位的引用的工作岗位索引来检索一个或多个工作岗位。
在阶段B,使用工作岗位索引来识别的对工作岗位的引用经由诸如LAN、WAN、蜂窝网络、因特网等的一个或多个网络被返回(118)到用户设备。所获得的对工作岗位的引用可以显示在图形用户界面160上。所获得的对工作岗位的引用可以被呈现为搜索结果,并且包括对对于“高级程序员”、“软件工程师”、“软件忍者”等的工作岗位的引用。包括在搜索结果中的工作岗位被确定为至少部分地基于查询向量164a和用于训练职业分类的一个或多个职业向量130a、132a、134a、140a、142a、144a、150a、152a、154a的向量分析来响应于搜索查询“软件专家”,而不仅是单独基于关键词搜索。
图2是用于训练职业分类260的系统200的示例。系统200包括文本语料库220、文本标准化单元240、向量生成单元250、和职业分类260。文本语料库220、文本标准化单元240、向量生成单元250、和职业分类260中的每一个可以由可以彼此通信的一个或多个计算机托管,如果必要的话,使用诸如LAN、WAN、蜂窝网络、因特网等的一个或多个网络。术语“单元”将广泛地用于指代可以执行一个或多个特定功能的基于软件的系统或子系统。通常,一个单元将被实现为一个或多个软件模块或组件,安装在一个或多个位置中的一个或多个计算机上。然而,在其他情况下,可以在同一台计算机或多台计算机上安装多个单元。
系统200包括托管文本语料库220的一个或多个计算机,其被配置为接收212一个或多个训练数据项210a、210b、210c、210d、210e、210f、210g、210h、210i、210j、210k、210l。训练数据项210a、210b、210c、210d、210e、210f、210g、210h、210i、210j、210k、210l可以包括至少与职位和职业类型相关联的工作岗位或其一部分。在一些实施方式中,职业类型可以包括职业代码。例如,训练数据项210f包括与职业“专利代理人”相对应的职位“专利极客”和职业代码“789”。类似地,例如,训练数据项210d包括与职业“软件工程师”相对应的“软件忍者”的职位和职业代码“456”。与特定训练数据项相关联的职业类型可以例如由已经考虑到职业分类而审查了训练数据项的人类用户来分配。
可以访问训练数据项的集合,并可以使用训练数据管理工具对其进行管理。训练数据管理工具可以促进收集、标记、和编辑功能。用户可以使用训练数据管理工具来访问存储在文本语料库220中的训练数据项,并且然后标记具有特定职业的训练数据项。举例来说,用户可以访问包括“专利专家”的职位的训练数据项210c,检查与训练数据项相关联的工作岗位,并且确定与训练数据项210c相关联的工作岗位用于职业“专利律师”。然后,用户可以使用训练数据管理工具,利用与职业“专利律师”相对应的职业代码“123”来标记训练数据项210c。训练数据管理工具还可以以容易促进找到对于相同标题的冲突的职业代码分配的方式来组织文本语料库中的训练数据项。虽然训练数据管理工具提供访问和标记训练数据项所必需的功能,但不是所有用于训练职业分类260的训练数据项都需要使用训练数据管理工具来手动标记。例如,在一些实施方式中,训练数据项的全部或一部分可以从已经用必要的训练标签(诸如职业代码)标记了每个训练数据项的第三方系统获得。
训练数据项可以包括其他数据项,而不是工作岗位。例如,训练数据项可以包括来自一个或多个简历的工作描述。可替换地或此外,训练数据项可以包括工作搜索查询或其一部分。其他类型的训练数据项也可以落在本公开的范围内。
文本语料库220可以被配置为接收(212)并存储诸如包括“专利极客”的职位的训练数据项210f的训练数据项。此外,假定为了图2的示例的目的,训练数据项210f也与“专利代理人”的职业相关联。文本语料库220可以包括能够接收和存储诸如训练数据项210a、210b、210c、210d、210e、210f、210g、210h、210i、210j、210k、210l的训练数据项的任何数据库。在一些实施方式中,文本语料库220可以接收和存储数千个训练数据项、数万个训练数据项、数百万个训练数据项或更多。
文本标准化单元220被配置为获得(214)存储在文本语料库中的训练数据项,并且将与由文本语料库220所存储的每个相应的训练数据项210a、210b、210c、210d、210e、210f、210g、210h、210i、210j、210k、210l相关联的职位进行标准化。在一些实施方式中,由文本标准化单元220所执行的标准化过程可以单独在与所接收的工作岗位相关联的职位上执行。可替换地或此外,由文本标准化单元220所执行的标准化过程可以在工作岗位的其他部分上执行。标准化工作岗位可以包括,例如,移除存在于工作岗位的一个或多个部分中的噪音。在一些实施方式中,文本标准化单元220可以对诸如职位的工作岗位的特定部分进行标准化。标准化单元220可以将接收并存储在文本语料库中的每个职位进行标准化。例如,标准化单元220可以将列举“专利极客”的训练数据项210f的职位进行标准化。
文本标准化单元220可以将所获得的职位解析为包括例如标题、资历、雇佣类型、工资、位置、和公司的结构化段。标准化可以包括从标题字符串中移除被清除的噪声字符。从标题字符串中移除噪音字符可以包括移除职位中存在的任何括号。例如,如果整个标题包含在括号中,则括号被移除。然后,对于结果标题,标准化单元可以识别由括号括起来的最长子串,并移除子串。标准化单元220可以继续该括号移除过程,直到没有找到闭合的括号。可替换地或此外,标题中每个记号的尾点可以被修剪。在一些实施方式中,标准化单元220可以用空格替换多个连续的点。例如,使用标准化操作移除来自从诸如“exec.cust..service”的工作岗位中所提取的职位的每个尾随点可能导致“exec custservice”的标准化职位。可替换地,在一些实施方式中,可以仅移除在诸如空格的记号边界处发生的尾随点。例如,使用标准化操作来移除在诸如来自“exec./cust.service”的职位的空格的记号边界处发生的尾随点可能导致“exec./cust service”的标准化职位。
可替换地或此外,文本标准化单元220可以移除/替换标点符号、数字、和非ASCII字符,如果它们不在白名单的短语中。例如,使用从诸如“3个司机,待遇好”的职位移除数字的标准化操作可能导致“司机待遇好”的标准化的职位。可替换地或此外,标准化单元220可以访问被禁止的术语的黑名单,并从工作岗位中移除黑名单术语。可替换地或此外,标准化单元220可以移除重复的标记。
标准化单元220还可以确定职位是否包括诸如雇佣类型、工资、班次、工作日程等的附加信息。如果职位中存在诸如雇佣类型、工资、工作日程等的附加信息,则标准化单元220可以注释和清除附加信息。清除附加信息可能包括移除附加信息。
关于工资信息,标准化单元220可以确定是否任何短语由所需数字、可选点、可选范围符号、支付频率模式等、以及所需的货币符号(例如“$”)所组成。如果确定短语包括诸如所需数字、可选点、可选范围符号、支付频率模式等以及所需的货币符号(例如,“$”)的工资信息,则移除工资信息。在一些实施方式中,检测一些雇佣类型短语可能高度依赖于具有诸如
“34$/hr”、“8-am/10-pm”等标点符号和数字的锚,“或需要在清理那些字符之前被处理的类似的锚,否则它们与诸如“hr”的有效职位无法区分。举例来说,假设“$10.00每小时f/t出纳员”的职位。使用标准化操作从“$10.00每小时f/t出纳员”职位中移除工资信息可能导致“f/t出纳员”的标准化的职位。
关于班次,标准化单元220可以确定是否任何短语由数字、可选范围符号等、以及班次模式所组成。如果确定短语包括诸如数字、可选范围符号等、和班次模式的轮班信息,则班次模式被移除。
关于工作日程,标准化单元220可以确定是否任何短语由数字、可选范围等以及“pm”、“am”、“th”、“rd”、“st”、“nd”等中的至少一个所组成。如果确定短语包括诸如数字、可选范围等以及“pm”、“am”、“th”、“rd”、“st”、“nd”等中的至少一个的工作日程信息,则移除工作日程信息。举例来说,使用标准化操作从包括“4-10小时轮班劳动”的职位中移除工作日程信息可能导致“劳动”的标准化的职位。类似地,通过另一示例,使用标准化操作来从“4-8pm劳动”、“4am-8pm劳动”、“8pm-4am劳动”的相应的职位中移除工作日程信息可能导致对于每个相应的职位,“劳动”的相同的标准化的职位。
标准化单元220还可以确定职位是否包括位置信息或公司名称。如果标准化单元220确定职位包括位置信息或公司名称,则可以移除位置信息和公司名称。工作岗位的位置可以以其他方式保持。例如,知识图可用于注释可能的邮政编码、城市、县、国家、地区和公司。可以采用最确信的注释,并将相应的实体从工作岗位(诸如职位)的部分中移除。类似地,公司名称也可以从职位中移除。例如,使用标准化操作从诸如“商店经理dressbarn”的职位中移除公司信息可能导致“商店经理”的标准化的职位。
标准化单元220可以执行其他标准化操作,其包括,例如,确定是否保留或移除与资历有关的职位中的术语。在一些实施方式中,例如,标准化单元220可以确定在诸如职位的工作列表的一部分中保留资历术语。在其他实施方式中,例如,标准化单元220可以确定从诸如职位的工作列表的一部分中移除资历术语。当标准化单元220被配置为从诸如职位的工作列表的一部分中移除资历术语时,标准化单元可以将资历词视为黑名单术语。资格术语可能包括,例如,“最近毕业生”、“新毕业生”、“入门级”、“中级”、“高级”、“初级”、“资深”、“助手”、“实习生”、“1级”、“2级”、“3级”等。
在一些实施方式中,两个或多个标准化操作可以应用于单个职位。例如,对从诸如“(软件工程师,(山景,(主校区))临时工(小时))”的工作岗位所提取的职位应用关于括号、位置、和工作进程的标准化操作可能导致“软件工程师,临时工”的标准化的职位。
上述示例描述了在训练职业分类的背景下的标准化过程。然而,文本标准化单元240采用的相同的标准化过程也可以在本公开的其他方面中被利用。例如,标准化过程也可以被应用于由工作识别模型所接收的工作搜索查询的一个或多个术语。可替换地或此外,例如,标准化过程也可以被应用于在简历中找到的工作描述。可替换地或此外,例如,标准化过程可以应用于被识别和存储的新识别的工作岗位。也就是说,可以使用文本标准化单元240对与任何源相关联的任何职位进行标准化。
系统200还包括托管向量生成单元250的一个或多个计算机。向量生成单元250被配置为接收(216)与诸如存储在文本语料库中的训练数据项210f的训练数据项相关联的标准化的职位。向量生成单元250被配置为生成职业向量252,该职业向量252包括可以使用职业分类260来用于对职位216分类的所接收(216)的职位的数值表示。由职业向量252所创建的所接收(216)的职位的数值表示可以提供关于职位与向量词汇表230之间的一个或多个特定关系的指示。
基于包括在存储在文本语料库220中的训练数据项210a、210b、210c、210d、210e、210f、210g、210h、210i、210j、210k、210l的文本中的术语、不包括在存储在文本语料库220中的训练数据项210a、210b、210c、210d、210e、210f、210g、210h、210i、210j、210k、210l的文本中的术语或其组合来生成向量词汇表230。参考图2的示例,向量词汇表230包括被包括在诸如“土豚”、“代理人”、“律师”、“专家”、“极客”、“知识”、“大师”、“忍者”、“专利”、“专业”、“产权”、“软件”、“专家”、“技术”、“训练者”和“禅”的训练数据项210a、210b、210c、210d、210e、210f、210g、210h、210i、210j、210k、210l的文本中的术语。术语“极客”232和“专利”234可以从与训练数据项210f相关联的职位得到。向量词汇表230还可以包括在存储在文本语料库220中的其他训练数据项中找到的其他术语。上述术语可以包括使用PorterStemmer算法等阻止的单字母组、双字母组、skip-1双字母组。向量词汇表V的大小可以称为N。向量词汇表230中的每个单词Wi可以具有从0到N,(Wi:i),i[0,1,...,N-1]的唯一索引。向量词汇表可以在离线训练过程期间动态构建,然后在离线训练阶段完成之后变得固定,并被称为预定向量词汇表。
向量生成单元250可以生成用于存储在文本语料库220中的每个训练数据项的每个职位的职业向量。职业向量可以包括集体表示特定训练数据项的多个数字特征值。多个数字值的每个数字值可以被称为特征权重,该特征权重指示特定训练数据项的特定职位的特定特征与向量词汇表230的相应术语之间的特定关系,该特征权重与该向量词汇表230相关联。例如,向量生成单元250可以生成与向量词汇表术语“专利”相关联的特征权重253和与向量词汇表术语“极客”相关联的特征权重254。这样的特征权重可以被生成为指示职位包括向量词汇表术语“专利”和“极客”。职位的一个或多个特征可以影响可能导致一个或多个特征权重的值中的差异。例如,职位的第一个单词可以被确定为比随后的单词更重要,可以将随后的单词确定为比初始单词更重要,等等。可替换地或此外,职位中特定单词的普及可能影响对于特定单词的特征权重计算。其他因素也可能影响与如本文所述的特定向量词汇表术语相关联的特征权重值。
可替换地或此外,向量生成单元250还可以生成与向量词汇表术语“代理”236相关联的特征权重256。可以基于与包括术语“代理”的训练数据项210f相关联的工作岗位的主体的确定来生成这样的特征权重256。与不涉及训练数据项210f的任何方面的向量词汇表230术语相关联的所生成的职业向量252的部分被分配为零值。可以执行各种类型的计算,以便生成包括但不限于术语频率、反向职业频率、职业导数等的特征权重。
职业向量可以包括基于术语频率的特征权重。术语频率基于训练数据项的职位中每个相应向量词汇表230术语的出现的次数。术语频率(TF)向量可以被初始化为具有长度N的零向量,TF=(tf0,tf1,...,tfN-1)。枚举了特定训练数据项的职位所包含的向量词汇表230术语、或特征。如果向量生成单元250确定训练数据项职位中的术语存在于向量词汇表Wi中,则为训练数据项所生成的向量中的对应的第i个元素被设置为该术语在职位中出现的频率。例如,tfi=频率(Wi)。
可替换地或此外,职业向量可以包括基于反向职业频率的特征权重。反向职业频率,也称为反向-DetOc-频率(Inverse-DetOc-Frequency,IDF),是基于职位术语存在于其中的职业分类中的职业的数量。反向职业频率或IDF可以会反映一个词对一个特定的职业是多么具体。使用基于反向职业频率的特征权重的职业向量,构造为长度N,IDF=(idf0,idf1,...,idfN-1)的向量。向量词汇表中的对于第i个词Wi的职业频率dfi被定义为向量词汇表术语出现在的职业分类260中的职业的数量。如果特定职业的任何样本可以导出单词,则该单词出现在特定的职业中。反向职业频率(IDF)被定义为反向职业频率(DF),并且采用自然对数idfi=log(D/dfi),其中D是职业分类中的职业的数量。
可替换的或此外,职业向量可以包括基于职业导数的特征权重。职业导数,也称为DetOc-导数(DetOc-Derivative,DD)是基于跨越职业分类260中相应的职业中的每一个的相应术语的密度。职业导数(DD)反映了词Wi能够区分职业的强度。使用基于职业导数(DD)的特征权重的职业向量,构造为长度N,DD=(dd0,dd1,...,ddN-1)的向量的。可以基于跨越所有职业DSi=(dsi1,dsi2,...,dsiD)的单词Wi的密度来计算ddi。dsij可以是特定职业中的范例的数量,包含单词Wi除以特定职业中的样本的总数。DSi然后可能会被降序重排列。D-1相邻差异可以计算为dsij+1-dsij。采用最大的区别为ddi。职业导数(DD)通过DD=log(DD/min(DD))被标准化。
可替换地或此外,职业向量可以包括基于两种或更多种类型的特征权重的组合的特征权重。在一个实施方式中,例如,可以通过将上述反向职业频率(或IDF)与职业导数(或DD)组合来确定特征权重。例如,可以通过计算(i)职业频率(或IDF)和(ii)职业导数(或DD)的总和来确定特征权重。此关系可以被示出为FW=IDF+DD。可替换地或此外,例如,可以通过计算(i)职业频率(或IDF)和(ii)三倍职业导数(或DD)的总和来确定特征权重。此关系可以被示出为FW=IDF+DD3。可替换地或此外,例如,可以通过计算(i)职业频率(或IDF)和(ii)三分之一的职业导数(或DD)的总和来确定特征权重。这种关系可以被示出为FW=IDF+DD/3。单独使用或组合使用的反向职业频率和职业导数有助于解决与分类职位有关的极短文档分类问题,其中这些职位或工作查询的分类可能仅依赖于于小集合的单词。
由向量生成单元250所生成的每个职业向量252可以用于训练218职业分类260。职业分类260包括每个对应于特定职业264的职业代码262的预定义的列表。训练阶段包括将诸如职业向量252的职业向量与职业分类260中的特定职业相关联。将职业向量与职业分类260中的特定职业相关联可以包括将职业向量与职业代码262、职业264、或两者相关联。可替换地或此外,将职业向量与职业分类260中的特定职业相关联可以包括基于与从其导出职业向量的训练数据项相关联的对应的职业代码标签将职业向量分配给特定职业。举例来说,训练数据项210b、210c、210e、210h可以每个已经被具有职业代码“123”的“专利律师”的职业所标记。职业分类可以使用与每个相应的训练数据项210b、210c、210e、210h相关联的职业代码“123”来对与职业分类260中的那些相应的训练数据项相对应的职业向量分类。在该示例中,职业代码“123”用于对职业“专利律师”中的职业向量270b、270c、270e、270h分类。以类似的方式,分别基于训练数据项210d、210g所生成的职业向量270d、270g被分类在职业“软件工程师”中,分别基于训练数据项210f、210i、210j、210k、210l所生成的职业向量270f、270i、270j、270k、270l被分类在职业“专利代理人”中,并且基于训练数据项210a所生成的职业向量270a被分类在职业“动物园服务员”之下。当基于存储在文本语料库中的相应的训练数据项的集合所生成的职业向量中的每个使用职业分类260被分类时,职业分类260被训练。
图3是使用工作识别模型310运行工作搜索的系统300的示例。系统300包括显示用户界面301的用户设备和托管工作识别模型310的服务器。工作识别模型310包括文本标准化单元330、向量生成单元340、相似性引擎360、训练后的职业分类370、和工作岗位索引380。
寻找就业机会的用户可以具有工程学位,并参加了在美国专利商标局的实习。实习之后,用户可能已经研究了专利法,意识到用户真正对专利感兴趣,但没有去法学院所必需的资金,或想要接受学生贷款。在这种背景下,用户可以将他自己(或她自己)视为仅仅是“专利极客”。在阶段A,寻求就业机会的用户可以使用用户设备来访问搜索界面301,以确定什么工作对于“专利极客”是可用的。特别地,用户可以在搜索框303中输入搜索查询302“专利极客”。搜索查询302术语“专利极客”可以适当地被表征为用户的特性、一个或更多工作机会的特性,或两者。用户设备可以经由诸如LAN、WAN、蜂窝网络、因特网等的一个或多个网络将搜索查询302发送到工作识别模型310。用户设备可以包括智能电话、平板计算机、膝上型计算机、台式计算机等。
工作识别模型310接收搜索查询302“专利极客”,然后使用职业分类370对搜索查询“专利极客”继续分类。对搜索查询分类开始于将搜索查询“专利极客”312输入到文本标准化单元330中,该文本标准化单元330被配置为将搜索查询“专利极客”标准化。标准化搜索查询“专利极客”可以包括清除和注释搜索查询。由分类单元330所执行的标准化操作与标准化单元240在职位上所执行的上述标准化操作相同。
搜索查询的分类包括使用向量生成单元340来执行特征工程,以便基于搜索查询302来生成查询向量350。所生成的查询向量350表示使用多个数字值的搜索查询“专利极客”。在一些实施方式中,向量生成单元340可以从文本标准化单元330接收313标准化的搜索查询。可替换地,在其他实施方式中,向量生成单元340可以接收尚未经历标准化过程的搜索查询。由向量生成单元340所执行的向量生成操作与由向量生成单元250在训练数据项职位上执行以生成职业向量的向量生成操作相同。
在生成查询向量350之后,将查询向量350输入315到相似性引擎360中。然后,相似性引擎360可以访问316职业分类370以确定职业分类370内的查询向量350的正确分类。确定职业分类内的查询向量350的正确分类可以包括,例如,相似性引擎360针对职业分类370中的每个特定职业来计算指示查询向量350被适当地分类为特定职业的可能性的置信度。在一些实施方式中,指示查询向量350被适当地分类为特定职业的可能性的置信度可以以概率的形式来表示。可以通过分析在训练期间存在于查询向量350和与职业分类370中的每个职业相关联的一个或多个职业向量之间的距离来确定相应的置信度。在查询向量350和一个或多个职业向量的集合之间存在的距离越小,置信度将越高。
在一些实施方式中,相似性引擎360可以确定将查询向量350分类为与最高置信度相关联的职业。可替换地或此外,相似性引擎360可以确定将查询向量350分类为与超过预定的阈值的置信度相关联的分类中的每一个。
参考图3,相似性引擎360可以在评估每个计算出的置信度之后确定查询向量350被适当地分类为“专利代理人”职业。相似性引擎360可以选择“专利代理人”职业,因为相似性引擎360确定指示将查询向量350分类为“专利代理人”职业的置信度高于对于将查询向量350分类为在职业分类370中的任何其他职业的置信度。
相似性引擎360可以将所选择的职业“专利代理人”输入317到工作岗位索引380中。工作岗位索引380可以使用在职业分类370中所描绘的职业,基于职业类型来索引已知的工作岗位。搜索工作岗位索引380可以导致识别一个或多个工作岗位390、391、392、393、394。可以生成319引用工作岗位390、391、392、393、394的搜索结果的集合。在阶段B,然后可以经由诸如LAN、WAN、蜂窝网络、因特网等的一个或多个网络将生成的搜索结果提供320给用户设备。可以经由用户设备上的用户界面301来显示搜索结果。搜索结果可以包括针对与用户的搜索查询“专利极客”相同的职业的各种工作岗位,但是包括包括使用不同于用户的查询的单词的一个或多个职位的工作岗位。例如,搜索结果可能包括具有“专利极客”、“专利专业人员”、“技术专家”、“专利禅师”、和“专利代理人”的职位的工作岗位。尽管这些工作中的每一个都使用不同的单词描述职位,但这些工作中的每一个都是针对相同的职业-即“专利代理人”。
在一些实施方式中,其他搜索结果也可以被包括在所生成的搜索结果集合中。例如,其他搜索结果可以包括使用基于关键字的搜索所获得的搜索结果。在这种情况下,可以通过使用基于关键字的搜索方法所识别的搜索结果来提升由工作识别模型所识别的搜索结果。可以通过增加用于要被提升的搜索结果的排名得分来获得搜索结果的提升。
图4是用于训练职业分类的过程400的示例的流程图。通常,过程400包括定义职业向量词汇表410、定义职业分类420、获得标记的训练数据430、使用标记的训练数据来生成职业向量440的初始集合、并且将每个相应的职业向量与职业分类中的职业相关联。
更详细地,过程400可以通过定义职业向量词汇表在阶段410处开始。可以基于存储在文本语料库中的训练数据项的文本来定义职业向量词汇表。可替换地或此外,可以基于包括在不是存储在文本语料库中的训练数据项的数据项中的文本来定义职业向量词汇表。例如,在一个实施方式中,职业向量词汇表可以基于在一个或多个词典中定义的单词集合。在一些实施方式中,职业向量词汇可以包括出现在训练数据项、一个或多个词典、或其组合的文本中的每个单词。向量词汇表术语可以包括使用Porter Stemmer算法阻止的单字母组、双字母组、skip-1双字母组,或其组合。职业向量词汇表可以用作用于职业向量和查询向量两者的向量词汇表。
该过程可以通过定义职业分类在阶段420继续。可替换地,职业分类可以在定义职业向量词汇表之前预先定义,并且独立于过程400。例如,在一些实施方式中,可以从第三方源获得预定义的职业分类。职业分类包括每个对应于特定职业的职业代码的列表。职业代码列表可以由审查和分析工作岗位、职位等的专家用户的组来手动生成。可替换地或此外,可以已经由对一批工作列表、职位等执行文本分析的一个或多个计算机自动生成职业代码的列表。
该过程可以通过获得标记的训练数据项在阶段430继续。获得标记的训练项可以包括访问存储每个对应于特定工作岗位的标记的训练数据项的文本语料库。每个标记的训练数据项可以包括(i)职称,和(ii)和职业代码。可以使用训练数据管理工具将职业代码手动分配给标签训练数据项。职业代码可以对应于由职业分类所组织的多个职业的特定职业。标记的训练数据项可以从由多个不同雇主所提供的工作岗位获得,并且由多个不同的工作机会所组成。可替换地或此外,标记的训练项也可以由来自简历的工作描述、工作搜索查询等所组成。与每个标记的训练数据项相关联的职业代码提供可用于训练职业分类的数据。在一些实施方式中,获得标记的训练数据项可以包括获得先前利用来自一个或多个第三方源的特定职业代码所标记的标记的训练数据项的集合。
该过程可以在阶段440通过使用所获得的标记的训练数据项继续,以生成职业向量的初始集合。向量生成单元可以接收所获得的标记的训练数据项,并且对于每个标记的训练数据项生成职业向量。每个职业向量是所获得的标记的训练数据项的数字表示。每个职业向量可以包括对于职业向量词汇表中的每个术语的特征值。生成职业向量包括计算对应于职业向量词汇表中的每个术语的特征值。每个特征值可以包括指示特定训练数据项和职业向量词汇表中的特定术语之间的特定关系的特征权重。生成职业向量可以包括计算一个或多个不同类型的特征权重。例如,一个或多个不同类型的特征权重可以包括基于,例如,术语频率、反向职业频率、职业导数等的特征权重。所生成的职业向量可以稍后被映射到数字特征空间,以允许查询向量的分类、新识别的职业向量的分类等。
该过程可以在阶段450通过将每个相应的职业向量与职业分类中的职业相关联来继续。将职业向量与职业分类中的职业相关联可以包括,例如,将职业向量分配给职业分类中的特定职业。将职业向量分配给职业分类中的特定职业可以基于与从其导出职业向量的训练数据项相关联的职业代码。
图5是使用工作识别模型执行工作搜索的过程500的示例的流程图。通常,过程500包括接收请求工作岗位510的搜索查询、基于接收的查询520生成查询向量、使用查询向量530识别一个或多个职业、获得与所识别的职业540相关联的工作岗位、以及提供响应于搜索查询550的搜索结果的集合中的获得的工作岗位。
更详细地,过程500在阶段510开始,其中工作识别模型从用户设备接收请求工作岗位的搜索查询。请求工作岗位的搜索查询可以包括,例如,与工作机会有关的一个或多个字符的字符串。例如,一个或多个字符的字符串可以包括由用户设备的用户所寻求的工作机会的职位、由用户设备的用户所寻求的一个或多个工作机会的特性等。可替换地或此外,一个或多个字符的字符串可以指示提交查询的用户的特定特征。例如,用户可以提交具有一个或多个诸如“专利极客”的字符的字符串的搜索查询。尽管描述用户的属性,当分类为职业分类中的特定职业时,字符串“专利极客”可能有助于识别可能对应于用户的属性的一个或多个工作机会。
过程500可以在阶段520继续,其中工作识别模型基于所接收的搜索查询来生成查询向量。可以使用特征工程技术来生成查询向量,以生成表示搜索查询的多个数字值。查询向量可以包括用于预定义的向量词汇表中的每个术语的特征值。在一些实施方式中,预定义的向量词汇表可以包括在训练职业分类期间所生成的职业向量词汇表。生成查询向量包括计算对应于向量词汇表中的每个术语的特征值。每个特征值可以包括指示所接收的查询和向量词汇表中的特定术语之间的特定关系的特征权重。生成查询向量可以包括计算一个或多个不同类型的特征权重。例如,一个或多个不同类型的特征权重可以包括基于例如术语频率、反向职业频率、职业导数等的特征权重。生成的查询向量可以稍后被映射到数字特征空间,以允许在已经与职业分类中的各种职业相关联的多个职业向量之中对查询向量分类。
过程500可以在阶段530继续,其中工作识别模型使用生成的查询向量来识别一个或多个职业。例如,工作识别模型可以使用相似性引擎来为职业分类中的每个特定职业计算指示查询向量被适当地分类到特定职业中的可能性的置信度。置信度可以依据查询向量适当地分类到特定职业的概率来表示。在职业分类的训练期间,至少部分地基于通过将查询向量投影到包括所分类的职业向量中的每一个的数字特征空间来进行相似性确定。相似性确定可以包括确定查询向量与一个或多个职业向量之间的距离。在查询向量350和一个或多个职业向量的集合之间存在的距离越小,置信度将越高。
一旦已经针对指示查询向量是否适当地属于相应职业的职业中的每一个计算了置信度,则相似性引擎可以评估所计算的置信度。在一些实施方式中,相似性引擎可以确定查询向量属于与最高置信度相关联的职业。可替换地或此外,相似性引擎可以确定查询向量属于每个与超过预定的阈值的置信度相关联的多个不同的职业。然后,相似性引擎可以返回查询向量所属的(多个)职业,以用于检索与接收到的工作搜索查询相关的工作岗位。
该过程可以在阶段540继续,其中工作识别模型获得与由相似性引擎所识别并返回的(多个)职业相关联的工作岗位。工作识别模型可以使用从相似性引擎接收的(多个)职业来基于职业类型搜索索引了工作岗位的工作岗位索引。响应于搜索,工作岗位索引可以返回与从相似性引擎返回的职业有关的一个或多个工作岗位的引用。可以基于从工作岗位索引返回的工作岗位的引用来生成搜索结果的集合。并且,可以响应于该查询,向用户设备提供550包括对所获得的工作岗位中的每一个的引用的所生成的搜索结果集合。
主题的实施例、本说明书中描述的功能操作和过程可以在包括本说明书中公开的结构及其结构等同物的数字电子电路、有形体现的计算机软件或固件、计算机硬件、计算机软件、或它们的一个或多个的组合中实现。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即,在有形非易失性程序载体上编码的计算机程序指令的一个或多个模块,用于由数据处理装置运行的操作或控制数据处理装置的操作。可替换地或此外,程序指令可以在人工生成的传播信号上被编码,例如,机器生成的电、光、或电磁信号,其被生成以编码用于传输到合适的接收机装置的信息以供数据处理装置运行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。
术语“数据处理装置”包括用于处理数据的各种装置、设备、和机器,举例来说,包括可编程处理器、计算机、或多个处理器或计算机。该装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该设备还可以包括为所讨论的计算机程序创建运行环境的代码,例如构成处理器固件的代码、协议栈、数据库管理系统、操作系统、或它们的一个或更多的组合。
可以以任何形式的编程语言(包括编译或解释性语言、或声明性或程序性语言)来编写计算机程序(其也可以被称为或描述为程序、软件、软件应用、模块、软件模块、脚本、或代码),并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程、或适用于在计算环境中使用的其他单元。计算机程序可以但不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、专用于所讨论的程序的单个文件中、或者多个协调文件(例如,存储一个或多个模块、子程序、或代码的部分的文件)中。可以将计算机程序部署为在一个计算机上运行,或者在位于一个站点上或者分布在多个站点上并由通信网络互连的多个计算机上运行。
本说明书中描述的过程和逻辑流程可以由运行一个或多个计算机程序的一个或多个可编程计算机执行,以通过对输入数据进行操作并产生输出来执行功能。处理和逻辑流程也可以由专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)执行,并且装置也可以被实现为专用逻辑电路,例如FPGA或ASIC。
举例来说,适用于计算机程序运行的计算机包括可以基于通用或专用微处理器或两者,或任何其它类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本要素是用于执行或运行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括,或可操作地耦合以,从用于存储数据的一个或多个大容量存储设备(例如磁、磁光盘、或光盘)接收数据或向其传递数据,或两者都有。然而,计算机不需要具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(personal digital assistant,PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(Global Positioning System,GPS)接收器、或便携式存储设备(例如,通用串行总线(universal serial bus,USB)闪存驱动器),仅举几例。
适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,举例来说,包括半导体存储器设备,例如EPROM、EEPROM和闪速存储器设备;磁盘,例如内部硬盘、或可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入其中。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有显示设备(例如CRT(阴极射线管)或LCD(液晶显示器)监视器)的计算机上实现,用于向用户和键盘和指示设备,例如鼠标或轨迹球,用户可以通过该设备向计算机提供输入。其他类型的设备也可以用于来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈、或触觉反馈;并且可以以任何形式(包括声音、语音、或触觉输入)接收来自用户的输入。此外,计算机可以通过向由用户使用的设备传送文档并从其接收文档来与用户进行交互,例如,通过响应于从网络浏览器接收到的请求,将网页发送到用户的客户端设备上的网络浏览器。
本说明书中描述的主题的实施例可以在包括后端组件(例如,作为数据服务器)、或包括中间件组件(例如,应用服务器)、或包括前端组件(例如,具有图形用户界面或Web浏览器的客户端计算机,用户可以通过其与本说明书中描述的主题的实施方式交互)、或一个或多个这样的后端、中间件、或前端组件的任何组合的计算系统中实现。系统的组件可以通过数字数据通信(例如通信网络)的任何形式或介质互联。通信网络的示例包括局域网(local area network,“LAN”)和广域网(wide area network,“WAN”),例如因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且典型地通过通信网络交互。客户端和服务器之间的关系凭借在相应的计算机上运行并具有到彼此之间的客户端-服务器关系的计算机程序而发生。
虽然本说明书包含许多具体的实施方式细节,但是这些说明不应被解释为对可要求保护的范围的限制,而应被解释为针对特定实施例的特征的描述。在单独实施例的背景中在本说明书中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的背景中描述的各种特征也可以分开地或以任何合适的子组合在多个实施例中实现。此外,虽然以上可以将特征描述为以某些组合的方式起作用,并且甚至最初要求如此,但要求保护的组合的一个或多个特征在某些情况下可以从组合中被切除,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中以特定顺序描绘操作,但是这不应被理解为要求以所示的特定顺序或按连续的顺序执行此类操作,或者执行所有所示的操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统组件的分离不应被理解为在所有实施例中要求这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或打包成多个软件产品。
已经描述了主题的具体实施例。其他实施例在以下权利要求的范围内。例如,权利要求中列举的动作可以以不同的顺序执行,并且仍然实现期望的结果。作为一个示例,附图中所描绘的过程不一定需要所示的特定顺序或连续的顺序来实现期望的结果。在某些实施方式中,多任务和并行处理可能是有利的。可以从所描述的过程提供其他步骤,或者可以消除步骤。因此,其他实施方式在以下权利要求的范围内。
Claims (20)
1.一种用于执行搜索的方法,包括:
定义向量词汇表;
定义包括多个不同职业的职业分类;
获得多个标记的训练数据项,其中每个标记的训练数据项至少与(i)职位、和(ii)职业相关联;
为相应的标记的训练数据项中的每一个生成包括用于所述向量词汇表中的每个相应术语的特征权重的职业向量,所述特征权重基于(i)表示反向职业频率的值,该反向职业频率基于职业分类中的职业的数量所确定,其中相应的训练数据项的职位中的每个相应的项存在于职业分类中,以及(ii)表示职业导数的值,该职业导数基于跨越职业分类中相应的职业中的每一个的相应的训练数据项的职位中每个相应术语的密度;
基于用于生成所述职业向量的所述标记的训练数据项的职业,将每个相应职业向量与所述职业分类中的职业相关联;
接收包括与一个或多个潜在工作机会的特征有关的字符串的搜索查询;
基于所接收的查询生成第一向量;
针对所述职业分类中的多个职业的每个相应职业确定指示查询向量是否在相应职业中被正确分类的置信度;
选择与最高置信度相关联的特定职业;
使用所选职业获得一个或多个工作岗位;以及
响应于所述搜索查询,提供在搜索结果的集合中所获得的工作岗位。
2.如权利要求1所述的方法,其中定义向量词汇表包括生成包括存在于存储在文本语料库中的至少一个训练数据项中的术语和不存在于存储在所述文本语料库中的至少一个训练数据项中的术语的向量词汇表。
3.如权利要求1所述的方法,其中定义向量词汇表包括生成仅仅包括存在于存储在文本语料库中的至少一个训练数据项中的术语的向量词汇表。
4.如权利要求1所述的方法,其中所述特征权重至少部分地基于表示术语频率的第一值,所述术语频率至少部分地基于所述相应的训练数据项的职位中的每个相应术语的出现次数所确定。
5.如权利要求1所述的方法,其中所述特征权重至少部分地基于表示反向职业频率的第二值,所述反向职业频率至少部分地基于所述职业分类中的职业的数量所确定,其中相应的训练数据项的职位中的每个相应的术语存在于所述职业分类中。
6.如权利要求1所述的方法,其中所述特征权重至少部分地基于表示职业导数的第三值,所述职业导数至少部分地基于跨越所述职业分类中的相应的职业中的每一个的相应的训练数据项的职位中每个相应术语的密度。
7.如权利要求1所述的方法,其中所述特征权重至少部分地基于(i)表示所述反向职业频率的第二值以及基于(ii)表示职业导数的第三值两者,所述反向职业频率至少部分地基于职业分类中的职业的数量来确定,其中相应训练数据项的职位中的每个相应的术语存在于所述职业分类中,所述职业导数至少部分地基于跨越所述职业分类中的相应的职业中的每一个的相应的训练数据项的职位中每个相应术语的密度。
8.如权利要求7所述的方法,其中所述特征权重基于(i)表示所述反向职业频率的第二值和(ii)表示所述职业导数的所述第三值的三分之一的和。
9.一种用于执行搜索的系统,包括:
一个或多个数据处理装置;以及
一个或多个计算机可读存储设备,具有存储在其上的当由所述一个或多个数据处理装置运行时,使得所述一个或多个数据处理装置执行以下操作的指令,包括:
定义向量词汇表;
定义包括多个不同职业的职业分类;
获得多个标记的训练数据项,其中每个标记的训练数据项至少与(i)职位、和(ii)职业相关联;
为相应的标记的训练数据项中的每一个生成包括用于所述向量词汇表中每个相应术语的特征权重的职业向量,所述特征权重基于(i)表示反向职业频率的值,该反向职业频率基于职业分类中的职业的数量所确定,其中相应的训练数据项的职位中的每个相应的项存在于职业分类中,以及(ii)表示职业导数的值,该职业导数基于跨越职业分类中相应的职业中的每一个的相应的训练数据项的职位中每个相应术语的密度;以及
基于用于生成所述职业向量的所述标记的训练数据项的职业,将每个相应职业向量与所述职业分类中的职业相关联。
10.如权利要求9所述的系统,其中所述操作还包括:
接收包括与一个或多个工作机会的特征有关的字符串的搜索查询;
基于所接收的查询生成第一向量;
基于所计算的置信度识别所述职业分类中与所述第一向量相关联的一个或多个特定职业;以及
响应于所述搜索查询来提供在搜索结果的集合中的工作岗位。
11.如权利要求9所述的系统,其中所述特征权重至少部分地基于表示术语频率的第一值,所述术语频率至少部分地基于所述相应的训练数据项的职位中每个相应术语的出现的次数所确定。
12.如权利要求9所述的系统,其中所述特征权重至少部分地基于表示反向职业频率的第二值,所述反向职业频率至少部分地基于所述职业分类中的职业的数量所确定,其中相应的训练数据项的职位中的每个相应的术语存在于所述职业分类中。
13.如权利要求9所述的系统,其中所述特征权重至少部分地基于表示职业导数的第三值,所述职业导数至少部分地基于跨越所述职业分类中相应的职业中的每一个的相应的训练数据项的职位中的每个相应术语的密度。
14.如权利要求9所述的系统,其中,所述特征权重至少部分地基于(i)表示所述反向职业频率的第二值以及基于(ii)表示职业导数的第三值两者,所述反向职业频率至少部分地基于所述职业分类中的职业的数量所确定,其中相应训练数据项的职位中的每个相应的术语存在于所述职业分类中,所述职业导数至少部分地基于跨越所述职业分类中相应的职业中的每一个的相应的训练数据项的职位中每个相应术语的密度。
15.一种其上存储有指令的计算机可读介质,当所述指令由数据处理装置运行时,使所述数据处理装置执行包括以下操作的操作:
接收包括与一个或多个工作机会的特征有关的字符串的搜索查询;
基于所接收的查询来生成包括用于预定的向量词汇表中的每个相应术语的特征权重的查询向量,所述特征权重基于(i)表示反向职业频率的值,该反向职业频率基于职业分类中的职业的数量所确定,其中相应的训练数据项的职位中的每个相应的项存在于职业分类中,以及(ii)表示职业导数的值,该职业导数基于跨越职业分类中相应的职业中的每一个的相应的训练数据项的职位中每个相应术语的密度;
针对所述职业分类中的多个职业的每个相应职业来确定指示所述查询向量是否在所述相应职业中被正确分类的置信度;
选择与最高置信度相关联的特定职业;
使用所选择的职业来获得一个或多个工作岗位;以及
响应于所述搜索查询来提供在搜索结果的集合中所获得的工作岗位。
16.如权利要求15所述的计算机可读介质,其中所述预定的向量词汇表包括存在于文本语料库中所存储的至少一个训练数据项中的术语和不存在于所述文本语料库中所存储的至少一个训练数据项中的术语。
17.如权利要求15所述的计算机可读介质,其中所述特征权重至少部分地基于表示术语频率的第一值,所述术语频率至少部分地基于所述相应的训练数据项的职位中每个相应术语的出现的次数所确定。
18.如权利要求15所述的计算机可读介质,其中所述特征权重至少部分地基于表示反向职业频率的第二值,所述反向职业频率至少部分地基于所述职业分类中的职业的数量所确定,其中相应的训练数据项的职位中的每个相应的项存在于所述职业分类中。
19.如权利要求15所述的计算机可读介质,其中所述特征权重至少部分地基于表示职业导数的第三值,所述职业导数至少部分地基于跨越所述职业分类中相应的职业中的每一个的相应的训练数据项的职位中每个相应术语的密度。
20.如权利要求15所述的计算机可读介质,其中,所述特征权重至少部分地基于(i)表示所述反向职业频率的第二值以及基于(ii)表示职业导数的第三值两者,所述反向职业频率至少部分地基于所述职业分类中的职业数量所确定,其中相应训练数据项的职位中的每个相应的项存在于所述职业分类中,所述职业导数至少部分地基于跨越所述职业分类中相应的职业中的每一个的相应的训练数据项的职位中每个相应术语的密度。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/296,230 US10643183B2 (en) | 2016-10-18 | 2016-10-18 | Search engine |
US15/296,230 | 2016-10-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107958014A CN107958014A (zh) | 2018-04-24 |
CN107958014B true CN107958014B (zh) | 2021-11-09 |
Family
ID=61902291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710908835.0A Active CN107958014B (zh) | 2016-10-18 | 2017-09-29 | 搜索引擎 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10643183B2 (zh) |
CN (1) | CN107958014B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10803104B2 (en) * | 2017-11-01 | 2020-10-13 | Pearson Education, Inc. | Digital credential field mapping |
CN110727769B (zh) | 2018-06-29 | 2024-04-19 | 阿里巴巴(中国)有限公司 | 语料库生成方法及装置、人机交互处理方法及装置 |
SG10201904554TA (en) * | 2019-05-21 | 2019-09-27 | Alibaba Group Holding Ltd | Methods and devices for quantifying text similarity |
US11954590B2 (en) | 2019-08-02 | 2024-04-09 | Indeed, Inc. | Artificial intelligence job recommendation neural network machine learning training based on embedding technologies and actual and synthetic job transition latent information |
US11330106B1 (en) * | 2019-09-30 | 2022-05-10 | United Services Automobile Association (Usaa) | Systems and methods for occupation categorization |
US11875113B2 (en) * | 2020-05-07 | 2024-01-16 | International Business Machines Corporation | Semantic matching of job titles with limited contexts |
WO2021237082A1 (en) * | 2020-05-22 | 2021-11-25 | Searchable AI Corp | Neural network-based semantic information retrieval |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102169495A (zh) * | 2011-04-11 | 2011-08-31 | 趣拿开曼群岛有限公司 | 行业词典生成方法及装置 |
CN102880928A (zh) * | 2012-08-27 | 2013-01-16 | 杜继俊 | 职位职能类别信息处理方法及系统 |
CN103365868A (zh) * | 2012-03-29 | 2013-10-23 | 腾讯科技(深圳)有限公司 | 一种数据处理方法和数据处理系统 |
CN105045812A (zh) * | 2015-06-18 | 2015-11-11 | 上海高欣计算机系统有限公司 | 文本主题的分类方法及系统 |
CN105608477A (zh) * | 2016-03-01 | 2016-05-25 | 吕云 | 一种人物画像与职位匹配的方法及系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7617176B2 (en) * | 2004-07-13 | 2009-11-10 | Microsoft Corporation | Query-based snippet clustering for search result grouping |
US7707203B2 (en) * | 2005-03-11 | 2010-04-27 | Yahoo! Inc. | Job seeking system and method for managing job listings |
US7580926B2 (en) * | 2005-12-01 | 2009-08-25 | Adchemy, Inc. | Method and apparatus for representing text using search engine, document collection, and hierarchal taxonomy |
US20080065633A1 (en) | 2006-09-11 | 2008-03-13 | Simply Hired, Inc. | Job Search Engine and Methods of Use |
US20080086366A1 (en) | 2006-09-14 | 2008-04-10 | David Joseph Concordia | Method For Interactive Employment Searching And Skills Specification |
US9461876B2 (en) * | 2012-08-29 | 2016-10-04 | Loci | System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction |
US9818086B2 (en) * | 2012-09-11 | 2017-11-14 | Oracle International Corporation | Methods and systems for providing predictive metrics in a talent management application |
US10878381B2 (en) * | 2013-04-29 | 2020-12-29 | Monster Worldwide, Inc. | Identification of job skill sets and targeted advertising based on missing skill sets |
EP3113039A1 (en) * | 2015-06-29 | 2017-01-04 | Jobspotting GmbH | Job search engine |
-
2016
- 2016-10-18 US US15/296,230 patent/US10643183B2/en active Active
-
2017
- 2017-09-29 CN CN201710908835.0A patent/CN107958014B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102169495A (zh) * | 2011-04-11 | 2011-08-31 | 趣拿开曼群岛有限公司 | 行业词典生成方法及装置 |
CN103365868A (zh) * | 2012-03-29 | 2013-10-23 | 腾讯科技(深圳)有限公司 | 一种数据处理方法和数据处理系统 |
CN102880928A (zh) * | 2012-08-27 | 2013-01-16 | 杜继俊 | 职位职能类别信息处理方法及系统 |
CN105045812A (zh) * | 2015-06-18 | 2015-11-11 | 上海高欣计算机系统有限公司 | 文本主题的分类方法及系统 |
CN105608477A (zh) * | 2016-03-01 | 2016-05-25 | 吕云 | 一种人物画像与职位匹配的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US10643183B2 (en) | 2020-05-05 |
CN107958014A (zh) | 2018-04-24 |
US20180107983A1 (en) | 2018-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107958014B (zh) | 搜索引擎 | |
US11615341B2 (en) | Customizable machine learning models | |
US10102254B2 (en) | Confidence ranking of answers based on temporal semantics | |
CN107851097B (zh) | 数据分析系统、数据分析方法、数据分析程序及存储介质 | |
JP4726528B2 (ja) | マルチセンスクエリについての関連語提案 | |
US10642975B2 (en) | System and methods for automatically detecting deceptive content | |
US10049148B1 (en) | Enhanced text clustering based on topic clusters | |
US9305083B2 (en) | Author disambiguation | |
US20160086135A1 (en) | Evaluation apparatus, evaluation method and evaluation system for evaluating evaluation target person | |
CN107992514B (zh) | 结构化信息卡的搜索和检索 | |
US11500524B2 (en) | Automatic generation of preferred views for personal content collections | |
CN108701155B (zh) | 社交网络中的专家检测 | |
US20120203584A1 (en) | System and method for identifying potential customers | |
US9760828B2 (en) | Utilizing temporal indicators to weight semantic values | |
US11023503B2 (en) | Suggesting text in an electronic document | |
US20120246100A1 (en) | Methods and systems for extracting keyphrases from natural text for search engine indexing | |
US20160196313A1 (en) | Personalized Question and Answer System Output Based on Personality Traits | |
EP2827294A1 (en) | Systems and method for determining influence of entities with respect to contexts | |
US10002187B2 (en) | Method and system for performing topic creation for social data | |
US20160098737A1 (en) | Corpus Management Based on Question Affinity | |
CN110637316A (zh) | 用于使用在线资源和神经网络处理以基于出版资料对组织进行分类的智能预期对象识别的系统和方法 | |
US9886479B2 (en) | Managing credibility for a question answering system | |
CN109977292A (zh) | 搜索方法、装置、计算设备和计算机可读存储介质 | |
CN109918583B (zh) | 一种任务信息处理方法及装置 | |
CN113095078A (zh) | 关联资产确定方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |