প্রাকৃতিক ভাষা মানে মানুষের মুখের ভাষা কম্পিউটারের ভাষার তুলনায় অনেক জটিল। মানুষের মুখের ভাষা নানা ধরণের দ্ব্যর্থক, স্ববিরোধী ধারণাতে পরিপূর্ণ। যে কারণে যে কোন লিখিত তথ্য বা কণ্ঠস্বর থেকে উচ্চারিত শব্দের সঠিক মানে বুঝতে পারে এমন সফটওয়্যার বানানো খুবই জটিল একটি কাজ।
প্রাকৃতিক ভাষাকে বুঝার জন্য কম্পিউটার বিজ্ঞানের শাখার নাম ‘ন্যাচারাল ল্যাংগুয়েজ প্রসেসিং’। এটি কৃত্রিম বুদ্ধিমত্তা বা আর্টিফিসিয়াল ইন্টেলিজেন্স এর অন্যতম শাখা। এই বিশেষ শাখার কাজ মানুষের ভাষা বিশ্লেষণ করে সেখান থেকে তথ্য উদ্ধার করা এবং মানুষ ও কম্পিউটারের মধ্যে প্রাকৃতিক ভাষায় যোগাযোগ প্রতিষ্ঠা করা।
কম্পিউটারের বিভিন্ন প্রোগ্রামিং ভাষার উপাদান মোটামুটি এরকমঃ
তথ্যের ধরণ বা ড্যাটা টাইপঃ সংখ্যা, দশমিক সংখ্যা, শব্দ বা বাক্য (স্ট্রিং), বুলিয়ান, লিস্ট, সেট, ডিকশনারী ইত্যাদি।
গাণিতিক প্রক্রিয়াঃ যোগ, বিয়োগ, গুন, ভাগ, সমতা, অসমতা, ইত্যাদি।
প্রবাহ নিয়ন্ত্রণঃ যুক্তি, ফাংশন।
অপরদিকে মানুষের ভাষায় উপমা, উৎপ্রেক্ষা, বাগধারা, সমার্থক শব্দ, সমোচ্চারিত ভিন্নার্থক শব্দ, ব্যঙ্গ-বিদ্রুপ, ব্যাকরণের নানা নিয়মাবলী ও সেগুলোর ব্যতিক্রম, বাক্যের গঠনরীতির পার্থক্য ইত্যাদি নানা কারণে কম্পিউটারের জন্য সেটা বুঝতে পারা খুবই দুঃসাধ্য কাজ। ভাষা শিখতে মানুষের বাচ্চাকে সেজন্য কয়েক বছর সময় নিতে হয়।
প্রাতিষ্ঠানিক ভাষাতত্ত্ব, পরিসংখ্যানের জ্ঞান, মেশিন লার্ণিং এবং ডিপ লার্ণিং মডেলের সমন্বয়ে ভাষা প্রক্রিয়াকরণের কাজ করা হয়। একসাথে এসকল প্রযুক্তি ব্যবহার করে কম্পিউটার লিখিত তথ্য বা কণ্ঠস্বর থেকে ভাষাকে প্রক্রিয়াজাত করে বুঝতে চেষ্টা করে যাতে করে লেখক বা বক্তার উদ্দেশ্য ও ভাব বুঝতে পারে।
প্রাকৃতিক ভাষা নিয়ে গবেষণার একটা অন্যতম লক্ষ্য কম্পিউটারকে মানুষের ভাষা শেখানো। একটা বাচ্চা শিশু কীভাবে ভাষা শিখে এটা আমরা এখনো জানি না, ফলে কম্পিউটারকে মানুষের ভাষা শেখানো একটা বড় চ্যালেঞ্জ।
ভাষা প্রক্রিয়াকরণের কাজঃ
প্রাকৃতিক ভাষা নিয়ে কম্পিউটার বিজ্ঞানের কাজকে আমরা দুইভাবে ভাগ করতে পারি। প্রথম কাজটি হলে ভাষা বুঝতে পারা, মানুষের ব্যবহৃত ভাষায় বিভিন্ন শব্দের ব্যবহার এবং কনটেক্সট অনুযায়ী সেটার মানে বুঝতে পারা। আর দ্বিতীয় কাজ হলো বুঝার পরে সেই ভাষা দিয়ে নতুন বাক্য তৈরি করা।
প্রাকৃতিক ভাষাকে প্রক্রিয়াজাত করার মাধ্যমে আমরা এখন কম্পিউটারের মাধ্যমে এক ভাষা থেকে আরেক ভাষায় অনুবাদ করতে পারি। বিপুল পরিমাণ লিখিত তথ্যকে খুব কম সময়ে সার-সংক্ষেপ করে নিতে পারি। এমনকী কণ্ঠস্বরের ইনপুট দিয়ে কম্পিউটারের প্রতিক্রিয়া বা প্রত্যুত্তর জানতে পারি। জিপিস, ডিজিটাল সহকারী, কথা থেকে লেখার সফটওয়্যার, কাস্টোমার সার্ভিসের চ্যাটবট সবাই ন্যাচারাল ল্যাংগুয়েজ প্রসেসিং ব্যবহার করে।
বাক্যের উপাদান বা পার্ট অফ স্পিচ সনাক্তকরণ ভাষা প্রক্রিয়াকরণের অন্যতম কাজ। একটা শব্দ বা বাক্যে ব্যবহৃত শব্দগুলোর মধ্য থেকে তাদেরকে বিশেষ্য, বিশেষণ, সর্বনাম বা ক্রিয়া ইত্যাদি বিভিন্ন রূপে সনাক্ত করা। এছাড়া বাক্যের বিভিন্ন শব্দের অর্থের ভিন্নতা বুঝতে পারা।
নামবাচক পদ আলাদা করতে পারাঃ যেকোন শব্দ থেকে সেটা নামবাচক বিশেষ্য হলে স্থানের নাম বা ব্যক্তির নাম আলাদা করতে পারে। যেমন, কুমিল্লা একটা জায়গার নাম আবার রহিম একজন মানুষের নাম এটা বুঝতে পারা।
কো-রেফারেন্স বুঝতে পারাঃ ভাষার লিখিত রূপে যখন দুটো শব্দ একই জিনিসকে বুঝায় সেটা বুঝতে পারা।
সেন্টিমেন্ট এনালিসিসঃ পাবলিক সেন্টিমেন্ট বুঝতে পারা ব্যবসা, রাজনীতি অনেকক্ষেত্রে খুবই গুরুত্বপূর্ণ। বাক্যে ব্যবহৃত বিভিন্ন শব্দ বিশ্লেষণ করে সেখান থেকে বক্তা বা লেখকের চিন্তা, ভাব, বা মুড বুঝার চেষ্টা করা।
ভাষা প্রক্রিয়াকরণের তথ্য প্রযুক্তিঃ
পাইথন প্রোগ্রামিং ল্যঙ্গুয়েজ অনেক ধরণের লাইব্রেরি ও সহায়ক কৌশল আছে যার দ্বারা ভাষা প্রক্রিয়াকরণের কাজ করা যায়। এদেরকে একসাথে ন্যাচারাল ল্যাংগুয়েজ টুলকিট (NLTK) নামে পাওয়া যায় যেখানে একটা উন্মুক্ত লাইব্রেরী, বিভিন্ন প্রোগ্রাম ও শিক্ষামূলক তথ্য-উপাত্তের সমাহার করা আছে। এই লাইব্রেরির মাধ্যমে বাক্য, শব্দ, শব্দমূল ইত্যাদি ধরে তাদের বিভিন্ন তালিকায় ভাগ করা সম্ভব।
পরিসংখ্যান, মেশিন লার্ণিং এবং ডিপ লার্ণিং প্রযুক্তি ব্যবহার করে ভাষা প্রক্রিয়াকরণের কাজ- তথ্য উদ্ধার, শ্রেণিবিন্যাস করা এবং তাদের বিভিন্ন লেবেল দিয়ে চিহ্নিত করা- সম্পন্ন করে পরিসংখ্যান দিয়ে সেগুলোর সম্ভাব্য মানে বলার কাজে ব্যবহার করা হচ্ছে। বর্তমানে ডিপ লার্ণিং মডেল ও কৃত্রিম নিউরণ সংযোগ ব্যবহার করে বিপুল পরিমাণে অগোছালো তথ্য (র ড্যাটা’) থেকে আগের তুলনায় অনেক বেশি সঠিক অর্থ বের করে আনা সম্ভব হচ্ছে।
ভাষা প্রক্রিয়াকরণের ব্যবহারঃ
প্রাকৃতিক ভাষা প্রক্রিয়াকরণের অনেক ব্যবহার আছে। যেকোন লিখিত দলিল, পাঠ্যপুস্তক বা পাঠ্যক্রমকে বিশ্লেষণ করে সেসব দলিলে মোট ব্যবহৃত বিভিন্ন শব্দের সংখ্যা গণনা করে সেই গুলোকে একবার করে একসাথে রাখা সম্ভব,যাকে বলা হয় ‘শব্দের থলি’। পরবর্তীতে টেক্সটে একটা শব্দের ব্যবহারের মোট সংখ্যা থেকে শব্দের থলিকে আরো অর্থময় করা যায়। একটা টেক্সটে সবচেয়ে বহুল ব্যবহৃত শব্দের তালিকা থেকে সেই টেক্সট সম্বন্ধে একটা ধারণা পাওয়া যায়।
স্প্যাম সনাক্তকরণঃ ইমেইলে ব্যবহৃত স্প্যাম সনাক্তকরণের কাজে ভাষা প্রক্রিয়াকরণের থেকে বাক্যের বিভিন্ন শব্দের শ্রেণিকরণের জ্ঞানকে ব্যবহার করা হয়। এই প্রক্রিয়ায় ইমেইল স্ক্যান করে ভাষাগত উপাদান থেকে স্প্যাম সনাক্ত করা হয়। খারাপ ভাষা, ব্যাকরণের ভুল, হুমকি দেয়া ভাষা, অস্বাভাবিক জরূরী ভাব, বা ভুল বানানে কোম্পানির নাম লেখা ইত্যাদি বিভিন্ন বিষয়ের উপস্থিতি থেকে কোন ইমেইল স্প্যাম কিনা সেটা নির্ধারণ করে সেটাকে স্প্যাম তালিকায় পাঠিয়ে দেয়া হয়।
অনুবাদঃ অনুবাদের কাজে ভাষা প্রক্রিয়াকরণের ব্যবহার আছে। গুগল ট্রান্সলেইট এক্ষেত্রে অনেক কাজ করেছে। অনুবাদ খুবই জটিল একটি কাজ। অনুবাদ মানে শুধু এক ভাষার শব্দকে আরেক ভাষার শব্দ দিয়ে প্রতিস্থাপিত করা নয়। ভালো অনুবাদে মূল ভাষার স্বর এবং অর্থকে ধরার চেষ্টা থাকতে হবে যাতে করে অনূদিত ভাষায় সেটা একই মানে ও গুরুত্ব বহন করে। অনুবাদের ক্ষেত্রে অনেক পরিবর্তন হয়েছে, অনুবাদ এখন আগের চেয়ে বেশি সঠিক ভাব ও অর্থ বহন করছে। অনুবাদ প্রক্রিয়া পরীক্ষা করার একটা পদ্ধতি হলো, যেকোন ভাষা থেকে অনুবাদের পরে, সেই আনুবাদ থেকে আবার মূল ভাষায় অনুবাদ করা।
অনুবাদের কার্যকারিতা নিয়ে একটা বহুল প্রচলিত উদাহরণ, কয়েক বছর আগে “The spirit is willing but the flesh is weak” এই বাক্যটিকে NLP দিয়ে ইংরেজি থেকে রাশিয়ান ভাষায় অনুবাদ করে আবার সেটাকে ইংরেজি করতে বলা হলে দেখা যেত, “The vodka is good but the meat is rotten”। 😛 এখন সেই অনুবাদ দেখায়, “The spirit desires, but the flesh is weak”। একেবারে সঠিক না হলেও ভাবটা ঠিক আছে।
ভার্চুয়াল এজেন্ট ও চ্যাটবটঃ ভার্চুয়াল এজেন্ট যেমন এপলের ‘সিরি’ বা এমাজনের ‘এলেক্সা’, এরা ‘স্পিচ রিকগনিশান’ প্রযুক্তি ব্যবহার করে কণ্ঠস্বরের প্যাটার্ণ বুঝে ও সে অনুযায়ী প্রাকৃতিক ভাষা তৈরির মাধ্যমে মানুষের সাথে যোগাযোগ করে ও বিভিন্ন বিষয় প্রস্তাব করে।
চ্যাটবটও একই কাজ করে কিন্তু সে লিখিত রূপ থেকে তথ্য পায়। বাক্যের গঠন, শব্দের ব্যবহার থেকে মানুষের ইচ্ছা বুঝা ও সেই অনুযায়ী প্রত্যুত্তর দেয়া চ্যাটবটের কাজ।
সেন্টিমেন্ট এনালিসিসঃ ভাষা প্রক্রিয়াকরণ ব্যবসায়ীক প্রয়োজনে সোশ্যাল মিডিয়ার তথ্য-উপাত্ত বিশ্লেষণ করার জন্য খুবই প্রয়োজনীয় মাধ্যম। ব্যবসায়িক পণ্য,সেবা, বা বিশেষ ছাড় ইত্যাদি বিষয়ে ভোক্তাদের সেন্টিমেন্ট বুঝার জন্য ভাষা প্রক্রিয়াকরণ পদ্ধতি ব্যবহার করে সোশ্যাল মিডিয়ার নানা পোস্ট, কমেন্ট, রিভ্যু থেকে প্রয়োজনীয় তথ্য উদ্ধার করা এখন অনলাইন ব্যবসার গুরুত্বপূর্ণ অংশ। এসব বিশ্লেষণ পাওয়া তথ্য অনুযায়ী নতুন পণ্যের ডিজাইন, বিজ্ঞাপন, বা বিশেষ ছাড় দেয়ার ব্যাপারে সিদ্ধান্ত নিতে সহায়তা করে।
টেক্সট সারসংক্ষেপ করাঃ ভাষা প্রক্রিয়াকরণ করে যেকোন বড় টেক্সটের সারসংক্ষেপ তৈরি করে গবেষণার কাজে ব্যবহার করার জন্য ড্যাটাবেইজ তৈরি করা সম্ভব। ব্যস্ত গবেষক ও পাঠকের জন্য এটি একটি গুরুত্বপূর্ণ কাজ।
ভাষা প্রক্রিয়াকরণ নিয়ে বাংলা ভাষায় তেমন কাজ হয়নি। পিপীলিকা নামের বাংলা সার্চ ইঞ্জিন বানানোর সময় এই বিষয় নিয়ে কিছু কাজ হয়েছে। তবে ভাষা বিশ্লেষণ নিয়ে কম্পিউটার বিজ্ঞানের এই শাখার অনেক সম্ভাবনা ও প্রয়োগ আছে যার ফলে ভবিষ্যতে বাংলা ভাষার বিভিন্ন টেক্সট নিয়ে ভাষা প্রক্রিয়াকরণ করতে অনেকেই এগিয়ে আসবেন।