خانه / هوش مصنوعی / پردازش آماری زبان طبیعی / پردازش آماری زبان طبیعی
پردازش آماری زبان طبیعی
پردازش آماری زبان طبیعی

پردازش آماری زبان طبیعی

در این پروژه عملیات مختلف پردازش زبان طبیعی (فارسی و انگلیسی ) با زبان برنامه نویسی پایتون و کتابخانه NLTK انجام شده است. در این پروژه عملیات پیمایش جملات فارسی و انگلیسی براساس الگوریتم های کارآمدی که برای فارسی و انگلیسی ارائه شده است، انجام می شود. در این پروژه درخت تجزیه جملات فارسی و انگلیسی با بالاترین دقت براساس روش های مختلف رسم می شود. همچنین عملیات ریشه یابی و توکن بندی جملات به صورت دقیق انجام می شود. بدون شک یکی از بهترین پروژه های کاربردی در حوزه پردازش زبان طبیعی است که می تواند برای کاربردهای مختلف از آن استفاده کرد.

قابلیت های این پروژه:

  1. فیلم آموزش کامل نصب و راه اندازی پروژه با پایتون

  2. فیلم آموزش نصب کتابخانه NLTK برای پردازش زبان انگلیسی در پایتون

  3. آموزش نصب کتابخانه HAZM برای پردازش زبان فارسی در پایتون

  4. آموزش نحوه دانلود و نصب پیکره ها و کتابخانه های ضروری در پایتون

  5. آموزش توکن بندی جمله های فارسی و انگلیسی با کتابخانه های مروبطه در پایتون

  6. آموزش توکن بندی جمله های فارسی و انگلیسی در پایتون

  7. آموزش ریشه یابی کلمه های فارسی و انگلیسی در پایتون

  8. پارس کردن (parsing) جمله ها  با الگوریتم ChartParser

  9. پارس کردن (parsing) جمله ها  با الگوریتم ShiftReduceParser

  10. پارس کردن (parsing) جمله ها  با الگوریتمCKY  

  11. پارس کردن (parsing) جمله ها  با الگوریتم ProjectiveDependency

  12. پارس کردن (parsing) جمله ها  با الگوریتم DependencyParser

  13. رسم درخت تجزیه یا parsing برای جملات فارسی و انگلیسی

  14. فایل داکیومنت فارسی پروژه



علاقه مندان به موضوع و آموزش مورد نظر می توانند، این پروژه مفید و کاربردی را از لینک زیر دریافت نمایند:

***********************************



***********************************

معرفی موضوع:

پردازش زبان طبیعی (NLP)  برای پردازش و درک داده‌های طبیعی مبتنی بر زبان است که در قالب‌های ساخت‌نیافته‌ای مانند متن، سخنرانی و غیره وجود دارند. NLP حوزه‌ای تخصصی در علوم رایانه و هوش مصنوعی محسوب می‌شود که ریشه در زبانشناسی محاسباتی دارد. NLP الگوریتمی است برای درک زبان انسان است و توانایی پردازش زبان گفتار را دارد و این در حالی است که NLP جزئی از هوش مصنوعی (AI) به حساب می‌آید.دغدغه اصلی این حوزه طراحی و ساخت  سیستم‌هایی است که امکان تعامل بین ماشین‌ها و زبان‌های طبیعی را فراهم سازند و در طی زمان برای استفاده انسان تکامل پیدا کنند.  این حوزه علمی به عنوان یک زمینه کم‌عمق و سطحی برای تحقیق نگریسته می‌شود و افراد تمایل دارند که بیشتر روی یادگیری ماشین و یادگیری آماری تمرکز کنند.

هدف اصلی در پردازش زبان طبیعی، ایجاد تئوری‌هایی محاسباتی از زبان، با استفاده از الگوریتم‌ها و ساختارهای داده‌ای موجود در علوم رایانه است. بدیهی است که در راستای تحقق این هدف، نیاز به دانشی وسیع از زبان است و علاوه بر محققان علوم رایانه، نیاز به دانش زبان شناسان نیز در این حوزه می‌باشد. با پردازش اطلاعات زبانی می‌توان آمار مورد نیاز برای کار با زبان طبیعی را استخراج کرد. کاربردهای پردازش زبان طبیعی به دو دسته کلی قابل تقسیم است: کاربردهای نوشتاری و کاربردهای گفتاری. از کاربردهای نوشتاری آن می‌توان به استخراج اطلاعاتی خاص از یک متن، ترجمه یک متن به زبانی دیگر یا یافتن مستنداتی خاص در یک پایگاه داده نوشتاری (مثلاً یافتن کتاب‌های مرتبط به هم در یک کتابخانه) اشاره کرد. نمونه‌هایی از کاربردهای گفتاری پردازش زبان عبارتند از: سیستم‌های پرسش و پاسخ انسان با رایانه، سرویس‌های اتوماتیک ارتباط با مشتری از طریق تلفن، سیستم‌های آموزش به فراگیران یا سیستم‌های کنترلی توسط صدا. در سالهای اخیر این حوزه تحقیقاتی توجه دانشمندان را به خود جلب کرده‌است و تحقیقات قابل ملاحظه‌ای در این زمینه صورت گرفته‌است.

 

