Pattern adalah modul penambangan web untuk Python. Ini memiliki alat untuk:
Penambangan Data: layanan web (Google, Twitter, Wikipedia), perayap web, parser HTML DOM
Pemrosesan Bahasa Alami: penanda part-of-speech, pencarian n-gram, analisis sentimen, WordNet
Pembelajaran Mesin: model ruang vektor, pengelompokan, klasifikasi (KNN, SVM, Perceptron)
Analisis Jaringan: sentralitas grafik dan visualisasi.
Ini didokumentasikan dengan baik, diuji secara menyeluruh dengan 350+ unit test dan dilengkapi dengan 50+ contoh. Kode sumber dilisensikan di bawah BSD.
Contoh ini melatih pengklasifikasi kata sifat yang diperoleh dari Twitter menggunakan Python 3. Pertama, tweet yang berisi hashtag #win atau #fail dikumpulkan. Misalnya: "Tip $20 untuk seorang wanita tua kecil yang manis hari ini #menang" . Tag part-of-speech kata kemudian diurai, hanya menyisakan kata sifat. Setiap tweet diubah menjadi vektor, kamus kata sifat → item hitungan, diberi label WIN
atau FAIL
. Pengklasifikasi menggunakan vektor untuk mempelajari tweet mana yang lebih mirip WIN
atau FAIL
.
dari pattern.web import Twitterfrom pattern.en import tagfrom pattern.vector import KNN, counttwitter, knn = Twitter(), KNN()untuk saya dalam rentang(1, 3):untuk tweet di twitter.search('#win OR # gagal', mulai=i, hitung=100):s = tweet.text.lower()p = '#win' di s dan 'WIN' atau 'FAIL'v = tag(s)v = [kata demi kata, pos di v jika pos == 'JJ'] # JJ = kata sifatv = count(v) # {'sweet': 1}if v:knn.train(v, type=p)print(knn.classify('sweet potato burger'))print (knn.classify('koreksi otomatis bodoh'))
Pola mendukung Python 2.7 dan Python 3.6. Untuk menginstal Pattern agar tersedia di semua skrip Anda, unzip unduhan dan dari baris perintah lakukan:
pola cd-3.6 setup python.py instal
Jika Anda memiliki pip, Anda dapat mengunduh dan menginstal secara otomatis dari repositori PyPI:
pola pemasangan pip
Jika tidak ada cara di atas yang berhasil, Anda dapat membuat Python mengetahui modul ini dengan tiga cara:
Letakkan folder pola di folder yang sama dengan skrip Anda.
Letakkan folder pola di lokasi standar untuk modul sehingga tersedia untuk semua skrip:
c:python36Libsite-packages
(Windows),
/Library/Python/3.6/site-packages/
(Mac OS X),
/usr/lib/python3.6/site-packages/
(Unix).
Tambahkan lokasi modul ke sys.path
di skrip Anda, sebelum mengimpornya:
MODUL = '/users/tom/desktop/pattern'import sys; jika MODUL tidak ada di sys.path: sys.path.append(MODULE)from pattern.en import parsetree
Untuk dokumentasi dan contoh lihat dokumentasi pengguna.
3.6
BSD , lihat LICENSE.txt
untuk rincian lebih lanjut.
De Smedt, T., Daelemans, W. (2012). Pola untuk Python. Jurnal Penelitian Pembelajaran Mesin, 13 , 2031–2035.
Kode sumber dihosting di GitHub dan kontribusi atau donasi diterima.
Pola dibundel dengan kumpulan data, algoritme, dan paket Python berikut:
Penanda Brill , Eric Brill
Brill tagger untuk orang Belanda , Jeroen Geertzen
Penanda brill untuk Jerman , Gerold Schneider & Martin Volk
Brill tagger untuk bahasa Spanyol , dilatih di Wikicorpus (Samuel Reese & Gemma Boleda dkk.)
Brill tagger untuk bahasa Prancis , dilatih di Lefff (Benoît Sagot & Lionel Clément dkk.)
Brill tagger untuk bahasa Italia , diambil dari Wiktionary
Pluralisasi bahasa Inggris , Damian Conway
Infleksi kata kerja bahasa Spanyol , Fred Jehle
Infleksi kata kerja Perancis , Bob Salita
Kerangka grafik JavaScript , Aslak Hellesoy & Dave Hoover
LIBSVM , Chih-Chung Chang & Chih-Jen Lin
LIBLINEAR , Rong-En Fan dkk.
Sentralitas NetworkX , Aric Hagberg, Dan Schult & Pieter Swart
korektor ejaan , Peter Norvig
Penulis:
Tom De Smedt ([email protected])
Walter Daelemans ([email protected])
Kontributor (kronologis):
Frederik De Bleser
Jason Wiener
Daniel Friesen
Jeroen Geertzen
Thomas Crombez
Ken Williams
Peteris Erins
Rajesh Nair
F.De Smedt
Radim Řehůřek
Tom Loredo
John DeBovis
Thomas Sileo
Gerold Schneider
Martin Volk
Samuel Yusuf
Shubhanshu Mishra
Robert Elwell
Fred Jehle
Antoine Mazières + fabelier.org
Rémi de Zoeten + closealert.nl
Kenneth Koch
Jens Grivolla
Fabio Marfia
Steven Loria
Colin Molter + tevizz.com
Peter Banteng
Maurizio Sambati
Dan Fu
Salvatore Di Dio
Vincent Van Asch
Frederik Elwert