问题标签 [annoy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 查询半径 r 内所有点的“Annoy”索引
我可以使用 spotify 的“Annoy”包来查询半径 r 内的点吗
我在他们的 github 页面上的实现中找不到任何相关的函数调用。
我已经使用 Kd-tree 使用查询球点来解决此类问题。但是由于 annoy 更快而且我必须查询数十亿个点,我想知道是否可以使用这个包
python - 了解 gensim.similarities.index 中 AnnoyIndexer 的 most_similar 方法
所以我做了一个 AnnoyIndexer 并运行了一些 most_similar 查询以在 300 维向量空间中找到一些向量的最近邻居。这是它的代码:
我想知道为什么返回的距离值都取自 1 然后除以 2?当然,在这样做之后,最大/最小距离都搞砸了吗?
nearest-neighbor - 文档相似度搜索 - annoy & pysparNN
我正在尝试找到一种解决方案来查找最近或近似最近的文档邻居。
现在我使用 tfidf 作为文档的矢量表示。我的数据非常大(N ~ 百万)。如果我对 tfidf 使用 annoy,我的内存就会用完。我认为这是因为 tfidf 的高维度(我的词汇量约为 2000000 个中文单词)。
然后我用 pysparNN 试了一下,效果很好。然而,我担心的是随着我的数据大小的增长,pysparNN 会构建一个更大的索引,最终它可能不适合 RAM。这是一个问题,因为 pysparNN 不像 annoy 那样使用静态文件。
我想知道寻找文本数据最近邻居的好解决方案是什么。现在我正在研究使用 gensim 的烦恼指数和 doc2ve
gcc - 错误:命令“gcc”失败,退出状态为 1 致命错误:找不到“向量”文件
我运行 pip install annoy 并收到以下错误:
通过阅读其他 stackoverflow 答案,我应该使用 g++ 而不是 gcc 进行编译?我怎么做?
linux - 在 Annoy 库中使用 mmap() 在 Docker 容器之间共享 RAM
我正在使用使用mmap()将一些多 Gb 文件加载到 RAM 内存中的Annoy 库。使用 mmap() 的目的是在内存中只加载一次文件,即使在不同的进程需要它时也是如此。
使用 docker,我计划使用在同一主机上执行相同脚本的多个容器进行扩展。但是多 Gb 文件应该只在 RAM 中加载一次(这就是我们使用 mmap() 的原因),否则我的服务器会爆炸。
多 Gb 文件位于安装在我的容器上的卷中。
但是我仍然需要找到一种在容器之间共享 RAM 的方法,以便获得 mmap() 的优势。
我找到了这篇关于在docker中使用--ipc标签的文章,但我不知道它是否适用于我的案例以及如何实现它。欢迎任何帮助。
nlp - 使用带 Torchtext 的 annoy 进行最近邻搜索
我将 Torchtext 用于一些 NLP 任务,特别是使用内置嵌入。
我希望能够进行逆向量搜索:生成噪声向量,找到最接近它的向量,然后取回最接近噪声向量的单词。
从torchtext docs,这里是如何将嵌入附加到内置数据集:
然后我们可以建立烦恼指数:
然后说我想使用嘈杂的向量检索一个单词:
我的问题来自上面的最后两行: Theann_index
是使用对象构建enumerate
的embedding
,它是一个 Torch 张量。
该[vocab][2]
对象有自己的itos
列表,给定索引返回一个单词。
我的问题是:我可以确定单词出现在 itos 列表中的顺序与 in 中的顺序相同TEXT.vocab.vectors
吗?如何将一个索引映射到另一个索引?
python - 如何使用 Annoy 或其他类似算法将 spacy 向量(词嵌入)聚类成组
我有一个单词列表,我使用 spacy 的预训练模型en_core_web_lg获得了向量嵌入。
我的问题有两个
这些词向量可以输入到 Annoy like 算法中吗?我可以说 20 个组,每个组包含大约 100 个单词吗?
我将不胜感激任何资源/代码。
python - 如何通过 doc2vec 嵌入降低聚类的时间复杂度?
作为 doc2vec 嵌入的一部分,我有一堆 300 维的向量。每个向量都是一篇文章的表示。我的目标是丢弃重复的文章。我正在考虑在我的数据集上运行DBSCAN聚类,然后对于每个聚类标签,丢弃重复项。我选择 DBSCAN 是因为它是分层的,它可以将余弦距离作为度量,我认为这比欧几里德距离更适合文档相似性检测。
问题是,如果我选择余弦距离,那么 sklearn DBSCAN 实现不允许 'ball_tree' 和 'kd_tree' 作为算法,因此我留下了 'brute',我猜它有 O(n^2)对所有向量运行时的复杂性。
如果我不走集群路线,那么我会看到两个选项。most_similar
使用vanilla doc2vec 或通过 annoy index的方法计算所有向量的相似度。根据这个doc vanilla doc2vec 具有相似性查询的线性复杂度,而 annoy 给出亚线性时间复杂度。我想知道,根据我的用例,哪一个是最佳选择?我错过了更好的方法吗?
installation - 使用 pip 安装 annoy 时如何解决错误?
我的系统上有 python 3.8。
我正在尝试使用 pip install annoy 安装 Annoy。
但我收到以下错误:
我怎样才能摆脱这个错误?我试图在网上查看多个相关错误,但似乎没有任何帮助。
python - 使用 pip install package_name 时如何解决“退出状态 1:python setup.py egg_info”错误?
我无法在我的使用环境中使用scann, lshash, annoy
etc安装任何软件包。令人惊讶的是,当我使用 时,它已安装。我收到错误消息:pip install
Windows 10
conda
pip install autocorrect
错误:命令出错,退出状态为 1:命令:'c:\users\admin\anaconda3\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\admin\AppData\Local\Temp\pip-install-btjh444k\lshash_e1892c63618846ad8854e50ef0d165c7\setup.py'"'"'; file ='"'"'C:\Users\admin\AppData\Local\Temp\pip-install-btjh444k\lshash_e1892c63618846ad8854e50ef0d165c7\setup.py'"'"';f=getattr(tokenize, '"'"'open' "'"', open)( file );code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"'); f.close();, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\admin\AppData\Local\Temp\pip-pip-egg-info-n1j15tcy' cwd: C:\ Users\admin\AppData\Local\Temp\pip-install-btjh444k\lshash_e1892c63618846ad8854e50ef0d165c7\ 完整输出(7 行): Traceback(最近一次调用最后一次):文件“”,第 1 行,在文件“C:\Users\admin\AppData\Local\Temp\pip-install-btjh444k\lshash_e1892c63618846ad8854e50ef0d165c7\setup.py”,第 3 行,在导入 lshash 文件“C:\Users\admin\AppData\Local\Temp\pip-install-btjh444k \lshash_e1892c63618846ad8854e50ef0d165c7\lshash_init _.py",第 12 行,从 lshash import LSHash ImportError: cannot import name 'LSHash' from partial initialized module 'lshash'(很可能是由于循环导入)(C:\Users\admin\AppData\Local\临时\pip-install-btjh444k\lshash_e1892c63618846ad8854e50ef0d165c7\ lshash_init_.py) ---------------------------------------- 错误:命令出错退出状态 1:python setup.py egg_info 检查日志以获得完整的命令输出
我也安装了Visual C++ Redistributable for Visual Studio 2015
。我在用Windows 10