فهرست مطالب:

نحوه ایجاد هوش مصنوعی قسمت 2: 9 مرحله
نحوه ایجاد هوش مصنوعی قسمت 2: 9 مرحله

تصویری: نحوه ایجاد هوش مصنوعی قسمت 2: 9 مرحله

تصویری: نحوه ایجاد هوش مصنوعی قسمت 2: 9 مرحله
تصویری: آموزش طراحی با هوش مصنوعی قسمت دوم 2024, جولای
Anonim
نحوه ایجاد هوش مصنوعی قسمت 2
نحوه ایجاد هوش مصنوعی قسمت 2

این بخش 2 درباره مراحل انجام هوش مصنوعی در رایانه ویندوز ، با استفاده از پایگاه داده رایگان ، ابزار توسعه برنامه نویسی و موتور رایگان TTS است که به همراه ویندوز انجام شده است.

کلمه "Windows" متعلق به مایکروسافت است.

کلمه "اژدها" متعلق به Nuance است.

مرحله 1: نحوه ایجاد AI قسمت 2

نحوه ساخت هوش مصنوعی قسمت 2
نحوه ساخت هوش مصنوعی قسمت 2

یک زبان برنامه نویسی انتخاب کنید و برخی ابزارها را تهیه کنید

زبانهای برنامه نویسی زیادی وجود دارد. برخی از آنها برای هوش مصنوعی تخصص دارند. مورد علاقه من Visual Basic است ، بنابراین من از آن استفاده کردم. من همچنین با پایگاه داده های سرور SQL کار می کنم ، بنابراین از آن نیز استفاده کردم.

می توانید نسخه های رایگان این موارد را از وب سایت مایکروسافت بارگیری کنید. فقط عبارت EXPRESS را در وب سایت مایکروسافت جستجو کنید. [Visual Studio Express و SQL Server Express]

زبانهای دیگری که ممکن است برای ما بخواهید عبارتند از: Python ، C#، C ++ ، جاوا ، Prolog ، Lisp ، IPL

و خیلی های دیگر. AIML یک "زبان نشانه گذاری" است که بسیار جالب است.

من برنامه "تشخیص گفتار" بهتری نسبت به برنامه ای که با ویندوز ارائه می شود می خواستم ، بنابراین نرم افزار DRAGON را خریدم. من از برنامه استاندارد "Text-to-speech" که با ویندوز ارائه شده است استفاده می کنم.

مرحله 2: سیستم خود را طراحی کنید:

سیستم خود را طراحی کنید
سیستم خود را طراحی کنید

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

من کد خود را به ماژول های مختلف تقسیم کردم تا بتوان یک تابع خاص را راحت تر پیدا کرد.

من ماژول هایی با نام "Process Input" ، "Process AI" ، "Process Output" ، "User Interface" و چند مورد دیگر دارم. برخی از توابع من باید برای همه ماژول های کد در دسترس باشند ، بنابراین آن توابع را در یک ماژول "مشترک" قرار می دهم که همه چیز در آن به اشتراک گذاشته شده است

مرحله 3: توابع ایجاد شده در زبان برنامه نویسی:

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

زبانهای مختلف ممکن است نامهای متفاوتی برای اینها داشته باشند ، اما همه زبانهای سطح بالا عملکردهای مشابهی دارند.

LCase یا ToLower: یک رشته را به همه حروف کوچک تبدیل می کند. قبل از جستجوی پایگاه داده ، همه چیز را به حروف کوچک تبدیل می کنم-حتی اگر اکثر چیزها به حروف کوچک حساس نباشند-در صورت مورد.

جایگزینی: یک رشته داخل یک رشته را به یک رشته دیگر جایگزین کنید. می توانید یک رشته را با یک رشته خالی "" جایگزین کنید تا از شر آن خلاص شوید. از شر نقطه ، علامت سوال ، کاما و دیگر علائم نگارشی خلاص می شوم.

Split: یک رشته را به قطعات جداگانه تقسیم کرده و آنها را در یک آرایه قرار می دهد. این تابع یک رشته را روی هر کاراکتر یا "محدود کننده" تقسیم می کند. من یک جمله را روی "شخصیت فضایی" "" تقسیم کردم تا مجموعه ای از کلمات را ایجاد کنم. این کار توسط گوروهای هوش مصنوعی "Tokenizing" نامیده می شود.

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

مرحله 4: توابع داخلی را برای ایجاد توابع خود ترکیب کنید

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

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

مرحله 5: ماژول ها چه کار می کنند؟ "پردازنده ورودی"

ماژول ها چه کار می کنند؟ "پردازنده ورودی"
ماژول ها چه کار می کنند؟ "پردازنده ورودی"

