Menggunakan Natural Language API dengan C#

1. Ringkasan

Dalam codelab ini, Anda akan berfokus pada penggunaan Natural Language API dengan C#. Anda akan mempelajari cara melakukan analisis sentimen, entity, dan sintaksis.

Natural Language API Google Cloud menyediakan teknologi natural language understanding kepada developer, termasuk analisis sentimen, analisis entity, dan analisis sintaksis.

Yang akan Anda pelajari

  • Cara menggunakan Cloud Shell
  • Cara Mengaktifkan Natural Language API
  • Cara Mengautentikasi permintaan API
  • Cara menginstal library klien Google Cloud untuk C#
  • Cara melakukan Analisis Sentimen
  • Cara melakukan Analisis Entity
  • Cara melakukan Analisis Sintaksis

Yang Anda butuhkan

  • Project Google Cloud Platform
  • Browser, seperti Chrome atau Firefox
  • Pemahaman dalam menggunakan C#

Survei

Bagaimana Anda akan menggunakan tutorial ini?

Hanya membacanya Membacanya dan menyelesaikan latihan

Bagaimana penilaian Anda terhadap pengalaman Anda dengan C#?

Pemula Menengah Mahir

Bagaimana penilaian Anda terhadap pengalaman menggunakan layanan Google Cloud Platform?

Pemula Menengah Mahir

2. Penyiapan dan Persyaratan

Penyiapan lingkungan mandiri

  1. Login ke Google Cloud Console dan buat project baru atau gunakan kembali project yang sudah ada. Jika belum memiliki akun Gmail atau Google Workspace, Anda harus membuatnya.

295004821bab6a87.png

37d264871000675d.png

96d86d3d5655cdbe.png

  • Project name adalah nama tampilan untuk peserta project ini. String ini adalah string karakter yang tidak digunakan oleh Google API. Anda dapat memperbaruinya kapan saja.
  • Project ID bersifat unik di semua project Google Cloud dan tidak dapat diubah (tidak dapat diubah setelah ditetapkan). Cloud Console otomatis membuat string unik; biasanya Anda tidak mementingkan kata-katanya. Di sebagian besar codelab, Anda harus merujuk Project ID-nya (umumnya diidentifikasi sebagai PROJECT_ID). Jika tidak suka dengan ID yang dibuat, Anda dapat membuat ID acak lainnya. Atau, Anda dapat mencobanya sendiri, dan lihat apakah ID tersebut tersedia. ID tidak dapat diubah setelah langkah ini dan tersedia selama durasi project.
  • Sebagai informasi, ada nilai ketiga, Project Number, yang digunakan oleh beberapa API. Pelajari lebih lanjut ketiga nilai ini di dokumentasi.
  1. Selanjutnya, Anda harus mengaktifkan penagihan di Konsol Cloud untuk menggunakan resource/API Cloud. Menjalankan operasi dalam codelab ini tidak akan memakan banyak biaya, bahkan mungkin tidak sama sekali. Guna mematikan resource agar tidak menimbulkan penagihan di luar tutorial ini, Anda dapat menghapus resource yang dibuat atau menghapus project-nya. Pengguna baru Google Cloud memenuhi syarat untuk mengikuti program Uji Coba Gratis senilai $300 USD.

Mulai Cloud Shell

Meskipun Google Cloud dapat dioperasikan dari jarak jauh menggunakan laptop Anda, dalam codelab ini, Anda akan menggunakan Google Cloud Shell, lingkungan command line yang berjalan di Cloud.

Mengaktifkan Cloud Shell

  1. Dari Cloud Console, klik Aktifkan Cloud Shell d1264ca30785e435.png.

cb81e7c8e34bc8d.png

Jika ini adalah pertama kalinya Anda memulai Cloud Shell, Anda akan melihat layar perantara yang menjelaskan apa itu Cloud Shell. Jika Anda melihat layar perantara, klik Continue.

d95252b003979716.png

Perlu waktu beberapa saat untuk menyediakan dan terhubung ke Cloud Shell.

7833d5e1c5d18f54.png

Virtual machine ini dilengkapi dengan semua alat pengembangan yang diperlukan. VM ini menawarkan direktori beranda tetap sebesar 5 GB dan beroperasi di Google Cloud, sehingga sangat meningkatkan performa dan autentikasi jaringan. Sebagian besar pekerjaan Anda dalam codelab ini dapat dilakukan dengan browser.

Setelah terhubung ke Cloud Shell, Anda akan melihat bahwa Anda telah diautentikasi dan project telah ditetapkan ke project ID Anda.

  1. Jalankan perintah berikut di Cloud Shell untuk mengonfirmasi bahwa Anda telah diautentikasi:
gcloud auth list

Output perintah

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

To set the active account, run:
    $ gcloud config set account `ACCOUNT`
  1. Jalankan perintah berikut di Cloud Shell untuk mengonfirmasi bahwa perintah gcloud mengetahui project Anda:
gcloud config list project

Output perintah

[core]
project = <PROJECT_ID>

Jika tidak, Anda dapat menyetelnya dengan perintah ini:

