word2vec实现域名向量化并计算相似度-python代码

该博客主要介绍如何利用python和word2vec技术将[ip-域名]数据转化为向量表示,并通过余弦相似度找出相似的域名。博主首先展示了数据格式,每个IP后面跟着多个随机打乱顺序的域名。然后,他们提供了代码片段,这部分代码中mypathline类用于生成随机序列,确保数据的随机性。通过这种方法,可以对域名数据进行有效的分析和关联。
摘要由CSDN通过智能技术生成

目的:将[ip-域名]数据embedding成向量, 并使用余弦相似度关联出相似域名。

数据:ip1  domain1/domain2/domain3.......

            ip2 domain1/domain2/domain3.......

            ip3 domain1/domain2/domain3.......

           .....

其中,由于想保证数据的随机性,需要将域名数据随机打乱并生成不同顺序的几组数据。

代码:

import numpy as np
from gensim.models import word2vec
import os
from gensim.models import word2vec
import gensim
import logging
from mypathline import PathLineSentences
import random

def model_train(train_file_name, save_model_file):  # model_file_name为训练语料的路径,save_model为保存模型名
    # 模型训练,生成词向量
    logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
    sentences = PathLineSentences(train_file_name)  # 加载语料
    model = gensim.models.Word2Vec(sentences, vector_size=100)  # 训练skip-gram模型; 默认window=5
    model.save(save_model_file)
    model.wv.save_word2vec_format(save_
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值