面向科技资源服务交易的供需匹配技术

2022-05-12 09:25冉丈杰
现代计算机 2022年5期
关键词:供需语义向量

冉丈杰

(西南交通大学制造业产业链协同与信息化支撑技术四川省重点实验室,成都 611756)

0 引言

城市群发展是世界经济科技重心转移的结果,近年来,城市群综合科技服务平台的快速成长与发展,使得线上服务交易的需求量急剧增加,同时伴随着云计算、大数据等新兴技术的迅猛发展,线上服务交易模式也迅速发展,成为综合科技服务平台的重要组成部分。但在服务交易中普遍存在技术需求描述模糊、技术供需文本非结构化等现象,这些情况使得服务供需匹配出现匹配困难、匹配成功率低等问题。截至2021年4月底,国内首创的技术转移全流程服务平台——科易网(www.1633.com)已发布科技成果共449565 项,而已签约项目仅10784项,占比仅为2.4%。在此种背景下,针对非结构化的技术供需文本数据,研究面向科技资源服务交易的供需匹配技术,对促进科技服务交易的实现、提高科技服务交易的成功率具有重要意义。

1 国内外研究现状

当前针对服务供需匹配技术的研究,主要包括语义匹配、特征匹配等方面,而在进行供需匹配的过程中,又主要包括关键词提取与语义相似度匹配2个部分,相关技术的研究为面向科技资源服务交易的供需匹配提供了技术支撑。

1.1 关键词提取研究现状

关键词提取是进行服务供需匹配的前提,目的是从非结构化的需求文本中识别出有效的需求关键点。现有的研究成果主要包括以下2个方面。

(1)基于词频统计的关键词提取。纪蔚蔚运用词频统计的方法,对科学学相关文本的内容进行分析,研究其发展动向和研究热点。熊则见等对关键词词频进行统计,并对相关文献进行了计量分析。He 等基于传统的统计特征(如频率、位置等)从网页中提取关键词。Kuncoro等提出TF-IDF方法,对社交媒体应用中用户搜索的关键词进行排序。

(2)基于词图网络的关键词提取。已有的分析方法主要利用TextRank模型,根据词语间的邻接关系构建词图网络。Rahman 等提出并评估了一种新的基于TextRank 的技术,通过分析软件变更任务的描述来自动识别和建议搜索项。谢玮等基于TextRank 算法提取论文关键词,并以实现论文审稿分配过程的自动化为目标,设计了一个论文推荐系统。

1.2 语义相似度匹配研究现状

2013年Google 公司开发了一款用于训练词向量的软件工具word2vec,其可根据给定的语料库将一个词语表达成向量形式。Xue 等基于语义方向点式相似距离模型,提出了一种使用word2vec 工具的情感词典构建模型。此外,宁建飞等将word2vec 与TextRank 模型进行有效融合,夏天将百科知识以词向量的形式融入TextRank 模型,改进单文档关键词抽取效果。但word2vec 在处理大规模语料时速度较慢,鉴于这个问题,Pennington 等综合了LSA(latent semantic analysis)和word2vec 中CBOW 模型的优点,于2014年开发了GloVe 模型,充分考虑词间共现,训练速度有所提高。2016年Facebook开发了一款开源的快速文本分类器fastText,其文本训练速度更快,且适合更处理大规模语料。2018年Google AI 研究院提出一种全新的预训练模型BERT,在大量测试中该模型的性能均超越以往的模型,成为自然语言处理发展史上的一块里程碑。李俊等在TextRank 的基础上,利用BERT词向量加权的方式,提出一种优化的关键词抽取方法。

1.3 服务供需匹配研究现状

目前服务供需匹配的研究主要集中在供需匹配过程中的需求识别、需求聚类以及供需双边匹配问题上。刘慧敏等提出一种基于本体语义的云制造服务供需智能匹配方法。张娴等针对技术研发端与产业需求端的信息对接问题,建立一套利用本体技术实现专利技术知识表示和供需信息知识匹配的知识组织模式。何喜军等先后提出基于语义相似聚类的技术需求识别模型以及基于本体和SAO 结构的技术供需多维语义结构匹配模型。张建华等提出基于领域本体与CBR的知识供需匹配方法。

2 服务供需匹配模型

