用于语义字符串相似性的cli

simil的Python项目详细描述


语义字符串相似性cli

simil^{}字符串相似性引擎的cli接口。它使用en_vectors_web_lg数据集比较字符串的英语语义相似性。给定两个单词、短语或句子,simil将告诉您它们的含义有多相似

安装

首先安装simil本身:

$ pip3 install --user -U simil

现在安装spacy的一个web矢量模型:

$ python3 -m spacy download en_vectors_web_lg

您可以在en_vectors_web_lgen_core_web_lgen_core_web_md之间进行选择,(en_core_web_sm根本不包括字向量,并且不能与simil一起使用。)simil将使用您安装的最大模型,首选vectors模型而不是core模型。

我建议使用大向量模型(en_vectors_web_lg),但为了节省磁盘空间或内存使用,您可能需要使用较小的模型

用法:

$ sim first_file.txt second_file.txt # compare two files
$ sim -s "first string""second string"# compare two strings

输出是一个介于0和1之间的数字,表示这两个字符串的相似程度。

详细信息:

simil使用spacy用^{}训练的词向量模型,例如^{}

这可能是一个大数据集,这会导致启动时间过长。因此simil在后台剥离一个进程来保存模型,并在客户机-服务器模型下使用它。这意味着,如果连续运行simil多次,则只有第一次运行比较慢。

这个后台进程确实占用了相当多的内存,通常大约2GB(对于en_vectors_web_lg模型)。不活动10分钟后,它将自动被终止,以避免无限期占用内存。您可以使用--timeout标志更改此超时的长度。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将Map<String,String>传递给需要Map<String,Object>   java在循环中使用字符串而不是StringBuilder是否会造成内存损失?   jnlp如何更新java控制台JRE?   java更改、修改和重新打包CXFAPI源文件   JavaFXJava应用程序在Fedora上运行一段时间后关闭   使用来自不同类的方法的java   java如何通过ant脚本在linux中使用subst?   java在使用camunda modeler进行base64编码/解码时出错   获取java。netbeans、weblogic和fastswap设置为true时的lang.NoSuchMethodError   java如何提高FinalizerThread在GC中收集对象的优先级   java检测具有相同根的单词   netbeans crud应用程序中的java错误