整体框架
主要嵌入模型来自于github, 计算词向量使用Faiss。部署为微服务接口可以使用各种web框架,如flask, django, fastapi等。
读取模型
此项目提供了非常多的预训练模型,读相应的论文 Shen Li, Zhe Zhao, Renfen Hu, Wensi Li, Tao Liu, Xiaoyong Du, Analogical Reasoning on Chinese Morphological and Semantic Relations, ACL 2018. 可知,主要分为SGNS(稠密向量), PPMI(稀疏向量), 要计算词向量之间的相似度,我们选择SGNS模型。
有不同语料*分词方法,根据论文可知,使用综合语料+Word+Character+Ngram训练的模型,在相应的评价指标Word Similarity和Word Analogy上评分最高,故使用此模型。
根据项目的issues可知,模型是bz2的压缩包,里面是纯文本,数据如下:
字/词的个数 300维向量
字/词1 具体的向量......
字/词2 具体的向量......
......
读取代码
def read_model(path: str) ->