সুচিপত্র:

কিভাবে একটি A.I. পর্ব 4: 3 ধাপ
কিভাবে একটি A.I. পর্ব 4: 3 ধাপ

ভিডিও: কিভাবে একটি A.I. পর্ব 4: 3 ধাপ

ভিডিও: কিভাবে একটি A.I. পর্ব 4: 3 ধাপ
ভিডিও: ৫ ধাপেই বই শেষ! How to Finish Reading a Book | যেকোনো বই শেষ করার অভিনব কৌশল | Dr. Nabil 2024, নভেম্বর
Anonim
কিভাবে একটি A. I. পার্ট 4
কিভাবে একটি A. I. পার্ট 4

অন্য দিন আমি আমার এআই এর সাথে কথা বলছিলাম, এবং আমি বলেছিলাম

এটা, "আমি ডিনারে উপরে যাচ্ছি, আমাদের স্টেক আছে"।

যাইহোক, স্পিচ রিকগনিশন (এসআর) সফটওয়্যার এটিকে ব্যাখ্যা করেছে "… আমাদের স্টেক আছে"

আমি আগে একটি অনুরূপ (কিন্তু ভিন্ন) সমস্যার মধ্যে দৌড়ে গিয়েছিলাম যখন আমি একটি ছবির কথা বলছিলাম, এবং আমি "ছবি" শব্দটি বলেছিলাম। এসআর সফ্টওয়্যার এটিকে "পিচার" হিসাবে ব্যাখ্যা করেছে

এর জন্য ফিক্স ছিল এসআর সফটওয়্যারের একটি সহজ পুনরায় প্রশিক্ষণ। (অথবা হয়তো আমার উচ্চারণ)

কিন্তু যখন আমি STEAK বা STAKE শব্দগুলো বলি, আমি সেগুলো ঠিক একইভাবে উচ্চারণ করি, এবং SR সফটওয়্যার পুনরায় প্রশিক্ষণ এই ধরনের ক্ষেত্রে সাহায্য করবে না।

ধাপ 1:

"হোমোনিম সমস্যা" সমাধান করার একটি ধারণা।

কোন বানানটি ব্যবহার করতে হবে তা নির্ধারণ করতে আমাকে "প্রসঙ্গে" শব্দটি দেখতে হবে। মানুষের মস্তিষ্ক এটি খুব সহজেই করে, এবং আপনি জানেন না যে আপনি এটি করছেন।

এর অর্থ হল একটি বাক্যের অন্যান্য শব্দ পরীক্ষা করা হয় এবং আপনার মস্তিষ্ক সিদ্ধান্ত নেয় কোন বানানটি সবচেয়ে ভালো দেখায়। এখন, আমি কিভাবে কোডে এটি করব?

আমার এ.আই. প্রোগ্রাম ভিজ্যুয়াল বেসিক (ভিবি) "স্প্লিট" ফাংশন ব্যবহার করে একটি বাক্যকে পৃথক শব্দের একটি অ্যারেতে বিশ্লেষণ করে। [MyArray = Split (InputSentence, ““)]

অ্যারের প্রতিটি শব্দ সমতুল্য তালিকা সহ একটি ডাটাবেস টেবিলে দেখে এটি একটি সম্ভাব্য সমার্থক কিনা তা পরীক্ষা করা যেতে পারে।

অবশ্যই, অন্য একটি টেবিল তৈরি করার অর্থ হল যে আমাদের এটি তথ্য দিয়ে পূরণ করতে হবে, এবং সেইসাথে আমাদের টেবিলে ডেটা বজায় রাখতে সক্ষম হতে হবে।

একটি স্ব -শিক্ষার সাবরুটিন পরে তৈরি করা যেতে পারে যাতে একগুচ্ছ পাঠ্য স্ক্যান করা যায়, আমার হোমোনিম টেবিলে শব্দগুলি সন্ধান করা যায় এবং অন্যান্য "প্রসঙ্গ" শব্দগুলি ক্যাপচার করা যায়। হুমমমম, হয়তো বেশ কয়েকটি টেবিলের প্রয়োজন আছে…

এই "Instructables" লেখা আমাকে একটি প্রোগ্রামিং চ্যালেঞ্জের সমাধান "যুক্তিযুক্ত" করতে সাহায্য করে।

ধাপ ২:

