مكتبة Python NLP الرسمية لمجموعة Stanford NLP. يحتوي على دعم لتشغيل العديد من أدوات معالجة اللغات الطبيعية الدقيقة على أكثر من 60 لغة وللوصول إلى برنامج Java Stanford CoreNLP من Python. للحصول على معلومات مفصلة يرجى زيارة موقعنا الرسمي.
تتوفر الآن مجموعة جديدة من حزم نماذج اللغة الإنجليزية الطبية الحيوية والسريرية ، مما يوفر تجربة سلسة للتحليل النحوي والتعرف على الكيانات المسماة (NER) من نصوص المؤلفات الطبية الحيوية والملاحظات السريرية. لمزيد من المعلومات، راجع صفحة وثائق النماذج الطبية الحيوية لدينا.
إذا كنت تستخدم هذه المكتبة في بحثك، فيرجى التكرم بالاستشهاد بالورقة التجريبية لنظام ACL2020 Stanza:
@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 }
}
إذا كنت تستخدم نماذجنا الطبية الحيوية والسريرية، فيرجى أيضًا الاستشهاد بورقة وصف نماذج Stanza الطبية الحيوية الخاصة بنا:
@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 }
}
يرجع الفضل في تنفيذ PyTorch لخط الأنابيب العصبي في هذا المستودع إلى Peng Qi (@qipeng)، وYuhao Zhang (@yuhaozhang)، وYuhui Zhang (@yuhui-zh15)، بمساعدة جيسون بولتون (@j38)، وتيم دوزات (@ @tdozat) وجون باور (@AngledLuffa). يتولى صيانة هذا الريبو حاليًا جون باور.
إذا كنت تستخدم برنامج CoreNLP من خلال Stanza، فيرجى الاستشهاد بحزمة برنامج CoreNLP والوحدات النمطية المعنية كما هو موضح هنا ("الاقتباس من Stanford CoreNLP في الأوراق البحثية"). تمت كتابة عميل CoreNLP في الغالب بواسطة Arun Chaganty، وقاد جيسون بولتون عملية دمج المشروعين معًا.
إذا كنت تستخدم جزء Semgrex أو Ssurgeon من CoreNLP، فيرجى الاستشهاد بمقالة GURT الخاصة بنا حول Semgrex و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. " ,
}
لطرح الأسئلة أو الإبلاغ عن المشكلات أو طلب الميزات، يرجى استخدام GitHub Issue Tracker. قبل إنشاء عدد جديد، يرجى التأكد من البحث عن المشكلات الموجودة التي قد تحل مشكلتك، أو قم بزيارة صفحة الأسئلة الشائعة (FAQ) على موقعنا.
نحن نرحب بمساهمات المجتمع في Stanza في شكل إصلاحات وتحسينات! إذا كنت ترغب في المساهمة، يرجى قراءة إرشادات المساهمة أولاً.
يدعم Stanza إصدار Python 3.6 أو الأحدث. نوصي بتثبيت Stanza عبر pip، مدير حزم Python. للتثبيت، قم ببساطة بتشغيل:
pip install stanza
من المفترض أن يساعد هذا أيضًا في حل جميع تبعيات Stanza، على سبيل المثال PyTorch 1.3.0 أو أعلى.
إذا كان لديك حاليًا إصدار سابق من stanza
مثبتًا، فاستخدم:
pip install stanza -U
لتثبيت Stanza عبر Anaconda، استخدم أمر conda التالي:
conda install -c stanfordnlp stanza
لاحظ أن تثبيت Stanza عبر Anaconda في الوقت الحالي لا يعمل مع Python 3.10. بالنسبة إلى Python 3.10، يرجى استخدام تثبيت النقطة.
وبدلاً من ذلك، يمكنك أيضًا التثبيت من مصدر مستودع git هذا، مما سيمنحك المزيد من المرونة في التطوير أعلى Stanza. لهذا الخيار، تشغيل
git clone https://github.com/stanfordnlp/stanza.git
cd stanza
pip install -e .
لتشغيل مسار Stanza الأول، ما عليك سوى اتباع الخطوات التالية في مترجم Python التفاعلي:
> >> 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 ()
إذا واجهت requests.exceptions.ConnectionError
، فيرجى محاولة استخدام وكيل:
> >> 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 ()
سيقوم الأمر الأخير بطباعة الكلمات الموجودة في الجملة الأولى في سلسلة الإدخال (أو Document
، كما هي ممثلة في Stanza)، بالإضافة إلى مؤشرات الكلمة التي تحكمها في تحليل التبعيات العالمية لتلك الجملة (" head")، بالإضافة إلى علاقة التبعية بين الكلمات. يجب أن يبدو الإخراج كما يلي:
('Barack', '4', 'nsubj:pass')
('Obama', '1', 'flat')
('was', '4', 'aux:pass')
('born', '0', 'root')
('in', '6', 'case')
('Hawaii', '4', 'obl')
('.', '4', 'punct')
راجع دليل البدء الخاص بنا لمزيد من التفاصيل.
وبصرف النظر عن خط الأنابيب العصبي، تتضمن هذه الحزمة أيضًا غلافًا رسميًا للوصول إلى برنامج Java Stanford CoreNLP باستخدام رمز Python.
هناك بعض خطوات الإعداد الأولية.
CORENLP_HOME
(على سبيل المثال، في *nix): export CORENLP_HOME=/path/to/stanford-corenlp-4.5.3
نحن نقدم أمثلة شاملة في وثائقنا التي توضح كيف يمكن للمرء استخدام CoreNLP من خلال Stanza واستخراج التعليقات التوضيحية المختلفة منه.
للبدء، نوفر أيضًا دفاتر ملاحظات Jupyter التفاعلية في المجلد demo
. يمكنك أيضًا فتح دفاتر الملاحظات هذه وتشغيلها بشكل تفاعلي على Google Colab. لعرض كافة دفاتر الملاحظات المتوفرة، اتبع الخطوات التالية:
File
-> Open notebook
، واختر GitHub
في القائمة المنبثقةstanfordnlp/stanza
في شريط البحث، ثم انقر فوق Enterنحن نقدم حاليًا نماذج لجميع ضفاف الأشجار التابعة للتبعيات العالمية الإصدار 2.8، بالإضافة إلى نماذج NER لعدد قليل من اللغات المستخدمة على نطاق واسع. يمكنك العثور على تعليمات تنزيل هذه النماذج واستخدامها هنا.
لتحقيق أقصى قدر من السرعة في الأداء، من الضروري تشغيل التدفق على دفعات من المستندات. سيكون تشغيل حلقة for على جملة واحدة في كل مرة بطيئًا جدًا. أفضل أسلوب في هذا الوقت هو ربط المستندات معًا، مع فصل كل مستند بسطر فارغ (أي فاصل أسطر nn
). سوف يتعرف برنامج الرمز المميز على الأسطر الفارغة كفواصل الجملة. نحن نعمل بنشاط على تحسين معالجة المستندات المتعددة.
يمكن تدريب جميع الوحدات العصبية في هذه المكتبة باستخدام بياناتك الخاصة. يتطلب برنامج الرمز المميز، وموسع الرمز المميز متعدد الكلمات (MWT)، وعلامة نقاط البيع/الميزات المورفولوجية، وLematizer، ومحلل التبعية بيانات بتنسيق CoNLL-U، بينما يتطلب نموذج NER تنسيق BIOES. في الوقت الحالي، لا ندعم التدريب النموذجي عبر واجهة Pipeline
. لذلك، لتدريب النماذج الخاصة بك، تحتاج إلى استنساخ مستودع git هذا وتشغيل التدريب من المصدر.
للحصول على إرشادات مفصلة خطوة بخطوة حول كيفية تدريب النماذج الخاصة بك وتقييمها، يرجى زيارة وثائق التدريب الخاصة بنا.
تم إصدار Stanza بموجب ترخيص Apache، الإصدار 2.0. راجع ملف الترخيص لمزيد من التفاصيل.