Poenostavite nego pacientov z glasovnim pomočnikom po meri z uporabo Amazon Lex V2

Izvorno vozlišče: 988220

V zadnjih nekaj desetletjih je bila izgorelost zdravnikov izziv v zdravstveni industriji. Čeprav sta interakcija s pacientom in diagnoza kritična vidika zdravnikovega dela, so administrativne naloge enako obremenjujoče in dolgotrajne. Zdravniki in kliniki morajo voditi podroben zdravstveni karton za vsakega bolnika. Ta zapis je shranjen v sistemu bolnišničnih elektronskih zdravstvenih kartotek (EHR), zbirki podatkov, ki vsebuje zapise vsakega bolnika v bolnišnici. Za vzdrževanje teh zapisov zdravniki pogosto porabijo več ur vsak dan za ročno vnašanje podatkov v sistem EZK, kar ima za posledico manjšo produktivnost in večjo izgorelost.

Zdravniška izgorelost je eden od vodilnih dejavnikov, ki vodijo v depresijo, utrujenost in stres zdravnikov med njihovo kariero. Poleg tega lahko povzroči večjo fluktuacijo, zmanjšano produktivnost in drage zdravniške napake, ki vplivajo na življenja in zdravje ljudi.

V tej objavi boste spoznali pomen glasovnih pomočnikov in kako lahko avtomatizirajo administrativna opravila za zdravnike. Predstavili smo tudi ustvarjanje glasovnega pomočnika po meri z uporabo PocketSphinx in Amazon Lex.

Glasovni pomočniki kot rešitev za izgorelost zdravnikov

Glasovni pomočniki zdaj začenjajo avtomatizirati vitalne, a ročne dele oskrbe bolnikov. Lahko so močno orodje, ki zdravnikom pomaga prihraniti čas, zmanjšati stres in več časa posvetiti pacientu v primerjavi z administrativnimi zahtevami klinične dokumentacije.

Danes postajajo glasovni pomočniki vse bolj dostopni, saj modeli obdelave naravnega jezika napredujejo, napak se zmanjšuje in razvoj postaja bolj dostopen za povprečnega razvijalca. Vendar je večina naprav omejenih, zato morajo razvijalci pogosto zgraditi lastne različice po meri.

Kot arhitekti rešitev, ki delamo v zdravstveni industriji, opažamo naraščajoč trend k uvajanju glasovnih pomočnikov v bolnišnicah in sobah za bolnike.

V tej objavi boste izvedeli, kako ustvariti glasovnega pomočnika po meri z uporabo PocketSphinx in Amazon Lex. Z našimi storitvami, ki jih je enostavno nastaviti in upravljati, se lahko razvijalci in inovatorji zaženejo in začnejo razvijati naprave prihodnosti.

Arhitektura rešitve glasovnega pomočnika po meri

Naslednji diagram arhitekture predstavlja pregled naše rešitve na visoki ravni.

V naši rešitvi se najprej povežemo s skriptom glasovnega pomočnika, ki se izvaja v vašem računalniku. Ko je beseda za bujenje prepoznana, glasovni pomočnik začne snemati, kar izgovorite, in pošlje zvok v Amazon Lex, kjer uporabi AWS Lambda funkcija za pridobivanje navideznih podatkov o bolniku, shranjenih v Amazon DynamoDB. Podatke senzorja generira drug skript Python, generate_data.py, ki ga poganjate tudi na svojem računalniku.

Vrste senzorjev vključujejo krvni tlak, glukozo v krvi, telesno temperaturo, frekvenco dihanja in srčni utrip. Amazon Lex pošlje nazaj glasovno sporočilo, mi pa uporabimo Amazon Polly, storitev, ki spremeni besedilo v resničen govor, da ustvari dosledno izkušnjo.

Zdaj ste pripravljeni ustvariti komponente, potrebne za to rešitev.

Razporedite svoje vire rešitve

Vse datoteke naše rešitve glasovnega pomočnika po meri najdete na našem GitHub repo. Prenesite vse datoteke, vključno z datotekami modela PocketSphinx, ki ste jih prenesli iz njihovega repo.

Tabelo DynamoDB in funkcijo Lambda morate razmestiti neposredno z izbiro Izstrelite sklad.

O Oblikovanje oblaka AWS stack traja nekaj minut. Ko je končano, lahko greš na viri da preverite ustvarjeno funkcijo Lambda in tabelo DynamoDB. Upoštevajte ime funkcije Lambda, ker se nanjo sklicujemo pozneje, ko ustvarjamo bota Amazon Lex.

Ustvarite bota Amazon Lex

