C# के साथ Natural Language API का इस्तेमाल करना

1. खास जानकारी

इस कोडलैब में, C# के साथ Natural Language API का इस्तेमाल करने पर फ़ोकस किया जाएगा. आपको भावनाओं, इकाई, और सिंटैक्स का विश्लेषण करने का तरीका पता चलेगा.

Google Cloud का Natural Language API, डेवलपर को नैचुरल लैंग्वेज समझने की टेक्नोलॉजी उपलब्ध कराता है. इसमें भावनाओं का विश्लेषण, इकाई का विश्लेषण, और सिंटैक्स का विश्लेषण करना शामिल है.

आपको इनके बारे में जानकारी मिलेगी

  • Cloud Shell का इस्तेमाल कैसे करें
  • Natural Language API चालू करने का तरीका
  • एपीआई अनुरोधों की पुष्टि करने का तरीका
  • C# के लिए Google Cloud क्लाइंट लाइब्रेरी इंस्टॉल करने का तरीका
  • भावनाओं का विश्लेषण कैसे करें
  • इकाई का विश्लेषण कैसे करें
  • सिंटैक्स विश्लेषण करने का तरीका

आपको इन चीज़ों की ज़रूरत होगी

  • Google Cloud Platform प्रोजेक्ट
  • ब्राउज़र, जैसे कि Chrome या Firefox
  • C# का इस्तेमाल करना कितना आसान है

सर्वे

इस ट्यूटोरियल का इस्तेमाल कैसे किया जाएगा?

इसे सिर्फ़ पढ़ें इसे पढ़ें और कसरतों को पूरा करें

C# का इस्तेमाल करने का आपका अनुभव कैसा रहा?

शुरुआती इंटरमीडिएट कुशल

Google Cloud Platform की सेवाएं इस्तेमाल करने का आपका अनुभव कैसा रहा?

शुरुआती इंटरमीडिएट कुशल

2. सेटअप और ज़रूरी शर्तें

अपने हिसाब से एनवायरमेंट सेटअप करना

  1. Google Cloud Console में साइन इन करें और नया प्रोजेक्ट बनाएं या किसी मौजूदा प्रोजेक्ट का फिर से इस्तेमाल करें. अगर आपके पास पहले से Gmail या Google Workspace खाता नहीं है, तो आपको नया खाता बनाना होगा.

295004821बाबा6a87.png

37d264871000675d.png

96d86d3d5655cdbe.png

  • प्रोजेक्ट का नाम, इस प्रोजेक्ट में हिस्सा लेने वाले लोगों का डिसप्ले नेम होता है. यह एक वर्ण स्ट्रिंग है, जिसका इस्तेमाल Google API नहीं करता. इसे कभी भी अपडेट किया जा सकता है.
  • प्रोजेक्ट आईडी, Google Cloud के सभी प्रोजेक्ट के लिए यूनीक होता है. साथ ही, इसे बदला नहीं जा सकता. इसे सेट करने के बाद बदला नहीं जा सकता. Cloud Console, एक यूनीक स्ट्रिंग अपने-आप जनरेट करता है; आम तौर पर, आपको उसके होने की कोई परवाह नहीं होती. ज़्यादातर कोडलैब में, आपको अपना प्रोजेक्ट आईडी बताना होगा. आम तौर पर, इसकी पहचान PROJECT_ID के रूप में की जाती है. अगर आपको जनरेट किया गया आईडी पसंद नहीं है, तो किसी भी क्रम में एक और आईडी जनरेट किया जा सकता है. दूसरा तरीका यह है कि आप खुद भी आज़माकर देखें कि वह उपलब्ध है या नहीं. इस चरण के बाद, इसे बदला नहीं जा सकता. साथ ही, यह प्रोजेक्ट के खत्म होने तक बना रहता है.
  • आपकी जानकारी के लिए, प्रोजेक्ट नंबर नाम की एक तीसरी वैल्यू दी गई है. इसका इस्तेमाल कुछ एपीआई करते हैं. दस्तावेज़ में इन तीनों वैल्यू के बारे में ज़्यादा जानें.
  1. इसके बाद, आपको क्लाउड संसाधनों/एपीआई का इस्तेमाल करने के लिए, Cloud Console में बिलिंग चालू करनी होगी. इस कोडलैब का इस्तेमाल करने पर, आपको ज़्यादा पैसे नहीं चुकाने होंगे. इस ट्यूटोरियल के अलावा, बिलिंग से बचने के लिए संसाधनों को बंद करें. इसके लिए, अपने बनाए गए संसाधनों को मिटाएं या प्रोजेक्ट को मिटाएं. Google Cloud के नए उपयोगकर्ता, 300 डॉलर के मुफ़्त ट्रायल वाले प्रोग्राम में हिस्सा ले सकते हैं.

Cloud Shell शुरू करना

Google Cloud को आपके लैपटॉप से, कहीं से भी ऑपरेट किया जा सकता है. हालांकि, इस कोडलैब में Google Cloud Shell का इस्तेमाल किया जा रहा है. यह क्लाउड में चलने वाला कमांड लाइन एनवायरमेंट है.

Cloud Shell चालू करें

  1. Cloud Console में, Cloud Shell चालू करें d1264ca30785e435.png पर क्लिक करें.

cb81e7c8e34bc8d.png

अगर आपने Cloud Shell का इस्तेमाल पहली बार किया है, तो आपको बीच में आने वाली स्क्रीन दिखेगी. इसमें यह बताया जाएगा कि यह क्या है. अगर आपको बीच के लेवल पर मिलने वाली स्क्रीन दिखती है, तो जारी रखें पर क्लिक करें.

