Perpustakaan Python NLP resmi Stanford NLP Group. Ini berisi dukungan untuk menjalankan berbagai alat pemrosesan bahasa alami yang akurat pada 60+ bahasa dan untuk mengakses perangkat lunak Java Stanford CoreNLP dari Python. Untuk informasi lebih lengkap silahkan kunjungi website resmi kami.
Koleksi baru paket model bahasa Inggris biomedis dan klinis kini tersedia, menawarkan pengalaman sempurna untuk analisis sintaksis dan pengenalan entitas bernama (NER) dari teks literatur biomedis dan catatan klinis. Untuk informasi lebih lanjut, lihat halaman dokumentasi model biomedis kami.
Jika Anda menggunakan perpustakaan ini dalam penelitian Anda, harap mengutip makalah demo sistem ACL2020 Stanza kami:
@inproceedings { qi2020stanza ,
title = { Stanza: A {Python} Natural Language Processing Toolkit for Many Human Languages } ,
author = { Qi, Peng and Zhang, Yuhao and Zhang, Yuhui and Bolton, Jason and Manning, Christopher D. } ,
booktitle = " Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics: System Demonstrations " ,
year = { 2020 }
}
Jika Anda menggunakan model biomedis dan klinis kami, harap kutip juga makalah deskripsi Model Biomedis Stanza kami:
@article { zhang2021biomedical ,
author = { Zhang, Yuhao and Zhang, Yuhui and Qi, Peng and Manning, Christopher D and Langlotz, Curtis P } ,
title = { Biomedical and clinical {E}nglish model packages for the {S}tanza {P}ython {NLP} library } ,
journal = { Journal of the American Medical Informatics Association } ,
year = { 2021 } ,
month = { 06 } ,
issn = { 1527-974X }
}
Implementasi PyTorch dari neural pipeline dalam repositori ini dilakukan oleh Peng Qi (@qipeng), Yuhao Zhang (@yuhaozhang), dan Yuhui Zhang (@yuhui-zh15), dengan bantuan dari Jason Bolton (@j38), Tim Dozat ( @tdozat) dan John Bauer (@AngledLuffa). Pemeliharaan repo ini saat ini dipimpin oleh John Bauer.
Jika Anda menggunakan perangkat lunak CoreNLP melalui Stanza, harap mengutip paket perangkat lunak CoreNLP dan masing-masing modul seperti yang dijelaskan di sini ("Mengutip Stanford CoreNLP dalam makalah"). Klien CoreNLP sebagian besar ditulis oleh Arun Chaganty, dan Jason Bolton mempelopori penggabungan kedua proyek tersebut.
Jika Anda menggunakan bagian Semgrex atau Ssurgeon dari CoreNLP, silakan kutip makalah GURT kami tentang Semgrex dan Ssurgeon:
@inproceedings { bauer-etal-2023-semgrex ,
title = " Semgrex and Ssurgeon, Searching and Manipulating Dependency Graphs " ,
author = " Bauer, John and
Kiddon, Chlo{'e} and
Yeh, Eric and
Shan, Alex and
D. Manning, Christopher " ,
booktitle = " Proceedings of the 21st International Workshop on Treebanks and Linguistic Theories (TLT, GURT/SyntaxFest 2023) " ,
month = mar,
year = " 2023 " ,
address = " Washington, D.C. " ,
publisher = " Association for Computational Linguistics " ,
url = " https://aclanthology.org/2023.tlt-1.7 " ,
pages = " 67--73 " ,
abstract = " Searching dependency graphs and manipulating them can be a time consuming and challenging task to get right. We document Semgrex, a system for searching dependency graphs, and introduce Ssurgeon, a system for manipulating the output of Semgrex. The compact language used by these systems allows for easy command line or API processing of dependencies. Additionally, integration with publicly released toolkits in Java and Python allows for searching text relations and attributes over natural text. " ,
}
Untuk mengajukan pertanyaan, melaporkan masalah, atau meminta fitur?, silakan gunakan GitHub Issue Tracker. Sebelum membuat masalah baru, pastikan untuk mencari masalah yang ada yang mungkin menyelesaikan masalah Anda, atau kunjungi halaman Pertanyaan Umum (FAQ) di situs web kami.
Kami menyambut kontribusi komunitas pada Stanza dalam bentuk perbaikan bug dan penyempurnaan! Jika Anda ingin berkontribusi, harap baca terlebih dahulu pedoman kontribusi kami.
Stanza mendukung Python 3.6 atau lebih baru. Kami menyarankan Anda menginstal Stanza melalui pip, manajer paket Python. Untuk menginstal, cukup jalankan:
pip install stanza
Ini juga akan membantu menyelesaikan semua dependensi Stanza, misalnya PyTorch 1.3.0 atau lebih tinggi.
Jika saat ini Anda menginstal stanza
versi sebelumnya, gunakan:
pip install stanza -U
Untuk menginstal Stanza melalui Anaconda, gunakan perintah conda berikut:
conda install -c stanfordnlp stanza
Perhatikan bahwa untuk saat ini menginstal Stanza melalui Anaconda tidak berfungsi untuk Python 3.10. Untuk Python 3.10 silakan gunakan instalasi pip.
Alternatifnya, Anda juga dapat menginstal dari sumber repositori git ini, yang akan memberi Anda lebih banyak fleksibilitas dalam mengembangkan di atas Stanza. Untuk opsi ini, jalankan
git clone https://github.com/stanfordnlp/stanza.git
cd stanza
pip install -e .
Untuk menjalankan pipeline Stanza pertama Anda, cukup ikuti langkah-langkah berikut di interpreter interaktif Python Anda:
> >> import stanza
> >> stanza . download ( 'en' ) # This downloads the English models for the neural pipeline
> >> nlp = stanza . Pipeline ( 'en' ) # This sets up a default neural pipeline in English
> >> doc = nlp ( "Barack Obama was born in Hawaii. He was elected president in 2008." )
> >> doc . sentences [ 0 ]. print_dependencies ()
Jika Anda menemukan requests.exceptions.ConnectionError
, coba gunakan proxy:
> >> import stanza
> >> proxies = { 'http' : 'http://ip:port' , 'https' : 'http://ip:port' }
> >> stanza . download ( 'en' , proxies = proxies ) # This downloads the English models for the neural pipeline
> >> nlp = stanza . Pipeline ( 'en' ) # This sets up a default neural pipeline in English
> >> doc = nlp ( "Barack Obama was born in Hawaii. He was elected president in 2008." )
> >> doc . sentences [ 0 ]. print_dependencies ()
Perintah terakhir akan mencetak kata-kata dalam kalimat pertama dalam string input (atau Document
, seperti yang diwakili dalam Stanza), serta indeks untuk kata yang mengaturnya dalam penguraian Ketergantungan Universal pada kalimat itu ("" head"), beserta hubungan ketergantungan antar kata. Outputnya akan terlihat seperti:
('Barack', '4', 'nsubj:pass')
('Obama', '1', 'flat')
('was', '4', 'aux:pass')
('born', '0', 'root')
('in', '6', 'case')
('Hawaii', '4', 'obl')
('.', '4', 'punct')
Lihat panduan memulai kami untuk lebih jelasnya.
Selain neural pipeline, paket ini juga menyertakan wrapper resmi untuk mengakses perangkat lunak Java Stanford CoreNLP dengan kode Python.
Ada beberapa langkah pengaturan awal.
CORENLP_HOME
(misalnya, di *nix): export CORENLP_HOME=/path/to/stanford-corenlp-4.5.3
Kami memberikan contoh komprehensif dalam dokumentasi kami yang menunjukkan bagaimana seseorang dapat menggunakan CoreNLP melalui Stanza dan mengekstrak berbagai anotasi darinya.
Untuk memulai, kami juga menyediakan notebook Jupyter interaktif di folder demo
. Anda juga dapat membuka buku catatan ini dan menjalankannya secara interaktif di Google Colab. Untuk melihat semua buku catatan yang tersedia, ikuti langkah-langkah berikut:
File
-> Open notebook
, dan pilih GitHub
di menu pop-upstanfordnlp/stanza
di bilah pencarian, dan klik enterSaat ini kami menyediakan model untuk semua treebank Universal Dependencies v2.8, serta model NER untuk beberapa bahasa yang digunakan secara luas. Anda dapat menemukan petunjuk untuk mengunduh dan menggunakan model ini di sini.
Untuk memaksimalkan performa kecepatan, penting untuk menjalankan pipeline pada kumpulan dokumen. Menjalankan perulangan for pada satu kalimat dalam satu waktu akan sangat lambat. Pendekatan terbaik saat ini adalah menggabungkan dokumen bersama-sama, dengan masing-masing dokumen dipisahkan oleh baris kosong (yaitu, dua baris baru nn
). Tokenizer akan mengenali baris kosong sebagai kalimat terputus. Kami secara aktif berupaya meningkatkan pemrosesan multi-dokumen.
Semua modul saraf di perpustakaan ini dapat dilatih dengan data Anda sendiri. Tokenizer, multi-word token (MWT) expander, penanda POS/fitur morfologi, lemmatizer, dan pengurai ketergantungan memerlukan data berformat CoNLL-U, sedangkan model NER memerlukan format BIOES. Saat ini, kami tidak mendukung pelatihan model melalui antarmuka Pipeline
. Oleh karena itu, untuk melatih model Anda sendiri, Anda perlu mengkloning repositori git ini dan menjalankan pelatihan dari sumbernya.
Untuk panduan langkah demi langkah yang mendetail tentang cara melatih dan mengevaluasi model Anda sendiri, silakan kunjungi dokumentasi pelatihan kami.
Stanza dirilis di bawah Lisensi Apache, Versi 2.0. Lihat file LISENSI untuk lebih jelasnya.