| Nama Modul | |
|---|---|
| Dependencyparser | 85,6% |
| Postagger | 98,8% |
| Chunker | 93,4% |
| Lemmatizer | 89,9% |
| Metrik | Nilai | |
|---|---|---|
| Spacypostagger | Presisi | 0.99250 |
| Mengingat | 0.99249 | |
| F1-score | 0.99249 | |
| Deteksi EZ di Spacypostagger | Presisi | 0.99301 |
| Mengingat | 0.99297 | |
| F1-score | 0.99298 | |
| SpacyChunker | Ketepatan | 96,53% |
| F-kelak | 95,00% | |
| Mengingat | 95,17% | |
| Presisi | 94,83% | |
| SpacyDependencyParser | Akurasi Tok | 99.06 |
| UAS | 92.30 | |
| Las | 89.15 | |
| Mengirim presisi | 98.84 | |
| Kirim penarikan | 99.38 | |
| Mengirim f-ukur | 99.11 |
Hazm adalah perpustakaan Python untuk melakukan tugas pemrosesan bahasa alami pada teks Persia. Ini menawarkan berbagai fitur untuk menganalisis, memproses, dan memahami teks Persia. Anda dapat menggunakan HAZM untuk menormalkan teks, tokenize kalimat dan kata-kata, kata-kata yang lemmatisasi, menetapkan sebagian tag pidato, mengidentifikasi hubungan ketergantungan, membuat embeddings kata dan kalimat, atau membaca korpora Persia populer.
Untuk menginstal versi Hazm terbaru, jalankan perintah berikut di terminal Anda:
pip install hazm
Atau, Anda dapat menginstal pembaruan terbaru dari GitHub (versi ini mungkin tidak stabil dan buggy):
pip install git+https://github.com/roshan-research/hazm.git
Akhirnya jika Anda ingin menggunakan model pretrained kami, Anda dapat mengunduhnya dari tautan di bawah ini:
| Nama Modul | Ukuran |
|---|---|
| Unduh kata -kata | ~ 5 GB |
| Unduh Sentembedding | ~ 1 GB |
| Unduh postagger | ~ 18 mb |
| Unduh DependencyParser | ~ 15 mb |
| Unduh Chunker | ~ 4 mb |
| Unduh spacy_pos_tagger_parsbertpostagger | ~ 630 MB |
| Unduh spacy_pos_tagger_parsbertpostagger_trained_on_95% | ~ 630 MB |
| Unduh spacy_chunker_uncased_bert | ~ 650 MB |
| Unduh spacy_chunker_parsbert | ~ 630 MB |
| Unduh spacy_dependency_parser | ~ 630 MB |
> >> from hazm import *
> >> normalizer = Normalizer ()
> >> normalizer . normalize ( 'اصلاح نويسه ها و استفاده از نیمفاصله پردازش را آسان مي كند' )
'اصلاح نویسهها و استفاده از نیمفاصله پردازش را آسان میکند'
> >> sent_tokenize ( 'ما هم برای وصل کردن آمدیم! ولی برای پردازش، جدا بهتر نیست؟' )
[ 'ما هم برای وصل کردن آمدیم!' , 'ولی برای پردازش، جدا بهتر نیست؟' ]
> >> word_tokenize ( 'ولی برای پردازش، جدا بهتر نیست؟' )
[ 'ولی' , 'برای' , 'پردازش' , '،' , 'جدا' , 'بهتر' , 'نیست' , '؟' ]
> >> stemmer = Stemmer ()
> >> stemmer . stem ( 'کتابها' )
'کتاب'
> >> lemmatizer = Lemmatizer ()
> >> lemmatizer . lemmatize ( 'میروم' )
'رفت#رو'
> >> tagger = POSTagger ( model = 'pos_tagger.model' )
> >> tagger . tag ( word_tokenize ( 'ما بسیار کتاب میخوانیم' ))
[( 'ما' , 'PRO' ), ( 'بسیار' , 'ADV' ), ( 'کتاب' , 'N' ), ( 'میخوانیم' , 'V' )]
> >> spacy_posTagger = SpacyPOSTagger ( model_path = 'MODELPATH' )
> >> spacy_posTagger . tag ( tokens = [ 'من' , 'به' , 'مدرسه' , 'ایران' , 'رفته_بودم' , '.' ])
[( 'من' , 'PRON' ), ( 'به' , 'ADP' ), ( 'مدرسه' , 'NOUN,EZ' ), ( 'ایران' , 'NOUN' ), ( 'رفته_بودم' , 'VERB' ), ( '.' , 'PUNCT' )]
> >> posTagger = POSTagger ( model = 'pos_tagger.model' , universal_tag = False )
> >> posTagger . tag ( tokens = [ 'من' , 'به' , 'مدرسه' , 'ایران' , 'رفته_بودم' , '.' ])
[( 'من' , 'PRON' ), ( 'به' , 'ADP' ), ( 'مدرسه' , 'NOUN' ), ( 'ایران' , 'NOUN' ), ( 'رفته_بودم' , 'VERB' ), ( '.' , 'PUNCT' )]
> >> chunker = Chunker ( model = 'chunker.model' )
> >> tagged = tagger . tag ( word_tokenize ( 'کتاب خواندن را دوست داریم' ))
> >> tree2brackets ( chunker . parse ( tagged ))
'[کتاب خواندن NP] [را POSTP] [دوست داریم VP]'
> >> spacy_chunker = SpacyChunker ( model_path = 'model_path' )
> >> tree = spacy_chunker . parse ( sentence = [( 'نامه' , 'NOUN,EZ' ), ( 'ایشان' , 'PRON' ), ( 'را' , 'ADP' ), ( 'دریافت' , 'NOUN' ), ( 'داشتم' , 'VERB' ), ( '.' , 'PUNCT' )])
> >> print ( tree )
( S
( NP نامه / NOUN , EZ ایشان / PRON )
( POSTP را / ADP )
( VP دریافت / NOUN داشتم / VERB )
. / PUNCT )
> >> word_embedding = WordEmbedding ( model_type = 'fasttext' , model_path = 'word2vec.bin' )
> >> word_embedding . doesnt_match ([ 'سلام' , 'درود' , 'خداحافظ' , 'پنجره' ])
'پنجره'
> >> word_embedding . doesnt_match ([ 'ساعت' , 'پلنگ' , 'شیر' ])
'ساعت'
> >> parser = DependencyParser ( tagger = tagger , lemmatizer = lemmatizer )
> >> parser . parse ( word_tokenize ( 'زنگها برای که به صدا درمیآید؟' ))
< DependencyGraph with 8 nodes >
> >> spacy_parser = SpacyDependencyParser ( tagger = tagger , lemmatizer = lemmatizer )
>> > spacy_parser . parse_sents ([ word_tokenize ( 'زنگها برای که به صدا درمیآید؟' )])
>> > ner = HazmNER ( model_path = 'ner/model-best' )
>> > ner . predict_entity ( 'حمله سایبری به سامانه سوخت در دولت سیزدهم برای بار دوم اتفاق افتاد، حادثهای که در سال 1400 هم به وقوع پیوست اما رفع این مشکل بیش از یک هفته زمان برد، در حالی که آذر امسال پس از این حمله همه پمپبنزینها در کمتر از 24 ساعت فعالیت خود را از سر گرفتند.' )
>> > ner . predict (
[
'ریو در ایران توسط شرکت سایپا از سال 1384 تا سال 1391 تولید شد' ,
'به جز ایالات متحده ، این خودرو در اروپا ، آمریکای جنوبی و آسیا هم فروش بالایی داشته است' ,
'این گاه شمار با قدمتی کمتر از دویست سال ، از جدیدترین گاه شمار های رایج به شمار می رود'
]
)Kunjungi https://roshan-ai.ir/hazm/docs untuk melihat dokumentasi lengkap.
Penafian: Port -port ini tidak dikembangkan atau dikelola oleh Roshan. Mereka mungkin tidak memiliki fungsi atau kualitas yang sama dengan hazm asli ..
Kami menyambut dan menghargai setiap kontribusi untuk repo ini, seperti laporan bug, permintaan fitur, peningkatan kode, pembaruan dokumentasi, dll. Harap ikuti pedoman kontribusi saat berkontribusi. Anda dapat membuka masalah, membayar repo, menulis kode Anda, membuat permintaan tarik dan menunggu ulasan dan umpan balik. Terima kasih atas minat dan dukungan Anda dalam repo ini!