Ko je sklad CloudFormation končan, smo pripravljeni ustvariti bota Amazon Lex. Za to objavo uporabljamo novejšo konzolo V2.

  1. Na konzoli Amazon Lex izberite Preklopite na novo konzolo Lex V2.
  2. V podoknu za krmarjenje izberite Bots.
  3. Izberite Ustvari bot.
  4. za Ime bota, vnesite Healthbot.
  5. za Opis, vnesite neobvezen opis.
  6. za Vloga med izvajanjemtako, da izberete Ustvarite vlogo z osnovnimi dovoljenji Amazon Lex.
  7. v Zakon o varstvu zasebnosti otrok na spletu (COPPA) izberite, izberite Ne.
  8. Ohranite nastavitve za Časovna omejitev seje v prostem teku privzeto (5 minut).
  9. Izberite Naslednji.

  1. za Glasovna interakcija, izberite glas, ki ga želite uporabiti.
  2. Izberite Done.

Ustvarite vrste rež po meri, namene in izjave

Zdaj ustvarjamo vrsto reže po meri za senzorje, naše namere in vzorčne izjave.

  1. o Vrste rež stran, izberite Dodajte vrsto reže.
  2. Izberite Dodajte vrsto praznega mesta.
  3. za Ime vrste reže¸ vnesite SensorType.
  4. Izberite Dodaj.
  5. V uredniku pod Ločljivost vrednosti režetako, da izberete Omeji na vrednosti rež.

  1. Dodajte naslednje vrednosti:
    1. Krvni pritisk
    2. Glukoza v krvi
    3. Telesna temperatura
    4. Srčni utrip
    5. Respiratorna hitrost

  1. Izberite Shrani vrsto reže.

o Namere stran, imamo za nas samodejno ustvarjena dva namena. Ohranjamo FallbackIntent kot privzeto.

  1. Izberite NewIntent.
  2. za Ime namena, spremenite v PatientData.

  1. v Vzorčni izgovori dodajte nekaj besednih zvez za priklic te namere.

Na naslednjem posnetku zaslona ponujamo nekaj primerov, vendar lahko dodate tudi svojega.

  1. v Dodaj režo odsek, za Ime, vnesite PatientId.
  2. za Vrsta reže¸ izberite AMAZON.Alfanumerično.
  3. za Pozivi, vnesite What is the patient ID?

Ta poziv pravzaprav ni pomemben, ker za izpolnjevanje uporabljamo Lambda.

  1. Dodajte še eno zahtevano režo z imenom SensorType.
  2. za Vrsta reže, izberite Tip senzorja (to smo ustvarili prej).
  3. za Pozivi, vnesite What would you like to know?
  4. Pod Kljuke za kodotako, da izberete Za inicializacijo in preverjanje uporabite funkcijo Lambda in Za izpolnitev uporabite funkcijo Lambda.

  1. Izberite Shrani namero.
  2. Izberite Zgradite.

Gradnja lahko traja nekaj minut.

Ustvarite novo različico

Zdaj ustvarjamo novo različico z našimi novimi nameni. Osnutka ne moremo uporabiti v produkciji.

  1. Ko je gradnja končana, na Bot različice stran, izberite Ustvari različico.
  2. Ohranite vse nastavitve privzete.
  3. Izberite ustvarjanje.

Zdaj bi morali videti Version 1 na seznamu Različice botov stran.

Ustvarite vzdevek

Zdaj ustvarimo vzdevek za uvajanje.

  1. Pod Deployment v podoknu za krmarjenje izberite vzdevki.
  2. Izbrala Ustvari vzdevek.
  3. za Alias ​​ime¸ vnesite prod.
  4. Povežite ta vzdevek z najnovejšo različico (Version 1).

  1. Izberite ustvarjanje.
  2. o vzdevki izberite vzdevek, ki ste ga pravkar ustvarili.
  3. Pod jeziki, izberite Angleščina (ZDA).

  1. za vir, izberite funkcijo Lambda, ki ste jo prej shranili.
  2. za Različica ali vzdevek funkcije Lambda, izberite NAJNOVEJŠE $.

  1. Izberite Shrani.

Zdaj imate delujoč Amazon Lex Bot, s katerim lahko začnete testirati. Preden nadaljujemo, se prepričajte, da ste shranili ID bota in ID vzdevka.

ID bota se nahaja na strani s podrobnostmi o botu.

ID vzdevka se nahaja na vzdevki stran.

Te vrednosti morate zamenjati v skriptu glasovnega pomočnika voice_assistant.py pozneje.

