C# এর সাথে প্রাকৃতিক ভাষা API ব্যবহার করা

1. ওভারভিউ

এই কোডল্যাবে আপনি C# এর সাথে Natural Language API ব্যবহার করার উপর ফোকাস করবেন। আপনি সেন্টিমেন্ট, সত্তা এবং সিনট্যাক্স বিশ্লেষণ কীভাবে করতে হয় তা শিখবেন।

Google ক্লাউড ন্যাচারাল ল্যাঙ্গুয়েজ API বিকাশকারীদের প্রাকৃতিক ভাষা বোঝার প্রযুক্তি প্রদান করে, যার মধ্যে সেন্টিমেন্ট বিশ্লেষণ, সত্তা বিশ্লেষণ এবং বাক্য গঠন বিশ্লেষণ অন্তর্ভুক্ত রয়েছে।

আপনি কি শিখবেন

  • ক্লাউড শেল কিভাবে ব্যবহার করবেন
  • কিভাবে প্রাকৃতিক ভাষা এপিআই সক্ষম করবেন
  • কীভাবে API অনুরোধগুলি প্রমাণীকরণ করবেন
  • সি# এর জন্য গুগল ক্লাউড ক্লায়েন্ট লাইব্রেরি কীভাবে ইনস্টল করবেন
  • কিভাবে সেন্টিমেন্ট এনালাইসিস করতে হয়
  • কিভাবে সত্তা বিশ্লেষণ সঞ্চালন
  • কিভাবে সিনট্যাক্স বিশ্লেষণ করতে হয়

আপনি কি প্রয়োজন হবে

  • একটি Google ক্লাউড প্ল্যাটফর্ম প্রকল্প
  • একটি ব্রাউজার, যেমন ক্রোম বা ফায়ারফক্স
  • C# ব্যবহার করে পরিচিতি

সমীক্ষা

আপনি কিভাবে এই টিউটোরিয়াল ব্যবহার করবেন?

শুধুমাত্র মাধ্যমে এটি পড়ুন এটি পড়ুন এবং ব্যায়াম সম্পূর্ণ করুন

আপনি C# এর সাথে আপনার অভিজ্ঞতাকে কীভাবে মূল্যায়ন করবেন?

নবজাতক মধ্যবর্তী দক্ষ

আপনি Google ক্লাউড প্ল্যাটফর্ম পরিষেবাগুলি ব্যবহার করার বিষয়ে আপনার অভিজ্ঞতাকে কীভাবে মূল্যায়ন করবেন?

নবজাতক মধ্যবর্তী দক্ষ

2. সেটআপ এবং প্রয়োজনীয়তা

স্ব-গতিসম্পন্ন পরিবেশ সেটআপ

  1. Google ক্লাউড কনসোলে সাইন-ইন করুন এবং একটি নতুন প্রকল্প তৈরি করুন বা বিদ্যমান একটি পুনরায় ব্যবহার করুন৷ আপনার যদি ইতিমধ্যেই একটি Gmail বা Google Workspace অ্যাকাউন্ট না থাকে, তাহলে আপনাকে অবশ্যই একটি তৈরি করতে হবে।

295004821bab6a87.png

37d264871000675d.png

96d86d3d5655cdbe.png

  • প্রকল্পের নাম এই প্রকল্পের অংশগ্রহণকারীদের জন্য প্রদর্শনের নাম। এটি একটি অক্ষর স্ট্রিং যা Google API দ্বারা ব্যবহৃত হয় না। আপনি সবসময় এটি আপডেট করতে পারেন.
  • প্রোজেক্ট আইডি সমস্ত Google ক্লাউড প্রোজেক্ট জুড়ে অনন্য এবং অপরিবর্তনীয় (সেট করার পরে পরিবর্তন করা যাবে না)। ক্লাউড কনসোল স্বয়ংক্রিয়ভাবে একটি অনন্য স্ট্রিং তৈরি করে; সাধারণত আপনি এটা কি যত্ন না. বেশিরভাগ কোডল্যাবে, আপনাকে আপনার প্রকল্প আইডি উল্লেখ করতে হবে (সাধারণত PROJECT_ID হিসাবে চিহ্নিত)। আপনি যদি জেনারেট করা আইডি পছন্দ না করেন, তাহলে আপনি অন্য একটি এলোমেলো আইডি তৈরি করতে পারেন। বিকল্পভাবে, আপনি নিজের চেষ্টা করতে পারেন, এবং এটি উপলব্ধ কিনা দেখতে পারেন। এই ধাপের পরে এটি পরিবর্তন করা যাবে না এবং প্রকল্পের সময়কালের জন্য থাকে।
  • আপনার তথ্যের জন্য, একটি তৃতীয় মান আছে, একটি প্রকল্প নম্বর , যা কিছু API ব্যবহার করে। ডকুমেন্টেশনে এই তিনটি মান সম্পর্কে আরও জানুন।
  1. এরপরে, ক্লাউড রিসোর্স/এপিআই ব্যবহার করতে আপনাকে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে। এই কোডল্যাবের মাধ্যমে চালানোর জন্য খুব বেশি খরচ হবে না, যদি কিছু হয়। এই টিউটোরিয়ালের বাইরে বিলিং এড়াতে সংস্থানগুলি বন্ধ করতে, আপনি আপনার তৈরি করা সংস্থানগুলি মুছতে বা প্রকল্প মুছতে পারেন। নতুন Google ক্লাউড ব্যবহারকারীরা $300 USD বিনামূল্যের ট্রায়াল প্রোগ্রামের জন্য যোগ্য৷

