woensdag 18 juli 2012

Hausner - text mining tools (CEC A3 #eahil2012)

Elke Hausner - IQWIG (Duitsland)
(information specialist)

iqwig doet text analysis voor alle databases door elkaar en dan per database ook nog speciaal voor de trefwoorden.

makkelijke tools om te gebruiken: 

EndNote 
terms list kun je gebruiken voor frequency counts, ook mogelijk om meerder velden te combineren, bijvoorbeeld ti,ab,kw samen.
IQWIG gebruiken ze endnote om keywords in analyseren.

text analysis is only as good as the references you analyze.
divide set in two sets. randomly. elke soms al met kleine sets, 40-50 is eigenlijk wel redelijk genoeg.
randomizer recordnumbers: www.randomizer.org te gebruiken om in endnote te randomiseren (maar voor erg grote aantallen en ontbrekende recordnummers niet goed mee te werken).
 endnote > tools > bibliography kun je exporteren een frequency count naar excel, maar je moet dan nog wel zelf bekijken welke trefwoorden je wilt gebruiken.
tips voor pubreminer: zet word analyse om in ti_ab en niet ook met tw veld. pubreminer ook handig voor mesh terms, maar elke doet dat nu in endnote.

ANTCONC (freeware)
om de meest voorkomende vrije tekst woorden te analyseren. makkelijk in gebruik, vereist niet veel technische kennis.
vraag om toestemming als je het in een organisatie wilt gebruiken, Laurence Anthony heeft het ontwikkeld. welke woorden staan links en rechts van een bepaald woord, concordance tool.
start in endnote, exporteer referenties naar ANTconc, (tekst in meerder bestanden gesplitst met textwedge). vandaaruit ga je naar excel, en dat check je met OvidSP (MedLine)

vanuit excel kijk je welke woorden mogelijk interessant zijn, die woorden bekijk je in AntConc om te zien welke woorden er voor of achter staan, en neemt dat weer mee naar excel.

output van endnote in title abstract achter elkaar, met regeleinde, textwedge breekt ze uit elkaar in verschillende tekstbestanden met steeds een record per bestand.
voegt en extra spatie in in plaats van de leestekens.

bekijken van een woord dat je interessant vindt, welke woorden je vindt links en rechts ervan. handmatig per woord. kost wel veel tijd, en lastig dat niet automatisch gebeurt.

antconc analyseert de frequentie in zijn geheel, maar niet per record. als een record een bepaalde term heel vaak bevat wordt het heel vaak meegetelt. de frequentie gaat niet over hoeveel artikelen een bepaald woord bevatten, maar over hoevaak een woord voorkomt in het geheel van alle teksten.dat is eigenlijk dan de verkeerde analyse.

wordstat  
doet aan wordstemming, AntConc niet.
kost wel geld: tussen 1000-2000 euro. julie glanville werkt altijd met wordstat.
SimStat / WordStat, net als R een statisch pakket.
handig is dat je geen text files hoeft te splitten.
population set importeren in wordstat gaat heel snel, itt tm.

demo versie die je 30 dagen zou kunnen gebruiken. grafische interface werk toch niet zo fijn als elke had gehoopt, niet zo goed als gedacht.

tm in R  
is gratis, maar erg gecompliceerd.
R is een statistiek programma. Biostatistiek kent het bij ons vast wel. De ontwikkelaar gebruikt het niet op de manier waarop IQKIG gebruikt wordt, zijn enthousiaste mensen nodig. om er aan te werken.
lastig om te leren, met command line, geen user interface
wordt constant geupdate (open source software)
identifying overrepresented terms, en removing irrelevant terms.

tinn-R text editor om de command lines in te voeren.

wat tm wel doet is de frequency per article, not in total
random sample niet in het systeem gezet, maar zelf gecreeerd met pubmed, alles van een bepaalde tijd downloaden en bioinformatica of biostatistiek vragen daar een random sample van te nemen. duurt wel lang om in te lezen.
sorteren op sensitivity in population set, omgekeerd, welke woorden komen maar heel weinig voor? maar komen wel vaak voor in onze ontwikkelset?

tm kan geen phrases herkennen. vanuit tm ga ja dan nog naar antconc voor de phrases.

theoretisch verhaal

wat is een test set: gouden standaard om een strategy te genereren en om te valideren.
handmatig doorzoeken, kost wel tijd, en de reviewer is daar veel tijd mee bezig.
maar alternatief (jenkins, 2004, health info lib):
zoek naar systematic reviews, en gebruik daar de includes van
of gebruik de related articles van een aantal key articles in pubmed.

amstar oxman & guyat index: checklist gevalideerd voor kwaliteit van SR


pubmed verrast me weer eens: ATM op mesh terms niet tussen quotes

Ik kwam er gisteren achter dat pubmed weer eens iets veranderd heeft, wat volgens mij nog niet zo was.

Ik heb vaak als voorbeeld tegen ATM een zoekactie naar kenmerken van rode bloed cellen. met red blood cells vind je teveel ruis (vanwege de explode van erythrocytes en erythrocyte count, met red blood cell* mis je teveel, dus ik zeg altijd gebruik

erythrocytes[mesh:noexp] OR erythrocyte*[tiab] OR red blood cell*[tiab]

Nu kwam daar gisteren in de cursus door dat ik het via de mesh opbouwde quotes om de mesh term te staan, een cursist vroeg of dat uitmaakte, ik zeg nee hoor. DUS WEL!

"erythrocytes"[mesh:noexp] OR erythrocyte*[tiab] OR red blood cell*[tiab] 197070
erythrocytes[mesh:noexp] OR erythrocyte*[tiab] OR red blood cell*[tiab] 202355



Wat gebeurt er: erythrocytes[mesh:noexp] wordt vertaald in: "erythrocytes"[MeSH Terms:noexp] OR "erythrocyte count"[MeSH Terms:noexp]
En laten we nou juist die erythrocyte count willen vermijden, omdat het hier om eigenschappen van rode bloed cellen ging, en niet om eigenschappen van patienten.

In een vergelijkbaar geval wordt
dementia[mesh:noexp] vertaald in ("dementia"[MeSH Terms:noexp] OR "alzheimer disease"[MeSH Terms:noexp])

Ik zeg in mijn PubMed cursussen altijd dat wanneer je veldnamen gebruikt dat dan geen ATM wordt uitgevoerd, maar dat blijkt dus niet zo te zijn, terwijl ik altijd zeg dat je geen quotes nodig hebt om frases bij elkaar te houden omdat als je veldnamen gebruikt en truncatie automatisch de phrase bij elkaar wordt gehouden, maar moet er weer een extra uitzondering bij opnemen
(naast die uitzondering van de mesh term die haakjes bevat, zoals "handling (psychology)"[mesh], 1675 hits, waar je als je geen quotes gebruikt zoekt op handling[all fields] AND psychology[allfields] AND mesh[all fields], 6 hits)


N.B. Als ik nog vollediger zou willen zijn kom ik overigens meer op
"erythrocytes"[mesh:noexp] OR erythrocyte*[tiab] OR red blood cell*[tiab] OR red bloodcell*[tiab] OR (((RBC[tiab] OR RBCs[tiab]) AND blood[tiab]) NOT RBC count*[tiab]) uit, maar dat wordt toch wat ingewikkeld voor de cursisten, hoewel ik de verschillende elementen allemaal wel uitleg