ممکن است صد روش مختلف برای پرسش یکسان از هوش مصنوعی وجود داشته باشد. مثلا؛ "ساعت چند است؟" ، "وقت داری؟" "آیا می دانید ساعت چند است؟" ، "می توانید زمان فعلی روز را به من بگویید؟" از آنجا که کاربر فقط زمان را می پرسد ، من هر یک از این ورودی ها را با استفاده از جدول پایگاه داده "Look up" به یک خروجی واحد به نام "Query Time" تبدیل می کنم.

می توانید کد را برای حلقه از طریق جدول بنویسید تا مطابقت پیدا کند ، یا اگر از پایگاه داده SQL استفاده می کنید ، می توانید یک پرس و جو SQL بنویسید ، مانند…

"انتخاب خروجی از TableName جایی که ورودی =" "هرچه""

… و سپس خروجی "Query Time" را به ماژول کد بعدی ارسال می کنم. "فرآیند هوش مصنوعی"

علاوه بر سوالات ، روشهای زیادی برای گفتن "سلام" وجود دارد

سلام ، سلام ، چه خبر ، هی ، هولا ، چطور هستی ، سلام ، خوش آمدید ، سلام ، سلام…

همه اینها به "سلام" خلاصه می شود

هنگامی که پردازنده هوش مصنوعی "Greeting" را می بیند ، "سلام" را به پردازنده خروجی می فرستد ، که یک تبریک تصادفی از جدول پایگاه داده انتخاب کرده و آن را با صدای بلند بیان می کند.

مرحله 6: "پردازنده هوش مصنوعی"

"پردازنده هوش مصنوعی"
"پردازنده هوش مصنوعی"

Process AI بزرگترین ماژول کد است. آنقدر بزرگ است که من آن را نیز به بخش هایی تقسیم کردم.

ورودی مورد بررسی قرار می گیرد تا ببیند آیا کاربر فرمان را گفته یا س askedالی پرسیده است. همچنین ، هوش مصنوعی می تواند در هر یک از چندین "حالت" باشد ، به این معنی که کد "پردازش AI" از کاربر انتظار دارد به جای پرسیدن س questionال ، به سSالی پاسخ دهد.

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

مرحله 7: جدول "خروجی و نمرات"

این
این

خروجی هوش مصنوعی از ورودی من "مرغ چه کرد؟"

مرحله 8: "پردازنده خروجی"

"پردازنده خروجی"
"پردازنده خروجی"

این کار چندین چیز غیر مرتبط را انجام می دهد ، اما همه آنها به ارسال متن از پردازنده هوش مصنوعی به کاربر مربوط می شود.

در اینجا لیستی وجود دارد.

1. متن پایگاه داده ممکن است با حروف کوچک و بدون علائم نگارشی باشد.. Subroutines حرف اول را بزرگ می نویسد و یک نقطه یا علامت سوال در انتهای آن قرار می دهد.

2. یک روال دیگر ، آپوستروف ها را به حالت انقباض برمی گرداند ، یا انقباضات را به کلمات کامل تبدیل می کند (یعنی "نمی توان" با "نمی توان" جایگزین می شود)

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

4. اگر هوش مصنوعی پاسخ مناسبی در پایگاه داده پیدا نکند ، می تواند بگوید "نمی دانم" اما نمی خواهم بارها و بارها این را بگوید. افراد واقعی واکنش های خود را متفاوت می کنند. بنابراین یک جدول با عبارات "Output Common" و یک تابع وجود دارد که یکی را به صورت تصادفی انتخاب می کند (و هرگز یک مورد را دوبار پشت سر هم انتخاب نمی کند.)

5. موتور "تبدیل به گفتار" (TTS) رایگان به برنامه نویس گزینه های زیادی برای نحوه بیان جملات نمی دهد ، اما شما کنترل کمی بر سرعت و سرعت واج ها دارید. اصطلاح این "Prosody" است. من برخی از کدهای "prosody" را به متن پایگاه داده خود اضافه کردم ، و وقتی "Output Processor" آنها را مشاهده کرد ، با بیان هر کلمه ، سرعت و سرعت موتور TTS را تنظیم می کند.

6- گاهی اوقات درک TTS فقط سخت است ، بنابراین علاوه بر بلند گفتن کلمات ، آنها را با حروف بزرگ روی صفحه کامپیوتر خود نیز نمایش می دهم. این بخش از "رابط کاربر" یک شبکه است که 6 خط آخر یک مکالمه (ورودی کاربر و خروجی هوش مصنوعی) را نشان می دهد و با افزودن خطوط جدید به بالا حرکت می کند.

مرحله 9: به کار بر روی آن ادامه دهید

به کار بر روی آن ادامه دهید
به کار بر روی آن ادامه دهید

ورودی من "به کسی نگو" بود

من هنوز روی سیستم هوش مصنوعی خود کار می کنم ، و احتمالاً هرگز هرگز "انجام نمی شود". با افزودن ویژگی های بیشتر ، مقالات بیشتری خواهم نوشت.

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

توصیه شده: