Სარჩევი:

როგორ გააკეთოთ 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 იმ ნაბიჯების შესახებ, რაც მე გადავიღე Windows კომპიუტერზე AI– ს შესაქმნელად, უფასო მონაცემთა ბაზის, პროგრამირების განვითარების ინსტრუმენტისა და უფასო ჩამონტაჟებული TTS ძრავის გამოყენებით, რომელიც მოყვება Windows– ს.

სიტყვა "Windows" ეკუთვნის Microsoft- ს.

სიტყვა "დრაკონი" ეკუთვნის ნუანს.

ნაბიჯი 1: როგორ გავაკეთოთ AI ნაწილი 2

როგორ გავაკეთოთ AI ნაწილი 2
როგორ გავაკეთოთ AI ნაწილი 2

შეარჩიეთ პროგრამირების ენა და მიიღეთ რამდენიმე ინსტრუმენტი

ბევრი პროგრამირების ენაა. ზოგი სპეციალიზირებულია A. I. ჩემი ფავორიტი არის Visual Basic, ასე რომ მე ვიყენებდი. მე ასევე ვმუშაობ SQL სერვერის მონაცემთა ბაზებთან, ამიტომ მეც ვიყენებდი ამას.

ამის უფასო ვერსიების ჩამოტვირთვა შეგიძლიათ Microsoft– ის ვებ – გვერდიდან. უბრალოდ მოძებნეთ "EXPRESS" Microsoft ვებსაიტზე. [Visual Studio Express და SQL server Express]

სხვა ენები, რომლებიც შეიძლება დაგჭირდეთ ჩვენთვის არის: Python, C#, C ++, Java, Prolog, Lisp, IPL

და მრავალი სხვა. AIML არის "მარკირების ენა", რომელიც ძალიან საინტერესოა.

მე მინდოდა უკეთესი "მეტყველების ამოცნობის" პროგრამა, ვიდრე ის, რაც მოყვება Windows- ს, ამიტომ შევიძინე DRAGON პროგრამული უზრუნველყოფა. მე ვიყენებ სტანდარტულ პროგრამას "Text-to-speech", რომელიც მოყვება Windows- ს.

ნაბიჯი 2: შეიმუშავეთ თქვენი სისტემა:

შექმენით თქვენი სისტემა
შექმენით თქვენი სისტემა

დაყავით თქვენი დიდი პროექტები მცირე პროექტებად. ჩემი პროგრამის კოდი დავყავი მოდულებად.

მე დავყავი ჩემი კოდი სხვადასხვა მოდულად, რათა კონკრეტული ფუნქციის პოვნა უფრო ადვილი იყოს.

მე მაქვს მოდულები სახელწოდებით "პროცესის შეყვანა", "პროცესის AI", "პროცესის გამომუშავება", "მომხმარებლის ინტერფეისი" და რამდენიმე სხვა. ჩემი ზოგიერთი ფუნქცია უნდა იყოს ხელმისაწვდომი ყველა სხვა კოდის მოდულისთვის, ამიტომ მე ეს ფუნქციები ჩავდე "საერთო" მოდულში, სადაც ყველაფერი გაზიარებულია

ნაბიჯი 3: პროგრამირების ენაზე ჩაშენებული ფუნქციები:

ფუნქციები, რომლებიც ჩაშენებულია პროგრამირების ენაზე
ფუნქციები, რომლებიც ჩაშენებულია პროგრამირების ენაზე

სხვადასხვა ენას შეიძლება ჰქონდეს განსხვავებული სახელები, მაგრამ ყველა მაღალი დონის ენას აქვს მსგავსი ფუნქციები.

LCase ან ToLower: გარდაქმნის სტრიქონს ყველა მცირე ასოზე. მონაცემთა ბაზის ძებნის წინ ყველაფერს ვაქცევ მცირე ასოებით-მიუხედავად იმისა, რომ უმეტესობა „შემთხვევისადმი მგრძნობიარეა“-ყოველი შემთხვევისთვის.

შეცვლა: სტრიქონის შიგნით სტრიქონის შეცვლა სხვა სტრიქონში. თქვენ შეგიძლიათ შეცვალოთ სტრიქონი ცარიელი სტრიქონით "" მისგან თავის დასაღწევად. მე ვიშორებ პერიოდებს, კითხვის ნიშნებს, მძიმეებს და სხვა სასვენი ნიშნებს.