V naslednjih razdelkih razlagamo, kako uporabiti PocketSphinx za zaznavanje besede za bujenje po meri in kako začeti uporabljati rešitev.

Uporabite PocketSphinx za prepoznavanje besed za bujenje

Prvi korak naše rešitve vključuje priklic besede za bujenje po meri, preden začnemo poslušati vaše ukaze za pošiljanje v Amazon Lex. Glasovni pomočniki potrebujejo vedno vklopljen, zelo natančen in majhen program, da nenehno poslušajo budilko. Običajno je to zato, ker gostujejo v majhni napravi z nizko baterijo, kot je Amazon Echo.

Za prepoznavanje wake besed uporabljamo PocketSphinx, odprtokodni mehanizem za neprekinjeno prepoznavanje govora, ki ga je izdelala univerza Carnegie Mellon, za obdelavo vsakega zvočnega dela. Za uporabo PocketSphinx smo se odločili, ker zagotavlja brezplačen, prilagodljiv in natančen sistem bujenja z dobrim delovanjem.

Ustvarite svojo besedo za bujenje po meri

Gradnja jezikovnega modela z uporabo PocketSphinx je preprosta. Prvi korak je izdelava korpusa. Uporabite lahko priloženi model, ki je vnaprej usposobljen za »Amazon«, tako da, če ne želite usposobiti lastne besede za bujenje, lahko preskočite na naslednji korak. Vendar pa vam toplo priporočamo, da preizkusite ustvarjanje lastne besede za bujenje po meri, ki jo boste uporabili s skriptom glasovnega pomočnika.

Korpus je seznam stavkov, ki jih uporabljate za urjenje jezikovnega modela. Našo vnaprej zgrajeno korpusno datoteko najdete v datoteki corpus.txt ki ste jih prej prenesli.

  1. Spremenite datoteko korpusa na podlagi ključne fraze ali besede za prebujanje, ki jo želite uporabiti, in nato pojdite na stran LMTool.
  2. Izberite Brskanje IN izberite corpus.txt datoteko, ki ste jo ustvarili
  3. Izberite SESTAVITE BAZO ZNANJA.
  4. Prenesite datoteke, ki jih je ustvarilo orodje, in zamenjajte vzorčne datoteke korpusa, ki ste jih prenesli prej.
  5. Zamenjajte KEY_PHRASE in DICT spremenljivke v skriptu Python, da odražajo nove datoteke in besedo za prebujanje.

  1. Posodobite ID bota in ID vzdevka bota z vrednostmi, ki ste jih prej shranili v skriptu glasovnega pomočnika.

Nastavite skript glasovnega pomočnika v računalniku

V repozitoriju GitHub lahko prenesete dva skripta Python, ki ju uporabljate za to objavo: generate_data.py in voice_assistant.py.

Preden lahko zaženete skript, morate opraviti nekaj korakov, in sicer namestitev pravilne različice Python in knjižnic.

  1. Prenesite in namestite Python 3.6.

PocketSphinx podpira do Python 3.6. Če imate nameščeno drugo različico Pythona, lahko uporabite pyenv za preklapljanje med različicami Pythona.

  1. namestitev Žepni sfinks.
  2. namestitev Pyaudio.
  3. Namestite Boto3.

Prepričajte se, da uporabljate najnovejša različica z uporabo pip install boto3==<version>.

  1. namestitev o Vmesnik ukazne vrstice AWS (AWS CLI) in konfigurirajte svoj profil.

Če nimate AWS upravljanje identitete in dostopa (IAM) še uporabnik, lahko ustvarite. Prepričajte se, da ste regijo nastavili na isto regijo, kjer ste prej ustvarili vire.

Zaženite glasovnega pomočnika

Zdaj, ko imamo vse nastavljeno, odprite terminal v računalniku in zaženite generate_data.py.

Prepričajte se, da ga izvajate vsaj eno minuto, da bo tabela dostojno poseljena. Naš glasovni pomočnik poizveduje samo po najnovejših podatkih, vstavljenih v tabelo, tako da ga lahko ustavite, ko se enkrat zažene. Ustvarjeni ID-ji pacientov so med 0–99 in so zahtevani pozneje.

Preverite tabelo in se prepričajte, da se podatki ustvarjajo.

Zdaj lahko tečeš voice_assistant.py.

Vaš računalnik posluša besedo za bujenje, ki ste jo nastavili prej (ali privzeti »Amazon«), in ne začne snemati, dokler ne zazna besede za bujenje. Zaznavanje budilne besede se obdela z dekoderjem PocketSphinx. Dekoder nenehno preverja KEYPHRASE or WakeWord v zvočnem kanalu.

