roshan-research / hazm

Persian NLP Toolkit
https://www.roshan-ai.ir/hazm/
MIT License
1.19k stars 180 forks source link

عدم توانایی ریشه یابی صحیح متن محاوره ای #329

Closed Khoshbayani closed 4 months ago

Khoshbayani commented 5 months ago

سلام lemmatize در کتابخانه hazm در ریشه یابی کردن واژه هایی که به شکل محاوره ای نوشته می شوند مثل "خونه" مشکل دارد و قادر به ریشه یابی صحیح نیست (منظور از ریشه یابی صحیح یعنی ریشه واژه را در شکل رسمی آن برگرداند؛ در این مثال "خانه").

>>> hazm.Lemmatizer().lemmatize("خونه")
expected output :   "خانه"
but current output is: "خونه"
imani commented 4 months ago

برای این کار می‌تونید از کلاس InformalLemmatizer استفاده کنید که واژه‌های محاوره‌ای را ریشه‌یابی می‌کند. مثل زیر:

ilemmatizer = InformalLemmatizer()
ilemmatizer.lemmatize('خونه‌ها') 

یا این که از کلاس InformalNormalizer برای تبدیل محاوره به معیار استفاده کرده و سپس ریشه‌یابی را با کلاس Stemmer انجام دهید. مثال:

from hazm.stemmer import Stemmer
stemmer = Stemmer()
stemmer.stem(inormalizer.normalize('خونه‌ها')[0][0][0])