Bagikan melalui


Tutorial: Mengekstrak frasa kunci dari teks yang disimpan di Power BI

Microsoft Power BI Desktop adalah aplikasi gratis yang memungkinkan Anda untuk tersambung dengan, mentransformasi, dan memvisualisasikan data Anda. Ekstraksi frasa kunci, salah satu fitur Bahasa Azure AI, menyediakan pemrosesan bahasa alami. Pada teks mentah yang tidak terstruktur, layanan ini dapat mengekstrak frasa yang paling penting, menganalisis sentimen, dan mengidentifikasi entitas terkenal seperti merek. Bersama-sama, alat-alat ini dapat membantu Anda dengan cepat melihat apa yang dibicarakan oleh pelanggan Anda dan bagaimana perasaan mereka tentang hal itu.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Menggunakan Power BI Desktop untuk mengimpor dan mentransformasi data
  • Membuat fungsi kustom di Power BI Desktop
  • Mengintegrasikan Power BI Desktop dengan fitur Ekstraksi Frasa Kunci bahasa Azure AI
  • Menggunakan Ekstraksi Frase Kunci untuk mendapatkan frasa yang paling penting dari umpan balik pelanggan
  • Membuat awan kata dari umpan balik pelanggan

Prasyarat

  • Microsoft Power BI Desktop. Unduh tanpa biaya.
  • Akun Microsoft Azure. Buat akun gratis atau masuk.
  • Sumber daya bahasa. Jika Anda tidak memilikinya, Anda dapat membuatnya secara gratis.
  • Kunci sumber daya Bahasa yang dihasilkan untuk Anda saat Anda membuat sumber daya.
  • Komentar pelanggan. Anda dapat menggunakan data contoh kami atau data Anda sendiri. Tutorial ini mengasumsikan bahwa Anda menggunakan data contoh kami.

Memuat data pelanggan