با اینکه مجموعه گسترده‌ای از روش‌ها در پردازش زبان طبیعی بکار می‌روند، تکنیک‌های بکار رفته را می‌توان به سه دستۀ کلی تقسیم نمود:

  • روش‌های آماری
  • روش‌های ساختاری/مبتنی بر الگو
  • روش‌های مبتنی بر استنتاج

باید توجه داشت که این راهکارها لزوماً از هم جدا نیستند. در واقع، جامع‌ترین مدل‌ها از ترکیب هر سۀ این روش‌ها استفاده می‌کنند. تفاوت این راهکارها در نوع عملیات پردازشی است که قادر به انجام آن هستند و میزان قواعدی که در مقابل آموزش/یادگیری خودکار از روی داده‌های زبانی نیاز دارند.

 

توسعهٔ الگوریتم‌های NLP بسیار چالش‌برانگیز است چرا که کامپیوترها برای پردازش­‌های سنتی نیاز به یک انسان داشتند تا با یک زبان برنامه‌نویسی صریح، غیرمبهم و بسیار ساختاریافته یا از طریق تعداد محدودی از کامندهای صوتی کاملاً واضح مسائل را برای آن‌ها تشریح کنند؛ در حالی‌ که کلام انسان همیشه دقیق نیست، اغلب مبهم است و ساختار آن به بسیاری از متغیرهای پیچیده از جمله اصطلاحات عامیانه، گویش‌های منطقه‌ای و زمینه­‌های اجتماعی بستگی دارد.

 

گردش کار NLP استاندارد:

 

به طور معمول هر مسئله مبتنی بر NLP را می‌توان به وسیله گردش کاری روش‌شناختی (methodical) که یک توالی از گام‌ها دارد، حل نمود. گام‌های اصلی در تصویر زیر مشخص شده‌اند.

 

 

ما معمولاً با توده‌ای از اسناد کار خود را آغاز می‌کنیم و با پیروی از فرایندهای استاندارد برای گردآوری متون و پیش-پردازش، تجزیه و آنالیز مقدماتی کاوشی داده کار خود را ادامه می‌دهیم. بر اساس بینش‌های اولیه، معمولاً متن را با استفاده از تکنیک‌های مهندسی ویژگی، بازنمایی می‌کنیم. سپس بسته به مسئله‌ای که در دست داریم یا روی ساخت مدل‌های نظارت‌شده پیش‌بین و یا مدل‌های نظارت‌نشده متمرکز می‌شویم که معمولاً بیشتر تمرکز روی کاوش الگو و گروه‌بندی است. در نهایت به ارزیابی مدل و تعیین معیار کلی موفقیت بر اساس نظر مشتریان یا ذینفعان مرتبط پرداخته و مدل نهایی را برای استفاده‌های بعدی انتشار می‌دهیم.

سطوح تحلیل زبانی:

 

  • آواشناسی/واج‌شناسی
  • ساختواژه (صرف)
  • نحو
  • معنی‌شناسی
  • کاربردشناسی
  • گفتمان

 

