【python 走进NLP】标签别名语义相似度匹配算法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013421629/article/details/82501083

标签别名语义相似度匹配算法:
这里写图片描述

# -*- 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

猜你喜欢

转载自blog.csdn.net/u013421629/article/details/82501083