d95252b003979716.png

प्रावधान करने और Cloud Shell से कनेक्ट होने में कुछ ही समय लगेगा.

7833d5e1c5d18f54.png

इस वर्चुअल मशीन में डेवलपमेंट के सभी ज़रूरी टूल मौजूद हैं. इसमें लगातार पांच जीबी की होम डायरेक्ट्री मिलती है और यह Google Cloud में काम करती है. यह नेटवर्क की परफ़ॉर्मेंस और ऑथेंटिकेशन को बेहतर बनाने में मदद करती है. अगर सभी नहीं, तो इस कोडलैब में आपका बहुत सारा काम ब्राउज़र से किया जा सकता है.

Cloud Shell से कनेक्ट करने के बाद, आपको दिखेगा कि आपकी पुष्टि हो चुकी है और प्रोजेक्ट आपके प्रोजेक्ट आईडी पर सेट है.

  1. यह पुष्टि करने के लिए Cloud Shell में नीचे दिया गया कमांड चलाएं कि आपकी पुष्टि हो गई है:
gcloud auth list

कमांड आउटपुट

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

To set the active account, run:
    $ gcloud config set account `ACCOUNT`
  1. Cloud Shell में यह कमांड चलाएं, ताकि यह पुष्टि की जा सके कि gcloud के लिए कमांड को आपके प्रोजेक्ट के बारे में जानकारी है:
gcloud config list project

कमांड आउटपुट

[core]
project = <PROJECT_ID>

अगर ऐसा नहीं है, तो आप इसे इस निर्देश की मदद से सेट कर सकते हैं:

gcloud config set project <PROJECT_ID>

कमांड आउटपुट

Updated property [core/project].

3. Natural Language API चालू करें

Natural Language API का इस्तेमाल शुरू करने से पहले, आपको एपीआई चालू करना होगा. Cloud Shell का इस्तेमाल करके, नीचे दिए गए कमांड का इस्तेमाल करके एपीआई को चालू किया जा सकता है:

gcloud services enable language.googleapis.com

4. C# के लिए, Google Cloud Natural Language API की क्लाइंट लाइब्रेरी इंस्टॉल करें

सबसे पहले, एक आसान C# कंसोल ऐप्लिकेशन बनाएं, जिसका इस्तेमाल आप Natural Language 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'.

अब आप Natural Language API का इस्तेमाल करने के लिए तैयार हैं!

5. भावनाओं का विश्लेषण

इस सेक्शन में, किसी स्ट्रिंग का भावनाओं का विश्लेषण किया जाएगा. साथ ही, Natural Language API का इस्तेमाल करके स्कोर और मैग्निट्यूड के बारे में भी पता लगाया जाएगा.

भावनाओं का स्कोर -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}");
        }
    }
}

बस एक या दो मिनट में कोड को समझ लें और देखें कि "Yukihiro Matsumoto बहुत बढ़िया है!" स्ट्रिंग पर भावनाओं का विश्लेषण करने के लिए, कोड के स्निपेट का इस्तेमाल कैसे किया जाता है.

Cloud Shell पर वापस जाकर, इस ऐप्लिकेशन को चलाएं:

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"]}");
                }
            }
        }
    }
}

कुछ समय निकालकर कोड को पढ़ें और देखें कि "Yukihiro Matsumoto बहुत बढ़िया है!" स्ट्रिंग पर इकाई का विश्लेषण करने के लिए, कोड के स्निपेट का इस्तेमाल कैसे किया जाता है.

Cloud Shell पर वापस जाकर, इस ऐप्लिकेशन को चलाएं:

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}");
            }
        }
    }
}

कोड को समझने में एक या दो मिनट लगेंगे और देखें कि "Yukihiro Matsumoto बहुत बढ़िया है!" स्ट्रिंग पर सिंटैक्स का विश्लेषण करने के लिए, कोड के स्निपेट का इस्तेमाल कैसे किया जाता है.

Cloud Shell पर वापस जाकर, इस ऐप्लिकेशन को चलाएं:

dotnet run

आपको यह आउटपुट दिखेगा:

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

इसका एक विज़ुअल मतलब नीचे दिया गया है.

297dबाबाf1a723bad.png

खास जानकारी

इस चरण में, टेक्स्ट की आसान स्ट्रिंग पर सिंटैक्स विश्लेषण किया गया. साथ ही, हर टोकन के लिए वाक्यों की संख्या, टोकन की संख्या, और भाषा की जानकारी प्रिंट की गई. सिंटैक्स विश्लेषण के बारे में ज़्यादा पढ़ें.

8. बधाई हो!

आपने जाना कि जानकारी का अलग-अलग तरह का विश्लेषण करने के लिए, C# का इस्तेमाल करके Natural Language API का इस्तेमाल कैसे किया जाता है!

व्यवस्थित करें

इस क्विकस्टार्ट में इस्तेमाल किए गए संसाधनों के लिए, आपके Google Cloud Platform खाते पर लगने वाले शुल्क से बचने के लिए:

  • Cloud Platform कंसोल पर जाएं.
  • वह प्रोजेक्ट चुनें जिसे शट डाउन करना है. इसके बाद, ‘मिटाएं' पर क्लिक करें सबसे ऊपर: यह प्रोजेक्ट को मिटाने के लिए शेड्यूल करता है.

ज़्यादा जानें

लाइसेंस

इस काम को क्रिएटिव कॉमंस एट्रिब्यूशन 2.0 जेनरिक लाइसेंस के तहत लाइसेंस मिला है.