বাক্য থেকে তথ্য আহরণ করুন


11

আমি একটি সাধারণ চ্যাটবট তৈরি করছি। আমি ব্যবহারকারীর প্রতিক্রিয়া থেকে তথ্য পেতে চাই। উদাহরণ উদাহরণ:

Bot : Hi, what is your name?
User: My name is Edwin.

আমি বাক্য থেকে এডউইন নামটি বের করতে চাই। তবে ব্যবহারকারী বিভিন্নভাবে প্রতিক্রিয়া জানাতে পারে

User: Edwin is my name.
User: I am Edwin.
User: Edwin. 

আমি শব্দের মধ্যে নির্ভরশীল সম্পর্কের উপর নির্ভর করার চেষ্টা করেছি তবে ফলাফলটি ভাল হয় না।

এই সমস্যাটি মোকাবেলায় আমি কোন কৌশলটি ব্যবহার করতে পারি তার কোনও ধারণা?

[আপডেট]

আমি স্পিচ ট্যাগার এবং পার্সারের অংশের সাথে নামযুক্ত সত্তার স্বীকৃতি দিয়ে পরীক্ষা করেছি। আমি জানতে পেরেছি যে বেশিরভাগ মডেল এমনভাবে প্রশিক্ষিত হয় যে কোনও ব্যক্তির নাম বা যথাযথ বিশেষ্যটির জন্য সত্তার প্রথম অক্ষরটি অবশ্যই বড় হাতের হতে পারে। এটি সাধারণ নথির ক্ষেত্রে সত্য হতে পারে তবে এটি একটি চ্যাটবটের জন্য অপ্রাসঙ্গিক। যেমন

User: my name is edwin.

বেশিরভাগ এনইআর এটি সনাক্ত করতে ব্যর্থ হয়েছিল।


এটি ব্যাখ্যা করে কীভাবে আধুনিক চ্যাট বটগুলি নির্মিত হয়, তবে আমি এটিকে সহজ বলব না। আপনি "প্রশ্নের উত্তর" অনুসন্ধান করে আরও শিখতে পারেন।
এমরে

আমি তাই পছন্দ করি যেভাবে লোকেরা প্রশ্ন জিজ্ঞাসা করে এবং উত্তরগুলি গ্রহণযোগ্য উত্তর হিসাবে একটি চিহ্ন হিসাবে চিহ্নিত করে: পি
চেওপাকাবড়া

উত্তর:


7

আপনি সম্ভবত নামযুক্ত সত্তার স্বীকৃতি এবং সিনট্যাকটিকাল অ্যানালাইসের সংমিশ্রণটি ব্যবহার করতে পারেন - এডউইন শব্দটি অবশ্যই উত্থাপন করার সময়, এমন একটি পরিস্থিতি কল্পনা করুন যেখানে নামটি এডওয়ার্ড ফিলিপ মার্টেল । NER প্রতিটি শব্দ পৃথক সত্তা হিসাবে সনাক্ত করে (অতএব 3 পৃথক সত্তা) - সুতরাং, আপনাকে যাইহোক কিছু যুক্তির ভিত্তিতে এগুলি একত্রিত করতে হবে। তদুপরি, একাধিক নাম উপস্থিত থাকার ক্ষেত্রে এটি ছিন্নমূল করা কঠিন হতে পারে (যেমন জন এবং রামসে উইন্টারফেল-এ ডাইনেড )।

এখানে বাক্য বাক্য গঠন বিশ্লেষণও সহায়তা করবে (ধরে নিলে শেষ ব্যবহারকারী তুলনামূলকভাবে সুসংগত এবং যথাযথ বাক্যে প্রবেশ করে - যদি স্ল্যাং এবং সংক্ষিপ্ত আকারের পাঠ্য ব্যবহৃত হয়, এমনকি স্ট্যানফোর্ড এনএলপি কেবলমাত্র একটি নির্দিষ্ট সীমা পর্যন্ত সহায়তা করতে পারে)।

সিনট্যাক্স বিশ্লেষণ / পার্সিং এবং এনইআর-এর উপর নির্ভর করার একটি উপায় নিম্নলিখিত উদাহরণগুলিতে রয়েছে -

 1. User: Edwin is my name.
 2. User: I am Edwin.
 3. User: My name is Edwin.

