قبل از اینکه بتوانید یک مدل را بر روی داده های متنی آموزش دهید، معمولاً باید متن را پردازش کنید (یا پیش پردازش کنید). در بسیاری از موارد، متن قبل از اینکه بتواند به یک مدل داده شود، نیاز به نشانه گذاری و برداری دارد و در برخی موارد متن به مراحل پیش پردازش اضافی مانند عادی سازی و انتخاب ویژگی نیاز دارد.
پس از پردازش متن در قالب مناسب، میتوانید از آن در گردشهای کاری پردازش زبان طبیعی (NLP) مانند طبقهبندی متن، تولید متن، خلاصهسازی و ترجمه استفاده کنید.
TensorFlow دو کتابخانه برای پردازش متن و زبان طبیعی فراهم می کند: KerasNLP ( GitHub ) و TensorFlow Text ( GitHub ).
KerasNLP یک کتابخانه مدلسازی NLP سطح بالا است که شامل آخرین مدلهای مبتنی بر ترانسفورماتور و همچنین ابزارهای توکنسازی سطح پایینتر است. این راه حل توصیه شده برای اکثر موارد استفاده از NLP است. KerasNLP که بر روی متن TensorFlow ساخته شده است، عملیات پردازش متن سطح پایین را در یک API که برای سهولت استفاده طراحی شده است، خلاصه می کند. اما اگر ترجیح می دهید با Keras API کار نکنید یا نیاز به دسترسی به عملیات پردازش متن سطح پایین دارید، می توانید مستقیماً از TensorFlow Text استفاده کنید.
KerasNLP
ساده ترین راه برای شروع پردازش متن در TensorFlow استفاده از KerasNLP است. KerasNLP یک کتابخانه پردازش زبان طبیعی است که از جریانهای کاری ساخته شده از اجزای مدولار که دارای وزنها و معماریهای از پیش تعیین شده پیشرفته هستند، پشتیبانی میکند. می توانید از اجزای KerasNLP با پیکربندی خارج از جعبه آنها استفاده کنید. اگر به کنترل بیشتری نیاز دارید، می توانید به راحتی اجزا را سفارشی کنید. KerasNLP محاسبات درون نموداری را برای همه گردشهای کاری فراهم میکند، بنابراین میتوانید انتظار تولید آسان با استفاده از اکوسیستم TensorFlow را داشته باشید.
KerasNLP شامل پیادهسازی سرتاسر معماریهای مدل محبوب مانند BERT و FNet است. با استفاده از مدلها، لایهها و توکنایزرهای KerasNLP، میتوانید بسیاری از پیشرفتهترین گردشهای کاری NLP، از جمله ترجمه ماشینی ، تولید متن ، طبقهبندی متن و آموزش مدل ترانسفورماتور را تکمیل کنید.
KerasNLP یک توسعه از هسته Keras API است و هر ماژول KerasNLP سطح بالا یک Layer
یا Model
است. اگر با Keras آشنایی دارید، از قبل بیشتر KerasNLP را درک کرده اید.
متن TensorFlow
KerasNLP ماژول های پردازش متن سطح بالایی را ارائه می دهد که به صورت لایه یا مدل در دسترس هستند. اگر نیاز به دسترسی به ابزارهای سطح پایین دارید، می توانید از TensorFlow Text استفاده کنید. TensorFlow Text عملیات و کتابخانه هایی را برای کمک به شما در کار با رشته ها و اسناد متن خام فراهم می کند. TensorFlow Text میتواند پیشپردازشهای منظم مورد نیاز مدلهای مبتنی بر متن را انجام دهد، و همچنین شامل ویژگیهای مفید دیگری برای مدلسازی توالی است.
با استفاده از TensorFlow Text می توانید کارهای زیر را انجام دهید:
- توکنایزرهای غنی از ویژگیها را اعمال کنید که میتوانند رشتهها را در فضای خالی تقسیم کنند، کلمات و نشانههای نقطهگذاری را جدا کنند، و بایتها را با نشانهها برگردانند، به طوری که بدانید یک رشته در کجای متن منبع یافت میشود.
- بررسی کنید که آیا یک نشانه با یک الگوی رشته مشخص مطابقت دارد یا خیر. می توانید حروف بزرگ، علائم نگارشی، داده های عددی و سایر ویژگی های نشانه را بررسی کنید.
- توکن ها را به n گرم ترکیب کنید.
- متن را در نمودار TensorFlow پردازش کنید، به طوری که توکن سازی در طول تمرین با توکنیزاسیون در استنتاج مطابقت داشته باشد.
از کجا شروع کنیم
منابع زیر به شما کمک می کند تا با پردازش متن TensorFlow شروع کنید:
- TensorFlow Text : آموزشها، راهنماها و سایر منابع برای کمک به پردازش متن با استفاده از TensorFlow Text و KerasNLP.
- KerasNLP : اسناد و منابع برای KerasNLP.
- آموزش های TensorFlow : مستندات اصلی TensorFlow (این راهنما) شامل چندین آموزش پردازش متن است.
- یادگیری ماشین گوگل: راهنمای طبقه بندی متن : مقدمه گام به گام طبقه بندی متن. اگر در یادگیری ماشینی تازه کار هستید، این مکان خوبی برای شروع است.