跳转到主要内容

将公司、产品等实体转换为向量,以支持使用近似最近邻进行可扩展的记录链接/实体解析。

项目描述

实体嵌入

PyPi version PyPI - Python Version CI Documentation Status Coverage Status License: MIT

实体嵌入允许您将公司、产品等实体转换为向量,以支持使用近似最近邻进行可扩展的记录链接/实体解析。

使用实体嵌入,您可以训练一个深度学习模型将记录转换到N维嵌入空间中的向量。得益于对比损失,这些向量在嵌入空间中组织,使得相似记录靠近,不同记录远离。嵌入记录可以实现每秒每CPU找到数千个候选重复记录对的可扩展ANN搜索。

实体嵌入在多个数据集上实现了约0.99的召回率,对偶实体比率低于100。实体嵌入旨在以精度为代价实现高召回率。因此,这个库适用于实体解析管道的阻塞/索引阶段。可扩展且抗噪声的阻塞过程通常是实体解析管道性能和质量的瓶颈,所以这个库旨在解决这个问题。请注意,在嵌入记录上的ANN搜索返回多个候选对,必须进行过滤以找到最佳匹配对,可能需要使用成对分类器(有关该示例的说明,请参阅此处)。

实体嵌入基于Amazon描述的AutoBlock模型,并且是它的一个特例。

⚠️ 警告:此项目正在积极开发中。

Embedding Space Example

文档

https://entity-embed.readthedocs.io

需求

系统

  • MacOS或Linux(已在最新MacOS和Ubuntu上通过GitHub Actions进行测试)。
  • 实体嵌入可以在功能强大的笔记本电脑上训练和运行。在32 GB RAM、RTX 2070 Mobile(8 GB VRAM)、i7-10750H(12线程)的系统上进行了测试。当批量大小小于32且字段类型较少时,即使只有2 GB的VRAM也可以进行训练和运行。

以及其他,请参阅requirements.txt

安装

pip install entity-embed

对于Conda用户

如果您使用Conda,您必须先安装PyTorch以获得适当的CUDA支持。请在使用pip安装Entity Embed之前,在Conda环境中运行以下命令

conda install pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorch -c conda-forge

示例

运行

pip install -r requirements-examples.txt

然后检查示例Jupyter笔记本

Colab

请参阅notebooks/google-colab/

版本

请参阅CHANGELOG.md

致谢

此项目由开源贡献者Vinta Software维护。

此包是用Cookiecutteraudreyr/cookiecutter-pypackage项目模板创建的。

商业支持

Vinta Software始终在寻找令人兴奋的工作,因此如果您需要任何商业支持,请随时与我们联系:contact@vinta.com.br

参考文献

  • Zhang, W., Wei, H., Sisman, B., Dong, X. L., Faloutsos, C., & Page, D. (2020, January). AutoBlock: A hands-off blocking framework for entity matching. In Proceedings of the 13th International Conference on Web Search and Data Mining (pp. 744-752). (pdf)
  • Dai, X., Yan, X., Zhou, K., Wang, Y., Yang, H., & Cheng, J. (2020, July). Convolutional Embedding for Edit Distance. In Proceedings of the 43rd International ACM SIGIR Conference on Research and Development in Information Retrieval (pp. 599-608). (pdf) (code)

引用

如果您在研究中使用Entity Embed,请考虑引用它。

BibTeX条目

@software{entity-embed,
  title = {{Entity Embed}: Scalable Entity Resolution using Approximate Nearest Neighbors.},
  author = {Juvenal, Flávio and Vieira, Renato},
  url = {https://github.com/vintasoftware/entity-embed},
  version = {0.0.6},
  date = {2021-07-16},
  year = {2021}
}

项目详情


下载文件

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

源代码分发

entity-embed-0.0.6.tar.gz (54.0 kB 查看散列值)

上传时间 源代码

构建分发

entity_embed-0.0.6-py2.py3-none-any.whl (36.0 kB 查看散列值)

上传时间 Python 2 Python 3

由以下提供支持