Artificial Intelligence - هوش مصنوعی

Artificial Intelligence - هوش مصنوعی (http://artificial.ir/intelligence/)
-   پروژه های هوش مصنوعی در ایران (http://artificial.ir/intelligence/forum42.html)
-   -   سایفر روبات (Cypher Robot) (http://artificial.ir/intelligence/thread2.html)

Siavash ۰۷-۱۹-۱۳۸۷ ۰۷:۰۴ بعد از ظهر

راه درست كردن اين كار استفاده از <like> هست. من توي ورژن بعدي اين قابليت رو اضافه مي كنم. چون اگر بخوايم در Request "يا" رو اضافه كنيم Query ها بسيار سنگين ميشن چون نياز به استفاده از Wildcard ها هست.
تگ <like> به اين صورت خواهد بود كه مثلاً شما hi رو با جوابش تعيين مي كنيد. بعد ركورد ديگه اي به نام hello كه تعريف مي كنيد Response اون رو به جاي اينكه دوباره با جواب پر كنيد داخل اون مي نويسيد <like>hi</like>.
در اين صورت اگر جواب hi رو تغيير بديد جواب hello هم تغيير مي كنه.
خوبي ديگرش اين هست كه مي تونيد دو يا چند تا <like> به همراه يك متن اضافه داشته باشيد. مثلا:
كد:

Bah bah, <like>hi</like>. <like>khoobi</like>
اين كد به ابتداي جواب Bah bah, اضافه مي كنه بعد جواب hi رو اضافه مي كنه و بعد . و سپس جواب خوبي رو اضافه مي كنه. هر كدوم از جواب هاي hi و khoobi عوض بشن بعداً اينجا هم بروز مي شن.

فكر مي كنم اين كار بهتر از اضافه كردن or در بخش Request باشه. براي قوي تر شدن Request يك مدل جديد بعداً ارائه مي كنم كه خيلي انتخاب جواب توسط بات رو هوشمندانه تر خواهد كرد.

r-co ۰۷-۱۹-۱۳۸۷ ۰۷:۴۴ بعد از ظهر

????!؟؟؟؟
 
1) می خواستم بدونم که یه Table تو دیتابیس ایجاد کرد مثلا Message2 که اینجا 3 پاسخ باشه و به هنگام در خواست از روبات هر سه رو همزمان بفرسته یعنی سه Response باشه Res..1 Res..2 Res..3
حالا این سه جوابو کنار هم در یک پیغام جا بده و رنگ هاشو خودش اوتوماتیک بزاره یعنی نیاز نباشه ما تک تک برای جوابا رنگ تعیین کنیم .
----------------------------------------------------------------------------------------------------
2) چطوری باید یه دستور نوشت که بجای / مثلا از \ استفاده کرد و اگه بعد از \ هر چیزی بنویسیم بیاد از تو دیتابیس کلمه ای که بعد از \ باشه از تو Table مثلا از تو Message3 بگرده و جوابشو بفرسته؟ یعنی همون کاری که وقتی ما به روبات PM میدیم میاد از تو Message میاد جوابو میفرسته تو اینجا بیاد کلمه ی بعد از \ رو بگیره و جوابشو پیدا کمه؟
نمی خوام \ قبل از Request باشه؟

soroosh-ab ۰۷-۱۹-۱۳۸۷ ۰۸:۲۲ بعد از ظهر

نقل قول:

نوشته اصلي بوسيله Siavash (پست 426)
راه درست كردن اين كار استفاده از <like> هست. من توي ورژن بعدي اين قابليت رو اضافه مي كنم. چون اگر بخوايم در Request "يا" رو اضافه كنيم Query ها بسيار سنگين ميشن چون نياز به استفاده از Wildcard ها هست.
تگ <like> به اين صورت خواهد بود كه مثلاً شما hi رو با جوابش تعيين مي كنيد. بعد ركورد ديگه اي به نام hello كه تعريف مي كنيد Response اون رو به جاي اينكه دوباره با جواب پر كنيد داخل اون مي نويسيد <like>hi</like>.
در اين صورت اگر جواب hi رو تغيير بديد جواب hello هم تغيير مي كنه.
خوبي ديگرش اين هست كه مي تونيد دو يا چند تا <like> به همراه يك متن اضافه داشته باشيد. مثلا:
كد:

Bah bah, <like>hi</like>. <like>khoobi</like>
اين كد به ابتداي جواب Bah bah, اضافه مي كنه بعد جواب hi رو اضافه مي كنه و بعد . و سپس جواب خوبي رو اضافه مي كنه. هر كدوم از جواب هاي hi و khoobi عوض بشن بعداً اينجا هم بروز مي شن.

فكر مي كنم اين كار بهتر از اضافه كردن or در بخش Request باشه. براي قوي تر شدن Request يك مدل جديد بعداً ارائه مي كنم كه خيلي انتخاب جواب توسط بات رو هوشمندانه تر خواهد كرد.


فکر جالبیه ولی به نظر خیلی سنگین میکنه برنامه رو . اگه هر کلمه رو تشخیص بده و جوابش رو از دیتابیس بگیره و همراه با یه کلمه ی اضافه مثل "و" بچسبونه به هم جالب تر باید باشه .

نقل قول:

نوشته اصلي بوسيله r-co (پست 427)
) می خواستم بدونم که یه Table تو دیتابیس ایجاد کرد مثلا Message2 که اینجا 3 پاسخ باشه و به هنگام در خواست از روبات هر سه رو همزمان بفرسته یعنی سه Response باشه Res..1 Res..2 Res..3
حالا این سه جوابو کنار هم در یک پیغام جا بده و رنگ هاشو خودش اوتوماتیک بزاره یعنی نیاز نباشه ما تک تک برای جوابا رنگ تعیین کنیم .
----------------------------------------------------------------------------------------------------
2) چطوری باید یه دستور نوشت که بجای / مثلا از \ استفاده کرد و اگه بعد از \ هر چیزی بنویسیم بیاد از تو دیتابیس کلمه ای که بعد از \ باشه از تو Table مثلا از تو Message3 بگرده و جوابشو بفرسته؟ یعنی همون کاری که وقتی ما به روبات PM میدیم میاد از تو Message میاد جوابو میفرسته تو اینجا بیاد کلمه ی بعد از \ رو بگیره و جوابشو پیدا کمه؟
نمی خوام \ قبل از Request باشه؟