服务供需匹配模型的构建主要包括4个步骤:①采集技术需求文本并提取其关键词。②采集技术供给文本建立技术供给基础库,并在此基础上根据技术需求关键词检索出高相关项目,构建技术供给核心库。③对技术需求的名称文本与技术供给核心库中项目的名称文本进行分词与去停用词,并计算出各个分词词语之间的语义相似度。④利用各个分词词语之间的语义相似度、权重以及技术需求关键词与对应技术供给之间的相关度,计算出服务供需匹配值,进行服务供需双边匹配。整个模型如图1所示。

图1 服务供需匹配模型

2.1 基于TextRank提取技术需求关键词

在利用TextRank 进行关键词提取之前,首先采集需要用到的技术需求文本。之后,利用TextRank提取技术需求关键词的主要步骤为:

(1)对于所用采集到的技术需求文本,根据标点符号(如“。”“!”)将分割成个句子,结果表示为={,,…,S}。

(2)对∀S∈(= 1,2,…,)做分词与去停用词处理,标记并保留指定词性(如名词、动词、 形容词)的词语, 结果表示为S={t,t,…,t},t(= 1,2,…,,= 1,2,…,)即为候选的关键词。

(3)根据每个候选关键词t(= 1,2,…,,= 1,2,…,)之间的邻接关系构建一个无向有权图=(,),其中是由所有候选关键词t(= 1,2,…,,= 1,2,…,)构成的点集,是由词语间邻接关系构成的边集,且是×的子集,若两个词语V,V∈在长度为的窗口中共现,则认为它们之间存在邻接关系,即VV之间存在边。

(4)令w为任意两点V,V∈之间的权重,对于给定的点V,(V)表示指向V的点集,(V)表示V指向的点集,则点V的权重得分为

式中,阻尼系数∈[0,1],表示图中某一给定顶点跳转到图中另一随机顶点的概率,通常取= 0.85。

(5)利用式(1)循环迭代计算出每个顶点V的权重得分(V)直至收敛,并选取(V)较高的多个词语作为提取的关键词。

2.2 基于BM25构建技术供给核心库

在进行服务供需匹配的过程中,为了能够更加精准地匹配技术供需的文本,除了要针对口语化、非结构化的技术需求文本提取关键词外,还需要针对技术供给文本进行一定程度的筛选。为实现这一目标,可以利用采集到的技术供给文本建立技术供给基础库,随后将技术需求文本的关键词与每一条技术供给文本进行相关度搜索,检索出相关度较高的技术供给文本,并利用这些技术供给文本构建出技术供给核心库,为更加精准匹配技术需求提供可能。

上述相关度搜索的过程可采用BM25相关度搜索算法来实现,该算法通常用于计算查询语句与文本集合中每个元素之间的相关性。在面向科技资源服务交易的服务供需匹配过程中,将技术需求的关键词作为查询语句,将技术供给基础库作为文本集合,计算出与每一条技术供给文本∈的BM25得分,将BM25得分较高的技术供给文本作为技术需求关键词对应的技术供给核心库,之后将技术需求名称文本中各个分词的技术供给核心库合并,作为此条技术需求的技术供给核心库。BM25 得分的具体计算过程为:

(1)对查询语句进行语素解析(一般是分词), 表 示 为={,,…,q}, q∈(=1,2,…,)即为解析所产生的每个语素。

(2)对于技术供给基础库中的某一条技术供给文本∈,计算出每个语素q(= 1,2,…,)与的相关性得分(q,)。

(3)将每一个q(= 1,2,…,)与的相关性得分(q,)进行加权求和,即得查询语句与技术供给文本的BM25得分( )

,。

BM25得分的计算公式为

式中,W表示每一对q与相关性得分的权重,通常定义为IDF,计算公式为

式中,表示文本集合中文本的总个数,(q)表示中包含q的文本数,0.5 主要用做平滑处理。可以看出,(q)越大,q的重要性就越低,其权重也就越小。

(q,)的计算公式为

式中,f为语素q出现在文本中的词频,qf为语素q出现在查询语句中的词频,,,均为调节因子,通常取= 2,= 1,= 0.75,为文本的长度,为所有∈的平均长度。

通常语素q在查询语句中只出现一次,故取qf= 1,则式(4)可改写为

从而BM25得分的计算公式可改写为

2.3 语义相似度计算

随着计算机技术的不断发展,人们以此为基础,针对自然语言处理领域开展了广泛的研究。为了使自然语言能够被计算机处理,则需要将自然语言转换为计算机能够处理的数字信号,文本向量化就是其中一种重要的手段。当前,文本向量化主要是通过词语向量化实现的,即将单个词语转换为一个向量表示的形式,这就是词向量。词向量一般通过对自然语言进行建模,将语料库中的词语映射成为一个实向量。词向量能够良好地反映出词语自身的语义特性,其每一维都可以被解释成一种语义或语法上的特征,这样一来相似的词其词向量在高维空间上将更为接近,词语间的相关性、依赖关系也更为突出。

常见的静态词向量训练模型有word2vec、fastText 等。word2vec 模型是一种双层神经网络模型,包括CBOW 模型和Skip-gram 模型两种类型,CBOW 模型使用词语的上下文作为输入来预测这个词语本身,Skip-gram 模型使用一个词语作为输入来预测它的上下文。fastText 模型与word2vec 中的CBOW 模型在架构上相似,区别在于二者所执行的任务不同:fastText 模型预测标签,而CBOW 模型预测中间词。BERT 是一种动态词向量训练模型,且可通过直接调用远程服务器获取词向量,本文将直接利用本地训练模型或远程服务器获取需要的词向量。

假设技术需求文本中一个分词词语的向量为=(,,…,x),技术供给文本中一个分词词语的向量为=(,,…,y),则二者的余弦相似度为

若技术需求文本被分词为{,,…,X},技术供给文本被分词为{,,…,Y},将两个分词之间的语义相似度记为Sim(X,Y),则文本间的语义相似度矩阵为

2.4 服务供需匹配值计算

由上所述,技术需求文本被分词为{,,…,X}, 技 术 供 给 文 本 被 分 词 为{,,…,Y},并利用TextRank 提取这些分词词语的权重,分别记为{w,w,…,w}以及{w,w,…,w},并对它们进行归一化处理,公式分别为

若将技术需求关键词X(= 1,2,…,)与技术供给文本之间的BM25 得分记为s,则技术供需文本之间的服务供需匹配值的公式定义为

的大小即表示了技术供需文本之间匹配程度的大小,越大,说明技术需求越可能与技术供给对接成功,同时通过设置服务供需匹配值的阈值,还可进一步筛选出可能与技术需求对接成功的技术供给。

3 服务供需匹配模型的实验验证

3.1 技术需求关键词提取

技E网(www.ctex.cn)是由中国技术交易所建设并运营的国家技术交易全程服务支撑平台,其中一共提供了11 种类型的技术需求,本文仅利用Python 采集技E 网中发布的电子信息技术类相关需求文本共1274 条,采集的文本内容包括技术需求名称及需求简介。利用Python 中提供的textrank4zh 开源库,设置TextRank 算法中的窗口大小为2,并取关键词的最小长度为3,得到仅对需求名称文本提取关键词的结果如表1所示,得到对需求名称和需求简介文本提取关键词的结果如表2所示,两表均取关键词权重最大的前10个结果。

表1 需求名称文本关键词提取结果(部分)

表2 需求名称文本+需求简介文本关键词提取结果(部分)

从表1、2可以看到,仅对需求名称文本提取关键词得到了技术指向性更明确的结果,而对需求名称文本+需求简介文本提取关键词的结果包含一些无用信息,也正是由于需求简介文本表述模糊这一痛点导致其中可能包含与实际技术需求无关的词汇。后续的实验利用自技术需求名称文本提取到的关键词继续开展。

3.2 技术供给核心库构建

同样利用Python 采集技E 网中发布的电子信息技术类相关技术供给文本,采集的文本内容包括技术项目名称及项目简介,共10517 条。利用BM25 相关度搜索算法,将3.1 节中提取到的技术需求关键词与技术供给基础库中的所有文本进行匹配,将BM25 得分大于0 的技术供给项目作为集合,构建出该关键词的技术供给核心库。以技术需求关键词“管理系统”为例,表3 给出了其技术供给核心库中部分项目的名称,仅展示BM25得分最大的前10个结果。

