- 数据挖掘:Web服务(Google、Twitter、Wikipedia)、Web爬虫、HTML DOM解析器
- 自然语言处理:词性标记、n元语法搜索、情感分析、WordNet
- 机器学习:向量空间模型、聚类、分类(KNN、SVM、感知器)
- 网络分析:图形中心性与可视化
它有很好的文档记录,通过350多个单元测试进行了彻底的测试,并附带了50多个示例。源代码是按照BSD授权的
示例
此示例使用Python3对从Twitter挖掘的形容词训练分类器。首先,收集包含#WIN或#FAIL标签的tweet。例如:“20美元今天给一位可爱的小老太太小费#赢了”然后解析词性标签,只保留形容词。每条推文都被转换为向量,即形容词→计数项的字典,标记为WIN
或FAIL
分类器使用向量来学习哪些其他tweet看起来更像WIN
或者更像是FAIL
from pattern.web import Twitter
from pattern.en import tag
from pattern.vector import KNN, count
twitter, knn = Twitter(), KNN()
for i in range(1, 3):
for tweet in twitter.search('#win OR #fail', start=i, count=100):
s = tweet.text.lower()
p = '#win' in s and 'WIN' or 'FAIL'
v = tag(s)
v = [word for word, pos in v if pos == 'JJ'] # JJ = adjective
v = count(v) # {'sweet': 1}
if v:
knn.train(v, type=p)
print(knn.classify('sweet potato burger'))
print(knn.classify('stupid autocorrect'))
安装
模式支持Python2.7和Python3.6。要安装Pattern以使其在您的所有脚本中都可用,请解压缩下载并从命令行执行以下操作:
cd pattern-3.6
python setup.py install
如果您有pip,您可以从PyPI repository:
pip install pattern
如果上述方法都不起作用,您可以通过三种方式使Python了解该模块:
- 将模式文件夹放在与脚本相同的文件夹中
- 将模式文件夹放在模块的标准位置,以便所有脚本都可以使用:
c:\python36\Lib\site-packages\
(Windows)、/Library/Python/3.6/site-packages/
(Mac OS X)、/usr/lib/python3.6/site-packages/
(UNIX)
- 将模块的位置添加到
sys.path
在您的脚本中,在导入之前:
MODULE = '/users/tom/desktop/pattern'
import sys; if MODULE not in sys.path: sys.path.append(MODULE)
from pattern.en import parsetree
文档
有关文档和示例,请参阅user documentation
版本
3.6
许可证
BSD,请参见LICENSE.txt
有关更多详细信息,请参阅
参考文献
De Smedt,T.,Daelemans,W.(2012)。Python的模式。机器学习研究杂志,13,2031-2035
贡献力量
源代码托管在GitHub上,欢迎投稿或捐赠
捆绑的依赖项
Pattern与以下数据集、算法和Python包捆绑在一起:
- 布里尔标记器,Eric Brill
- 用于荷兰语的布里尔标记器、杰伦·格尔岑(Jeroen Geertzen)
- 用于德语的Brill标记器,Gerold Schneider&Martin Volk
- 西班牙语的布里尔标记器,在Wikicorpus上进行培训(Samuel Reese&Gema Boleda等人)
- 法语的布里尔标记器,关于Lefff的培训(Benoüt Sagot&Lionel Clément等人)
- 适用于意大利语的布里尔标记器,从维基词典中挖掘
- 英语复数,Damian Conway
- 西班牙语动词词尾变化,Fred Jehle
- 法语动词词尾变化、鲍勃·萨利塔(Bob Salita)
- Graph JavaScript框架,Aslak Hellesoy&Dave Hoover
- LIBSVM、张志忠、林志仁
- LIBLINEAR、范荣恩等人
- 网络X中心性供稿:Aric Hagberg,Dan Schult&Pieter Swart
- 拼写校正器、彼得·诺维格(Peter Norvig)
确认
作者:
- Tom de Smedt(tom@organisms.be)
- 沃尔特·戴尔曼(Walter Daelemans)(walter.daelemans@ua.ac.be)
投稿人(按时间顺序):
- 弗雷德里克·德·布莱泽
- 杰森·维纳
- 丹尼尔·弗里森
- 杰伦·格尔岑
- 托马斯·克伦贝兹
- 肯·威廉姆斯
- 彼得里斯·埃林斯(Peteris Erins)
- 拉杰什·奈尔
- F·德·斯梅德
- RadimŘehůřek
- 汤姆·洛雷多
- 约翰·德博维斯
- 托马斯·西里奥
- 杰罗德·施耐德
- 马丁·沃尔克
- 塞缪尔·约瑟夫
- 舒班舒·米什拉(Shubhanshu Mishra)
- 罗伯特·埃尔韦尔
- 弗雷德·杰尔
- Antoine Mazières+Fabelier.org
- Rémi de Zoeten+closealert t.nl
- 肯尼思·科赫(Kenneth Koch)
- 延斯·格里沃拉
- 法比奥·马菲亚
- 史蒂文·洛里亚
- 科林·莫尔特(Colin Molter)+tevizz.com
- 彼得·布尔
- 毛里齐奥·桑巴蒂
- 旦福
- 塞尔瓦托·迪·迪奥
- 文森特·范·阿施
- 弗雷德里克·埃尔韦特