一个“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第三方库


热门话题
swing Java在图像和显示方面是否存在任何已知问题   java通过安卓应用程序中的fileinputstream(字符串文件名)访问资产文件夹中的文件   java如何修复Web垃圾值的无限打印?   java正则表达式是否匹配简单的“id”值?   java如何强制JFrame为组件提供一定的空间?   java如何使JHipster“热重载”类   swing mouseover删除java中圆形按钮的透明背景   来自接口实现函数和AsyncTask的java Set类变量   由字符串数组填充的java JComboBox(使用for循环)未出现   java中的多链接组合框   java找不到安卓方法。所容纳之物资源。可提取的。。发生错误   java如何检测字符串中的n个短语或单词   如何使用Java播放wav文件?   java如何使用ObjectContentManager在节点下添加节点?