প্রতিটি ক্ষেত্রে (যেমন সাধারণভাবে এটিও হয়), সত্তার নাম (যথাযথ বিশেষ্য / বিশেষ্য) একটি ক্রিয়াটির নিকটবর্তীতার সাথে জড়িত। সুতরাং, আপনি যদি প্রথমে ক্রিয়াগুলি নির্ধারণ করতে বাক্যটি বিশ্লেষণ করেন এবং তারপরে আশেপাশের (+/- 1 বা 2) শব্দের জন্য NER প্রয়োগ করেন, আপনার সমস্যাটি সমাধান করার জন্য অপেক্ষাকৃত শালীন উপায় থাকতে পারে। এই সমাধানটি প্রাথমিকভাবে NERs সনাক্তকরণের জন্য ক্রিয়াপদের চারপাশের উইন্ডোটির উপর নির্ভর করে synt


2
আপনি সম্ভবত একটি 'নন ডিস্ট্রিমেন্টিক সসীম অটোমেটা' প্রয়োগ করবেন, যেখানে প্রতিটি বাক্যই এমন একটি প্রতিক্রিয়া যা কোনও প্যাটার্ন গ্রহণ করে। কিছু ব্যাকরণ এরকম কিছুতে প্রয়োগ করা হয়। (NLP / ব্যাকরণ)। এটি করার জন্য আপনার যদি প্রয়োজন হয় তবে স্ট্যানফোর্ডএনএলপিথথ.বি.কোরিএনএলপি
ইন্ট্রসো

5

আপনার নামযুক্ত সত্তা স্বীকৃতি ব্যবহার করা উচিত, উদাহরণস্বরূপ NLTK, http://www.nltk.org/book/ch07.html <থেকে - আপনি সেখানে একটি ব্যবহারের উদাহরণ খুঁজে পেতে পারেন। এটি আপনার বর্ণিত মামলার পক্ষে বেশ ভালভাবে কাজ করবে।


4

এটি সহজেই সিআরএফ এর মাধ্যমে করা যেতে পারে । আপনি আপনার বাক্যটি ট্যাগ করতে BIO এনকোডিং ব্যবহার করতে পারেন । তারপরে এটি সিআরএফগুলিতে পাস করুন। প্রশিক্ষণের উদ্দেশ্যে আপনাকে কেবল কয়েকটি ট্যাগ বাক্য তৈরি করতে হবে,

 I am Edwin.
 O O  B-NAME

 You can call me Alfred
 O   O    O    O B-NAME

 My name is  Edwin   thomas
 O  O     O  B-NAME  I-NAME

সিআরএফসুয়েট এবং সিআরএফ ++ হ'ল কয়েকটি ভাল বাস্তবায়ন। সিআরএফসুয়াইটে পাইক্রাফসুয়েট নামে একটি পাইথন র‍্যাপার রয়েছে , এটি কার্যকর করা বেশ সহজ। পরীক্ষা করে দেখুন এই ipython নোটবুক বা এই কোড GitHub উপর snippet নেরের এন্ড-টু-এন্ড বাস্তবায়নের।

পাইথনে লেখা NER এবং ইনটেন্ট ক্লাসিফিকেশন সহ গিথুবে এই ওপেন সোর্স চ্যাট বট প্রকল্পটি দেখুন । তাদের প্রশিক্ষণ ইউআই ব্যবহার করা সহজ যেখানে আপনি বাক্স থেকে তথ্য বের করতে আপনার বটকে প্রশিক্ষণ দিতে পারেন।


0

উচ্চ নির্ভুলতার সাথে এই জাতীয় কাজগুলি সম্পাদন করার জন্য, আমি আপনাকে ওয়ার্ড 2vec এর সাহায্যে শব্দের এমবেডিং সহ একটি এলএসটিএম মডেল তৈরি করার পরামর্শ দিচ্ছি। এলএসটিএমগুলি বাক্য থেকে তথ্য পুনরুদ্ধার করতে সহায়তা করতে পারে এবং পাশাপাশি বর্ণের একটি সেট দেওয়া পরবর্তী অক্ষর বা শব্দের পূর্বাভাস দিতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.