გაყოფა: ყოფს სტრიქონს ცალკეულ ნაწილებად და ათავსებს მასივში. ეს ფუნქცია გაყოფს სტრიქონს ნებისმიერ სიმბოლოზე, ან "გამყოფზე". მე დავყავი წინადადება "სივრცის პერსონაჟზე" "" სიტყვების მასივის შესაქმნელად. ამას ეწოდება "ტოკენიზაცია" AI გურუსების მიერ.

მე ვიყენებ ცალკეულ სიტყვებს მონაცემთა ბაზის საძიებლად გამოყენებული შეკითხვების შესაქმნელად. (ამის შესახებ ჩემს შემდეგ სტატიაში)

ნაბიჯი 4: შეუთავსეთ ჩამონტაჟებული ფუნქციები საკუთარი ფუნქციების შესაქმნელად

ეს არის "ვიზუალური ძირითადი" მაგალითი. გამოიყენეთ თქვენი პროგრამირების ენა მსგავსი რამის შესაქმნელად.

რა თქმა უნდა, თქვენ დაგჭირდებათ ბევრი კოდის დაწერა და მრავალი ფუნქციის შექმნა, თქვენთვის სასურველი პროგრამირების ენის გამოყენებით.

ნაბიჯი 5: რას აკეთებენ მოდულები? "შეყვანის პროცესორი"

რას აკეთებენ მოდულები? "შეყვანის პროცესორი"
რას აკეთებენ მოდულები? "შეყვანის პროცესორი"

შეიძლება არსებობდეს ასი განსხვავებული გზა, რომ დაუსვათ AI იგივე შეკითხვა. Მაგალითად; "რომელი საათია?", "დრო გაქვს?" "იცი რა დროა?", "შეგიძლია მითხრა დღის ახლანდელი დრო?" ვინაიდან მომხმარებელი მხოლოდ დროს ითხოვს, მე რომელიმე ამ შეყვანას ვაქცევ ერთ გამომავალში სახელწოდებით "შეკითხვის დრო" მონაცემთა ბაზის "ძიების" ცხრილის გამოყენებით.

თქვენ შეგიძლიათ ჩაწეროთ კოდი ცხრილში მარყუჟამდე, სანამ ის არ იპოვის შესატყვისს, ან თუ იყენებთ SQL მონაცემთა ბაზას, შეგიძლიათ დაწეროთ SQL მოთხოვნა, მაგალითად…

"აირჩიეთ გამომავალი TableName- დან, სადაც შეყვანა =" "რაც არ უნდა იყოს""

… და შემდეგ მე გამოგიგზავნით გამომავალს, „შეკითხვის დრო“, მომდევნო კოდის მოდულში; "პროცესის AI"

კითხვების გარდა, მრავალი გზა არსებობს "გამარჯობა"

გამარჯობა, გამარჯობა, რა ხდება, ჰო, როგორ ხარ ?, გამარჯობა, მისალმება, სალამი, გამარჯობა….

ეს ყველაფერი მცირდება "მისალმებამდე"

როდესაც AI პროცესორი ხედავს "მისალმებას", იგი აგზავნის "მისალმებას" გამომავალ პროცესორზე, რომელიც ირჩევს შემთხვევით მისალმებას მონაცემთა ბაზის ცხრილიდან და ხმამაღლა წარმოთქვამს მას.

ნაბიჯი 6: "AI პროცესორი"

"AI პროცესორი"
"AI პროცესორი"

პროცესის AI არის ყველაზე დიდი კოდის მოდული. ის იმდენად დიდია, რომ მეც დავყავი სექციებად.

შეყვანის შემოწმება ხდება, რომ მომხმარებელმა ისაუბრა ბრძანებით, ან დაუსვა შეკითხვა. ასევე, AI შეიძლება იყოს რამდენიმე "რეჟიმში", რაც ნიშნავს რომ "პროცესის AI" კოდი ელოდება მომხმარებელს უპასუხოს კითხვას, ნაცვლად კითხვის დასმისა.

თუ მომხმარებელს არ უთქვამს ბრძანება და AI არ არის სპეციალურ "რეჟიმში", მაშინ ის აგებს და ასრულებს რამოდენიმე შეკითხვას, სიტყვების კომბინაციიდან "სიტყვათა მასივში". შეკითხვის ყველა შედეგი ინახება ცხრილში და თითოეული შეკითხვის შედეგს ეძლევა „ქულა“იმის შესახებ, თუ რამდენად შეესაბამება შედეგი მომხმარებლის მიერ ნათქვამს. ცხრილი დალაგებულია ქულის მიხედვით და უმაღლესი ქულის მქონე შედეგი ეგზავნება გამომავალს, თუ იგი გადააჭარბებს გარკვეულ ზღვარს. თუ ყველა ქულა არის ბარიერის ქვემოთ, AI– მ შეიძლება უპასუხოს „არ ვიცი“ან „ეს არ გამოითვლება“

ნაბიჯი 7: "გამომავალი და ქულები" ცხრილი

ის
ის

AI გამომავალი ჩემი შეტანიდან "რა ქათამმა გააკეთა?"

ნაბიჯი 8: "გამომავალი პროცესორი"

"გამომავალი პროცესორი"
"გამომავალი პროცესორი"

ეს აკეთებს რამდენიმე „დაუკავშირებელ“გარეგნობას, მაგრამ ყველა მათგანი დაკავშირებულია AI პროცესორიდან მომხმარებლისთვის ტექსტის მიღებასთან.

აქ არის სია.

1. მონაცემთა ბაზის ტექსტი შეიძლება იყოს ყველა მცირე ასოებით და არ ჰქონდეს სასვენი ნიშნები..სუბრუინები ჩაწერენ პირველ ასოზე და დასვამენ წერტილს ან კითხვის ნიშანს ბოლოს.

2. სხვა ქვეგანაყოფი აბოსტროფებს დააბრუნებს შეკუმშვაში, ან გადააქცევს შეკუმშვებს სრული სიტყვებით (ანუ "არ შემიძლია" შეიცვლება "არ შემიძლია")

3. ტექსტის მეტყველების ძრავა არ გამოთქვამს ზოგიერთ სიტყვას ისე, როგორც მე მომწონს, ამიტომ "გამოყვანის პროცესორი" ცვლის ამ სიტყვებს ფონეტიკური მართლწერას. "შეყვანის პროცესორში"

4. თუ AI ვერ პოულობს შესაბამის პასუხს მონაცემთა ბაზაში, მას შეუძლია თქვას "მე არ ვიცი", მაგრამ მე არ მსურს, რომ ეს მან კვლავ და ისევ თქვას. ნამდვილი ადამიანები განსხვავდებიან თავიანთი რეაქციით. ასე რომ, არსებობს ცხრილი "საერთო გამომავალი" ფრაზებით და ფუნქციით, რომელიც ირჩევს ერთს შემთხვევით (და არასოდეს აირჩევს ერთს ზედიზედ ორჯერ.)

5. უფასო "ტექსტი მეტყველების" (TTS) ძრავა არ აძლევს პროგრამისტს წინადადებების წარმოთქმის უამრავ ვარიანტს, მაგრამ თქვენ გაქვთ მცირედი კონტროლი მოედანზე და ფონემების სიჩქარეზე. ამის ტერმინი არის "პროსოდია". მე დავამატე რამდენიმე "პროსოდიის" კოდი ტექსტში ჩემს მონაცემთა ბაზაში, და როდესაც "გამომავალი პროცესორი" ხედავს მათ, ის არეგულირებს სიმაღლესა და სიჩქარეს TTS ძრავაში, თითოეული სიტყვის წარმოთქმისას.

6. ზოგჯერ TTS უბრალოდ ძნელი გასაგებია, ამიტომ სიტყვების ხმამაღლა საუბრის გარდა, მათ ასევე დიდი ასოებით ვაჩვენებ ჩემი კომპიუტერის ეკრანზე. "მომხმარებლის ინტერფეისის" ეს ნაწილი არის ბადე, რომელიც აჩვენებს საუბრის ბოლო 6 სტრიქონს, (მომხმარებლის შეყვანა და AI გამომავალი) და გადადის ახალი ხაზების დამატებისას.

ნაბიჯი 9: განაგრძეთ მუშაობა მასზე

განაგრძეთ მუშაობა მასზე
განაგრძეთ მუშაობა მასზე

ჩემი შენიშვნა იყო "არავის უთხრა"

მე ჯერ კიდევ ვმუშაობ ჩემს AI სისტემაზე და ის ალბათ არასოდეს იქნება "გაკეთებული". რაც უფრო მეტ მახასიათებელს დავამატებ, უფრო მეტ სტატიას დავწერ.

შესაძლოა, ჩემი ზოგიერთი იდეა შთააგონებს თქვენ შექმნათ AI, რომელიც ჩემზე უკეთესია

გირჩევთ: