接到一个需求,对比数据库中酒店名字相似度
那么说干就干,这里在网上进行查询,jieba分词十分符合我们的需求,那么看了一些例子之后开始写demo。
代码如下
import jieba
import numpy as np
import pymysql
class Similarity():
def __init__(self):
self.db = pymysql.connect(host='localhost', port=3306, user='root',
passwd='123456', db='dazhong', charset='utf8mb4')
self.cursor = self.db.cursor()
def get_word_vector(self, word1, word2):
cut1 = jieba.cut(word1)
cut2 = jieba.cut(word2)
list_word1 = (','.join(cut1)).split(',')
list_word2 = (','.join(cut2)).split(',')
# 列出所有的词,取并集
key_word = list(set(list_word1 + list_word2))
# 给定形状和类型的用0填充的矩阵存储向量
word_vector1 = np.zeros(len(key_word))
word_vector2 = np.zeros(len(key_w