一个“set”子类,提供基于n-图的模糊搜索。

ngram的Python项目详细描述


ngram类以高效的方式扩展python“set”类 利用n-gram相似度对成员进行模糊搜索。 它还有静态方法来比较一对字符串。

n-grams是基于字符的,而不是基于单词的,类也不是 实现一个语言模型,只需通过字符串相似度搜索成员。

documentationtutorialrelease notes位于 PYPI包文档站点。请使用GitHub issue tracker 报告问题。

安装

使用pip installer

pip install ngram

它应该在Python2.6、Python2.7和Python3.2上运行

它是如何工作的?

集合存储任意项,但对于非字符串项a函数 (例如str)必须指定才能提供字符串表示。钥匙 该功能还可用于在 n元索引。

若要索引字符串,它会用指定的伪字符填充字符串,然后 将其拆分为长度为n(默认n=3)个字符的重叠子字符串 并将每个n-gram与使用它的项相关联。

为了查找类似于查询字符串的项,它将查询拆分为n个grams, 收集与查询共享至少一个n-gram的所有项, 并根据共享与非共享的比率按分数对项目进行排序 字符串之间有N个g。

历史记录

2007年,Michel Albert(Exhuma)基于Perl的 String::Trigram模块由tarek ahmed编写,并将2.0.0b2的代码提交给 现在被废弃的Sourceforgesubversion repo。

自2008年底以来,graham poulter一直维护python ngram,最初是重构的。 它要建立在集合类的基础上,还要添加特性、文档、测试, 性能改进和python 3支持。

最初的开发是在GitHub上进行的,但也会推动更改 到Google Code上的早期回购协议。

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

推荐PyPI第三方库


热门话题
java获取范围内的素数和总素数   JAVAlang.IllegalArgumentException:找不到无效的URL或资源。JavaFX图像   java我可以在vaadin中直接流式处理ZipFile吗?   apache poi java poi HSSFsheet如何添加包含图片的页眉和页脚?   java如何在swing中使用GridLayout使列大小不同?   java为什么JPasswordField中的getText()被弃用?   java整数对象是如何创建的?   java在JAAS的策略文件中授予URL权限   linux Openssl(shell脚本)相当于java解密代码   java是无服务器的,结合事件源是可能的吗?   java JPA双向Uknown列   javajavax。加密。IllegalBlockSizeException:解密加密的AES字符串时最后一个块未完成   java如何知道我的ProcessBuilder start()是否成功执行了这些命令   本地特定错误消息中的java插值   java控件SFX通知异常   java文本输入if语句JavaFX   swing java未连接到水平组   java泛型,迭代器>无法访问内部类函数   java如何跳过当前页并写入下一页?   java一次导入许多静态字符串