تکنیک‌های پردازش زبان طبیعی:

 

  • قطعه‌بندی و نرمال‌سازی متن:
    • برای پردازش متن در كاربردهایی مانند ترجمه ماشینی، بازیابی اطلاعات، تبدیل متن به گفتار و … باید متن ورودی قطعه بندی و نرمال‌سازی شود.
    • قطعه‌بندی: تقطیع دنباله كاراكترهای تشكیل دهندة متن به دنباله‌ای از كلمات.
      • مشکلات:
        • علائم نقطه‌گذاری معمولاً به كلمۀ قبل از خود می‌چسبند.
        • پسوندها و پیشوندها: در فارسی پسوندها و پیشوندها در بسیاری مواقع با فاصله از كلمه اصلی نوشته می‌شوند.
        • كلمات مركب: بین اجزای كلمات مركب معمولاً فاصله گذاشته می‌شود.
    • نرمال‌سازی: یكدست‌سازی واحدهای متنی به طوری كه قابل پردازش توسط ماشین باشند.
      • مشکلات:
        • وجود encodingهای مختلف برای بعضی از كاراكترها مانند «ی» و «ك».
        • روش‌های مختلف چسبیدن وندها به كلمات اصلی.
        • روش‌های مختلف اتصال اجزای كلمات مركب.
        • كلمات چنداملایی.
  • تحلیل ساختواژی:
    • چگونه كلمات از واحدهای كوچكتر به نام تكواژ تشكیل می شوند.
    • تكواژ: كوچكترین واحد دربردارنده معنا در زبان.
    • ساختواژه تصریفی.
    • ساختواژه اشتقاقی.
  • برچسب‌زنی جزء کلام:
    • فرایند انتساب مقولۀ نحوی به هر کلمه در پیکره متنی.
    • جزء کلام: مقولۀ نحوی که هر کلمه به آن تعلق دارد.
    • کاربردها:
      • مدل‌سازی زبانی (در بازشناسی گفتار و …): مقولۀ نحوی یک کلمه می‌تواند در پیش‌بینی کلمۀ بعدی کمک کند.
      • سنتز گفتار: مقولۀ نحوی یک کلمه می‌تواند اطلاعاتی در مورد نحوۀ تلفظ صحیح یک کلمه به ما بدهد.
      • بازیابی اطلاعات: دانستن مقولۀ نحوی کلمات می‌تواند به استخراج کلمات مهم در متن کمک کند.
      • رفع ابهام معنایی: دانستن مقولۀ نحوی کلمات می‌تواند به رفع ابهام معنایی کلمه کمک کند.
  • تجزیه یا پارس (تحلیل نحوی):
    • تجزیۀ جمله به ساختارهای نحوی تشكیل‌دهندۀ آن.
    • برای تعیین ساختارهای نحوی یك جمله به دو چیز نیاز داریم:
      • گرامر: دربردارندۀ توصیف رسمی از ساختارهای مجاز زبان.
      • تكنیك پارس: روش آنالیز جمله برای مشخص كردن ساختارهای نحوی آن بر اساس گرامر زبان.
  • تحلیل معنایی:
    • رفع ابهام از کلمه.
    • مطالعه در مورد معنای رخدادهای زبانی.
    • چگونه معنای یك جمله به معنای عبارات، كلمات و تكواژهای تشكیل دهندۀ آن مربوط می شود.
    • چهار روش متداول:
      • منطق مرتبه اول.
      • شبكه معنایی.
      • دیاگرام وابستگی مفهومی.
      • نمایش مبتنی بر قاب.
  • مدل‌سازی زبانی:یادگیری ماشین.
    • مدل زبانی نحوۀ رخداد توالی كلمات در زبان را مدل‌سازی می‌كند.
    • آماری.
    • ساختاری.
    • سطوح مختلف مدل سازی زبانی:
      • واژگانی محلی.
      • نحوی.
      • معنایی.
    • كاربردهای مدل زبانی:
      • پیش‌بینی كلمات.
      • بازشناسی گفتار.
      • درك زبان طبیعی.
      • ترجمة ماشینی.
      • بازشناسی نویسه‌های نوری.

 

کاربردهای پردازش زبان طبیعی:

  • درک زبان طبیعی:
    • درک زبان گفتاری.
  • پردازش متون:
    • استخراج اطلاعات.
    • خلاصه‌سازی.
    • تشخیص موضوع.
    • خوشه‌بندی متون.
  • بازیابی اطلاعات:
    • جستجوی اطلاعات در مستندات مختلف و بازیابی آنها.
    • از بین مجموعه‌ای از مستندات، سندهایی را پیدا كنیم كه با درخواست كاربر منطبق باشند.
    • بازیابی متن.
    • بازیابی متون گفتاری.
    • بازیابی تصویر.
    • بازیابی موسیقی.
  • ترجمۀ ماشینی:تولید متن.
    • ترجمۀ خودکار جملات از یک زبان طبیعی به زبان طبیعی دیگر به گونه‌ای که فرد بومی زبان مقصد همان مفهومی را دریافت کند که گوینده مدنظر داشته است.
    • سطوح مختلف ترجمه:
      • ترجمۀ ماشینی كاملاً اتوماتیك.
      • ترجمۀ ماشینی با كمك انسان.
      • ترجمۀ انسانی با كمك ماشین.
      • ترجمۀ كاملاً انسانی.
  • تصحیح املاء و دستور.
  • بازشناسی گفتار:ساخت گفتار از روی متن.
    • تشخیص گفتار انسان توسط ماشین و تبدیل آن به متن یا دستورالعمل معادل.
    • نكات مطرح در بازشناسی گفتار:
      • تعداد كلمات مورد بازشناسی.
      • پیوسته یا گسسته بودن ادای كلمات.
      • وابستگی یا استقلال از گوینده.
      • یک سیستم بازشناسی کامل:
        • قادر به بازشناسی گفتار پیوسته و محاوره‌ای باشد.
        • گفتار افراد مختلف، حتی با لهجه‌های متفاوت را بازشناسی نماید.
        • در محیط‌های شلوغ و نویزی هم جوابگو باشد.
        • بصورت بلادرنگ عمل کند.
        • قادر به فراگیری اطلاعات جدید نظیر کلمات، قوانین زبانی و . . . باشد.
  • بازشناسی نویسه‌های نوری.
  • سیستم‌های مکالمه گفتاری.
  • سیستم‌های پرسش و پاسخ.
  • ترجمه گفتار به گفتار.

همچنین ببینید

java agent development framework

سیستم های چند عاملی با کتابخانه Jade

این پروژه در دو بخش کلی تقسیم بندی می شود . که به زبان جاوا …

2 دیدگاه

  1. پروژه بسیار کاربردی و مفیدی بود. ممنون از سایت خوبتون

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

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