symspell复合的python实现
sympound的Python项目详细描述
sympound python
这个库是Python中SymSpellCompound算法的一个实现它最初是从rcourivaud/symspellcompound派生的,尽管大部分代码都被重写了。
安装
pip install sympound
文档
如果您想要一个快速完整的示例,请参见example.py。
创建sympound对象
第一步是创建一个sympound
对象,构造函数接受两个主要参数:
distancefun
是一个用于计算两个字符串之间距离的函数它需要两个参数(要比较的两个字符串)。您通常希望使用一个计算Damerau-Levenshtein distance的函数,但是您可以获得更多的创造性,并使用键盘距离。
添加词典
然后可以通过load_dictionary(filename)
函数添加一些字典,通常以文件路径作为参数。字典的格式通常是单词列表(每行一个)或单词和频率列表(用空格分隔)。有关示例,请参见example-dict.txt。
您还可以使用create_dictionary_entry(key, count)
直接添加条目,其中key
是有效字符串,而count
是与之关联的频率。如果数据不是像前面描述的字典那样的简单格式,建议使用此方法。
在这个阶段会发生很多计算,添加大量条目可能很容易需要一分钟以上的时间,因此我们提供了两个函数来将分析的归纳结果保存为pickle:save_pickle(filename)
和load_pickle(filename)
,这两个函数都将文件路径作为参数。注意,腌制的是gzip。
查找
一旦加载了字典,就可以通过调用^ {< CD10>}获得字符串的建议,其中^ {< CD11>}是要分析的字符串,^ {CD12>}是您建议的最大间距。
函数返回一个SuggestItem
s的排序列表,包含三个字段:
term
是建议的固定字符串distance
与原始字符串的距离count
是字典中给定的频率
维护
在PIP上上载:
python setup.py sdist
twine upload dist/*
版权所有
该代码版权所有esukhia,2018,并在MIT License下分发。