一种基于自然语言处理的跨平台商品匹配方法及系统
文献发布时间:2023-06-19 11:14:36
技术领域
本发明涉及跨平台商品匹配技术领域,尤其是涉及一种基于自然语言处理的跨平台商品匹配方法及系统。
背景技术
目前商品匹配的方法有很多,不同形式的商品描述信息通常需要采用不同的匹配方法。商品的描述包括商品标题和商品详细信息列表(属性),商品的描述也有多种存储形式,既可以以结构化的数据保存在平台的数据库中,也可以以非结构化的数据(如文本、网页)存在于平台中;对于存储在数据库中的商品,匹配问题主要是对数据库中商品个体间匹配技术的解决,但由于不同的数据库采取的设计模式不同,使数据库中商品个体匹配问题具有了一定挑战性。
为了解决不同平台之间商品个体匹配问题,有研究者将平台中非结构化的商品标题转换为有结构的描述,将非结构化数据匹配转化为数据库中的结构化数据匹配,然后将其与其他平台数据库中结构化的商品进行比较;也有研究者只关注平台上非结构化商品描述的匹配。
第一种方法存在的缺点是:商品的标题是一个短文本,将文本转换为有结构的数据将会丢失一些语义和句法信息,同时由于转换方法的效果相对差也会引入一些误差;第二种方法,直接对平台上商品标题进行匹配,或同时考虑商品标题和商品属性进行匹配,但是它们大多是使用不同的相似度计算的方法得到最后的结果,没有考虑语义信息进行匹配;因此,使用现有的方法匹配得到的商品在精确度、数据完整性上均存在较大误差。
发明内容
针对上述问题,本发明提供了一种基于自然语言处理的跨平台商品匹配方法及系统,能够在上亿级别的大数据中,计算出不同平台的多个商品的相似度,从而精确判断出这两个商品描述是否为一个商品。
为实现上述目的,本发明提供了一种基于自然语言处理的跨平台商品匹配方法,包括:
获取待匹配的各平台商品数据,并进行数据预处理;
根据预处理后的数据获取各商品的标题特征向量和属性特征向量;
将各商品的所述标题特征向量和所述属性特征向量进行整合,得到各商品的所述全量特征向量;
对所有商品按照平台进行分类,再按照统一分类规则,将各平台商品划分为多个子集,得到各平台下多个商品全量特征向量子集;
计算不同平台下相对应的所述商品全量特征向量子集中各商品的相似度,根据计算结果获取到不同平台中相匹配的商品。
作为本发明的进一步改进,所述根据预处理后的数据获取各商品的标题特征向量和属性特征向量;包括:
在预处理后的数据中对商品标题信息进行命名实体识别,针对各所述商品标题中识别到的各商品词分别计算TF-IDF特征,并将各所述商品标题映射到向量空间中得到标题特征向量;
在预处理后的数据中对商品属性信息进行ETL和特征工程处理得到各商品的属性特征向量。
作为本发明的进一步改进,所述在预处理后的数据中对商品标题信息进行命名实体识别,针对各所述商品标题中识别到的各商品词分别计算TF-IDF特征;包括:
在预处理后的数据中对商品标题信息进行命名实体识别,得到所有商品关键词;
构建商品词字典和停用词字典;
根据所述关键词对匹配的正向和负向影响分别添加至商品词字典和停用词字典;
对各商品标题中包含在商品词字典中的商品词计算TF-IDF特征。
作为本发明的进一步改进,所述数据预处理包括:
将以非结构化形式存储在平台的数据转化为结构化数据,得到所述商品标题信息和所述商品属性信息;
对同平台下的重复商品数据进行去重,缺失数据进行填充,杂质数据进行丢弃。
作为本发明的进一步改进,所述对所有商品按照平台进行分类,再按照统一分类规则,将各平台商品划分为多个子集后,各平台得到的商品全量特征向量子集个数相同,且一一对应。
作为本发明的进一步改进,所述计算不同平台下相对应的所述商品全量特征向量子集中各商品的相似度,根据计算结果获取到不同平台中相匹配的商品;包括:
选择一个平台作为基准平台;
选择一个待匹配平台中的一个商品全量特征向量子集与基准平台中对应商品全量特征向量子集进行商品相似度匹配;
预设相似度阈值,获取到符合所述相似度阈值的多组匹配商品;
依次完成各待匹配平台中对应基准平台中该商品全量特征向量子集的商品相似度匹配;
依次完成各待匹配平台中各商品全量特征向量子集与基准平台中对应商品全量特征向量子集的商品相似度匹配,获得所有匹配商品。
作为本发明的进一步改进,所述得到符合预设相似度阈值的多组匹配商品;包括:
预设最大循环次数;
依次计算待匹配平台中该商品全量特征向量子集中各商品和基准平台中对应商品全量特征向量子集中各商品的相似度;
循环取出相似度最高的一组商品,与预设的所述相似度阈值进行比较,若大于或等于所述相似度阈值,则将该组商品记为一组匹配结果,直至达到所述最大循环次数;
若小于所述相似度阈值,则进入下一待匹配平台。
作为本发明的进一步改进,预设匹配结果组数,所述匹配结果组数不超过本次匹配的基准平台商品全量特征向量子集和待匹配平台中商品全量特征向量子集中商品个数较多的一个;
当匹配结果组数不满足条件时,进入下一待匹配平台。
作为本发明的进一步改进,所述统一分配规则包括商品类目及品牌。
本发明还提供了一种基于如上所述的基于自然语言处理的跨平台商品匹配方法的系统,包括:预处理模块、特征提取模块、商品全量特征整合及分类模块和商品匹配模块;
所述预处理模块,用于:
获取待匹配的各平台商品数据,并进行数据预处理;
所述特征提取模块,用于:
根据预处理后的数据获取各商品的标题特征向量和属性特征向量;
所述商品全量特征整合及分类模块,用于:
将各商品的所述标题特征向量和所述属性特征向量进行整合,得到各商品的所述全量特征向量;
对所有商品按照平台进行分类,再按照统一分类规则,将各平台商品划分为多个子集,得到各平台下多个商品全量特征向量子集;
所述商品匹配模块,用于:
计算不同平台下相对应的所述商品全量特征向量子集中各商品的相似度,根据计算结果获取到不同平台中相匹配的商品。
与现有技术相比,本发明的有益效果为:
结合了电商平台中商品既具有商品标题和商品属性的特点,将商品标题特征和属性特征进行整合,后仅需对整合后的全量特征向量进行计算获得商品之间的匹配度;在商品匹配过程中,为应对多个平台的上亿级数据,先将数据按平台分类,在对各平台商品按统一规则进行分类,完成商品的粗匹配,使后续匹配过程中,匹配次数大量降低,进而减小工作量,降低成本,同时提高了匹配的精确度。
匹配过程中预设相似度阈值,保证了商品匹配的精确度;进一步设置循环次数,循环次数是比相似度阈值更宽泛的条件,避免临近预设精确度阈值附近的商品匹配组数过多,导致商品匹配精确度降低;进一步预设匹配结果组数,更加宽泛的限定匹配结果组数在两个相匹配全量特征向量子集中较多的商品个数范围内,进而控制匹配精确度。
附图说明
图1为本发明一种实施例公开的基于自然语言处理的跨平台商品匹配方法流程图;
图2为本发明一种实施例公开的基于自然语言处理的跨平台商品匹配系统示意图;
图3为本发明一种实施例公开的多平台商品匹配的详细流程图;
图4为本发明一种实施例公开的商品全量特征向量拆分及匹配方法示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图对本发明做进一步的详细描述:
如图1所示,本发明提供的一种基于自然语言处理的跨平台商品匹配方法,包括:
S1、获取待匹配的各平台商品数据,并进行数据预处理;
其中,
将以非结构化形式存储在平台的数据转化为结构化数据,得到商品标题信息和商品属性信息;
对同平台下的重复商品数据进行去重,缺失数据进行填充,杂质数据进行丢弃。
S2、根据预处理后的数据获取各商品的标题特征向量和属性特征向量;
其中,
在预处理后的数据中对商品标题信息进行命名实体识别,针对各商品标题中识别到的各商品词分别计算TF-IDF特征,并将各商品标题映射到向量空间中得到标题特征向量;
在预处理后的数据中对商品属性信息进行ETL和特征工程处理得到各商品的属性特征向量。
进一步的,先在预处理后的数据中对商品标题信息进行命名实体识别,得到所有商品关键词;
构建商品词字典和停用词字典;
根据关键词对匹配的正向和负向影响分别添加至商品词字典和停用词字典;
对各商品标题中包含在商品词字典中的商品词计算TF-IDF特征。
S3、将各商品的标题特征向量和属性特征向量进行整合,得到各商品的全量特征向量;
S4、对所有商品按照平台进行分类,再按照统一分类规则,包括商品类目、品牌逐级归类,将各平台商品划分为多个子集,得到各平台下多个商品全量特征向量子集;
其中,将各平台商品划分为多个子集后,各平台得到的商品全量特征向量子集个数相同,且一一对应。
S5、计算不同平台下相对应的商品全量特征向量子集中各商品的相似度,根据计算结果获取到不同平台中相匹配的商品。
其中,包括:
选择一个平台作为基准平台;
选择一个待匹配平台中的一个商品全量特征向量子集与基准平台中对应商品全量特征向量子集进行商品相似度匹配;
预设相似度阈值、最大循环次数和/或匹配结果组数,匹配结果组数不超过本次匹配的基准平台商品全量特征向量子集和待匹配平台中商品全量特征向量子集中商品个数较多的一个;
依次计算待匹配平台中该商品全量特征向量子集中各商品和基准平台中对应商品全量特征向量子集中各商品的相似度;
循环取出相似度最高的一组商品,与预设的相似度阈值进行比较,若相似度小于相似度阈值,则进入下一待匹配平台;若相似度大于或等于相似度阈值,则将该组商品记为一组匹配结果,直至达到最大循环次数,获取到符合相似度阈值的多组匹配商品,进入下一待匹配平台;或当匹配结果组数不满足条件时,进入下一待匹配平台;
依次完成各待匹配平台中对应基准平台中该商品全量特征向量子集的商品相似度匹配;
依次完成各待匹配平台中各商品全量特征向量子集与基准平台中对应商品全量特征向量子集的商品相似度匹配,获得所有匹配商品。
如图2所示,本发明还提供了一种基于如上的基于自然语言处理的跨平台商品匹配方法的系统,包括:预处理模块、特征提取模块、商品全量特征整合及分类模块和商品匹配模块;
预处理模块,用于:
获取待匹配的各平台商品数据,并进行数据预处理;
特征提取模块,用于:
根据预处理后的数据获取各商品的标题特征向量和属性特征向量;
商品全量特征整合及分类模块,用于:
将各商品的标题特征向量和属性特征向量进行整合,得到各商品的全量特征向量;
对所有商品按照平台进行分类,再按照统一分类规则,将各平台商品划分为多个子集,得到各平台下多个商品全量特征向量子集;
商品匹配模块,用于:
计算不同平台下相对应的商品全量特征向量子集中各商品的相似度,根据计算结果获取到不同平台中相匹配的商品。
实施例:
步骤1、获取待匹配的各平台商品数据,并进行数据预处理;
在各平台的数据存储模块中,商品信息以不同的形式存储于不同的数据库中;首先将以非结构化形式存储在平台的数据转化为结构化数据,得到商品标题信息和商品属性信息;
然后对从各平台获取的商品原始数据进行格式统一,字段与形式的不统一,对同平台下重复商品进行去重,填充一些不完整的信息(商品类目、优惠信息)、丢弃部杂质数据等。
步骤2、根据预处理后的数据获取各商品的标题特征向量和属性特征向量;
为实现不同平台商品匹配,需同时使用商品的标题信息及其它属性信息。
对于商品标题,利用神经网络模型对大量的商品标题进行命名实体识别,并构建商品词字典及停用词字典,商品词字典中的词对商品匹配有正向影响(如品牌词、材质、型号等),停用词字典中的词对商品匹配有负向影响(如季节、颜色等),然后计算对每个商品中商品词的TF-IDF特征,并将商品标题信息映射至向量空间中,商品标题特征向量如下:
其中:n
对于商品的属性信息,经过特征工程后转化为商品属性特征向量,商品属性特征向量如下:
其中:n
步骤3、将各商品的标题特征向量和属性特征向量进行整合,得到各商品的全量特征向量,商品全量特征向量如下:
其中:n
步骤4、如图4所示,对所有商品按照平台进行分类(如天猫、淘宝、京东、拼多多等),再按照统一分类规则,包括商品类目及品牌(洗护类-力士、服装类-李宁),将各平台商品划分为多个子集,得到各平台下多个商品全量特征向量子集;
首先,根据来源平台对步骤3中获得的商品全量特征向量进行划分,得到不同平台下所有商品的全量特征向量矩阵,如下:
...
...
其中,Np为数据源平台总数,n
然后,将各平台的商品按照类目、品牌进一步进行划分,将得到的不同平台下商品的全量特征向量矩阵划分为用于商品匹配的若干子集,如下所示:
Item
其中,Item
步骤5、如图3所示,计算不同平台下相对应的商品全量特征向量子集中各商品的相似度,根据计算结果获取到不同平台中相匹配的商品。
其中,包括:
选择一个平台作为基准平台,其商品全量特征向量矩阵作为基准矩阵,命名为Item
设置参数:b为子集序号、B为各平台划分的子集总数、max_loop为最大循环次数、min_sim为相似度阈值、k表示平台序号,初始时,令b=0,max_loop=50,min_sim=0.85;
步骤51、判断b<B是否成立,若是,则另k=0,若否,则流程结束;
步骤52、判断k<k
步骤53、判断loop<max_loop和group_num<=max(n
步骤54、判断temp_sim>=min_sim是否成立,若否,则另k=k+1,并返回步骤52循环执行;若是,则将该组商品记为一组匹配结果,并另loop=loop+1,group_num=group_num+1,返回步骤53循环执行。
按照上述步骤,最终获得所有匹配商品。
为了验证本发明中匹配方法的精确度是否有所提升,抽取一些额外的特征,包括:两个商品标题中共现词和共现字符的个数和比例;两个商品标题和商品属性值中共现数字和字符的数目;两个商品的商品标题、商品属性名称、商品属性值之间的杰拉德相似度(Jaccard);两个商品标题的TF-IDF向量的相似度。然后将这些特征和本发明计算的商品标题相似度和商品属性相似度共同训练排序模型和分类模型。对于排序模式中,使用LambdaMart、Mart等来训练排序模型;对于分类模式中,使用支持向量机(SVM)、贝叶斯(Naive Bayes)、决策树(Decision Tree)来训练分类模型。结果表明无论是在排序模式还是分类模式,本发明的商品匹配方法的效果都优于选取的对比方法。
本发明的优点:
结合了电商平台中商品既具有商品标题和商品属性的特点,将商品标题特征和属性特征进行整合,后仅需对整合后的全量特征向量进行计算获得商品之间的匹配度;在商品匹配过程中,为应对多个平台的上亿级数据,先将数据按平台分类,在对各平台商品按统一规则进行分类,完成商品的粗匹配,使后续匹配过程中,匹配次数大量降低,进而减小工作量,降低成本,同时提高了匹配的精确度。
匹配过程中预设相似度阈值,保证了商品匹配的精确度;进一步设置循环次数,循环次数是比相似度阈值更宽泛的条件,避免临近预设精确度阈值附近的商品匹配组数过多,导致商品匹配精确度降低;进一步预设匹配结果组数,更加宽泛的限定匹配结果组数在两个相匹配全量特征向量子集中较多的商品个数范围内,进而控制匹配精确度。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 一种基于自然语言处理的跨平台商品匹配方法及系统
- 一种基于深度匹配模型的跨平台商品匹配方法