我的用例:我从用户那里获取输入(一个句子),并且需要从我的存储库文件中找到类似的句子。我将返回三个最匹配的句子给用户。
到目前为止,我已经用 python 编写了基于规则的逻辑,并且它对于词法匹配工作得很好。
我正在尝试通过语义匹配来改进逻辑,具体是软余弦。
我计划使用如下代码:https://stackoverflow.com/a/65813988/11049287
我的问题是我是否必须执行以下下载语句
api.load('glove-wiki-gigaword-300'))
每次我执行代码或任何其他解决方法? 可以保存文件吗?
您可以下载一次模型:
api.load("glove-wiki-gigaword-300", return_path=True)
输出将是模型的本地路径。 像这样的东西:
>>> /home/user/gensim-data/glove-wiki-gigaword-300/glove-wiki-gigaword-300.gz
然后:
from gensim.models import KeyedVectors
model = KeyedVectors.load_word2vec_format(localpath, binary=False)