标签别名语义相似度匹配算法:
# -*- encoding=utf-8 -*-
import pandas as pd
import numpy as np
import time
time1=time.time()
#定义一个标签有别名的合并函数
def combine_tag_name_alis(data1,data2):
"""
:param data1: 别名集
:param data2:标签集
:return: 合并后的结果集
"""
# 筛选数据,找到有别名的标签
data3 = data1[data1['alias'].isin(data2['key'])]
data4=data2[~data2['key'].isin(data3['alias'])]
#语义相似标签去重
name1= list(set(data3['name']))
name2=list(set(data4['key']))
name3=name1+name2
name4=list(set(name3))
return name4
if __name__ == '__main__':
# 读取别名数据集
data1 = pd.read_excel('C:/Users/xiaohu/Desktop/文本挖掘/标签语义相近发现合并算法/data/kktribe_tag_1.xlsx')
# 读取标签数据集
data2=pd.DataFrame({'key':['詹皇','小皇帝','内马尔','世界杯','姆巴佩','詹姆斯','姆巴佩','里奥·梅西','梅西','Lionel Andrés Messi','小老虎','凯文-杜兰特','凯文·杜兰特']})
# 合并之后的标签集
name=combine_tag_name_alis(data1,data2)
print(name)
time2 = time.time()
print('总共耗时:' + str(time2 - time1) + 's')
['梅西', '沃尔科特', '姆巴佩', '詹姆斯', '内马尔', '杜兰特', '世界杯']
总共耗时:0.07813286781311035s
Process finished with exit code 0