Kuiskaaja_tag.jpg


Mikä chit-chat?

Chit-chat -ominaisuuksilla pyritään välttymään toistuvalta fallback-viestiltä. Fallback-viestillä tarkoitetaan tuntemattomien syötteiden jälkeen tulevaa vastausta, esim. "Anteeksi, en ymmärtänyt..." Chit-chatin avulla voidaan lisätä vastaus esimerkiksi käyttäjän kiitoksiin, kehuihin tai testailuun kuten "kerro vitsi" tai "testaan sinua". 


Alla on liitettynä kaksi mahdollista suomenkielistä taulukkoa. Versioista on poistettu tervehtimiset, jotka yleensä toteutetaan jokaiselle botille personoidulla tavalla. Botin vastauksia kannattaa muutenkin muuttaa sen tyyliin, persoonaan ja tarkoitukseen sopivammaksi.


Minimiversiossa botilta on karsittu juttelevat kysymykset pois, mutta sillä on joitain kohteliaita vastauksia esimerkiksi kehuihin, haukkuihin ja keskustelussa ilmeneviin kiitoksiin tai muihin toteamuksiin.

qna_chit_chat_caring_suomeksi_minimi.xlsx


Siivotussa versiossa botti on valmiimpi vastaamaan minimiversiota enemmän aiheeseen liittymättömiin kysymyksiin. Tästä versiosta on siivottu monia tunteisiin liittyviä q&a -pareja, jotta tämä versio voidaan laittaa osaksi botteja, jotka käsittelevät tunteisiin liittyviä aiheita tarinoissaan (esim. Hytebotti).

qna_chit_chat_caring_suomeksi_siivotut_syötteet.xlsx


Alla olevaa taulukkoa ei ole käyty läpi tai tarkasteltu. Kyseessä on kömpelö suomennos englanniksi laaditusta datasetistä: https://github.com/microsoft/botframework-cli/blob/main/packages/qnamaker/docs/chit-chat-dataset.md Versiota on käytetty lähtötilanteena ylemmille taulukoille.

qna_chit_chat_caring_suomeksi.xlsx



Chit-chattien käyttöönotto bottiympäristössä

Chit-chattien hallinta tapahtuu erillisen chitchat-botin kautta. Tämä botti on oma projektinsa, mutta ei näy kuiskaajille muuten kuin chit-chat -intenttien latausmahdollisuutena. Jotta chit-chatteja on mahdollista latailla botteihin, on kehittäjien luotava jokaiseen bottiympäristöön chitchat-bottiprojekti jossa:

  • projektin nimi on "chitchat"
  • projektin id on muotoa "chitchat-xxxxxxxx" jossa x on kirjain tai numero.
  • namespace on "bf-chitchat"
  • defaultLanguage: "fi"


Tämän jälkeen projektin import-toiminnallisuuden kautta voidaan lisätä valittu chit-chat -data ko. bottiin. Chit-chat -datan on oltava .yaml -tiedostossa ja muotoa:


 


Huomaa että chit-chat -intenttien täytyy olla muodossa "chitchat/intentin_tunniste".



Response selectorin periaate

ResponseSelector helpottaa chit-chat -tyyppisten intentioiden hallinnassa. Sen avulla voidaan vastata kaikkiin chit-chatteihin yhden rulen kautta, koska normaalisti kaikille eri chit-chat -intenteille pitäisi kirjottaa erillinen tarina. ResponseSelectorin käyttöönotto vaatii kuitenkin intentti-vastaus -parin yhdenmukaista nimeämiskäytäntöä ja toiminnallisuuden aktivointia nlu-konfiguraatiossa (ks. ohjeet alla).

Kuiskaajan ohje chitchatin lisäämiseen

  • Avaa NLU-näkymästä löytyvä Chit Chat -välilehti
  • Valitse alasvetovalikosta chit-chat -intentit jotka haluat lisätä bottiin (painamalla Add to training data -nappia)
  • Varmista NLU-näkymän settings -välilehdeltä että NLU Pipeline -konfiguraatiossa on ResponseSelector (kts. kuvaesimerkki oikealla)
    • Tämä aktivoi ResponseSelector-toiminnallisuuden, jossa yksi rule hanskaa kaikki chit-chat -keskustelut (kts. seuraava kohta alla).
  • Lisää kaikille chit-chat -intenteille vastaus
    • Esimerkiksi jos intentin nimi on "chitchat/who_are_you", responses-listaan täytyy lisätä botin vastaus avaimella "utter_chitchat/who_are_you".
    • Tätä nimeämiskäytäntöä ResponseSelector noudattaa, ja toimii vain jos tunnistettua intenttiä vastaa näin nimetty botin vastaus.
  • Lisää botille rule jossa on "chitchat" -intent ja vastausteksti jonka vastauksen avain on "utter_chitchat". (katso esimerkki oikealta palstalta)
    • ResponseSelector-toiminnallisuuden idea on että yksi rule hoitaa kaikki chit-chat -tyyppiset keskustelut. Chit-chat -intentin havaitseminen ja vastaus pysyvät erillisinä ja irrallisina kokonaisuuksina eivätkä vaikuta keskeytyneen keskustelupolun etenemiseen.


Response selectorin hyödyntäminen muissa usein esiintyvissä intenteissä

Vastaavasti kuten chitchat -intentteihin voidaan vastata yhdellä vastauksella, voidaan muihin yleisiin intentteihin vastata Response selectoria hyödyntäen. Tällöin esimerkiksi voidaan vastata usein kysyttyihin kysymyksiin kun seuraavat asiat on lisätty bottiin:

  • NLU-esimerkeissä täytyy olla esimerkkejä vastaavasti kuten chit-chattien osalta, esimerkiksi intentille "faq/tarvitsen_apua".
  • Vastaus responses-listaan muodossa "utter_faq/tarvitsen_apua".
  • Rule jossa "faq" -intent ja vastaus "utter_faq" (kts. vastaava esimerkki rule chitchatille).


Rasan dokumentaatio Response selectorin käytöstä: https://rasa.com/docs/rasa/2.x/chitchat-faqs


Chit-Chat datasetti

Toistaiseksi (8.6.2022) käytössä on esikäsitelty datasetti (liite alla) joka on ladattu demo- ja customer ympäristöön 6/2022.

chitchat_fi.xlsx


  • No labels