Skip to main content

基于嵌入的项目最近邻域提取

项目描述

深邻


标识

用于 ANN 搜索和推荐的基于嵌入的检索!
查看演示 · 报告错误 · 请求功能

Python 版本 PyPI 版本 执照 GitHub 存储库大小 开源? 是的!

下载 GitHub 问题 维护 问我什么! 用蟒蛇制作


DeepNeighbor 是一个高级灵活可扩展的包,用于从用户项目交互日志中进行基于嵌入的信息检索。顾名思义,“deep”表示获取用户/项目嵌入的深度学习模型,而“neighbor”表示嵌入空间中的近似最近邻搜索。
它主要有两部分:嵌入步骤和搜索步骤,通过以下代码:

model = Embed(data_path); model.train(),为用户和项目(Deep)生成嵌入,
model.search()为种子用户/项目(Neighbor)寻找近似最近邻居。

安装

pip install deepneighbor

如何使用

from deepneighbor import Embed

model = Embed(data,model='gat')
model.train()
model.search(seed = 'Louis', k=10)

输入格式

Embed()的输入数据应该是一个(*.csv 或 *.txt)文件路径(例如,'\data\data.csv'),按顺序包含两列:'user' 和 'item'。对于每个用户,建议按时间订购商品。

Embed() 中的模型和参数

  • Word2Vecw2v
  • 因式分解机fm
  • 深度语义相似性模型
  • 三重损失的连体网络
  • 深步道
  • 图卷积网络
  • 神经图协同过滤算法ngcf
  • 矩阵分解mf
  • 图注意力网络 gat

模型参数

深度步行

model = Embed(data, model = 'deepwalk')
model.train(window_size=5,
            workers=1,
            iter=1
            dimensions=128)
  • window_size跳过克窗口大小。
  • workers使用这些工作线程来训练模型(=使用多核机器进行更快的训练)。
  • iter语料库上的迭代次数(时期)。
  • dimensions节点嵌入的维度

图注意力网络

model = Embed(data, model = 'gat')
model.train(window_size=5,
            learning_rate=0.01,
            epochs = 10,
            dimensions = 128,
            num_of_walks=80,
            beta=0.5,
            gamma=0.5,)
  • window_size跳过克窗口大小。
  • learning_rate优化图注意力网络的学习率
  • epochs梯度下降迭代次数。
  • dimensions每个节点(用户/项目)的嵌入维度
  • num_of_walks随机游走的次数。
  • betagamma正则化参数。

如何搜索

model.search(seed, k)

  • seed算法驱动
  • k最近邻居的数量。

例子

打开Colab以使用 facebook 数据运行示例。

接触

请联系louiswang524@gmail.com进行合作或提供反馈。

执照

该项目采用 MIT 许可协议,详情请参见此处

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

deepneighbor-0.3.1.tar.gz (11.7 kB 查看哈希

已上传 source

内置分布

deepneighbor-0.3.1-py3-none-any.whl (14.9 kB 查看哈希

已上传 py3