استفاده از API زبان طبیعی با سی شارپ

1. بررسی اجمالی

در این کد لبه شما بر روی استفاده از API زبان طبیعی با سی شارپ تمرکز خواهید کرد. شما یاد خواهید گرفت که چگونه تجزیه و تحلیل احساسات، موجودیت و نحو را انجام دهید.

Google Cloud Natural Language API فناوری‌های درک زبان طبیعی از جمله تجزیه و تحلیل احساسات، تجزیه و تحلیل موجودیت، و تجزیه و تحلیل نحو را در اختیار توسعه‌دهندگان قرار می‌دهد.

چیزی که یاد خواهید گرفت

  • نحوه استفاده از Cloud Shell
  • چگونه API زبان طبیعی را فعال کنیم
  • نحوه احراز هویت درخواست های API
  • نحوه نصب کتابخانه سرویس گیرنده Google Cloud برای C#
  • نحوه انجام تجزیه و تحلیل احساسات
  • نحوه انجام تجزیه و تحلیل موجودیت
  • نحوه انجام تجزیه و تحلیل نحوی

آنچه شما نیاز دارید

  • یک پروژه Google Cloud Platform
  • یک مرورگر، مانند کروم یا فایرفاکس
  • آشنایی با سی شارپ

نظرسنجی

چگونه از این آموزش استفاده خواهید کرد؟

فقط از طریق آن را بخوانید آن را بخوانید و تمرینات را کامل کنید

به تجربه خود با سی شارپ چه امتیازی می دهید؟

تازه کار متوسط مسلط

تجربه خود را در استفاده از سرویس‌های پلتفرم ابری Google چگونه ارزیابی می‌کنید؟

تازه کار متوسط مسلط

2. راه اندازی و الزامات

تنظیم محیط خود به خود

  1. به Google Cloud Console وارد شوید و یک پروژه جدید ایجاد کنید یا از یک موجود استفاده مجدد کنید. اگر قبلاً یک حساب Gmail یا Google Workspace ندارید، باید یک حساب ایجاد کنید .

295004821bab6a87.png

37d264871000675d.png

96d86d3d5655cdbe.png

  • نام پروژه نام نمایشی برای شرکت کنندگان این پروژه است. این یک رشته کاراکتری است که توسط API های Google استفاده نمی شود. همیشه می توانید آن را به روز کنید.
  • شناسه پروژه در تمام پروژه‌های Google Cloud منحصربه‌فرد است و تغییرناپذیر است (پس از تنظیم نمی‌توان آن را تغییر داد). Cloud Console به طور خودکار یک رشته منحصر به فرد تولید می کند. معمولاً برای شما مهم نیست که چیست. در اکثر کدها، باید شناسه پروژه خود را ارجاع دهید (معمولاً با نام PROJECT_ID شناخته می شود). اگر شناسه تولید شده را دوست ندارید، ممکن است یک شناسه تصادفی دیگر ایجاد کنید. از طرف دیگر، می‌توانید خودتان را امتحان کنید، و ببینید آیا در دسترس است یا خیر. پس از این مرحله نمی توان آن را تغییر داد و در طول مدت پروژه باقی می ماند.
  • برای اطلاع شما، یک مقدار سوم وجود دارد، یک شماره پروژه ، که برخی از API ها از آن استفاده می کنند. در مورد هر سه این مقادیر در مستندات بیشتر بیاموزید.
  1. در مرحله بعد، برای استفاده از منابع Cloud/APIها باید صورتحساب را در کنسول Cloud فعال کنید . اجرا کردن از طریق این کد لبه هزینه زیادی نخواهد داشت. برای خاموش کردن منابع برای جلوگیری از تحمیل صورت‌حساب فراتر از این آموزش، می‌توانید منابعی را که ایجاد کرده‌اید حذف کنید یا پروژه را حذف کنید. کاربران جدید Google Cloud واجد شرایط برنامه آزمایشی رایگان 300 دلاری هستند.

Cloud Shell را راه اندازی کنید

در حالی که Google Cloud را می توان از راه دور از لپ تاپ شما کار کرد، در این کد لبه از Google Cloud Shell استفاده خواهید کرد، یک محیط خط فرمان که در Cloud اجرا می شود.

Cloud Shell را فعال کنید

  1. از Cloud Console، روی Activate Cloud Shell کلیک کنید d1264ca30785e435.png .

cb81e7c8e34bc8d.png

اگر این اولین باری است که Cloud Shell را راه اندازی می کنید، با یک صفحه میانی روبرو می شوید که آن را توصیف می کند. اگر با یک صفحه میانی مواجه شدید، روی Continue کلیک کنید.

d95252b003979716.png

تهیه و اتصال به Cloud Shell فقط باید چند لحظه طول بکشد.

7833d5e1c5d18f54.png

این ماشین مجازی با تمام ابزارهای توسعه مورد نیاز بارگذاری شده است. این یک فهرست اصلی 5 گیگابایتی دائمی ارائه می‌کند و در Google Cloud اجرا می‌شود، که عملکرد و احراز هویت شبکه را بسیار افزایش می‌دهد. بسیاری از کارهای شما، اگر نه همه، در این کد لبه با مرورگر قابل انجام است.

پس از اتصال به Cloud Shell، باید ببینید که احراز هویت شده اید و پروژه به ID پروژه شما تنظیم شده است.

  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. API زبان طبیعی را فعال کنید

قبل از اینکه بتوانید از API زبان طبیعی استفاده کنید، باید API را فعال کنید. با استفاده از Cloud Shell می توانید API را با استفاده از دستور زیر فعال کنید:

gcloud services enable language.googleapis.com

4. کتابخانه کلاینت Google Cloud Natural Language API برای C# را نصب کنید

ابتدا یک برنامه کنسول 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'.

اکنون، شما آماده استفاده از API زبان طبیعی هستید!

5. تجزیه و تحلیل احساسات

در این بخش شما تجزیه و تحلیل احساسات را بر روی یک رشته انجام می دهید و با استفاده از API زبان طبیعی ، امتیاز و بزرگی را پیدا خواهید کرد.

امتیاز احساسات بین -1.0 (منفی) و 1.0 (مثبت) است و با احساسات کلی از اطلاعات داده شده مطابقت دارد.

اندازه احساسات از 0.0 تا + بی نهایت متغیر است و قدرت کلی احساسات را از اطلاعات داده شده نشان می دهد. هر چه اطلاعات بیشتری ارائه شود، مقدار آن بیشتر می شود.

ویرایشگر کد را از سمت راست بالای Cloud Shell باز کنید:

fd3fc1303e63572.png

به فایل Program.cs داخل پوشه NaturalLanguageApiDemo بروید و کد زیر را جایگزین کنید:

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 is great!" استفاده می شود.

به Cloud Shell برگردید، برنامه را اجرا کنید:

dotnet run

شما باید خروجی زیر را ببینید:

Score: 0.9
Magnitude: 0.9

خلاصه

در این مرحله، شما قادر به انجام تجزیه و تحلیل احساسات بر روی یک رشته از متن و چاپ امتیاز و بزرگی هستید. درباره تجزیه و تحلیل احساسات بیشتر بخوانید.

6. تجزیه و تحلیل موجودیت

تجزیه و تحلیل موجودیت، اطلاعات داده شده را برای موجودیت ها با جستجوی اسامی مناسب مانند چهره های عمومی، نشانه ها و غیره بررسی می کند و اطلاعات مربوط به آن موجودیت ها را برمی گرداند.

برای انجام تجزیه و تحلیل Entity، به فایل Program.cs در داخل پوشه NaturalLanguageApiDemo بروید و کد زیر را جایگزین کنید:

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

خلاصه

در این مرحله شما توانستید Entity Analysis را روی رشته ای از متن انجام دهید و موجودیت های آن را چاپ کنید. درباره تجزیه و تحلیل موجودیت بیشتر بخوانید.

7. تجزیه و تحلیل نحو

تجزیه و تحلیل نحوی اطلاعات زبانی را استخراج می کند، متن داده شده را به مجموعه ای از جملات و نشانه ها (به طور کلی، مرزهای کلمه) تجزیه می کند، و تجزیه و تحلیل بیشتری را در مورد آن نشانه ها ارائه می دهد.

این مثال تعداد جملات، نشانه‌ها را چاپ می‌کند و بخشی از گفتار را برای هر نشانه ارائه می‌کند.

برای انجام Syntax Analysis، به فایل Program.cs در داخل پوشه NaturalLanguageApiDemo بروید و کد زیر را جایگزین کنید:

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 !

یک تفسیر بصری در زیر نشان داده شده است.

297dbabf1a723bad.png

خلاصه

در این مرحله، شما قادر به انجام تجزیه و تحلیل نحو بر روی یک رشته ساده از متن هستید و تعداد جملات، تعداد نشانه ها و اطلاعات زبانی را برای هر نشانه چاپ می کنید. درباره تجزیه و تحلیل نحو بیشتر بخوانید.

8. تبریک می گویم!

شما یاد گرفتید که چگونه از API زبان طبیعی با استفاده از سی شارپ برای انجام انواع مختلف تجزیه و تحلیل بر روی اطلاعات استفاده کنید!

پاک کن

برای جلوگیری از تحمیل هزینه به حساب Google Cloud Platform برای منابع استفاده شده در این شروع سریع:

  • به کنسول Cloud Platform بروید.
  • پروژه‌ای را که می‌خواهید تعطیل کنید انتخاب کنید، سپس روی «حذف» در بالا کلیک کنید: با این کار، پروژه برای حذف برنامه‌ریزی می‌شود.

بیشتر بدانید

مجوز

این اثر تحت مجوز Creative Commons Attribution 2.0 Generic مجوز دارد.