linux python使用 near-synonym 同义词

near-synonym, 中文反义词/近义词(antonym/synonym)工具包.

1、安装包以及相关依赖

python版本是有要求?
(huggingface_hub 在 Python 3.8+ 上经过测试,
见https://huggingface.co/docs/huggingface_hub/installation)

conda create -n py39_syn python=3.9
conda activate py39_syn

pip install --no-dependencies near-synonym(near-synonym-0.1.0-- 不带依赖安装, 之后缺什么包再补充什么
pip install onnxruntime( onnxruntime-1.16.3 )
pip install smart_open (smart_open-7.0.5,不能pip install smart_open==4.2.0)
pip install annoy==1.17.3
pip install huggingface-hub==0.20.3
pip install numpy==1.21.6

pip install ipykernel
python -m ipykernel install --user --name=py39_syn

其他包:
pip install jieba(jieba-0.42.1)

所需包参考hmh、https://github.com/yongzhuo/near-synonym/blob/master/requirements-all.txt

onnxruntime CPU和GPU版,只能安装一个,这里安装的是cpu版本的,如果想安装gpu版本的,参考:https://blog.csdn.net/gdxb666/article/details/127575947

pip install numpy==1.21.6 pandas
这个命令会尝试安装 NumPy 1.21.6 和一个与之兼容的最新 Pandas 版本。Pip 将自动解决兼容性问题,并选择适应选定 NumPy 版本的 Pandas 版本。

2、使用与了解:
https://pypi.org/project/near-synonym/

技术详情???
near-synonym, 中文反义词/近义词工具包.

流程: Word2vec -> ANN -> NLI -> Length

Word2vec, 词向量, 使用skip-ngram的词向量;
ANN, 近邻搜索, 使用annoy检索召回;—近似最近邻搜索(ANN)领域,有很多开源的算法可以使用;
NLI, 自然语言推断, 使用Roformer-sim的v2版本, 区分反义词/近义词;
Length, 惩罚项, 词语的文本长度惩罚;

@misc{Macropodus,

howpublished = {https://github.com/yongzhuo/near-synonym},

title = {near-synonym},


author = {Yongzhuo Mo},


publisher = {GitHub},


year = {2024}
}

3、相关知识
在近似最近邻搜索(ANN)领域,有很多开源的算法可以使用,包括但不限于:

Annoy(Approximate Nearest Neighbors Oh Yeah);
ScaNN(Scalable Nearest Neighbors);
Faiss(Billion-scale similarity search with GPUs);
Hnswlib(fast approximate nearest neighbor search)

annoy
annoy构建索引:建立多颗二叉树,每颗二叉树都是随机切分的;
annoy查询方法:

  1. 将每一颗树的根节点插入优先队列;
  2. 搜索优先队列中的每一颗二叉树,每一颗二叉树都可以得到最多 Top K 的候选集;
  3. 删除重复的候选集;
  4. 计算候选集与查询点的相似度或者距离;
  5. 返回 Top K 的集合。

参考:https://zr9558.com/2022/01/04/annoy/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值