Langkah 4: Mempersiapkan output Amazon Comprehend untuk visualisasi data - Amazon Comprehend

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Langkah 4: Mempersiapkan output Amazon Comprehend untuk visualisasi data

Untuk mempersiapkan hasil sentimen dan pekerjaan analisis entitas untuk membuat visualisasi data, Anda menggunakan dan. AWS Glue Amazon Athena Pada langkah ini, Anda mengekstrak file hasil Amazon Comprehend. Kemudian, Anda membuat AWS Glue crawler yang mengeksplorasi data Anda dan secara otomatis mengkatalogkannya dalam tabel di. AWS Glue Data Catalog Setelah itu, Anda mengakses dan mengubah tabel ini menggunakan Amazon Athena, layanan kueri tanpa server dan interaktif. Setelah Anda menyelesaikan langkah ini, hasil Amazon Comprehend Anda bersih dan siap untuk visualisasi.

Untuk pekerjaan deteksi PII entitas, file output adalah plaintext, bukan arsip terkompresi. Nama file output sama dengan file input, dengan .out ditambahkan di akhir. Anda tidak perlu langkah mengekstrak file output. Lewati untuk Memuat Data ke dalam file AWS Glue Data Catalog.

Prasyarat

Sebelum Anda mulai, selesaikanLangkah 3: Menjalankan pekerjaan analisis pada dokumen di Amazon S3.

Unduh Output

Amazon Comprehend menggunakan kompresi Gzip untuk mengompres file output dan menyimpannya sebagai arsip tar. Cara termudah untuk mengekstrak file output adalah dengan mengunduh output.tar.gz arsip secara lokal.

Pada langkah ini, Anda mengunduh arsip keluaran sentimen dan entitas.

Untuk menemukan file output untuk setiap pekerjaan, kembali ke pekerjaan analisis di konsol Amazon Comprehend. Pekerjaan analisis menyediakan lokasi S3 untuk output, di mana Anda dapat mengunduh file output.

Untuk mengunduh file output (konsol)
  1. Di konsol Amazon Comprehend, di panel navigasi, kembali ke pekerjaan Analisis.

  2. Pilih pekerjaan reviews-sentiment-analysis analisis sentimen Anda.

  3. Di bawah Keluaran, pilih tautan yang ditampilkan di sebelah Lokasi data keluaran. Ini mengarahkan Anda ke output.tar.gz arsip di bucket S3 Anda.

  4. Di tab Ikhtisar, pilih Unduh.

  5. Di komputer Anda, ganti nama arsip sebagaisentiment-output.tar.gz. Karena semua file output memiliki nama yang sama, ini membantu Anda melacak sentimen dan file entitas.

  6. Ulangi langkah 1-4 untuk menemukan dan mengunduh output dari reviews-entities-analysis pekerjaan Anda. Di komputer Anda, ganti nama arsip sebagaientities-output.tar.gz.

Untuk menemukan file output untuk setiap pekerjaan, gunakan JobId dari pekerjaan analisis untuk menemukan lokasi S3 output. Kemudian, gunakan cp perintah untuk mengunduh file output ke komputer Anda.

