ماژول TextaCy در پایتون

موسسه پایاپروژه به عنوان متصدی انجام پروژه های پایتون وظیفه ی خود می داند که در راستای آموزش نرم افزار پایتون گام های موثری را بردارد. با توجه به اینکه یک دوره آموزشی پایتون مستلزم تمرین و تلاش بسیار است. اما این موسسه تلاش می کند سهم کوچکی در جهت یادگیری ماژول TextaCy در پایتون داشته باشد.

در این مقاله پروژه پایتون و آموزش پایتون به صورت پروژه محور است که در این مقاله ما با ماژول TextaCy در پایتون آشنا می شویم که عموما برای انجام انواع وظایف NLP بر روی متون استفاده می شود. این بر اساس ماژول SpaCy در پایتون ساخته شده است.

برخی از ویژگی های ماژول TextaCy به شرح زیر است:

  • این امکان تمیز کردن و پیش پردازش متن را با جایگزینی و حذف علائم نگارشی، فضاهای خالی اضافی، اعداد و غیره از متن قبل از پردازش آن با spaCy فراهم می کند.
  • این شامل تشخیص خودکار زبان است و اسناد را نشانه گذاری و سپس مدل های موضوع را تحلیل و تفسیر می کند.
  • پسوندهای سفارشی را می توان برای گسترش عملکرد اصلی SpaCy برای کار با یک یا چند سند اضافه کرد.
  • مجموعه داده های آماده شده را بارگیری کنید که حاوی محتوای متنی و اطلاعات هستند، مانند نظرات Reddit، سخنرانی های کنگره، و کتاب های تاریخی.
  • این تسهیلات را برای استخراج ویژگی هایی مانند n-gram، موجودیت ها، مخفف ها و عبارات کلیدی به عنوان داده های ساختاریافته از اسناد پردازش شده فراهم می کند.
  • رشته ها و دنباله ها را می توان با استفاده از معیارهای واقعی مشابه مقایسه کرد.

نصب ماژول TextaCy در پروژه پایتون :

ما می توانیم ماژول textaCy را با استفاده از pip نصب کنیم.

pip install textacy

اگر کسی از conda استفاده می کند، دستور زیر را بنویسید:

conda install -c conda-forge textacy

نمونه هایی از برخی از ویژگی های آن:

در اینجا برخی از ویژگی های قابل توجه ماژول textaCy را مشاهده خواهیم کرد.

حذف علائم نگارشی در این آموزش پایتون

با استفاده از کلاس پیش پردازش ماژول textacy می توانیم به راحتی علائم نگارشی را از متن خود حذف کنیم.

متن استفاده شده در اینجا متنی است که به طور تصادفی از یک وب سایت خارجی تولید شده است. ابتدا، کلاس پیش پردازش ماژول textacy را وارد کردیم و سپس از روش‌های  حذف و نقطه‌گذاری برای حذف نشانه‌ها استفاده کردیم.

فضای خالی غیر ضروری را حذف کنید با پروژه پایتون

ما می توانیم فضای خالی غیر ضروری را از متن خود حذف کنیم. تمام فضاهای اضافی ما را حذف می کند و همه آنها را بعد از هر کلمه فقط به یک فاصله برش می دهد.

 

from textacy import preprocessing

 “””=ex

.The girl was right in front of me

;But it seemed that no one noticed his surroundings

;He looked without looking

.The crazy and involuntary smile on his lips had dried up

;as if it was the thought of an absent person

,It was from there that the formidable eyes of the enchanter

;The eyes that looked like Bansan was scolding bitterly

.I saw his worried, surprised, threatening and promising eyes

.”””The ray of my life was mixed on these meaningful shiny spheres and absorbed at the bottom

 Remove Whitespace#

rm_wsp = preprocessing.normalize.whitespace(ex)

print(rm_wsp)

 

در اینجا ما از متد normalize class و whitespace برای حذف فضاهای سفید استفاده کردیم.

در خروجی، می‌توانیم ببینیم که تمام فضای خالی اضافی در حال حذف شدن است، اما علائم نگارشی هنوز وجود دارد. بنابراین اگر بخواهیم آن را نیز حذف کنیم، می‌توانیم هر دو عملیات را با هم ترکیب کنیم.

حذف نقطه‌گذاری و فضای خالی با هم

from textacy import preprocessing

 “””=ex

.The girl was right in front of me

;But it seemed that no one noticed his surroundings

;He looked without looking

.The crazy and involuntary smile on his lips had dried up

;as if it was the thought of an absent person

,It was from there that the formidable eyes of the enchanter

;The eyes that looked like Bansan was scolding bitterly

.I saw his worried, surprised, threatening and promising eyes

“””.The ray of my life was mixed on these meaningful shiny spheres and absorbed at the bottom

# Remove Punctuation

rm_punc = preprocessing.remove.punctuation(ex)

Remove Whitespace#

rm_wsp = preprocessing.normalize.whitespace(ex)

   Remove Punctuation and Whitespace both#

rm_all = preprocessing.normalize.whitespace(rm_punc)

print(rm_all)

یک متن را پارتیشن بندی کنید

گاهی اوقات متنی که ما دریافت می‌کنیم یا استفاده می‌کنیم «خام» به معنای بدون ساختار، نامرتب و غیره است، بنابراین قبل از تجزیه و تحلیل، در مرحله پیش‌پردازش، ممکن است لازم باشد آنها را تمیز کرده و بر اساس معیارهای خاصی پارتیشن بندی کنیم.

from textacy import preprocessing

from textacy import extract

“””=ex

.The girl was right in front of me

;But it seemed that no one noticed his surroundings

;He looked without looking

.The crazy and involuntary smile on his lips had dried up

;as if it was the thought of an absent person

,It was from there that the formidable eyes of the enchanter

;The eyes that looked like Bansan was scolding bitterly

.I saw his worried, surprised, threatening and promising eyes

“””.The ray of my life was mixed on these meaningful shiny spheres and absorbed at the bottom

 Remove Punctuation33 #

rm_punc = preprocessing.remove.punctuation(ex)

Remove Whitespace #

rm_wsp = preprocessing.normalize.whitespace(ex)

 Remove Punctuation and Whitespace both  #

rm_all = preprocessing.normalize.whitespace(rm_punc)

 Extracting text#

(ext = list(extract.keyword_in_context

   ((rm_all, ‘I’, window_width=20, pad_context=True

print(ext)

خروجی:

اکنون خروجی کمی پیچیده به نظر می رسد زیرا متن استفاده شده در اینجا برای این دلیل مناسب نیست. اما همانطور که من از متنی استفاده کردم که قبلاً نقطه گذاری و بدون فضای خالی بود، نمی توانیم هیچ نقطه گذاری یا فضای خالی اضافی ببینیم. فضاهای خالی ایجاد شده در اینجا به دلیل window_width است، تمام فضای خالی موجود در متن در کنار علائم نگارشی حذف شده است.

URL های متن را با متن دیگر جایگزین کنید

ما می توانیم هر URL غیر ضروری را از متن خود حذف کنیم و آن را با متن دیگری جایگزین کنیم –

from textacy import preprocessing

   

 Replace URLs#

”txt = “https://url.com/ is the best place to learn anything

rm_url = preprocessing.replace.urls(txt,”GeeksforGeeks”)

  

print(rm_url)

خروجی:

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این زمینه را پر کنید
این زمینه را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.
شما برای ادامه باید با شرایط موافقت کنید

شانزده + دو =

سفارش پروژه