Če želite začeti pogovor, izgovorite besedo, ki ste jo prej določili v svojem namenu. Sledi primer pogovora:

Ti: Hej Amazon

Vi: Želim pridobiti podatke o bolnikih.

Lex: Kakšna je ID pacienta, o katerem želite dobiti informacije?

Ti: 45

Lex: Kaj bi rad vedel o Johnu Smithu?

Vi: krvni tlak

Lex: krvni tlak Johna Smitha je 120/80.

zaključek

čestitke! Nastavili ste zdravstvenega glasovnega pomočnika, ki lahko služi kot bot za pridobivanje informacij o pacientu. Zdaj ste naredili prvi korak k ustvarjanju prilagojenega glasovnega pomočnika.

Izgorelost zdravnikov je pomembno vprašanje, ki ga je treba obravnavati. Glasovni pomočniki s svojo vse večjo sofisticiranostjo lahko pomagajo narediti spremembe v medicinski skupnosti, tako da služijo kot virtualni pisarji, pomočniki in še veliko več. Namesto da bi zdravnike obremenjevali z nizkimi opravili, kot je naročanje zdravil ali pridobivanje podatkov o bolniku, lahko uporabijo inovativne tehnologije, da se razbremenijo nediferenciranih administrativnih opravil.

Uporabili smo PocketSphinx in Amazon Lex, da smo ustvarili glasovnega pomočnika s preprosto nalogo pridobivanja nekaterih podatkov o bolniku. Namesto da program zaženete v računalniku, ga lahko poskusite gostiti v kateri koli majhni napravi, ki podpira Python, kot je Raspberry Pi.

Poleg tega je Amazon Lex Primerno za HIPAA, kar pomeni, da ga lahko integrirate z obstoječimi zdravstvenimi sistemi z upoštevanjem standardov HL7/FHIR.

Prilagojeni zdravstveni pomočniki so lahko ključnega pomena pri pomoči zdravnikom in medicinskim sestram pri oskrbi njihovih pacientov, pridobivanje podatkov senzorjev pa je le eden od mnogih primerov uporabe, ki so lahko izvedljivi. Drugi primeri uporabe, kot sta naročanje zdravil in naročanje pogovorov, lahko koristijo zdravnikom in medicinskim sestram v bolnišnicah.

Želimo vas izzvati, da preizkusite Amazon Lex in vidite, kaj lahko naredite!


O Author

David Qiu je arhitekt rešitev, ki dela v sektorju HCLS in pomaga zdravstvenim podjetjem zgraditi varne in razširljive rešitve v AWS. Navdušen je nad izobraževanjem drugih o tehnologijah v oblaku in obdelavi velikih podatkov. Zunaj dela uživa tudi v igranju kitare, video igrah, cigarah in viskiju. David je diplomiral iz ekonomije in računalništva na univerzi Washington v St. Louisu.

Manish Agarwal je tehnološki navdušenec z več kot 20-letnimi inženirskimi izkušnjami, ki segajo od vodilnega vrhunskega startupa v zdravstvu do zagotavljanja obsežnih inovacij v podjetjih, kot sta Apple in Amazon. Ker ima veliko strokovnega znanja o AI/ML in zdravstvu, resnično verjame, da bo AI/ML popolnoma spremenil zdravstveno industrijo v naslednjih 4-5 letih. Njegovi interesi vključujejo natančno medicino, virtualne pomočnike, avtonomne avtomobile/drone, AR/VR in blockchain. Manish je diplomiral iz tehnologije na Indijskem tehnološkem inštitutu (IIT).

Navneet Srivastava, glavni arhitekt rešitev, je odgovoren za pomoč organizacijam ponudnikov in zdravstvenim podjetjem pri uvajanju podatkovnega jezera, podatkovne mreže, elektronskih zdravstvenih kartotek, naprav in aplikacij, ki temeljijo na AI/ML, hkrati pa izobražuje stranke o tem, kako zgraditi varne, razširljive in cenovno ugodne učinkovite rešitve AWS. Razvija strateške načrte za vključitev strank in partnerjev ter sodeluje s skupnostjo tehnično usmerjenih strokovnjakov HCLS znotraj AWS. Navneet ima MBA na NYIT in diplomiral iz programskega inženiringa ter ima več pridruženih in strokovnih certifikatov za arhitekturo na AWS.

Vir: https://aws.amazon.com/blogs/machine-learning/simplify-patient-care-with-a-custom-voice-assistant-using-amazon-lex-v2/

Časovni žig:

Več od Blog za strojno učenje AWS