1 رو نمیتونم درست توضیح بدم ولی با این کدهایی که توی سورس هست میشه دقیقآ اینکار رو کرد .

برای 2 باید توی ماژول modFunctions یه Function مثل getResponse ایجاد کنی بعد توی frmMain یه کدی شبیه این بذاری :

نقل قول:

If Left(Message, 5) = "/XXXX" Then
Response = shabihe-get-response("<XXXX>", PersonId)
End If

که به جای shabihe-get-response باید اون Function که ساختی رو بذاری ! و بعد اگه توی Table مورد نظر <XXXX> باشه جوابشو برمیداره و پی ام میکنه !

Ashkan_yazdgroup ۰۷-۲۰-۱۳۸۷ ۰۳:۲۵ قبل از ظهر

ّبا سلام فایل ارور می دهد
 
با سلام خدمت سیاوش عزیز خوشحالم که این برنامه رو آماده کردین اما من بعد از دانلود و اجرای فایل prjYahoo با ارور زیر مواجه شدم :

Compent "msadodc.ocx" or one of its dependensiec not currectly registered : a file is missing or invalid
چجوری این مشکل رو حل کنم با تشکر
نقل قول:

نوشته اصلي بوسيله Siavash (پست 416)
اين هم ورژن 1.2.4 بات ياهو! مسنجر با امكانات جديد زير:
  • امكان ارسال پيام هاي فارسي
  • اضافه شدن ليستي با عنوان IgnoreList در بانك اطلاعاتي، جهت افزودن افراد به اين ليست مي توانيد از تابع addToIgnoreList استفاده كنيد. بات به كاربراني كه در اين ليست قرار دارند پاسخ نخواهد داد.
  • ذخيره شدن نام كاربري آموزش دهنده ي كلمات توسط سويچ /learn.
  • ذخيره شدن كليه ي پيغام هاي دريافت شده و فرستاده شده توسط بات در بانك اطلاعاتي
  • اضافه شدن امكان Hide كردن برنامه و قرارگيري آن در SysTray (كنار ساعت).
  • اضافه شدن امكان Autologin: با ويرايش نمودن فايل Autologin.sm مي توانيد براي بات تعيين كنيد تا با باز شدن نرم افزار به صورت خودكار با يك Username و Password مشخص لاگين كند.
  • بر طرف شدن باگ سويچ /pm در صورتي كه به عنوان گيرنده آيدي خود بات داده مي شد.
پسورد:
كد:

www.artificial.ir


r-co ۰۷-۲۰-۱۳۸۷ ۱۲:۳۹ بعد از ظهر

Manzoramo Nageferti Soroosh-ab
 
