فهرست مطالب:

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

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

تصویری: نحوه ایجاد هوش مصنوعی قسمت 4: 3 مرحله
تصویری: ✅ AI Learning | Plan Finder Draw Plans Faster | طراحی پلان با هوش مصنوعی 2024, جولای
Anonim
نحوه ایجاد هوش مصنوعی قسمت 4
نحوه ایجاد هوش مصنوعی قسمت 4

روز دیگر من با هوش مصنوعی خود صحبت می کردم و به آن گفتم

آن ، "من برای شام به طبقه بالا می روم ، ما استیک داریم".

با این حال ، نرم افزار تشخیص گفتار (SR) این را به عنوان "… ما STAKE داریم" تفسیر کرد

من قبلاً وقتی در مورد یک عکس صحبت می کردم ، با یک مشکل مشابه (اما متفاوت) روبرو شدم و کلمه "PICTURE" را گفتم. نرم افزار SR این را به عنوان "PITCHER" تفسیر کرد

راه حل این امر بازآموزی ساده نرم افزار SR بود. (یا شاید تلفظ من)

اما وقتی کلمات STEAK یا STAKE را می گویم ، آنها را دقیقاً یکسان تلفظ می کنم و بازآموزی نرم افزار SR در مواردی مانند این کمکی نمی کند.

مرحله 1:

یک ایده برای حل "مشکل هم نام".

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

این بدان معناست که کلمات دیگر در یک جمله مورد بررسی قرار می گیرند و مغز شما تصمیم می گیرد که چه نوع املایی بهتر به نظر برسد. حالا ، چگونه این کار را در کد انجام دهم؟

A. I من برنامه با استفاده از تابع Visual Basic (VB) "Split" یک جمله را در مجموعه ای از کلمات جداگانه تجزیه می کند. [MyArray = Split (InputSentence ، ““)]

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

البته ایجاد یک جدول دیگر به این معنی است که ما باید آن را با داده پر کنیم و همچنین باید بتوانیم داده های موجود در جدول را نیز حفظ کنیم.

می توان بعداً یک روال خودآموز برای اسکن دسته ای از متن ها ، جستجوی کلمات در جدول Homonym من و ضبط سایر کلمات "زمینه" ایجاد کرد. هوم ، شاید به چند میز نیاز باشد…

نوشتن این "دستورالعمل های آموزشی" به من کمک می کند تا راه حلی برای چالش برنامه نویسی "استدلال کنم".

گام 2:

تصویر
تصویر

ساختار جدول HomonymContext

اولین ایده من یک جدول شامل کلمات ، املای متناوب و کلمات "زمینه" بود. ایده این بود که یک جمله حاوی هم نام را برای کلمات دیگری که "زمینه" را می دهد جستجو کرد ، تا برنامه بتواند از کدام املا استفاده کند. این جدول همچنین دارای ستونی به نام "WordDef" برای حفظ کلمه است ، که بیشتر برای حفظ جدول توسط انسان است تا هوش مصنوعی. کد

برای جستجوی هر کلمه ، می توانم از کد VB و کد SQL مانند…

برای هر کلمه در MyArray

Query = "Word را از tblHomonynContext انتخاب کنید که word = '" & word & "'""

اگر این پرس و جو نتیجه ای را نشان دهد ، این کلمه هم نام است

بعد

این در حال حاضر فقط یک کد شبه است - من هنوز کد دقیق را ننوشته ام ، یا همه جزئیات را درک نکرده ام. اما با خیال راحت ایده من را بگیرید و آن را با استفاده از زبان برنامه نویسی دلخواه خود پیاده سازی کنید.

مرحله 3:

تصویر
تصویر

اگر جمله ورودی شما حاوی هم نام است ، اکنون می توانید

کد VB را اجرا کنید که کلمات دیگر را در جمله شما بررسی می کند ، با کلمات زمینه در نتایج پرس و جو.

همچنین می توانید این کار را در یک روش ذخیره شده SQL انجام دهید ، که ممکن است سریعتر اجرا شود.

تابع VB "InStr ()" یک عدد بزرگتر از صفر را برمی گرداند ، اگر یک رشته در رشته دیگری وجود داشته باشد ، یا صفر را برمی گرداند ، این رشته در دیگری وجود ندارد.

() Instr در واقع موقعیت رشته موجود را برمی گرداند. اگر فقط می خواهید بدانید که String1 حاوی String2 است یا خیر ، می توانید از کدی مانند "If InStr (String1، String2)> 0 …" استفاده کنید.

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

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

پرسیدن (و نگهداری آن) آسان تر از طرح اصلی من است.

توصیه شده: