Pattern 是 Python 的網路挖掘模組。它具有以下工具:
資料探勘:網路服務(Google、Twitter、維基百科)、網路爬蟲、HTML DOM 解析器
自然語言處理:詞性標註器、n-gram 搜尋、情緒分析、WordNet
機器學習:向量空間模型、聚類、分類(KNN、SVM、感知器)
網路分析:圖中心性和視覺化。
它有完善的文檔記錄,經過 350 多個單元測試的徹底測試,並捆綁了 50 多個範例。原始碼已獲得 BSD 許可。
此範例使用 Python 3 根據從 Twitter 中挖掘的形容詞訓練分類器。例如: “今天給一位可愛的小老太太 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
彼得·布爾
模裡齊奧·桑巴蒂
丹芙
薩爾瓦多·迪·迪奧
文森特·範·阿什
弗雷德里克·埃爾沃特