Untuk mengunduh file output (AWS CLI)
  1. Untuk membuat daftar detail tentang pekerjaan analisis sentimen Anda, jalankan perintah berikut. Ganti sentiment-job-id dengan sentimen JobId yang Anda simpan.

    aws comprehend describe-sentiment-detection-job --job-id sentiment-job-id

    Jika Anda kehilangan jejak AndaJobId, Anda dapat menjalankan perintah berikut untuk membuat daftar semua pekerjaan sentimen Anda dan memfilter untuk pekerjaan Anda berdasarkan nama.

    aws comprehend list-sentiment-detection-jobs --filter JobName="reviews-sentiment-analysis"
  2. Di OutputDataConfig objek, temukan S3Uri nilainya. S3UriNilainya harus mirip dengan format berikut:s3://amzn-s3-demo-bucket/.../output/output.tar.gz. Salin nilai ini ke editor teks.

  3. Untuk mengunduh arsip keluaran sentimen ke direktori lokal Anda, jalankan perintah berikut. Ganti jalur bucket S3 dengan yang S3Uri Anda salin di langkah sebelumnya. Ganti path/ dengan jalur folder ke direktori lokal Anda. Nama sentiment-output.tar.gz menggantikan nama arsip asli untuk membantu Anda melacak sentimen dan file entitas.

    aws s3 cp s3://amzn-s3-demo-bucket/.../output/output.tar.gz path/sentiment-output.tar.gz
  4. Untuk membuat daftar detail tentang pekerjaan analisis entitas Anda, jalankan perintah berikut.

    aws comprehend describe-entities-detection-job --job-id entities-job-id

    Jika Anda tidak tahuJobId, jalankan perintah berikut untuk daftar semua pekerjaan entitas Anda dan filter untuk pekerjaan Anda berdasarkan nama.

    aws comprehend list-entities-detection-jobs --filter JobName="reviews-entities-analysis"
  5. Dari OutputDataConfig objek dalam deskripsi pekerjaan entitas Anda, salin S3Uri nilainya.

  6. Untuk mengunduh arsip keluaran entitas ke direktori lokal Anda, jalankan perintah berikut. Ganti jalur bucket S3 dengan yang S3Uri Anda salin di langkah sebelumnya. Ganti path/ dengan jalur folder ke direktori lokal Anda. Nama entities-output.tar.gz menggantikan nama arsip asli.

    aws s3 cp s3://amzn-s3-demo-bucket/.../output/output.tar.gz path/entities-output.tar.gz

Ekstrak file output

Sebelum Anda dapat mengakses hasil Amazon Comprehend, buka paket sentimen dan arsip entitas. Anda dapat menggunakan sistem file lokal atau terminal untuk membongkar arsip.

Jika Anda menggunakan macOS, klik dua kali arsip di sistem GUI file Anda untuk mengekstrak file keluaran dari arsip.

Jika Anda menggunakan Windows, Anda dapat menggunakan alat pihak ketiga seperti 7-Zip untuk mengekstrak file output dalam sistem GUI file Anda. Di Windows, Anda harus melakukan dua langkah untuk mengakses file output dalam arsip. Pertama dekompresi arsip, dan kemudian ekstrak arsip.

Ubah nama file sentimen sebagai sentiment-output dan file entitas entities-output untuk membedakan antara file output.

Jika Anda menggunakan Linux atau macOS, Anda dapat menggunakan terminal standar Anda. Jika Anda menggunakan Windows, Anda harus memiliki akses ke lingkungan bergaya Unix, seperti Cygwin, untuk menjalankan perintah tar.

Untuk mengekstrak file output sentimen dari arsip sentimen, jalankan perintah berikut di terminal lokal Anda.

tar -xvf sentiment-output.tar.gz --transform 's,^,sentiment-,'

Perhatikan bahwa --transform parameter menambahkan awalan sentiment- ke file output di dalam arsip, mengganti nama file sebagai. sentiment-output Hal ini memungkinkan Anda untuk membedakan antara sentimen dan entitas output file dan mencegah penimpaan.

Untuk mengekstrak file keluaran entitas dari arsip entitas, jalankan perintah berikut di terminal lokal Anda.

tar -xvf entities-output.tar.gz --transform 's,^,entities-,'

--transformParameter menambahkan awalan entities- ke nama file output.

Tip

Untuk menghemat biaya penyimpanan di Amazon S3, Anda dapat mengompres file lagi dengan Gzip sebelum mengunggahnya. Sangat penting untuk mendekompresi dan membongkar arsip asli karena tidak AWS Glue dapat secara otomatis membaca data dari arsip tar. Namun, AWS Glue dapat membaca dari file dalam format Gzip.

Unggah file yang diekstrak

Setelah mengekstrak file, unggah ke bucket Anda. Anda harus menyimpan sentimen dan entitas output file dalam folder terpisah AWS Glue agar dapat membaca data dengan benar. Di bucket Anda, buat folder untuk hasil sentimen yang diekstraksi dan folder kedua untuk hasil entitas yang diekstrak. Anda dapat membuat folder baik dengan konsol Amazon S3 atau. AWS CLI

