ریشه یابی کلمات در پردازش زبان طبیعی — راهنمای کاربردی
«ریشهیابی» (Stemming) فرایند تولید انواع مورفولوژیکی از ریشه/پایه یک کلمه است. برنامههای ریشهیابی را معمولا «الگوریتمهای ریشهیابی» یا «ریشهیاب» (Stemmer) مینامند. الگوریتم ریشهیابی، برای مثال، کلمههای «choco»، «chocolatey» ،«chocolates» را به کلمه ریشه «chocolate» کاهش میدهد و «retrieves» ،«retrieved» ،«retrieval» را به کلمه ریشه «retrieve» کاهش میدهد. در ادامه، مثال دیگری از ریشهیابی ارائه شده است.
->"likes" ->"liked" ->"likely" ->"liking"
خطاها در ریشهیابی
اساسا دو خطا در ریشهیابی به وقوع میپیوندد. این خطاها عبارتند از «بیشریشهیابی» (Overstemming) و «کمریشهیابی» (Under Stemming). بیشریشهیابی معمولا هنگامی به وقوع میپیوندد که دو کلمه که ریشههای متفاوتی دارند، به یک کلمه، ریشهیابی شوند. کمریشهیابی نیز هنگامی به وقوع میپیوندد که دو کلمه که ریشههای متفاوتی ندارند، به یک ریشه، ریشهیابی میشوند.
قطعه کد اول برای ریشهیابی
# import these modules
from nltk.stem import PorterStemmer
from nltk.tokenize import word_tokenize
ps = PorterStemmer()
# choose some words to be stemmed
words = ["program", "programs", "programer", "programing", "programers"]
for w in words:
print(w, " : ", ps.stem(w))
خروجی قطعه کد بالا به صورت زیر است.
program : program programs : program programer : program programing : program programers : program
قطعه کد دوم برای ریشهیابی
# importing modules
from nltk.stem import PorterStemmer
from nltk.tokenize import word_tokenize
ps = PorterStemmer()
sentence = "Programers program with programing languages"
words = word_tokenize(sentence)
for w in words:
print(w, " : ", ps.stem(w))
خروجی قطعه کد بالا به صورت زیر است.
Programers : program program : program with : with programing : program languages : languag
منبع [+]
اگر این مطلب برای شما مفید بوده است، آموزشها و مطالب زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی پایتون
- آموزش برنامهنویسی پایتون – تکمیلی
- مجموعه آموزشهای برنامه نویسی
- زبان برنامهنویسی پایتون (Python) — از صفر تا صد
- افزایش فالوورهای اینستاگرام با ربات پایتون — راهنمای کاربردی
- یادگیری علم داده (Data Science) با پایتون — از صفر تا صد
مجموعه: برنامه نویسی, هوش مصنوعی برچسب ها: Natural Language Processing, NLP, برنامه ریشه یابی کلمات, پردازش زبان, پردازش زبان طبیعی, ریشه یابی کلمات