gcloud config set project <PROJECT_ID>

Output perintah

Updated property [core/project].

3. Mengaktifkan Natural Language API

Sebelum dapat mulai menggunakan Natural Language API, Anda harus mengaktifkan API tersebut. Dengan menggunakan Cloud Shell, Anda dapat mengaktifkan API menggunakan perintah berikut:

gcloud services enable language.googleapis.com

4. Instal library klien Google Cloud Natural Language API untuk C#

Pertama, buat aplikasi konsol C# sederhana yang akan Anda gunakan untuk menjalankan contoh Natural Language API:

dotnet new console -n NaturalLanguageApiDemo

Anda akan melihat aplikasi yang dibuat dan dependensi yang diselesaikan:

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

Selanjutnya, buka folder NaturalLanguageApiDemo:

cd NaturalLanguageApiDemo/

Lalu tambahkan paket NuGet Google.Cloud.Language.V1 ke project:

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'.

Sekarang, Anda siap menggunakan Natural Language API.

5. Analisis Sentimen

Di bagian ini, Anda akan melakukan Analisis Sentimen pada string dan mengetahui Skor dan Besaran menggunakan Natural Language API.

Skor sentimen berkisar antara -1,0 (negatif) dan 1,0 (positif) serta sesuai dengan sentimen keseluruhan dari informasi yang diberikan.

Besarnya sentimen berkisar dari 0,0 hingga +tak terhingga dan menunjukkan kekuatan sentimen secara keseluruhan dari informasi yang diberikan. Makin banyak informasi yang diberikan, makin tinggi magnitudonya.

Buka editor kode dari sisi kanan atas Cloud Shell:

fd3fc1303e63572.png

Buka file Program.cs di dalam folder NaturalLanguageApiDemo dan ganti kode dengan kode berikut:

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

Luangkan waktu satu atau dua menit untuk mempelajari kode dan melihat cara cuplikan kode digunakan untuk melakukan analisis sentimen pada string "Yukihiro Matsumoto is great!".

Kembali di Cloud Shell, jalankan aplikasi:

dotnet run

Anda akan melihat output berikut:

Score: 0.9
Magnitude: 0.9

Ringkasan

Pada langkah ini, Anda dapat melakukan Analisis Sentimen pada string teks dan mencetak skor serta besarnya sentimen. Baca selengkapnya tentang Analisis Sentimen.

6. Analisis Entitas

Analisis entity memeriksa informasi yang diberikan untuk menemukan entity dengan menelusuri kata benda yang tepat seperti tokoh masyarakat, landmark, dll., dan menampilkan informasi tentang entity tersebut.

Untuk melakukan analisis Entitas, buka file Program.cs di dalam folder NaturalLanguageApiDemo, lalu ganti kode dengan kode berikut:

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

Luangkan waktu satu atau dua menit untuk mempelajari kode dan melihat cara cuplikan kode digunakan untuk melakukan analisis entitas pada string "Yukihiro Matsumoto is great!".

Kembali di Cloud Shell, jalankan aplikasi:

dotnet run

Anda akan melihat output berikut:

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

Ringkasan

Pada langkah ini, Anda dapat melakukan Analisis Entity pada string teks dan mencetak entity-nya. Baca selengkapnya tentang Analisis Entity.

7. Analisis Sintaksis

Analisis Sintaksis mengekstrak informasi linguistik, memecah teks yang diberikan menjadi serangkaian kalimat dan token (umumnya, batas kata), yang memberikan analisis lebih lanjut pada token tersebut.

Contoh ini akan mencetak jumlah kalimat, token, dan memberikan bagian ucapan untuk setiap token.

Untuk melakukan Analisis Sintaksis, buka file Program.cs di dalam folder NaturalLanguageApiDemo, lalu ganti kode dengan kode berikut:

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

Luangkan waktu satu atau dua menit untuk mempelajari kode dan melihat cara cuplikan kode digunakan untuk melakukan analisis sintaksis pada string "Yukihiro Matsumoto is great!".

Kembali di Cloud Shell, jalankan aplikasi:

dotnet run

Anda akan melihat output berikut:

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

Interpretasi visual ditampilkan di bawah.

297dbabf1a723bad.png

Ringkasan

Pada langkah ini, Anda dapat melakukan Analisis Sintaksis pada string teks sederhana dan mencetak jumlah kalimat, jumlah token, dan informasi linguistik untuk setiap token. Baca selengkapnya tentang Analisis Sintaksis.

8. Selamat!

Anda telah mempelajari cara menggunakan Natural Language API menggunakan C# untuk melakukan berbagai jenis analisis pada informasi.

Pembersihan

Agar tidak menimbulkan biaya pada akun Google Cloud Platform Anda untuk resource yang digunakan di panduan memulai ini:

  • Buka Cloud Platform Console.
  • Pilih project yang ingin Anda nonaktifkan, lalu klik 'Hapus' di bagian atas: tindakan ini akan menjadwalkan penghapusan project.

Pelajari Lebih Lanjut

Lisensi

Karya ini dilisensikan berdasarkan Lisensi Umum Creative Commons Attribution 2.0.