Di bucket S3 Anda, buat satu folder untuk file hasil sentimen yang diekstraksi dan satu folder untuk file hasil entitas. Kemudian, unggah file hasil yang diekstrak ke folder masing-masing.

Untuk mengunggah file yang diekstrak ke Amazon S3 (konsol)
  1. Buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/

  2. Di Bucket, pilih bucket Anda lalu pilih Buat folder.

  3. Untuk nama folder baru, masukkan sentiment-results dan pilih Simpan. Folder ini akan berisi file output sentimen yang diekstraksi.

  4. Di tab Ikhtisar bucket Anda, dari daftar isi bucket, pilih folder barusentiment-results. Pilih Unggah.

  5. Pilih Tambahkan file, pilih sentiment-output file dari komputer lokal Anda, lalu pilih Berikutnya.

  6. Biarkan opsi untuk Kelola pengguna, Akses untuk lainnya Akun AWS, dan Kelola izin publik sebagai default. Pilih Berikutnya.

  7. Untuk kelas Storage, pilih Standard. Biarkan opsi untuk Enkripsi, Metadata, dan Tag sebagai default. Pilih Berikutnya.

  8. Tinjau opsi unggah dan kemudian pilih Unggah.

  9. Ulangi langkah 1-8 untuk membuat folder bernamaentities-results, dan unggah entities-output file ke sana.

Anda dapat membuat folder di bucket S3 Anda saat mengunggah file dengan perintah. cp

Untuk mengunggah file yang diekstrak ke Amazon AWS CLI S3 ()
  1. Buat folder sentimen dan unggah file sentimen Anda ke sana dengan menjalankan perintah berikut. Ganti path/ dengan jalur lokal ke file output sentimen Anda yang diekstraksi.

    aws s3 cp path/sentiment-output s3://amzn-s3-demo-bucket/sentiment-results/
  2. Buat folder keluaran entitas dan unggah file entitas Anda ke sana dengan menjalankan perintah berikut. Ganti path/ dengan jalur lokal ke file keluaran entitas yang diekstraksi.

    aws s3 cp path/entities-output s3://amzn-s3-demo-bucket/entities-results/

Memuat data ke AWS Glue Data Catalog

Untuk mendapatkan hasil ke dalam database, Anda dapat menggunakan AWS Glue crawler. AWS Glue Crawler memindai file dan menemukan skema data. Kemudian mengatur data dalam tabel dalam AWS Glue Data Catalog (database tanpa server). Anda dapat membuat crawler dengan AWS Glue konsol atau file. AWS CLI

Buat AWS Glue crawler yang memindai entities-results folder sentiment-results dan folder Anda secara terpisah. IAMPeran baru untuk AWS Glue memberikan izin crawler untuk mengakses bucket S3 Anda. Anda membuat IAM peran ini saat menyiapkan crawler.

Untuk memuat data ke dalam AWS Glue Data Catalog (konsol)
  1. Pastikan Anda berada di wilayah yang mendukung AWS Glue. Jika Anda berada di Wilayah lain, di bilah navigasi, pilih Wilayah yang didukung dari pemilih Wilayah. Untuk daftar Wilayah yang mendukung AWS Glue, lihat Tabel Wilayah di Panduan Infrastruktur Global.

  2. Buka AWS Glue konsol di https://console.aws.amazon.com/glue/.

  3. Di panel navigasi, pilih Crawler dan kemudian pilih Tambah crawler.

  4. Untuk nama Crawler, masukkan comprehend-analysis-crawler lalu pilih Berikutnya.

  5. Untuk tipe sumber Crawler, pilih Penyimpanan data dan kemudian pilih Berikutnya.

  6. Untuk Tambahkan penyimpanan data, lakukan hal berikut:

    1. Untuk Pilih penyimpanan data, pilih S3.

    2. Biarkan Koneksi kosong.

    3. Untuk Merayapi data di, pilih Jalur yang ditentukan di akun saya.

    4. Untuk jalur Sertakan, masukkan jalur S3 lengkap dari folder keluaran sentimen:. s3://amzn-s3-demo-bucket/sentiment-results

    5. Pilih Berikutnya.

  7. Untuk Tambahkan penyimpanan data lain, pilih Ya dan kemudian pilih Berikutnya. Ulangi Langkah 6, tetapi masukkan jalur S3 lengkap dari folder keluaran entitas:s3://amzn-s3-demo-bucket/entities-results.

  8. Untuk Tambahkan penyimpanan data lain, pilih Tidak, lalu pilih Berikutnya.

  9. Untuk Pilih IAM peran, lakukan hal berikut:

    1. Pilih Buat IAM peran.

    2. Untuk IAMperan, masukkan glue-access-role lalu pilih Berikutnya.

  10. Untuk Buat jadwal untuk crawler ini, pilih Jalankan sesuai permintaan dan pilih Berikutnya.

  11. Untuk Mengkonfigurasi output crawler, lakukan hal berikut:

    1. Untuk Database, pilih Tambah database.

    2. Untuk nama Database, masukkancomprehend-results. Database ini akan menyimpan tabel keluaran Amazon Comprehend Anda.

    3. Biarkan opsi lain pada pengaturan default mereka dan pilih Berikutnya.

  12. Tinjau informasi crawler lalu pilih Selesai.

  13. Di konsol Glue, di Crawler, pilih comprehend-analysis-crawler dan pilih Run crawler. Diperlukan beberapa menit agar crawler selesai.

