Download
webes fel let orvosi k dol st mogat rendszer n.
Skip this Video
Loading SlideShow in 5 Seconds..
Webes felületű orvosi kódolástámogató rendszer PowerPoint Presentation
Download Presentation
Webes felületű orvosi kódolástámogató rendszer

Webes felületű orvosi kódolástámogató rendszer

155 Views Download Presentation
Download Presentation

Webes felületű orvosi kódolástámogató rendszer

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Webes felületű orvosi kódolástámogató rendszer BSc önálló laboratórium Sárándi István Konzulens: Héja Gergely 2011 tavasz

  2. A problémáról

  3. Célkitűzés • Orvosok segítése diagnózisok kódolásában webes felületen • manuálisan sok időt igényel • BNO = Betegségek Nemzetközi Osztályozása • Célja • statisztika • finanszírozás • Hierarchikus kódrendszer • 21 főcsoport (pl. daganatok) • Kb. 10 ezer kód (pl. C3840)

  4. Felhasználási séma fibrillatio auricula paroxysmalis a felhasználó (pl. orvos) begépeli a diagnózist a rendszer visszaad egy tipplistát a felhasználó megnézi a talált kódok leírását és dönt (a felhasználó visszajelzést küld a rendszernek, hogy végül mit választott)

  5. Minták • Rendelkezésre állnak szakértők által kódolt, tisztított minták (diagnózis–kód párok) • ~3000 darabos magyar (BNO-10) • ez alapján működne a szolgáltatás • ~95.000 darabos német (BNO-9) • a módszerek jobb kiértékelésére

  6. Módszerek

  7. Lehetséges megközelítések Pl.: Stricturaureterishydronephrosis nélkül • Szintaktikai • természetesnyelv-feldolgozás • nincs sok elemeznivaló • Szemantikus • kifejezések jelentései közötti kapcsolatok leírása • tárgyterületi ontológiák szükségesek • Tárgyfüggetlen osztályozó módszerek

  8. Osztályozás • Módszerek • Vektortér • Bayes-modell • Neurális háló • (Szupportvektor-gép) • Keverékek • Az osztályok a BNO-kódoknak felelnek meg • több ezer osztály! • Mind vektorokat igényelnek bementként, de nekünk sztringjeink vannak!

  9. Vektorosítás • Szóhalmaz-modell (bag-of-words) • dokumentumosztályozásban népszerű • pl. spam szűrés • erős absztrakció • sorrend • szóhasonlóságok (pl. morfológia, szinonimák)

  10. Vektorosítás fibrillatioariculaparoxysmalis • implementációs megjegyzés • tároljuk csak az előforduló szavak indexét! auricula urosepsis paroxysmalis fibrillatio 000…010…010…010…000 sok ezer dimenzió!

  11. Vektortér

  12. Vektortér • Előnyei • nagyon egyszerű implementáció • Hátrányai • lassú • nem veszi figyelembe a szavak fontosságát • ~43% • előfeldolgozás • IDF súlyozás • ~52%

  13. Vektortér IDF súlyozással

  14. Bayes-modell

  15. Naiv Bayes-osztályozó

  16. Naiv Bayes-osztályozó • Előnyei: • egyszerű implementáció • szilárd elméleti háttér • Hátránya: • naiv feltételezés • gyenge eredmény (~50%)

  17. Neurális modell b • Elemi perceptron (neuron) • súlyozott összeg +eltolás • nemlinearitás • a súlyok tanítása • MLP: multi-layer perceptron • rétegesen ×w1 + ×w2 ×w3

  18. Neurális modell • Tanítása ciklusokban • Súlymódosítás: „legmeredekebb lejtő” • Tesztelés • ha a hibamérték „növekedésnek indul”, leállás • fordulópont detektálása • hiba-visszaterjesztés (backpropagation)

  19. Neurális modell • Osztályozás: • kimenet = osztály relevanciója • logisztikus függvény 0..1 a kimeneten • több ezer kimenet!

  20. Neurális modell • Előnyei: • futáskor gyors • csak a nem zérus bemenetek esetén történik szorzás • rejtett réteg növeli a számítási komplexitást, de nem javít sokat a megoldás minőségén • jó eredmények (~52%) • Hátrányai • tanítása lassú • bonyolultabb implementáció

  21. Kevert modellek • Különböző osztályozók eredménylistáit súlyozva egyesítjük • Elgondolás: • a hibásak eltérnek • súlyozott összegzéssel feljöhet a helyes

  22. Eredménykeverés 0,5 0,5

  23. Kevert modellek • súlyozás • konstans • kapuzó rendszer határozza meg • bemenetfüggő • klaszterezés • tippelt szakértelem • tippelt osztálycsoport • struktúra kell • használjuk ki a BNO kódhierarchiát! • 21 szakértő osztályozó a főcsoportokhoz

  24. Konstans súlyú keverés • optimális súlyozást keresünk (w, 1-w) • brute-force • lépegessünk kis lépésekben w=0..1 • a tesztmintán mérjük a jóságát • definiálni kell valamilyen mértéket • végül a két osztályozót az egész tanítómintával megtanítjuk

  25. Konstans súlyú keverés • Előnyei: • egyszerű • legjobb eredmények • Hátrányai: • több osztályozó esetén a brute-force módszer nem megfelelő • súlyoptimalizáló rendszer kell

  26. MOE tanítása Kapuzó osztályozó főcs. diagnózis kód Címkéző szűrés szakértő szakértő szakértő

  27. MOE használata listák összevonása × Kapuzó osztályozó max v sum × × szakértők becsléseinek súlyozása az adott főcsoport becsült relevanciájával diagnózis × szakértő szakértő szakértő kódlisták relevanciával

  28. MOE • Előnyei: • neurális szakértők esetén gyorsabb és jobb eredmények, mint a lapos neurális modell esetén! (~55%) • egyszerű implementáció • Hátrányai: • ?

  29. Szakértelembecslés • tanítás • tanítóhalmazzal tanítjuk a szakértőket (még nem tudjuk, hogy minek a szakértői lesznek) • kapuzó hálót tanítunk • az egyes szakértők mennyire ügyesek az adott tesztbemenetnél • használata • MOE-hoz hasonlóan

  30. Szakértelembecslés • Előnyei: • jobb eredmény, mint külön-külön • sok szakértővel is hatékony • Hátrányai: • nem valószínű szignifikáns összefüggés • a kapuzó ilyen esetben két dolgot tanul: • általánosan mennyire nehéz a bemenet (felesleges) • általánosan mennyire jók az osztályozók (egyszerűbben is kiszámolható)

  31. Implementáció

  32. Alapvető felépítés HTTP, XHTML Webszerver Böngésző Osztályozó szerver TCP, XML Egyéb kliens-program

  33. Osztályozó szerver • Különböző parancssori paraméterezések • train config.xml trainingdata.rep classif.dat • osztályozó felépítésének (típus, részei, paraméterek) beolvasása XML fájlból • tanítás • kapott tanított osztályozó szerializálása fájlba • serve classif.dat 5555 • a megadott porton TCP sockettel figyel • a beérkező diagnózisokat a megadott fájlból betöltött osztályozóval kódolja

  34. Konfiguráció <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE architecture SYSTEM "D:\onlab\xml\config.dtd"> <architecture> <classifierid="rootmlp"> <type>MLP</type> <paramname="learnrate">0.8</param> <paramname="maxepochs">1000</param> <inputtransform>bagofwords</inputtransform> <outputtransform>counter</outputtransform> </classifier>

  35. Konfiguráció <classifier id="childmlp"> <type>MLP</type> <param name="learnrate">0.3</param> <param name="maxepochs">1000</param> <inputtransform>bagofwords</inputtransform> <outputtransform>counter</outputtransform> </classifier>

  36. Konfiguráció <classifierid="hier"> <type>Hierarchic</type> <paramname="root"> <classifierref="rootmlp" /> </param> <paramname="child"> <classifierref="childmlp" /> </param>

  37. Konfiguráció <paramname="childselector"> <converter> <type>Interval</type> <paramname="file">ICD10.def</param> </converter> </param> </classifier> <classifierid="main" ref="hier" /> </architecture>

  38. Csomagok

  39. Framework

  40. Classifier

  41. Classifier Adapter

  42. Validation

  43. Neuralnetwork

  44. Vector

  45. Parallel • többmagos gépen sok minden gyorsítható • tesztelés • neurális háló • vektortér

  46. Köszönöm a figyelmet!