Language Understanding service


Saya lanjutkan catatan dari training azure AI102, kali ini language understanding service. Modul ini tentang NLP (Natural language processing). NLP ini fungsinya adalah menginterpretasi makna semantik dari input berupa bahasa (suara atau tulisan). NLP membutuhkan sebuah language model untuk memahami bahasa. Seringkali fungsi ini dinamakan sebagai natural language understanding (NLU).

NLU di azure dapat digunakan untuk melakukan training sebuah language model (Language understanding conversation app). Model ini dapat memahami maksud dari pembicara (intent) dan entity. Contohnya user menyebutkan “switch the kitchen light on” dan model NLU akan menerjemahkan intent sebagai “TurnOnDevice” dan mendeteksi “kitchen light” sebagai entity.

Kita dapat menggunakan interface REST atau SDK untuk mengunakan, men-training dan mem-publish model Language understanding. Namun lebih umum digunakan portal Language understanding berikut ini:

https://www.luis.ai

Setelah melakukan training dan mem-publish sebuah model language understanding untuk menentukan intents dan entity, kita dapat menggunakan model ini di aplikasi kita.

Untuk menggunakan layanan ini, kita perlu punya dua resource di azure, yaitu: language understanding-authoring resource dan language understanding-prediction resource. Authoring digunakan untuk melatih model language understanding. Sementara prediction resource digunakan untuk men-host model yang sudah ditraining dan memproses rikues dari aplikasi client.

Authoring resource dapat dibuat pada 3 area berikut: Asia Pasific, Europe dan US. Untuk mendeploy model, prediction resource harus berada pada area yang sama dengan authoring resource.

Utterance adalah frase yang digunakan user ketika berinteraksi dengan aplikasi. Intent adalah task atau aksi yang diinginkan oleh user, dapat disebut juga arti dari utterace. Kita membuat model dengan mendefinisikan intent dan menghubungkannya pada satu atau lebih utterance. Contohnya adalah pasangan intent dan utterance berikut:

  1. GetTime: “What time is it?” ; “What is the time?” ; “Tell me the time”
  2. GetWeather: “What is the weather forecast?” ; “Do I need an umbrella?” ; “will it snow?”
  3. TurnOnDevice: “Turn the light on” ; “Switch on the light” ; “Turn on the fan”
  4. None: “Hello”; “Goodbye”

Pada model language understanding, kita harus mendefinisikan intent,sehingga kita perlu mempelajari domain dari model yang diinginkan, serta aksi apa atau informasi apa yang diinginkan user. Setiap model biasanya memiliki intent None yang perlu didefinisikan. Sampai disini dulu, semoga Bermanfaat!


Silahkan tuliskan tanggapan, kritik maupun saran