Buat IAM peran AWS Glue yang memberikan izin untuk mengakses bucket S3 Anda. Kemudian, buat database di AWS Glue Data Catalog. Terakhir, buat dan jalankan crawler yang memuat data Anda ke dalam tabel di database.

Untuk memuat data ke dalam AWS Glue Data Catalog (AWS CLI)
  1. Untuk membuat IAM peran AWS Glue, lakukan hal berikut:

    1. Simpan kebijakan kepercayaan berikut sebagai JSON dokumen yang dipanggil glue-trust-policy.json di komputer Anda.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    2. Untuk membuat IAM peran, jalankan perintah berikut. Ganti path/ dengan jalur komputer lokal Anda ke JSON dokumen.

      aws iam create-role --role-name glue-access-role --assume-role-policy-document file://path/glue-trust-policy.json
    3. Saat AWS CLI mencantumkan Amazon Resource Number (ARN) untuk peran baru, salin dan simpan ke editor teks.

    4. Simpan IAM kebijakan berikut sebagai JSON dokumen yang dipanggil glue-access-policy.json di komputer Anda. Kebijakan memberikan AWS Glue izin untuk meng-crawl folder hasil Anda.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/sentiment-results*", "arn:aws:s3:::amzn-s3-demo-bucket/entities-results*" ] } ] }
    5. Untuk membuat IAM kebijakan, jalankan perintah berikut. Ganti path/ dengan jalur komputer lokal Anda ke JSON dokumen.

      aws iam create-policy --policy-name glue-access-policy --policy-document file://path/glue-access-policy.json
    6. Saat AWS CLI mencantumkan kebijakan aksesARN, salin dan simpan ke editor teks.

    7. Lampirkan kebijakan baru ke IAM peran dengan menjalankan perintah berikut. Ganti policy-arn dengan IAM kebijakan yang ARN Anda salin di langkah sebelumnya.

      aws iam attach-role-policy --policy-arn policy-arn --role-name glue-access-role
    8. Lampirkan kebijakan AWS terkelola AWSGlueServiceRole ke IAM peran Anda dengan menjalankan perintah berikut.

      aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole --role-name glue-access-role
  2. Buat AWS Glue database dengan menjalankan perintah berikut.

    aws glue create-database --database-input Name="comprehend-results"
  3. Buat AWS Glue crawler baru dengan menjalankan perintah berikut. Ganti glue-iam-role-arn dengan ARN AWS Glue IAM peran Anda.

    aws glue create-crawler --name comprehend-analysis-crawler --role glue-iam-role-arn --targets S3Targets=[ {Path="s3://amzn-s3-demo-bucket/sentiment-results"}, {Path="s3://amzn-s3-demo-bucket/entities-results"}] --database-name comprehend-results
  4. Mulai crawler dengan menjalankan perintah berikut.

    aws glue start-crawler --name comprehend-analysis-crawler

    Diperlukan beberapa menit agar crawler selesai.

Siapkan data untuk analisis

Sekarang Anda memiliki database yang diisi dengan hasil Amazon Comprehend. Namun, hasilnya bersarang. Untuk melepaskannya, Anda menjalankan beberapa SQL pernyataan di Amazon Athena. Amazon Athena adalah layanan kueri interaktif yang memudahkan untuk menganalisis data di Amazon S3 menggunakan standar. SQL Athena tanpa server, jadi tidak ada infrastruktur untuk dikelola dan memiliki model penetapan harga. pay-per-query Pada langkah ini, Anda membuat tabel baru data dibersihkan yang dapat Anda gunakan untuk analisis dan visualisasi. Anda menggunakan konsol Athena untuk menyiapkan data.

Untuk menyiapkan data
  1. Buka konsol Athena di https://console.aws.amazon.com/athena/.

  2. Di editor kueri, pilih Pengaturan, lalu pilih Kelola.

  3. Untuk Lokasi hasil kueri, masukkans3://amzn-s3-demo-bucket/query-results/. Ini membuat folder baru yang disebut query-results di bucket Anda yang menyimpan output Amazon Athena kueri yang Anda jalankan. Pilih Simpan.

  4. Di editor kueri, pilih Editor.

  5. Untuk Database, pilih AWS Glue database comprehend-results yang Anda buat.

  6. Di bagian Tabel, Anda harus memiliki dua tabel yang disebut sentiment_results danentities_results. Pratinjau tabel untuk memastikan bahwa crawler memuat data. Dalam opsi setiap tabel (tiga titik di sebelah nama tabel), pilih tabel Pratinjau. Kueri singkat berjalan secara otomatis. Periksa panel Hasil untuk memastikan bahwa tabel berisi data.

    Tip

    Jika tabel tidak memiliki data apa pun, coba periksa folder di bucket S3 Anda. Pastikan ada satu folder untuk hasil entitas dan satu folder untuk hasil sentimen. Kemudian, coba jalankan AWS Glue crawler baru.

  7. Untuk membuka sentiment_results tabel, masukkan kueri berikut di editor Query dan pilih Run.

    CREATE TABLE sentiment_results_final AS SELECT file, line, sentiment, sentimentscore.mixed AS mixed, sentimentscore.negative AS negative, sentimentscore.neutral AS neutral, sentimentscore.positive AS positive FROM sentiment_results
  8. Untuk memulai unnesting tabel entitas, masukkan kueri berikut di editor Query dan pilih Run.

    CREATE TABLE entities_results_1 AS SELECT file, line, nested FROM entities_results CROSS JOIN UNNEST(entities) as t(nested)
  9. Untuk menyelesaikan unnesting tabel entitas, masukkan kueri berikut di editor Query dan pilih Run query.

    CREATE TABLE entities_results_final AS SELECT file, line, nested.beginoffset AS beginoffset, nested.endoffset AS endoffset, nested.score AS score, nested.text AS entity, nested.type AS category FROM entities_results_1

sentiment_results_finalTabel Anda akan terlihat seperti berikut ini, dengan kolom bernama file, baris, sentimen, campuran, negatif, netral, dan positif. Tabel harus memiliki satu nilai per sel. Kolom sentimen menggambarkan sentimen keseluruhan yang paling mungkin dari tinjauan tertentu. Kolom campuran, negatif, netral, dan positif memberikan skor untuk setiap jenis sentimen.

Screenshot dari tabel output sentimen di Athena.

entities_results_finalTabel Anda akan terlihat seperti berikut ini, dengan kolom bernama file, baris, beginoffset, endoffset, skor, entitas, dan kategori. Tabel harus memiliki satu nilai per sel. Kolom skor menunjukkan kepercayaan Amazon Comprehend pada entitas yang dideteksi. Kategori menunjukkan jenis entitas apa yang Comprehend terdeteksi.

Tampilan konsol dari tabel keluaran entitas di Athena.

Sekarang setelah hasil Amazon Comprehend dimuat ke dalam tabel, Anda dapat memvisualisasikan dan mengekstrak wawasan yang berarti dari data.