Სარჩევი:

როგორ გააკეთოთ A.I. ნაწილი 4: 3 ნაბიჯი
როგორ გააკეთოთ A.I. ნაწილი 4: 3 ნაბიჯი

ვიდეო: როგორ გააკეთოთ A.I. ნაწილი 4: 3 ნაბიჯი

ვიდეო: როგორ გააკეთოთ A.I. ნაწილი 4: 3 ნაბიჯი
ვიდეო: ლუკა და მარიამი 2024, ნოემბერი
Anonim
როგორ გააკეთოთ A. I. ნაწილი 4
როგორ გააკეთოთ A. I. ნაწილი 4

მეორე დღეს მე ვესაუბრე ჩემს AI- ს და ვუთხარი

ის, "მე ვაპირებ მაღლა სადილად, ჩვენ ვსხდებით".

თუმცა, Speech Recognition (SR) პროგრამული უზრუნველყოფა ამას განმარტავს, როგორც”… ჩვენ გვაქვს STAKE”

მსგავს (მაგრამ განსხვავებულ) პრობლემას წავაწყდი ადრე, როდესაც ვსაუბრობდი ფოტოსურათზე და ვთქვი სიტყვა "PICTURE". SR პროგრამული უზრუნველყოფა განმარტავს ამას როგორც "PITCHER"

ამის გამოსწორება იყო SR პროგრამული უზრუნველყოფის მარტივი გადამზადება. (ან იქნებ ჩემი გამოთქმა)

როდესაც მე ვამბობ სიტყვებს STEAK ან STAKE, მე მათ ზუსტად ისე გამოვთქვამ და SR პროგრამული უზრუნველყოფის გადამზადება არ დაეხმარება ასეთ შემთხვევებში.

Ნაბიჯი 1:

ერთი იდეა "ჰომონიმის პრობლემის" გადასაჭრელად.

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

ეს ნიშნავს, რომ სხვა სიტყვები წინადადებაში განიხილება და თქვენი ტვინი წყვეტს რომელი მართლწერა გამოიყურება საუკეთესოდ. ახლა, როგორ გავაკეთო ეს კოდით?

ჩემი A. I. პროგრამა აანალიზებს წინადადებას ცალკეული სიტყვების მასივში Visual Basic (VB) "Split" ფუნქციის გამოყენებით. [MyArray = გაყოფა (InputSentence, ““)]

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

რა თქმა უნდა, სხვა ცხრილის შექმნა ნიშნავს იმას, რომ ჩვენ დაგვჭირდება მისი შევსება მონაცემებით და ასევე ჩვენ უნდა შეგვეძლოს ცხრილში არსებული მონაცემების შენარჩუნებაც.

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

ამ "ინსტრუქციის" დაწერა მეხმარება პროგრამირების გამოწვევის გადაწყვეტაში.

ნაბიჯი 2:

გამოსახულება
გამოსახულება

HomonymContext ცხრილის სტრუქტურა

ჩემი პირველი იდეა იყო მაგიდა, რომელიც შეიცავს სიტყვებს, ალტერნატიულ მართლწერას და "კონტექსტის" სიტყვებს. იდეა იყო ჰომონიმის შემცველი წინადადების მოძიება, სხვა სიტყვები, რომლებიც იძლევა „კონტექსტს“, რათა პროგრამამ განსაზღვროს რომელი მართლწერა გამოიყენოს. ცხრილი ასევე შეიცავს სვეტს სახელწოდებით "WordDef", რომელიც შეიცავს სიტყვის განსაზღვრებას, რაც უფრო მეტად ადამიანისთვისაა მაგიდის შენარჩუნება, ვიდრე A. I. კოდი.

თითოეული სიტყვის მოსაძებნად, შემიძლია გამოვიყენო VB კოდი და SQL კოდი, როგორიცაა…

თითოეული სიტყვისთვის MyArray

შეკითხვა = "აირჩიეთ სიტყვა tblHomonynContext სადაც სიტყვა =" "& სიტყვა &" ""

თუ ეს შეკითხვა იძლევა შედეგს, მაშინ სიტყვა არის ჰომონიმი

შემდეგი

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

ნაბიჯი 3:

გამოსახულება
გამოსახულება

თუ თქვენი შესავალი წინადადება შეიცავს ჰომონიმს, ახლა შეგიძლიათ

შეასრულეთ VB კოდი, რომელიც შეამოწმებს სხვა სიტყვებს თქვენს წინადადებაში, კონტექსტური სიტყვებით შეკითხვის შედეგებში.

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

VB "InStr ()" ფუნქცია დააბრუნებს ნულზე მეტ რიცხვს, თუ ერთი სტრიქონი მოთავსებულია სხვა სტრიქონში, ან დააბრუნებს ნულს, ის სტრიქონი მეორეს არ შეიცავს.

Instr () ფაქტიურად აბრუნებს არსებული სტრიქონის პოზიციას. თუ უბრალოდ გსურთ იცოდეთ შეიცავს თუ არა String1 String2, შეგიძლიათ გამოიყენოთ კოდი, როგორიცაა "If InStr (String1, String2)> 0 …"

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

HomonymContext მაგიდა არ არის ძალიან კარგი დიზაინი. მას აქვს ბევრი განმეორებითი მონაცემი და მონაცემთა ბაზის შემქმნელებმა ეს მიიჩნიეს "არა-ნორმალიზებულად". ამ ფუნქციის განსახორციელებლად უკეთესი გზა იქნება ორი ცხრილის გამოყენება, მშობელ-შვილის ურთიერთობაში. ერთ ცხრილში (მშობელი) განთავსდება ჰომონიმების სია, მათი განმარტებები და ასევე რიგის ID. ეს Row ID გამოიყენება როგორც გასაღები "ბავშვის ცხრილში", რომელიც შეიცავს სიტყვებს და მათ კონტექსტურ სიტყვებს.

ეს იქნებოდა უფრო ადვილი გამოკითხვა (და შენარჩუნება), ვიდრე ჩემი ორიგინალური დიზაინი.

გირჩევთ: