نمایش نتایج 1 تا 30 از 30

نام تاپیک: هوش مصنوعی در برنامه چت با روبات

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    کاربر دائمی آواتار _behnam_
    تاریخ عضویت
    مهر 1389
    محل زندگی
    سونای ایران ( بوشهر )
    پست
    971

    نقل قول: هـوش مصنوعــی

    نقل قول نوشته شده توسط vbhamed مشاهده تاپیک
    سلام

    ولي شما باز هم متوجه منظور من نشدين
    من اصلا كاري به اين ندارم كه شما مي خواين چه استفاده اي كنيد، من خودم هم برنامه كلنجار رو ديدم كه تايپ مي كني جواب مي ده
    منظور من چيزي ديگه هست، فرض كنيد كاربر از كامپيوتر سؤال مي كنه :

    كرم كجاست ؟

    خب حالا كامپيوتر از كجا بفهمه منظور كاربر اينه كه كِرِم (ماده آرايشي) كجاست يا اينكه كَرَم (شخصي به نام كَرَم) كجاست يا فلز كُرُم كجاست يا اينكه معني اينه كه من ناشنوا هستم (كر هستم)

    شما گفتي اگر حروف تكراري حذف بشن مثلا khoooooooobi بشه khobi اونموقع كاربر اگر منظور واقعيش كلمه khoobi باشه به مشكل مي خوريد
    ولي مسئله اينه كه كامپيوتر كه نمي تونه بفهمه منظور واقعي كاربر چي بوده كه حالا يه طوري بعضي جاها كلمه به khoobi تبديل بشه و بعضي جاها به khobi

    در حقيقت كاربر بايد با يك قانوني اين رو به كامپيوتر بفهمونه
    مثلا كلمه دور و در (مرواريد) رو در نظر بگيريد، هر دوشون مي تونن اشتباها نوشته بشن doooooor
    كامپيوتر بايد اين رو يا به dor تبديل كنه يا door
    بهتره در اينجا به عنوان راهنما به كاربر بگيد اگر منظورش دور هست تايپ كنه dur يعني از u استفاده كنه ولي اگر مرواريد منظورشه تايپ كنه dor يعني از O استفاده بشه حالا چه اشتباها duuuuuuur و چه اشتباها doooooor نوشته بشه ديگه ميشه راحت درستش كرد
    اما اگه به اون روشی که گفتم عمل بشه (یعنی جواب هارو از پیش تایین کنیم) در صد اشتباه کاهش پیدا میکنه
    من با این روش رباتمو جوری طراحی کردم که حتی وقتی بهش فش میدادی باهات قهر میکرد و تا زمانی که معذرت خواهی نمیکردی دیگه جوابتو نمیداد

  2. #2
    کاربر دائمی آواتار quiet_programmer
    تاریخ عضویت
    دی 1389
    محل زندگی
    زنجان
    سن
    38
    پست
    289

    نقل قول: هوش مصنوعی در برنامه چت با روبات

    با سلام.

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

    مثلا میخوای یه کلید با مقدار مثلا Khobi داشته باشی و چند مقدار برای این کلید. مثلا مرسی، ممنون، تو چطوری و...

    تا اینجا درست؟

    خوب الان مشکل تو اینجاست که مثلا کاربر Khobi رو به صورت Khooooooooooobbbbbbbbbbbiiiiii ویا به شکل های دیگه وارد میکنه. ولی شامل کاراکترهای (به ترتیب) k وبعد h و یعد O وبعد b و بعد i.

    درست؟

    تو میخوای این رو تبدیل به Khobi یا همون کلیدت کنی.

    اگه تا اینجا درست متوجه شده باشم پس راه حل تو برای این کار اینه که با عبارات منظم کار کنی. برای این کار هم باید برای تمامی کلیدهای خودت یه دیاگرام بکشی(درس نظریه زبانها و ماشین)

    اما خوب خودت هم به خوبی میدونی که کار زمانبریه. برای اینکه تو زمانت صرفه جویی بشه میتونی عبارات منظم رو تو یه فایل متنی بنویسی بعد بدی به ابزار Lex تا کد رو تولید کنه.

    اینجا من یه مثال برات میزارم. یه فایل cpp که حتما باید با کامپایلر Bcc32.exe کامپایل کنی. این فایل رو ابزار lex تولید کرده. از روی عبارات منظم فایل RE.L. فایل EXE هم میزارم که اگه کامپایلر Bcc32..exe رو نداشتی از اون استفاده کنی.

    تو این برنامه بعد از اجرا اگه کلمه Khobi رو به هر شکلی که به نظرت میاد تایپ کنی اون رو به Khobi تبدیل میکنه.(فقط یادت باشه که ترتیب قرار گرفتن کاراکترهای KHOBI مهمه.) یعنی این برنامه برای hkobi جواب نمیده.


    خوب این فقط برای کلمه khobi بود اما اگه میخوای کلمات دیگه ای هم بهش اضافه کنی عبارت منظمشو بنویس تو فایل RE.l و بعد بده به ابزار lex تا برات کد تولید کنه.

    در ضمن اگه من کد cpp تولید کردم وگذاشتم اینجا فقط به خاطر این بود که الان فقط این ورژن از ابزار Lex در اختارم بود ولی تو میتونی ورژنهای دیگه ای از این ابزار پیداکنی که عبارات منظم تو رو به فایل C#‎ ویا جاوا و یا هر زبان دلخواه دیگر تبدیل کنه.

    اگه در مورد سینتکس فایل re.l هم به مشکلی برخورد کردی بگو تا اگه سوادم قد داد جواب بدم.
    فایل های ضمیمه فایل های ضمیمه

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •