1. Omówienie
W tym ćwiczeniu w Codelabs dowiesz się, jak używać interfejsu Natural Language API w C#. Dowiesz się, jak przeprowadzać analizę nastawienia, encji i składni.
Interfejs Google Cloud Natural Language API udostępnia programistom technologie rozumienia języka naturalnego, w tym analizę nastawienia, analizę encji i analizę składni.
Czego się nauczysz
- Jak używać Cloud Shell
- Jak włączyć interfejs Natural Language API
- Jak uwierzytelniać żądania do interfejsu API
- Jak zainstalować bibliotekę klienta Google Cloud dla języka C#
- Jak przeprowadzić analizę nastawienia
- Jak przeprowadzić analizę encji
- Jak przeprowadzić analizę składni
Czego potrzebujesz
Ankieta
Jak wykorzystasz ten samouczek?
Jak oceniasz swoje doświadczenia z językiem C#?
Jak oceniasz swoje wrażenia z korzystania z usług Google Cloud Platform?
2. Konfiguracja i wymagania
Samodzielne konfigurowanie środowiska
- Zaloguj się w konsoli Google Cloud i utwórz nowy projekt lub wykorzystaj już istniejący. Jeśli nie masz jeszcze konta Gmail ani Google Workspace, musisz je utworzyć.
- Nazwa projektu jest wyświetlaną nazwą uczestników tego projektu. To ciąg znaków, który nie jest używany przez interfejsy API Google. W każdej chwili możesz ją zaktualizować.
- Identyfikator projektu jest unikalny we wszystkich projektach Google Cloud i nie można go zmienić (po jego ustawieniu nie można go zmienić). Cloud Console automatycznie wygeneruje unikalny ciąg znaków. zwykle nieważne, co ona jest. W większości ćwiczeń w Codelabs musisz podać swój identyfikator projektu (zwykle identyfikowany jako
PROJECT_ID
). Jeśli nie podoba Ci się wygenerowany identyfikator, możesz wygenerować kolejny losowy. Możesz też spróbować własnych sił i sprawdzić, czy jest dostępna. Po wykonaniu tej czynności nie można jej już zmienić. Pozostanie ona przez cały czas trwania projektu. - Jest jeszcze trzecia wartość, numer projektu, z którego korzystają niektóre interfejsy API. Więcej informacji o wszystkich 3 wartościach znajdziesz w dokumentacji.
- Następnie musisz włączyć płatności w Cloud Console, aby korzystać z zasobów Cloud/interfejsów API. Ukończenie tego ćwiczenia z programowania nic nie kosztuje. Aby wyłączyć zasoby w celu uniknięcia naliczania opłat po zakończeniu tego samouczka, możesz usunąć utworzone zasoby lub projekt. Nowi użytkownicy Google Cloud mogą skorzystać z programu bezpłatnego okresu próbnego o wartości 300 USD.
Uruchamianie Cloud Shell
Google Cloud można obsługiwać zdalnie z laptopa, ale w ramach tego ćwiczenia z programowania wykorzystasz Google Cloud Shell – środowisko wiersza poleceń działające w chmurze.
Aktywowanie Cloud Shell
- W konsoli Cloud kliknij Aktywuj Cloud Shell .
Jeśli uruchamiasz Cloud Shell po raz pierwszy, zobaczysz ekran pośredni z opisem tej usługi. Jeśli wyświetlił się ekran pośredni, kliknij Dalej.
Uzyskanie dostępu do Cloud Shell i połączenie się z nim powinno zająć tylko kilka chwil.
Ta maszyna wirtualna ma wszystkie potrzebne narzędzia dla programistów. Zawiera stały katalog domowy o pojemności 5 GB i działa w Google Cloud, co znacznie zwiększa wydajność sieci i uwierzytelnianie. Większość zadań w ramach tego ćwiczenia z programowania można wykonać w przeglądarce.
Po nawiązaniu połączenia z Cloud Shell powinno pojawić się potwierdzenie, że użytkownik jest uwierzytelniony, a projekt jest ustawiony na identyfikator Twojego projektu.
- Uruchom to polecenie w Cloud Shell, aby potwierdzić, że jesteś uwierzytelniony:
gcloud auth list
Dane wyjściowe polecenia
Credentialed Accounts ACTIVE ACCOUNT * <my_account>@<my_domain.com> To set the active account, run: $ gcloud config set account `ACCOUNT`
- Uruchom to polecenie w Cloud Shell, aby sprawdzić, czy polecenie gcloud zna Twój projekt:
gcloud config list project
Dane wyjściowe polecenia
[core] project = <PROJECT_ID>
Jeśli tak nie jest, możesz go ustawić za pomocą tego polecenia:
gcloud config set project <PROJECT_ID>
Dane wyjściowe polecenia
Updated property [core/project].
3. Włączanie interfejsu Natural Language API
Zanim zaczniesz korzystać z interfejsu Natural Language API, musisz go włączyć. Interfejs API możesz włączyć za pomocą Cloud Shell za pomocą tego polecenia:
gcloud services enable language.googleapis.com
4. Instalowanie biblioteki klienta interfejsu Google Cloud Natural Language API dla języka C#
Najpierw utwórz prostą aplikację konsoli w C#, której będziesz używać do uruchamiania przykładów interfejsu Natural Language API:
dotnet new console -n NaturalLanguageApiDemo
Powinna pojawić się utworzona aplikacja i zamknięte zależności:
The template "Console Application" was created successfully.
Processing post-creation actions...
...
Restore succeeded.
Następnie przejdź do folderu NaturalLanguageApiDemo
:
cd NaturalLanguageApiDemo/
I dodaj do projektu pakiet NuGet Google.Cloud.Language.V1
:
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'.
Możesz teraz korzystać z interfejsu Natural Language API.
5. Analiza nastawienia
W tej sekcji przeprowadzisz analizę nastawienia dla ciągu znaków i poznasz wartości Wynik i Magnitude za pomocą interfejsu Natural Language API.
Wynik nastawienia mieści się w zakresie od -1,0 (ujemne) do 1,0 (pozytywne) i odpowiada ogólnym nastrojom na podstawie podanych informacji.
Wielkość nastawienia wynosi od 0,0 do +nieskończoności.Wskazuje ogólną siłę nastawienia na podstawie podanych informacji. Im więcej informacji podasz, tym większa magnituda.
Otwórz edytor kodu w prawym górnym rogu Cloud Shell:
Przejdź do pliku Program.cs
znajdującego się w folderze NaturalLanguageApiDemo
i zastąp kod poniższym kodem:
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}");
}
}
}
Poświęć kilka minut na zapoznanie się z kodem i zobacz, jak można go wykorzystać do przeprowadzenia analizy nastawienia dotyczącej ciągu „Yukihiro Matsumoto jest świetne!”.
Uruchom aplikację w Cloud Shell:
dotnet run
Powinny się wyświetlić te dane wyjściowe:
Score: 0.9
Magnitude: 0.9
Podsumowanie
W tym kroku mogliśmy przeprowadzić analizę nastawienia dla ciągu tekstowego i wydrukować wynik oraz wielkość. Dowiedz się więcej o analizie nastawienia.
6. Analiza encji
Analiza encji pozwala sprawdzić podane informacje pod kątem podmiotów przez wyszukiwanie rzeczowników własnych, takich jak osoby publiczne, punkty orientacyjne itp., i zwraca informacje o tych podmiotach.
Aby przeprowadzić analizę encji, przejdź do pliku Program.cs
w folderze NaturalLanguageApiDemo
i zastąp go tym kodem:
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"]}");
}
}
}
}
}
Poświęć kilka minut na zapoznanie się z kodem i zobacz, jak został on użyty do przeprowadzenia analizy encji na ciągu znaków „Yukihiro Matsumoto jest świetne!”.
Uruchom aplikację w Cloud Shell:
dotnet run
Powinny się wyświetlić te dane wyjściowe:
Entity: "Yukihiro Matsumoto" (Person)
URL: https://en.wikipedia.org/wiki/Yukihiro_Matsumoto
Podsumowanie
W tym kroku mogliśmy przeprowadzić analizę encji dla ciągu tekstowego i wydrukować jego jednostki. Dowiedz się więcej o analizie encji.
7. Analiza składni
Analiza składniowa wyodrębnia informacje językowe, dzieląc dany tekst na serię zdań i tokenów (zwykle są to granice słów), co prowadzi do dalszej analizy tych tokenów.
W tym przykładzie wydrukujemy liczbę zdań i tokenów oraz do każdego tokena poda się część mowy.
Aby przeprowadzić analizę składni, przejdź do pliku Program.cs
w folderze NaturalLanguageApiDemo
i zastąp go tym kodem:
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}");
}
}
}
}
Poświęć kilka minut na zapoznanie się z kodem i zobacz, jak został on użyty do przeprowadzenia analizy składni ciągu znaków „Yukihiro Matsumoto jest świetne!”.
Uruchom aplikację w Cloud Shell:
dotnet run
Powinny się wyświetlić te dane wyjściowe:
Sentences: 1
Tokens: 5
Noun Yukihiro
Noun Matsumoto
Verb is
Adj great
Punct !
Poniżej przedstawiono interpretację wizualną.
Podsumowanie
W tym kroku wykonaliśmy analizę składni prostego ciągu tekstowego i wydrukowaliśmy liczbę zdań, liczbę tokenów i informacje językowe dla każdego tokena. Dowiedz się więcej o analizie składni.
8. Gratulacje!
Wiesz już, jak korzystać z interfejsu Natural Language API w języku C#, aby przeprowadzać różnego rodzaju analizy informacji.
Czyszczenie danych
Oto kroki, które musisz wykonać, aby uniknąć obciążenia konta Google Cloud Platform opłatami za zasoby zużyte podczas krótkiego wprowadzenia:
- Otwórz konsolę Cloud Platform.
- Wybierz projekt, który chcesz wyłączyć, i kliknij „Usuń”. u góry: spowoduje to zaplanowanie usunięcia projektu.
Więcej informacji
- Interfejs Google Cloud Natural Language API: https://cloud.google.com/natural-language/docs/
- C#/.NET w Google Cloud Platform: https://cloud.google.com/dotnet/
- Klient Google Cloud .NET: https://googlecloudplatform.github.io/google-cloud-dotnet/
Licencja
To zadanie jest licencjonowane na podstawie ogólnej licencji Creative Commons Attribution 2.0.