ক্লাউড শেল শুরু করুন

যদিও Google ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালিত হতে পারে, এই কোডল্যাবে আপনি Google ক্লাউড শেল ব্যবহার করবেন, একটি কমান্ড লাইন পরিবেশ যা ক্লাউডে চলছে।

ক্লাউড শেল সক্রিয় করুন

  1. ক্লাউড কনসোল থেকে, ক্লাউড শেল সক্রিয় করুন ক্লিক করুন d1264ca30785e435.png .

cb81e7c8e34bc8d.png

যদি এটি আপনার প্রথমবার ক্লাউড শেল শুরু হয়, তাহলে এটি কী তা বর্ণনা করে আপনাকে একটি মধ্যবর্তী স্ক্রীন উপস্থাপন করা হবে। যদি আপনি একটি মধ্যবর্তী স্ক্রীনের সাথে উপস্থাপিত হন, তবে চালিয়ে যান ক্লিক করুন।

d95252b003979716.png

ক্লাউড শেলের সাথে সংযোগ করতে এবং সংযোগ করতে এটির মাত্র কয়েক মুহূর্ত লাগবে৷

7833d5e1c5d18f54.png

এই ভার্চুয়াল মেশিনটি প্রয়োজনীয় সমস্ত বিকাশের সরঞ্জাম দিয়ে লোড করা হয়েছে। এটি একটি ক্রমাগত 5 GB হোম ডিরেক্টরি অফার করে এবং Google ক্লাউডে চলে, যা নেটওয়ার্ক কর্মক্ষমতা এবং প্রমাণীকরণকে ব্যাপকভাবে উন্নত করে। এই কোডল্যাবে আপনার অনেক কাজ, যদি সব না হয়, ব্রাউজার দিয়ে করা যেতে পারে।

একবার ক্লাউড শেলের সাথে সংযুক্ত হয়ে গেলে, আপনি দেখতে পাবেন যে আপনি প্রমাণীকৃত হয়েছেন এবং প্রকল্পটি আপনার প্রকল্প আইডিতে সেট করা আছে।

  1. আপনি প্রমাণীকৃত কিনা তা নিশ্চিত করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডটি চালান:
gcloud auth list

কমান্ড আউটপুট

 Credentialed Accounts
ACTIVE  ACCOUNT
*       <my_account>@<my_domain.com>

To set the active account, run:
    $ gcloud config set account `ACCOUNT`
  1. gcloud কমান্ড আপনার প্রকল্প সম্পর্কে জানে তা নিশ্চিত করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডটি চালান:
gcloud config list project

কমান্ড আউটপুট

[core]
project = <PROJECT_ID>

যদি এটি না হয়, আপনি এই কমান্ড দিয়ে এটি সেট করতে পারেন:

gcloud config set project <PROJECT_ID>

কমান্ড আউটপুট

Updated property [core/project].

3. প্রাকৃতিক ভাষা API সক্ষম করুন৷

আপনি প্রাকৃতিক ভাষা API ব্যবহার শুরু করার আগে আপনাকে অবশ্যই API সক্ষম করতে হবে। ক্লাউড শেল ব্যবহার করে আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করে API সক্ষম করতে পারেন:

gcloud services enable language.googleapis.com

4. C# এর জন্য Google Cloud Natural Language API ক্লায়েন্ট লাইব্রেরি ইনস্টল করুন

প্রথমে, একটি সাধারণ C# কনসোল অ্যাপ্লিকেশন তৈরি করুন যা আপনি প্রাকৃতিক ভাষা API নমুনাগুলি চালানোর জন্য ব্যবহার করবেন:

dotnet new console -n NaturalLanguageApiDemo

আপনি অ্যাপ্লিকেশন তৈরি করা এবং নির্ভরতা সমাধান করা দেখতে হবে:

The template "Console Application" was created successfully.
Processing post-creation actions...
...
Restore succeeded.

এরপরে, NaturalLanguageApiDemo ফোল্ডারে নেভিগেট করুন:

cd NaturalLanguageApiDemo/

এবং প্রকল্পে Google.Cloud.Language.V1 NuGet প্যাকেজ যোগ করুন:

dotnet add package Google.Cloud.Language.V1
info : Adding PackageReference for package 'Google.Cloud.Language.V1' into project '/home/atameldev/NaturalLanguageApiDemo/NaturalLanguageApiDemo.csproj'.
log  : Restoring packages for /home/atameldev/NaturalLanguageApiDemo/NaturalLanguageApiDemo.csproj...
...
info : PackageReference for package 'Google.Cloud.Language.V1' version '1.1.0' added to file '/home/atameldev/NaturalLanguageApiDemo/NaturalLanguageApiDemo.csproj'.

এখন, আপনি প্রাকৃতিক ভাষা API ব্যবহার করার জন্য প্রস্তুত!

5. অনুভূতি বিশ্লেষণ

এই বিভাগে আপনি একটি স্ট্রিং-এ সেন্টিমেন্ট অ্যানালাইসিস করবেন এবং ন্যাচারাল ল্যাঙ্গুয়েজ এপিআই ব্যবহার করে স্কোর এবং ম্যাগনিটিউড খুঁজে বের করবেন।

অনুভূতির স্কোর -1.0 (নেতিবাচক) এবং 1.0 (ইতিবাচক) এর মধ্যে এবং প্রদত্ত তথ্য থেকে সামগ্রিক অনুভূতির সাথে মিলে যায়।

অনুভূতির মাত্রা 0.0 থেকে + অসীম পর্যন্ত এবং প্রদত্ত তথ্য থেকে অনুভূতির সামগ্রিক শক্তি নির্দেশ করে। যত বেশি তথ্য দেওয়া হয় তার মাত্রা তত বেশি।

ক্লাউড শেলের উপরের ডান দিক থেকে কোড এডিটর খুলুন:

fd3fc1303e63572.png

NaturalLanguageApiDemo ফোল্ডারের মধ্যে Program.cs ফাইলে নেভিগেট করুন এবং নিম্নলিখিত কোডটি প্রতিস্থাপন করুন:

using System;
using Google.Cloud.Language.V1;

namespace NaturalLanguageApiDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            var text = "Yukihiro Matsumoto is great!";
            var client = LanguageServiceClient.Create();
            var response = client.AnalyzeSentiment(Document.FromPlainText(text));
            var sentiment = response.DocumentSentiment;
            Console.WriteLine($"Score: {sentiment.Score}");
            Console.WriteLine($"Magnitude: {sentiment.Magnitude}");
        }
    }
}

কোডটি অধ্যয়ন করতে এক বা দুই মিনিট সময় নিন এবং দেখুন কীভাবে কোডের স্নিপেটটি "ইউকিহিরো মাতসুমোতো মহান!" স্ট্রিংটিতে অনুভূতি বিশ্লেষণ করতে ব্যবহৃত হয়।

ক্লাউড শেলে ফিরে, অ্যাপটি চালান:

dotnet run

আপনি নিম্নলিখিত আউটপুট দেখতে হবে:

Score: 0.9
Magnitude: 0.9

সারাংশ

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

6. সত্তা বিশ্লেষণ

সত্তা বিশ্লেষণ সঠিক বিশেষ্য যেমন পাবলিক ফিগার, ল্যান্ডমার্ক ইত্যাদি অনুসন্ধান করে সত্তার জন্য প্রদত্ত তথ্য পরিদর্শন করে এবং সেই সত্তা সম্পর্কে তথ্য প্রদান করে।

সত্তা বিশ্লেষণ করতে, NaturalLanguageApiDemo ফোল্ডারের ভিতরে Program.cs ফাইলে নেভিগেট করুন এবং কোডটি নিম্নলিখিত দিয়ে প্রতিস্থাপন করুন:

using System;
using Google.Cloud.Language.V1;

namespace NaturalLanguageApiDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            var text = "Yukihiro Matsumoto is great!";
            var client = LanguageServiceClient.Create();
            var response = client.AnalyzeEntitySentiment(Document.FromPlainText(text));

            foreach (var entity in response.Entities)
            {
                Console.WriteLine($"Entity: \"{entity.Name}\" ({entity.Type})");
                if (entity.Metadata.ContainsKey("wikipedia_url"))
                {
                    Console.WriteLine($"URL: {entity.Metadata["wikipedia_url"]}");
                }
            }
        }
    }
}

কোডটি অধ্যয়ন করতে এক বা দুই মিনিট সময় নিন এবং দেখুন কিভাবে কোডের স্নিপেটটি স্ট্রিংটিতে সত্তা বিশ্লেষণ করতে ব্যবহৃত হয় "ইউকিহিরো মাতসুমোতো দুর্দান্ত!" .

ক্লাউড শেলে ফিরে, অ্যাপটি চালান:

dotnet run

আপনি নিম্নলিখিত আউটপুট দেখতে হবে:

Entity: "Yukihiro Matsumoto" (Person)
URL: https://en.wikipedia.org/wiki/Yukihiro_Matsumoto

সারাংশ

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

7. সিনট্যাক্স বিশ্লেষণ

সিনট্যাকটিক অ্যানালাইসিস ভাষাগত তথ্য বের করে, প্রদত্ত টেক্সটকে একাধিক বাক্য এবং টোকেনে (সাধারণত, শব্দের সীমানা) বিভক্ত করে, সেই টোকেনগুলিতে আরও বিশ্লেষণ প্রদান করে।

এই উদাহরণটি বাক্যের সংখ্যা, টোকেন প্রিন্ট করবে এবং প্রতিটি টোকেনের জন্য বক্তৃতার অংশ প্রদান করবে।

সিনট্যাক্স বিশ্লেষণ করতে, NaturalLanguageApiDemo ফোল্ডারের ভিতরে Program.cs ফাইলে নেভিগেট করুন এবং কোডটি নিম্নলিখিত দিয়ে প্রতিস্থাপন করুন:

using System;
using Google.Cloud.Language.V1;
using static Google.Cloud.Language.V1.AnnotateTextRequest.Types;

namespace NaturalLanguageApiDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            var text = "Yukihiro Matsumoto is great!";
            var client = LanguageServiceClient.Create();
            var response = client.AnnotateText(Document.FromPlainText(text), 
                new Features { ExtractSyntax = true });

            var sentences = response.Sentences;
            var tokens = response.Tokens;

            Console.WriteLine($"Sentences: {sentences.Count}");
            Console.WriteLine($"Tokens: {tokens.Count}");

            foreach (var token in tokens)
            {
                Console.WriteLine($"{token.PartOfSpeech.Tag} {token.Text.Content}");
            }
        }
    }
}

কোডটি অধ্যয়ন করতে এক বা দুই মিনিট সময় নিন এবং দেখুন কীভাবে কোডের স্নিপেটটি স্ট্রিংটিতে সিনট্যাক্স বিশ্লেষণ করতে ব্যবহৃত হয় "ইউকিহিরো মাতসুমোতো দুর্দান্ত!" .

ক্লাউড শেলে ফিরে, অ্যাপটি চালান:

dotnet run

আপনি নিম্নলিখিত আউটপুট দেখতে হবে:

Sentences: 1
Tokens: 5
Noun Yukihiro
Noun Matsumoto
Verb is
Adj great
Punct !

একটি চাক্ষুষ ব্যাখ্যা নীচে দেখানো হয়েছে.

297dbabf1a723bad.png

সারাংশ

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

8. অভিনন্দন!

আপনি তথ্যের উপর বিভিন্ন ধরণের বিশ্লেষণ করতে C# ব্যবহার করে কীভাবে প্রাকৃতিক ভাষা API ব্যবহার করতে হয় তা শিখেছেন!

পরিষ্কার করুন

এই কুইকস্টার্টে ব্যবহৃত রিসোর্সের জন্য আপনার Google ক্লাউড প্ল্যাটফর্ম অ্যাকাউন্টে চার্জ এড়াতে:

  • ক্লাউড প্ল্যাটফর্ম কনসোলে যান।
  • আপনি যে প্রকল্পটি বন্ধ করতে চান সেটি নির্বাচন করুন, তারপরে শীর্ষে 'মুছুন' এ ক্লিক করুন: এটি মুছে ফেলার জন্য প্রকল্পের সময়সূচী করে।

আরও জানুন

লাইসেন্স

এই কাজটি ক্রিয়েটিভ কমন্স অ্যাট্রিবিউশন 2.0 জেনেরিক লাইসেন্সের অধীনে লাইসেন্সপ্রাপ্ত।