Pattern 是 Python 的网络挖掘模块。它具有以下工具:
数据挖掘:网络服务(Google、Twitter、维基百科)、网络爬虫、HTML DOM 解析器
自然语言处理:词性标注器、n-gram 搜索、情感分析、WordNet
机器学习:向量空间模型、聚类、分类(KNN、SVM、感知器)
网络分析:图中心性和可视化。
它有完善的文档记录,经过 350 多个单元测试的彻底测试,并捆绑了 50 多个示例。源代码已获得 BSD 许可。
此示例使用 Python 3 根据从 Twitter 中挖掘的形容词训练分类器。首先,收集包含主题标签 #win 或 #fail 的推文。例如: “今天给一位可爱的小老太太 20 美元的小费#win” 。然后解析单词的词性标签,仅保留形容词。每条推文都被转换为一个向量,一个形容词字典 → 计数项目,标记为WIN
或FAIL
。分类器使用向量来了解哪些其他推文看起来更像WIN
或更像FAIL
。
frompattern.web import Twitterfrompattern.en import tagfrompattern.vector import KNN, counttwitter, knn = Twitter(), KNN()for i in range(1, 3):for tweet in twitter.search('#win OR # failed', start=i, count=100):s = tweet.text.lower()p = s 中的 '#win' 和 'WIN' 或 'FAIL'v = tag(s)v = [逐字逐句, pos in v if pos == 'JJ'] # JJ = adjectivev = count(v) # {'sweet': 1}if v:knn.train(v, type=p)print(knn.classify('红薯)汉堡'))print(knn.classify('愚蠢的自动更正'))
模式支持Python 2.7和Python 3.6。要安装 Pattern 以便它在所有脚本中可用,请解压缩下载并从命令行执行以下操作:
cd模式-3.6 python setup.py 安装
如果您有 pip,则可以从 PyPI 存储库自动下载并安装:
点安装模式
如果以上方法都不起作用,您可以通过三种方式让 Python 识别该模块:
将模式文件夹放在与脚本相同的文件夹中。
将模式文件夹放在模块的标准位置,以便所有脚本都可以使用它:
c:python36Libsite-packages
(Windows),
/Library/Python/3.6/site-packages/
(Mac OS X),
/usr/lib/python3.6/site-packages/
(Unix)。
在导入之前,将模块的位置添加到脚本中的sys.path
中:
模块 = '/users/tom/desktop/pattern'导入 sys;如果 MODULE 不在 sys.path 中: sys.path.append(MODULE)from pattern.en import parsetree
有关文档和示例,请参阅用户文档。
3.6
BSD ,请参阅LICENSE.txt
了解更多详细信息。
德·斯梅特 (De Smedt),T.,戴勒曼斯 (Daelemans),W. (2012)。 Python 的模式。机器学习研究杂志, 13,2031-2035。
源代码托管在 GitHub 上,欢迎贡献或捐赠。
Pattern 与以下数据集、算法和 Python 包捆绑在一起:
布里尔标记者埃里克·布里尔
荷兰语的布里尔标记者,Jeroen Geertzen
德语 Brill 标注器、Gerold Schneider 和 Martin Volk
Brill 西班牙语标记器,在 Wikicorpus 上接受培训(Samuel Reese 和 Gemma Boleda 等人)
法语 Brill 标记者,受 Lefff 训练(Benoît Sagot 和 Lionel Clément 等人)
意大利语的 Brill 标记器,从维基词典中挖掘
英语复数化,达米安·康威
西班牙语动词变形,Fred Jehle
法语动词变形,Bob Salita
图形 JavaScript 框架,Aslak Hellesoy 和 Dave Hoover
LIBSVM ,张志忠和林志仁
LIBLINEAR ,范荣恩等人。
NetworkX 中心性、Aric Hagberg、Dan Schult 和 Pieter Swart
拼写纠正器,彼得·诺维格
作者:
汤姆·德·斯梅特 ([email protected])
沃尔特·戴勒曼斯 ([email protected])
贡献者(按时间顺序):
弗雷德里克·德·布莱塞尔
贾森·维纳
丹尼尔·弗里森
杰伦·吉尔岑
托马斯·克罗姆兹
肯·威廉姆斯
彼得里斯·艾琳斯
拉杰什·奈尔
F·德·斯梅特
拉迪姆·热热热克
汤姆·洛雷多
约翰·德博维斯
托马斯·西莱奥
格罗德·施奈德
马丁·沃尔克
塞缪尔·约瑟夫
舒班舒·米什拉
罗伯特·埃尔韦尔
弗莱德·杰勒
安托万·马齐埃 + fabelier.org
Rémi de Zoeten + closealert.nl
肯尼思·科赫
延斯·格里沃拉
法比奥·马尔菲亚
史蒂文·洛里亚
科林·莫尔特 + tevizz.com
彼得·布尔
毛里齐奥·桑巴蒂
丹芙
萨尔瓦多·迪·迪奥
文森特·范·阿什
弗雷德里克·埃尔沃特