表3 “管理系统”技术供给核心库(部分)

将技术需求名称文本中各个关键词的技术供给核心库合并,即得到该条技术需求对应的技术供给核心库。

3.3 语义相似度计算

合并3.1 及3.2 中提取到的技术需求与技术供给文本共11791条,仅使用其名称的文本作为语料库,因BERT可直接调用远程服务器获取词向量,故仅使用word2vec 以及fastText 进行词向量训练,在本文的文本环境中,两种方法所用训练时间随词向量维度变化的关系曲线如图2所示。

图2 词向量维度-训练时间关系曲线

从图中可以看出,word2vec 的训练时间受词向量维度的影响不明显,而fastText 的训练时间随词向量维度的增加而明显增加,这是由两者内在原理的差异引起的,fastText 通过输入语句的类别标签作为目标训练词向量,同时引入N-gram 优化准确性,而word2vec 中的Skip-gram通过预测上下文获得词向量。此外,fastText 还可胜任分类任务,而word2vec 仅在于获得词向量。尽管训练fastText 模型需要更长的时间,但其性能更优于word2vec,更适合大语料库的训练,在一些场景下,其拥有更佳的准确性,因此本文后续的实验以fastText和BERT 模型训练的结果开展。

利用fastText 训练本文的语料库,并设置词向量的维度为100,以技术需求“企业资产管理系统”为例,利用式(8)、(9)计算其于技术供给“基于ERP 的流程企业集成化管理系统及支持软件”各个分词的语义相似度矩阵,结果如表4 所示,基于BERT 的技术供需语义相似度矩阵如表5所示。

表5 基于BERT的技术供需语义相似度矩阵

从表4、5可以看出,基于BERT 的训练结果对于词向量的区分效果更好,这也反映了BERT模型拥有更佳的准确性。

表4 基于fastText的技术供需语义相似度矩阵

3.4 服务供需匹配值计算

同样以技术需求“企业资产管理系统”为例,利用式(10)~(12)计算出其与“管理系统”的技术供给核心库中各个项目的服务供需匹配值,基于fastText 训练结果得到的服务供需匹配值如表6 所示,基于BERT 训练结果得到的服务供需匹配值如表7所示,仅展示部分技术供需匹配的结果。

表6 基于fastText的服务供需匹配值(部分)

表7 基于BERT的服务供需匹配值(部分)

从表6、7可以看出,不管是基于fastText 还是BERT训练的结果,语义最为接近的技术供给项目均被筛选出,说明本文所提模型在一定程度上具有普适性。在实际情况中,往往需要筛选出多个可能的技术供给项目,再交由人工进行下一步筛选及匹配,因此可以通过设置服务供需匹配值的阈值,进一步筛选出小规模的技术供给项目,为服务供需匹配的最终对接提供支撑。

4 结语

在基于资源池的科技服务交易中,为实现服务供需之间的匹配与对接,本文在供需匹配视角下,基于体现语义特征的词向量,提出一种面向科技资源服务交易的供需匹配模型。结果表明:①基于TextRank 提取技术需求的关键词,在一定程度上体现了技术需求文本的语义特征。②利用BM25相关度搜索算法成功对相关度较大的技术供给进行了初步筛选。③基于不同的词向量训练模型,通过计算服务供需匹配值,明确了具体供需文本之间的相似性,进一步缩小了有效技术供给的筛选范围,提高了后续供需对接成功的可能性。

文本为实现科技资源服务交易中的供需匹配提供了一种思路,但仍存在不足与缺陷:①仅对技术需求文本的语义特征进行提取,未综合考虑其他方面的因素。②在进行词向量模型训练时,仅采用技术供需的名称文本作为训练的语料库,无法全面反映技术供需的具体语义情况。③对于技术供需能否成功对接,尚缺少一个评价指标,且最终要实现供需对接还需人工审核。

猜你喜欢
供需语义向量
向量的分解
韩国语“容入-离析”关系表达及认知语义解释
2020年4月28日28个重点城市商品住宅供需情况
2020年3月 27个重点城市商品住宅供需情况
2018年1月29个重点城市商品住宅供需情况
2017年12月30个重点城市商品住宅供需情况
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线