Untuk memulai, buka Power BI Desktop dan muat file nilai yang dipisahkan koma (CSV) yang Anda unduh sebagai bagian dari prasyarat. {i>File

Catatan

Power BI bisa menggunakan data dari berbagai sumber-berbasis web, seperti database{i> dokumentasi Power Query untuk informasi selengkapnya.

Di jendela utama Power BI Desktop, klik pita Beranda. Pada pita grup data eksternal, buka menu drop-down Ambil Data dan pilih Teks/CSV.

Tombol Dapatkan Data

Jendela dialog Buka muncul. Navigasikan ke folder Unduhan Anda, atau ke folder tempat Anda mengunduh file CSV. Pilih nama file, lalu tombol Buka . Dialog impor CSV muncul.

Dialog impor CSV muncul

Dialog impor CSV memungkinkan Anda memverifikasi bahwa Power BI Desktop telah mendeteksi tataan karakter, pemisah, baris header, dan jenis kolom dengan benar. Informasi ini semuanya benar, jadi pilih Muat.

Untuk melihat data yang dimuat, klik tombol Tampilkan Data di tepi kiri ruang kerja Power BI. Sebuah tabel akan terbuka yang berisi data, seperti di Microsoft Excel.

Tampilan awal data yang diimpor

Menyiapkan data

Anda mungkin perlu mengubah data Anda di Power BI Desktop sebelum siap diproses oleh Ekstraksi Frasa Kunci.

Data sampel berisi kolom subject dan kolom comment. Dengan fungsi Gabungkan Kolom di Power BI Desktop, Anda bisa mengekstrak frasa kunci dari data di kedua kolom ini, bukan hanya kolom comment.

Di Power BI Desktop, pilih pita Beranda. Di grup Data Eksternal, pilih Edit Kueri.

Grup Data Eksternal di pita Beranda

Pilih FabrikamComments di daftar Kueri di sisi kiri jendela jika belum dipilih.

Sekarang pilih kolom subject dan comment dalam tabel. Anda mungkin perlu menggulir secara horizontal untuk melihat kolom ini. Pertama klik judul kolom subject, lalu tahan tombol Ctrl dan klik judul kolom comment.

Memilih bidang yang akan digabungkan

Pilih tab Transformasi. Dalam grup Kolom Teks di pita, pilih Gabungkan Kolom. Dialog Gabungkan Kolom muncul.

Menggabungkan bidang menggunakan dialog Gabungkan Kolom

Dalam dialog Gabungkan Kolom, pilih Tab sebagai pemisah, lalu pilih OK.

Anda mungkin juga mempertimbangkan untuk memfilter pesan kosong menggunakan filter Hapus Kosong, atau menghapus karakter yang tidak dapat dicetak menggunakan transformasi Bersihkan. Jika data Anda berisi kolom seperti spamscore kolom dalam file sampel, Anda dapat melewati komentar "spam" menggunakan Filter Angka.

Memahami API

Ekstraksi Frase Kunci dapat memproses hingga seribu dokumen teks per permintaan HTTP. Power BI lebih memilih untuk menangani rekaman satu per satu, jadi dalam tutorial ini panggilan Anda ke API hanya akan menyertakan satu dokumen. API Frasa Kunci memerlukan bidang berikut untuk setiap dokumen yang sedang diproses.

Bidang Deskripsi
id Pengidentifikasi unik untuk dokumen ini dalam permintaan. Respons juga menyertakan bidang ini. Dengan demikian, jika Anda memproses lebih dari satu dokumen, Anda dapat dengan mudah mengaitkan frasa kunci yang diekstrak dengan dokumen asalnya. Dalam tutorial ini, karena Anda hanya memproses satu dokumen per permintaan, Anda dapat mengkodekan id nilai untuk menjadi sama untuk setiap permintaan.
text Teks yang akan diproses. Nilai bidang ini berasal dari kolom Merged yang Anda buat di bagian sebelumnya, yang berisi baris subjek gabungan dan teks komentar. API Frasa Kunci mengharuskan data ini berisi tidak lebih dari sekitar 5.120 karakter.
language Kode untuk bahasa alami yang digunakan dalam dokumen. Semua pesan dalam data sampel dalam bahasa Inggris, sehingga Anda dapat mengkodekan nilai en untuk bidang ini secara permanen.

Membuat fungsi kustom

Sekarang Anda siap untuk membuat fungsi kustom yang akan mengintegrasikan Power BI dan Ekstraksi Frase Kunci. Fungsi ini menerima teks untuk diproses sebagai parameter. Proses ini mengonversi data ke dan dari format JSON yang diperlukan dan membuat permintaan HTTP ke API Frasa Kunci. Fungsi ini kemudian menguraikan respons dari API dan mengembalikan untai (karakter) yang berisi daftar frasa kunci yang dihasilkan yang dipisahkan koma.

Catatan

Fungsi kustom Power BI Desktop ditulis dalam Bahasa rumus Power Query M,atau singkatnya "M". M adalah bahasa pemrograman fungsional berdasarkan F#. Anda tidak perlu menjadi {i>programmer

Di Power BI Desktop, pastikan Anda masih berada di jendela Editor Kueri. Jika tidak, pilih pita Beranda, dan di grup Data Eksternal, pilih Edit Kueri.

Sekarang, di pita Beranda, di grup Kueri Baru, buka menu dropdown Sumber Baru dan pilih Kueri Kosong.

Kueri baru, awalnya bernama Query1, muncul di daftar Kueri. Klik ganda entri ini dan beri nama KeyPhrases.

Sekarang, di pita Beranda, di grup Kueri, pilih Editor Lanjutan untuk membuka jendela Editor Lanjutan. Hapus kode yang sudah ada di jendela tersebut dan tempelkan kode berikut.

Catatan

Gantilah titik akhir contoh di bawah ini (berisi <your-custom-subdomain>) dengan titik akhir yang telah dihasilkan untuk sumber daya Bahasa Anda. Anda dapat menemukan titik akhir ini dengan masuk ke portal Microsoft Azure, mengarahkan ke sumber daya Anda dan memilihKunci dan titik akhir.

// Returns key phrases from the text in a comma-separated list
(text) => let
    apikey      = "YOUR_API_KEY_HERE",
    endpoint    = "https://<your-custom-subdomain>.cognitiveservices.azure.com/text/analytics" & "/v3.0/keyPhrases",
    jsontext    = Text.FromBinary(Json.FromValue(Text.Start(Text.Trim(text), 5000))),
    jsonbody    = "{ documents: [ { language: ""en"", id: ""0"", text: " & jsontext & " } ] }",
    bytesbody   = Text.ToBinary(jsonbody),
    headers     = [#"Ocp-Apim-Subscription-Key" = apikey],
    bytesresp   = Web.Contents(endpoint, [Headers=headers, Content=bytesbody]),
    jsonresp    = Json.Document(bytesresp),
    keyphrases  = Text.Lower(Text.Combine(jsonresp[documents]{0}[keyPhrases], ", "))
in  keyphrases

Mengganti YOUR_API_KEY_HERE dengan kunci sumber daya Bahasa pemrogram Anda. Anda juga dapat menemukan kunci ini dengan masuk ke portal Azure, mengarahkan ke sumber daya Bahasa Anda, dan memilih halaman Kunci dan titik akhir. Pastikan untuk menyertakan tanda kutip sebelum dan sesudah kata kunci. Kemudian pilih Selesai.

Gunakan fungsi kustom

Sekarang Anda dapat menggunakan fungsi kustom untuk mengekstrak frasa kunci dari setiap komentar pelanggan dan menyimpannya di kolom baru dalam tabel.

Di Power BI Desktop, di jendela Editor Kueri, beralih kembali ke kueri FabrikamComments. Pilih pita Tambahkan Kolom. Di grup Umum, pilih Panggil Fungsi Kustom.

Meminta tombol Fungsi Kustom

Dialog Panggil Fungsi Kustom muncul. Di Nama kolom baru, masukkan keyphrases. Di Kueri fungsi, pilih fungsi kustom yang telah Anda buat, KeyPhrases.

Bidang baru muncul dalam dialog, teks (opsional). Bidang ini menanyakan kolom mana yang ingin kita gunakan untuk menyediakan nilai untuk parameter text API Frasa Kunci. (Ingatlah bahwa Anda sudah mengkodekan nilai untuk language parameter dan id .) Pilih Merged (kolom yang Anda buat sebelumnya dengan menggabungkan bidang subjek dan pesan) dari menu drop-down.

Meminta fungsi kustom

Terakhir, pilih OK.

Jika semuanya sudah siap, Power BI akan memanggil fungsi kustom Anda sekali untuk setiap baris dalam tabel. Panggilan ini mengirim kueri ke API Frasa Kunci dan menambahkan kolom baru ke tabel untuk menyimpan hasilnya. Tetapi sebelum itu terjadi, Anda mungkin perlu menentukan pengaturan autentikasi dan privasi.

Autentikasi dan privasi

Setelah Anda menutup dialog Panggilan Fungsi Kustom, sebuah banner mungkin muncul meminta Anda untuk menentukan cara menghubungkan ke API Frasa Kunci.

banner informasi masuk

Pilih Edit Kredensial, pastikan Anonymous dipilih dalam dialog, lalu pilih Sambungkan.

Catatan

Anda memilih Anonymous karena layanan Analitik Teks mengautentikasi Anda menggunakan kunci akses, sehingga Power BI tidak perlu menyediakan informasi masuk untuk permintaan HTTP itu sendiri.

mengatur autentikasi menjadi anonim

Jika Anda melihat banner Edit Kredensial bahkan setelah memilih akses anonim, Anda mungkin lupa menempelkan kunci sumber daya Bahasa Anda ke dalam kode dalam KeyPhrasesfungsi kustom.

Selanjutnya, {i>banner

banner privasi

Pilih Lanjutkan dan pilih Public untuk setiap sumber data dalam dialog. Kemudian pilih Simpan.

mengatur privasi sumber data

Membuat awan kata

Setelah Anda menangani spanduk apa pun yang muncul, pilih Tutup & Terapkan di pita Beranda untuk menutup Editor Kueri.

Power BI Desktop membutuhkan waktu sejenak untuk membuat permintaan HTTP yang diperlukan. Untuk setiap baris dalam tabel, kolom keyphrases baru berisi frasa kunci yang terdeteksi dalam teks oleh API Frasa Kunci.

Sekarang Anda akan menggunakan kolom ini untuk menghasilkan "word cloud". Untuk memulai, klik tombol Laporkan di jendela utama Power BI Desktop, di sebelah kiri ruang kerja.

Catatan

Mengapa menggunakan frasa kunci yang diekstraksi untuk menghasilkan "word cloud" daripada menggunakan teks lengkap dari setiap komentar? Frasa kunci menyediakan kata-kata penting dari komentar pelanggan kita, bukan hanya kata-kata yang paling umum. Selain itu, ukuran kata di awan yang dihasilkan tidak terpengaruh oleh frekuensi penggunaan kata dalam sejumlah komentar yang relatif sedikit.

Jika Anda belum menginstal visual kustom Cloud Kata, silakan instal. Di panel Visualisasi di sebelah kanan ruang kerja, klik tiga titik (...) dan pilih Impor Dari Pasar. Jika kata "cloud" bukan di antara alat visualisasi yang ditampilkan dalam daftar, Anda bisa mencari "cloud" dan mengklik tombol Tambahkan di samping visual Word Cloud. Power BI menginstal visual Cloud Kata dan memberi tahu Anda bahwa sudah berhasil diinstal.

menambahkan visual kustom

Pertama, klik ikon Cloud Kata di panel Visualisasi.

Ikon Awan Kata di panel visualisasi

Laporan baru muncul di ruang kerja. Seret bidang keyphrases dari panel Bidang ke bidang Kategori di panel Visualisasi. Kata "awan" muncul di dalam laporan.

Sekarang beralih ke halaman Format panel Visualisasi. Dalam kategori Stop Words, aktifkan Default Stop Words untuk menghilangkan kata-kata singkat dan umum seperti "of" dari cloud. Namun, karena kita memvisualisasikan frasa kunci, mereka mungkin tidak berisi kata hubung.

mengaktifkan kata-kata umum default

Turun sedikit lebih jauh di panel ini, matikan Putar Teks dan Judul.

mengaktifkan mode fokus

Pilih alat Mode Fokus dalam laporan untuk melihat cloud kata kami dengan lebih jelas. Alat ini memperluas awan kata untuk mengisi seluruh ruang kerja, seperti ditunjukkan di bawah ini.

Sebuah Awan Kata

Menggunakan fitur lain

Bahasa Azure AI juga menyediakan analisis sentimen dan deteksi bahasa. Deteksi bahasa khususnya berguna jika umpan balik pelanggan Anda tidak semuanya tertulis dalam bahasa Inggris.

Kedua API lainnya ini mirip dengan API Frasa Kunci. Itu berarti Anda dapat mengintegrasikannya dengan Power BI Desktop menggunakan fungsi kustom yang hampir identik dengan yang telah Anda buat dalam tutorial ini. Cukup buat kueri kosong dan tempelkan kode yang sesuai di bawah ini ke Editor Lanjutan, seperti yang Anda lakukan sebelumnya. (Jangan lupa kunci akses Anda!) Lalu, seperti sebelumnya, gunakan fungsi untuk menambahkan kolom baru ke tabel.

Fungsi Analisis Sentimen di bawah ini mengembalikan label yang menunjukkan seberapa positif sentimen yang dinyatakan dalam teks.

// Returns the sentiment label of the text, for example, positive, negative or mixed.
(text) => let
    apikey = "YOUR_API_KEY_HERE",
    endpoint = "<your-custom-subdomain>.cognitiveservices.azure.com" & "/text/analytics/v3.1/sentiment",
    jsontext = Text.FromBinary(Json.FromValue(Text.Start(Text.Trim(text), 5000))),
    jsonbody = "{ documents: [ { language: ""en"", id: ""0"", text: " & jsontext & " } ] }",
    bytesbody = Text.ToBinary(jsonbody),
    headers = [#"Ocp-Apim-Subscription-Key" = apikey],
    bytesresp = Web.Contents(endpoint, [Headers=headers, Content=bytesbody]),
    jsonresp = Json.Document(bytesresp),
    sentiment   = jsonresp[documents]{0}[sentiment] 
    in sentiment

Berikut adalah dua versi fungsi Deteksi Bahasa. Yang pertama mengembalikan kode bahasa ISO (misalnya, en untuk bahasa Inggris), sedangkan yang kedua mengembalikan nama yang "ramah" (misalnya, English). Anda mungkin melihat bahwa hanya baris terakhir isi yang berbeda di antara kedua versi.

// Returns the two-letter language code (for example, 'en' for English) of the text
(text) => let
    apikey      = "YOUR_API_KEY_HERE",
    endpoint    = "https://<your-custom-subdomain>.cognitiveservices.azure.com" & "/text/analytics/v3.1/languages",
    jsontext    = Text.FromBinary(Json.FromValue(Text.Start(Text.Trim(text), 5000))),
    jsonbody    = "{ documents: [ { id: ""0"", text: " & jsontext & " } ] }",
    bytesbody   = Text.ToBinary(jsonbody),
    headers     = [#"Ocp-Apim-Subscription-Key" = apikey],
    bytesresp   = Web.Contents(endpoint, [Headers=headers, Content=bytesbody]),
    jsonresp    = Json.Document(bytesresp),
    language    = jsonresp [documents]{0}[detectedLanguage] [name] in language 
// Returns the name (for example, 'English') of the language in which the text is written
(text) => let
    apikey      = "YOUR_API_KEY_HERE",
    endpoint    = "https://<your-custom-subdomain>.cognitiveservices.azure.com" & "/text/analytics/v3.1/languages",
    jsontext    = Text.FromBinary(Json.FromValue(Text.Start(Text.Trim(text), 5000))),
    jsonbody    = "{ documents: [ { id: ""0"", text: " & jsontext & " } ] }",
    bytesbody   = Text.ToBinary(jsonbody),
    headers     = [#"Ocp-Apim-Subscription-Key" = apikey],
    bytesresp   = Web.Contents(endpoint, [Headers=headers, Content=bytesbody]),
    jsonresp    = Json.Document(bytesresp),
    language    =jsonresp [documents]{0}[detectedLanguage] [name] in language 

Terakhir, berikut ini adalah varian fungsi Frasa Kunci yang sudah disajikan yang mengembalikan frasa sebagai objek daftar, bukan sebagai untai (karakter) tunggal frasa yang dipisahkan koma.

Catatan

Mengembalikan satu string menyederhanakan contoh awan kata kami. Daftar, di sisi lain, adalah format yang lebih fleksibel untuk bekerja dengan frasa yang dikembalikan di Power BI. Anda bisa memanipulasi objek daftar di Power BI Desktop menggunakan grup Kolom Terstruktur di pita Transformasi Editor Kueri.

// Returns key phrases from the text as a list object
(text) => let
    apikey      = "YOUR_API_KEY_HERE",
    endpoint    = "https://<your-custom-subdomain>.cognitiveservices.azure.com" & "/text/analytics/v3.1/keyPhrases",
    jsontext    = Text.FromBinary(Json.FromValue(Text.Start(Text.Trim(text), 5000))),
    jsonbody    = "{ documents: [ { language: ""en"", id: ""0"", text: " & jsontext & " } ] }",
    bytesbody   = Text.ToBinary(jsonbody),
    headers     = [#"Ocp-Apim-Subscription-Key" = apikey],
    bytesresp   = Web.Contents(endpoint, [Headers=headers, Content=bytesbody]),
    jsonresp    = Json.Document(bytesresp),
    keyphrases  = jsonresp[documents]{0}[keyPhrases]
in  keyphrases

Langkah berikutnya

Pelajari selengkapnya tentang Bahasa Azure AI, bahasa rumus Power Query M, atau Power BI.