隐藏对齐条件随机场,区分字符串编辑距离
pyhacrf-datamade的Python项目详细描述
用于字符串对分类的隐藏对齐条件随机场- 可学习的编辑距离。
该软件包旨在实现hacrf机器学习模型 sklearn-类接口。它包括使模型适合培训的方法 举例和得分新的例子。
该模型将字符串对作为输入,并将其分类为任意数字 班上的。在McCallum的原始论文中,模型被应用于 数据库重复数据消除问题。每个数据库条目都与 然后,每一个条目和模型都会对这对是否是 “匹配”或“不匹配”,基于匹配和 不匹配。
我还尝试使用它作为规范化的可学习字符串编辑距离。 嘈杂的文字。请参阅a条件随机场,用于区分训练 McCallum、Bellare和Pereira编写的有限状态字符串编辑距离, 以及报告用于噪声文本规范化的条件随机字段 作者:Dirko Coetsee。
示例
frompyhacrfimportStringPairFeatureExtractor,Hacrftraining_X=[('helloooo','hello'),# Matching examples('h0me','home'),('krazii','crazy'),('non matching string example','no really'),# Non-matching examples('and another one','yep')]training_y=['match','match','match','non-match','non-match']# Extract featuresfeature_extractor=StringPairFeatureExtractor(match=True,numeric=True)training_X_extracted=feature_extractor.fit_transform(training_X)# Train modelmodel=Hacrf(l2_regularization=1.0)model.fit(training_X_extracted,training_y)# Evaluatefromsklearn.metricsimportconfusion_matrixpredictions=model.predict(training_X_extracted)print(confusion_matrix(training_y,predictions))>[[03]>[20]]print(model.predict_proba(training_X_extracted))>[[0.949148120.05085188]>[0.923977110.07602289]>[0.867560340.13243966]>[0.054388120.94561188]>[0.026412750.97358725]]
依赖关系
这个包依赖于numpy。pylbfgs中的lbfgs优化器是 已使用,但可以传递其他优化器。
安装
通过运行安装:
python setup.py install
或者来自pypi:
pip install pyhacrf
开发
从存储库克隆,然后
pip install -r requirements.txt cython pyhacrf/*.pyx python setup.py install
要部署到pypi,请确保已将*.pyx文件编译到*.c