سوروش جان منظور من این نبود که تو گفتی اگه یه بار دیگه بری پست قبلی با دقت بخونی می فهمی
------------------------------------- منظور تو این بود خودم بلد بودم (;
اینو تو modFunctions کپی می کنیم
Function gettell(Request As String, PersonId As String) As String
Set Recordset = Connection.Execute("SELECT Request, Response, Response1, Response2 FROM tell WHERE Request = '" & Request & "'", adCmdText)
gettell = getRandom(Recordset!Response)

gettell = getRandom(Recordset!Response1)
gettell = getRandom(Recordset!Response2)

' Replace custom variables
gettell = Replace(gettell, "<$user>", PersonId)
gettell = Replace(gettell, "<$lastuser>", lastUser)
End Function
اینو هم تو Frm کپی می کنیم

If Left(Message, 2) = "ok" Then
Response = gettell(ok, PersonId)


End If
--------------------------------------------------------------------------------
منظور من اینا نبود.... حالا یه بار دیگه برو بخونش

r-co ۰۷-۲۰-۱۳۸۷ ۰۱:۱۷ بعد از ظهر

ocx For Ashkan
 
اینم ocx هایی که ایراد می گیره اشکان
Download

soroosh-ab ۰۷-۲۰-۱۳۸۷ ۱۰:۲۲ بعد از ظهر

سیاوش جان ممکنه یه اسکریپت برای تشخیص invisible بذاری که من بتونم واسه روبات استفاده کنم ؟ :(

BeHNaM ۰۷-۲۱-۱۳۸۷ ۰۱:۴۸ بعد از ظهر

status
 
سلام سیاوش جان خسته نباشی
میخاستم چند تا نکته رو بگم شاید به بهبودی بات کمک کنه:
من واسه اینکه status بات رو یاهو بلوک نکنه مجبور شدم Private Sub tmrStatus_Timer رو از توی سورس بردارم
واسه اینکه اگه چند نفر همزمان به بات سلام میکردن بات مجبور بود پشت سر هم status عوض کنه و این باعث میشد یاهو متوجه بشه و status رو واسه آیدی بات قفل کنه. اگه واسه بات تعریف بشه که با فاصله زمانی معین ( حداقل 30 ثانیه ) status رو عوض کنه تو این حالت یاهو بلوک نمیکنه.

دوم این که اگه کانکشن اینترنت دیسکانکت شه و دوباره کانکت شه بات واسش تعریف نشده خودشو auto login کنه

BeHNaM ۰۷-۲۱-۱۳۸۷ ۰۲:۱۳ بعد از ظهر

دوستان اینم دو تا سورس
شاید برای تکمیل و بهبودی روبات به کارتون بیاد

البته تحت Visual Basic.NET 2005 هست ولی میشه از بعضی جاهاش استفاده کرد مخصوصا از اولی

1-
YCC Trainer

- 2
Yahoo Login Socket

Siavash ۰۷-۲۱-۱۳۸۷ ۱۰:۰۴ بعد از ظهر

نقل قول:

نوشته اصلي بوسيله r-co (پست 427)
1) می خواستم بدونم که یه Table تو دیتابیس ایجاد کرد مثلا Message2 که اینجا 3 پاسخ باشه و به هنگام در خواست از روبات هر سه رو همزمان بفرسته یعنی سه Response باشه Res..1 Res..2 Res..3
حالا این سه جوابو کنار هم در یک پیغام جا بده و رنگ هاشو خودش اوتوماتیک بزاره یعنی نیاز نباشه ما تک تک برای جوابا رنگ تعیین کنیم .
----------------------------------------------------------------------------------------------------
2) چطوری باید یه دستور نوشت که بجای / مثلا از \ استفاده کرد و اگه بعد از \ هر چیزی بنویسیم بیاد از تو دیتابیس کلمه ای که بعد از \ باشه از تو Table مثلا از تو Message3 بگرده و جوابشو بفرسته؟ یعنی همون کاری که وقتی ما به روبات PM میدیم میاد از تو Message میاد جوابو میفرسته تو اینجا بیاد کلمه ی بعد از \ رو بگیره و جوابشو پیدا کمه؟
نمی خوام \ قبل از Request باشه؟

من سوالتون رو درست متوجه نشدم، مي تونيد با مثال بگيد؟
مثلاً بگيد كاربر چه پيغامي بفرسته و بات چه عملي رو انجام بده يا چه اطلاعاتي رو ذخيره كنه.

نقل قول:

نوشته اصلي بوسيله BeHNaM (پست 436)
سلام سیاوش جان خسته نباشی
میخاستم چند تا نکته رو بگم شاید به بهبودی بات کمک کنه:
من واسه اینکه status بات رو یاهو بلوک نکنه مجبور شدم Private Sub tmrStatus_Timer رو از توی سورس بردارم
واسه اینکه اگه چند نفر همزمان به بات سلام میکردن بات مجبور بود پشت سر هم status عوض کنه و این باعث میشد یاهو متوجه بشه و status رو واسه آیدی بات قفل کنه. اگه واسه بات تعریف بشه که با فاصله زمانی معین ( حداقل 30 ثانیه ) status رو عوض کنه تو این حالت یاهو بلوک نمیکنه.

دوم این که اگه کانکشن اینترنت دیسکانکت شه و دوباره کانکت شه بات واسش تعریف نشده خودشو auto login کنه

من فكر مي كنم در ورژن جديد بات اين مشكلات حل شده. نسخه ي 1.2.4 رو بگيريد...
بابت سورس كد ها هم ممنون براي دوستاني كه مي خواهند با Visual Basic .Net در ياهو! لاگين كنند بيس خوبيه. اما متأسفانه هيچ كدام از پكت ها بجز پكت هاي مرتبط به لاگين رو نداره اما مثال خوبي هست.


زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۰۴:۴۳ بعد از ظهر ميباشد.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.