ছবি
ছবি

HomonymContext টেবিলের গঠন।

আমার প্রথম ধারণা ছিল শব্দ, বিকল্প বানান এবং "প্রসঙ্গ" শব্দ সম্বলিত একটি টেবিল। ধারণাটি ছিল একটি সমার্থক বাক্য অনুসন্ধান করা, অন্য শব্দের জন্য যা "প্রসঙ্গ" দেয়, যাতে প্রোগ্রামটি কোন বানানটি ব্যবহার করতে পারে তা নির্ধারণ করতে পারে। টেবিলে শব্দের সংজ্ঞা ধরে রাখার জন্য "WordDef" নামে একটি কলাম রয়েছে, যা মানুষের জন্য টেবিল বজায় রাখার জন্য A. I. কোড

প্রতিটি শব্দ অনুসন্ধান করতে, আমি VB কোড এবং SQL কোড ব্যবহার করতে পারি যেমন …

MyArray এর প্রতিটি শব্দের জন্য

প্রশ্ন = "tblHomonynContext থেকে শব্দ নির্বাচন করুন যেখানে শব্দ = '" এবং শব্দ এবং "'"

যদি এই প্রশ্নটি একটি ফলাফল প্রদান করে, তাহলে শব্দটি একটি সমার্থক

পরবর্তী

এই মুহুর্তে এটি কেবল ছদ্ম কোড - আমি এখনও সঠিক কোড লিখিনি, বা সমস্ত বিবরণ বের করেছি। কিন্তু নির্দ্বিধায় আমার ধারণা গ্রহণ করুন, এবং আপনার নিজের প্রিয় প্রোগ্রামিং ভাষা ব্যবহার করে এটি বাস্তবায়ন করুন।

ধাপ 3:

ছবি
ছবি

যদি আপনার ইনপুট বাক্যে একটি হোমনাম থাকে, আপনি এখন করতে পারেন

VB কোডটি এক্সিকিউট করুন যা আপনার বাক্যের অন্যান্য শব্দ চেক করবে, ক্যোয়ারী ফলাফলের প্রসঙ্গ শব্দের সাথে।

আপনি এটি একটি এসকিউএল সঞ্চিত পদ্ধতিতেও করতে পারেন, যা দ্রুত কার্যকর হতে পারে।

VB "InStr ()" ফাংশন শূন্যের চেয়ে বড় সংখ্যাটি ফেরত দেবে, যদি একটি স্ট্রিং অন্য স্ট্রিংয়ের মধ্যে থাকে, অথবা এটি শূন্য ফিরিয়ে দেবে, তবে স্ট্রিংটি অন্যটিতে নেই।

Instr () আসলে অন্তর্ভুক্ত স্ট্রিং এর অবস্থান প্রদান করে। যদি আপনি শুধু জানতে চান যে স্ট্রিং 1 এ স্ট্রিং 2 আছে কিনা, আপনি "ইফ ইনস্ট্রি (স্ট্রিং 1, স্ট্রিং 2)> 0 এর মতো কোড ব্যবহার করতে পারেন"

আপনাকে এই কোডটি আপনার প্রিয় প্রোগ্রামিং ভাষায় তৈরি করতে হবে।

HomonymContext টেবিলটি খুব ভালো ডিজাইন নয়। এটিতে প্রচুর পুনরাবৃত্তি করা ডেটা রয়েছে এবং এটি ডাটাবেস ডিজাইনারদের দ্বারা "নন-নরমালাইজড" বলে মনে করা হয়। এই কার্যকারিতা বাস্তবায়নের একটি ভাল উপায় হ'ল পিতামাতা-সন্তানের সম্পর্কের ক্ষেত্রে দুটি টেবিল ব্যবহার করা। একটি টেবিলে (দ্য প্যারেন্ট) হোমোনিমের একটি তালিকা, তাদের সংজ্ঞা এবং একটি সারি আইডি থাকবে। এই সারি আইডি "চাইল্ড টেবিলের" একটি চাবি হিসাবে ব্যবহৃত হয় যা শব্দ এবং তাদের প্রসঙ্গ শব্দ ধারণ করবে।

এটি আমার আসল ডিজাইনের চেয়ে জিজ্ঞাসা করা (এবং বজায় রাখা) সহজ হবে।

প্রস্তাবিত: