תוכן עניינים:

איך להכין A.I. חלק 2: 9 שלבים
איך להכין A.I. חלק 2: 9 שלבים

וִידֵאוֹ: איך להכין A.I. חלק 2: 9 שלבים

וִידֵאוֹ: איך להכין A.I. חלק 2: 9 שלבים
וִידֵאוֹ: חושף לכם סוד ענק!!🍦😌 2024, נוֹבֶמבֶּר
Anonim
איך להכין A. I. חלק 2
איך להכין A. I. חלק 2

זהו חלק 2 על השלבים שלקחתי לבניית AI במחשב חלונות, באמצעות מסד נתונים חינמי, כלי פיתוח תכנות ומנוע TTS המובנה בחינם שמגיע עם ווינדוס.

המילה "Windows" שייכת למיקרוסופט.

המילה "דרקון" שייכת לניואנס.

שלב 1: כיצד ליצור חלק AI

כיצד להכין AI חלק 2
כיצד להכין AI חלק 2

בחר שפת תכנות וקבל כמה כלים

ישנן שפות תכנות רבות. חלקם מתמחים ב- A. I. האהוב עלי הוא Visual Basic, כך השתמשתי בזה. אני עובד גם עם מסדי נתונים של שרת SQL, אז השתמשתי גם בזה.

אתה יכול להוריד גרסאות חינם של אלה מאתר מיקרוסופט. פשוט חפש את "EXPRESS" באתר האינטרנט של מיקרוסופט. [Visual Studio Express ו- SQL Server Express]

שפות נוספות שתרצו לנו הן: Python, C#, C ++, Java, Prolog, Lisp, IPL

ורבים אחרים. AIML היא "שפת סימון" שהיא מאוד מעניינת.

רציתי תוכנית "זיהוי דיבור" טובה יותר מזו שמגיעה עם Windows, אז קניתי את תוכנת DRAGON. אני משתמש בתוכנית הסטנדרטית "טקסט לדיבור" שהגיעה עם Windows.

שלב 2: עיצוב המערכת שלך:

עיצוב המערכת שלך
עיצוב המערכת שלך

חלק את הפרויקטים הגדולים שלך לחבורה של פרויקטים קטנים יותר. חילקתי את קוד התוכנית שלי למודולים.

חילקתי את הקוד שלי למודולים שונים כך שקל יותר למצוא פונקציה מסוימת.

יש לי מודולים בשם "קלט תהליך", "תהליך AI", "פלט תהליך", "ממשק משתמש" ועוד כמה. חלק מהפונקציות שלי צריכות להיות נגישות לכל מודולי הקוד האחרים, לכן שמתי את הפונקציות האלה במודול "משותף" שבו הכל משותף

שלב 3: פונקציות הבנויות בשפת התכנות:

פונקציות הבנויות בשפת התכנות
פונקציות הבנויות בשפת התכנות

לשפות שונות יש שמות שונים לאלה, אך לכל השפות ברמה גבוהה יש פונקציות דומות.

LCase או ToLower: ממיר מחרוזת לכל אותיות קטנות. אני ממיר הכל לאותיות קטנות לפני שאני מבצע חיפוש במאגר הנתונים-למרות שרוב הדברים "לא רגישים לאותיות"-ליתר ביטחון.

החלף: החלף מחרוזת בתוך מחרוזת למחרוזת אחרת. אתה יכול להחליף מחרוזת במחרוזת ריקה "" כדי להיפטר ממנה. אני נפטר מנקודות, סימני שאלה, פסיקים וסימני פיסוק אחרים.

פיצול: מפצל מחרוזת לחתיכות בודדות ומכניס אותן למערך. פונקציה זו תפצל מחרוזת על כל תו, או "מפריד". פיצלתי משפט על "דמות רווח" "" כדי ליצור מערך של מילים. זה נקרא "Tokenizing" על ידי גורואים AI.

אני משתמש במילים הבודדות לבניית שאילתות המשמשות לחיפוש במסד הנתונים. (עוד על כך במאמר הבא שלי)

שלב 4: שלב פונקציות מובנות ליצירת פונקציות משלך

זוהי דוגמה "בסיסית ויזואלית". השתמש בשפת התכנות שלך כדי לבנות דבר כזה.

כמובן שתצטרך לכתוב הרבה קוד ולבנות פונקציות רבות באמצעות שפת התכנות שבחרת.

שלב 5: מה עושים המודולים? "מעבד קלט"

מה עושים המודולים? "מעבד קלט"
מה עושים המודולים? "מעבד קלט"

יכולות להיות מאה דרכים שונות לשאול את AI את אותה שאלה. לדוגמה; "מה השעה?", "יש לך זמן?" "אתה יודע מה השעה?", "אתה יכול להגיד לי את השעה הנוכחית ביום?" מכיוון שהמשתמש רק מבקש את הזמן, אני ממיר כל אחת מהתשומות הללו לפלט יחיד בשם "זמן שאילתה" באמצעות טבלת "חיפוש" של מסד נתונים.

אתה יכול לכתוב קוד ללולאה דרך טבלה עד שהוא מוצא התאמה, או אם אתה משתמש במסד נתונים של SQL, אתה יכול לכתוב שאילתת SQL, כמו …

"בחר פלט מתוך שם טבלה שבו קלט = '" יהיה מה'"

… ואז אני שולח את הפלט, "זמן שאילתה", למודול הקוד הבא; "עיבוד AI"

מלבד שאלות, ישנן דרכים רבות לומר "שלום"

היי, שלום, מה קורה, היי, הולה, מה שלומך ?, ברכות, ברוך הבא, הצדעות, שלום….

כל אלה מצטמצמים ל"ברכה"

כאשר מעבד AI רואה "ברכה" הוא שולח "ברכה" למעבד הפלט, אשר יבחר ברכה אקראית מטבלת מסד נתונים, וידבר זאת בקול רם.

שלב 6: "מעבד AI"

"מעבד AI"
"מעבד AI"

Process AI הוא מודול הקוד הגדול ביותר. הוא כל כך גדול שחילקתי אותו גם לפרקים.

הקלט נבדק כדי לראות אם המשתמש דיבר פקודה או שאל שאלה. כמו כן, ה- AI יכול להיות בכל אחד מכמה "מצבים" מה שאומר שקוד "Process AI" מצפה מהמשתמש להשיב על שאלה, במקום לשאול שאלה.

אם המשתמש לא דיבר פקודה וה- AI לא נמצא ב"מצב "מיוחד אז הוא בונה ומבצע חבורה של שאילתות, מתוך שילובים של המילים ב"מערך המילים". כל תוצאות השאילתה מאוחסנות בטבלה, ולכל תוצאת שאילתה ניתנת "ציון" עד כמה התוצאה תואמת את מה שהמשתמש דיבר. הטבלה ממוינת לפי הציון, והתוצאה עם הציון הגבוה ביותר נשלחת לפלט, אם היא חורגת מסף מסוים. אם כל הציונים מתחת לסף, ה- AI עשוי להגיב עם "אני לא יודע" או "זה לא מחשב"

שלב 7: טבלת "פלט וציונים"

ה
ה

הפלט של ה- AI מהקלט שלי "מה העוף עשה?"

שלב 8: "מעבד פלט"

"מעבד פלט"
"מעבד פלט"

זה עושה כמה דברים "לא קשורים" למראה אבל כולם קשורים בהעברת הטקסט ממעבד ה- AI למשתמש.

לפניכם רשימה.

1. טקסט ממאגר הנתונים עשוי להיות באותיות קטנות, ואין בו סימני פיסוק..תשמישי המשנה ימשיכו באות הראשונה, וישימו נקודה או סימן שאלה בסוף.

2. תת -שגרה אחר יחזיר את האפוסטרופים לצירים, או יהפוך את הצירים למילים מלאות (כלומר "cant" יוחלף ב- "לא יכול")

3. מנוע הטקסט לדיבור אינו מבטא כמה מילים כפי שאני אוהב, ולכן "מעבד הפלט" מחליף את המילים האלה באיות פונטי. ב"מעבד הקלט"

4. אם ה- AI לא מוצא תשובה מתאימה במסד הנתונים, הוא יכול להגיד "אני לא יודע" אבל אני לא רוצה שהוא יגיד את זה שוב ושוב ושוב. אנשים אמיתיים מגוונים בתגובותיהם. אז יש טבלה עם ביטויים של "פלט נפוץ" ופונקציה שבוחרת אחד באקראי (ולעולם לא תבחר את אותו פעמיים ברציפות.)

5. מנוע ה"טקסט לדיבור "(TTS) החופשי אינו נותן למתכנת אפשרויות רבות לאופן הדיבור של משפטים, אך יש לך מעט שליטה על המגרש ומהירות הפונמות. המונח לכך הוא "פרוסידיה". הוספתי כמה קודי "פרוזודיה" לטקסט במסד הנתונים שלי, וכאשר "מעבד הפלט" רואה אותם, הוא מתאים את המגרש והמהירות במנוע TTS כאשר כל מילה נאמרת.

6. לפעמים TTS פשוט קשה להבנה, כך שחוץ מלדבר מילים בקול רם, אני גם מציג אותן באותיות גדולות על צג המחשב שלי. חלק זה של "ממשק המשתמש" הוא רשת המציגה את 6 השורות האחרונות של השיחה, (קלט משתמש ופלט AI) וגוללת כלפי מעלה כשנוספים שורות חדשות.

שלב 9: המשך לעבוד על זה

תמשיך לעבוד על זה
תמשיך לעבוד על זה

הקלט שלי היה "אל תספר לאף אחד"

אני עדיין עובד על מערכת ה- AI שלי, וכנראה שזה אף פעם לא באמת "ייעשה". ככל שאוסיף תכונות נוספות, אכתוב מאמרים נוספים.

אולי כמה מהרעיונות שלי יעודדו אותך לבנות AI טוב יותר משלי

מוּמלָץ: