| Название модуля | |
|---|---|
| DEVENCENCYPARSER | 85,6% |
| Почтовая почта | 98,8% |
| Чункер | 93,4% |
| Лемматизатор | 89,9% |
| Показатель | Ценить | |
|---|---|---|
| Spacypostgger | Точность | 0,99250 |
| Отзывать | 0,99249 | |
| F1-показатель | 0,99249 | |
| EZ обнаружение в Spacypostgger | Точность | 0,99301 |
| Отзывать | 0,99297 | |
| F1-показатель | 0,99298 | |
| SpacyChunker | Точность | 96,53% |
| F-мера | 95,00% | |
| Отзывать | 95,17% | |
| Точность | 94,83% | |
| Spacydependencyparser | Ток точности | 99,06 |
| UAS | 92.30 | |
| Лас | 89,15 | |
| Отправил точность | 98.84 | |
| Отправлено отзыв | 99,38 | |
| Отправил F-меру | 99,11 |
HAZM - это библиотека Python для выполнения задач обработки естественного языка на персидском тексту. Он предлагает различные функции для анализа, обработки и понимания персидского текста. Вы можете использовать HAZM для нормализации текста, токенизации предложений и слов, демотизировать слова, назначать теги частичности, идентифицировать отношения зависимости, создавать встраивание слова и предложения или читать популярные персидские корпусы.
Чтобы установить последнюю версию HAZM, запустите следующую команду в вашем терминале:
pip install hazm
В качестве альтернативы, вы можете установить последнее обновление от GitHub (эта версия может быть нестабильной и глюкой):
pip install git+https://github.com/roshan-research/hazm.git
Наконец, если вы хотите использовать наши предварительные модели, вы можете скачать их по ссылкам ниже:
| Название модуля | Размер |
|---|---|
| Скачать WordEmbedding | ~ 5 ГБ |
| Скачать Sentembedding | ~ 1 ГБ |
| Скачать Postagge | ~ 18 МБ |
| Скачать DepenceyParser | ~ 15 МБ |
| Скачать Chunker | ~ 4 МБ |
| Скачать spacy_pos_tagger_parsbertpostagger | ~ 630 МБ |
| Скачать SPACY_POS_TAGGER_PARSBERTPOSTGEGGER_TRIND_ON_95% | ~ 630 МБ |
| Скачать spacy_chunker_uncased_bert | ~ 650 МБ |
| Скачать spacy_chunker_parsbert | ~ 630 МБ |
| Скачать spacy_dependency_parser | ~ 630 МБ |
> >> 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 تولید شد' ,
'به جز ایالات متحده ، این خودرو در اروپا ، آمریکای جنوبی و آسیا هم فروش بالایی داشته است' ,
'این گاه شمار با قدمتی کمتر از دویست سال ، از جدیدترین گاه شمار های رایج به شمار می رود'
]
)Посетите https://roshan-ai.ir/hazm/docs, чтобы просмотреть полную документацию.
Отказ от ответственности: эти порты не разрабатываются или не поддерживаются Рошаном. Они могут не иметь такой же функциональности или качества, что и у исходного значения.
Мы приветствуем и ценим любые взносы в этот репо, такие как отчеты об ошибках, запросы на функции, улучшения кода, обновления документации и т. Д. Пожалуйста, следуйте руководству взноса при вклад. Вы можете открыть проблему, разобраться в репо, написать свой код, создать запрос на вытягивание и дождаться обзора и отзывов. Спасибо за ваш интерес и поддержку в этом репо!