|
|
||
|---|---|---|
| .. | ||
| lab | ||
| NER-TF.ipynb | ||
| README.md | ||
README.md
Namngiven EntityigenkÀnning
Hittills har vi mest fokuserat pÄ en NLP-uppgift - klassificering. Men det finns ocksÄ andra NLP-uppgifter som kan lösas med neurala nÀtverk. En av dessa uppgifter Àr Namngiven EntityigenkÀnning (NER), som handlar om att identifiera specifika entiteter i text, sÄsom platser, personnamn, tidsintervall, kemiska formler och sÄ vidare.
Quiz före förelÀsningen
Exempel pÄ anvÀndning av NER
Anta att du vill utveckla en naturlig sprÄkchatbot, liknande Amazon Alexa eller Google Assistant. Intelligenta chatbots fungerar genom att förstÄ vad anvÀndaren vill genom att utföra textklassificering pÄ den inmatade meningen. Resultatet av denna klassificering Àr den sÄ kallade intentionen, som avgör vad chatboten ska göra.
Bild av författaren
Men en anvÀndare kan ge vissa parametrar som en del av frasen. Till exempel, nÀr hon frÄgar om vÀdret, kan hon ange en plats eller ett datum. En bot bör kunna förstÄ dessa entiteter och fylla i parameterfÀlten dÀrefter innan den utför ÄtgÀrden. Det Àr precis hÀr NER kommer in.
â Ett annat exempel skulle vara att analysera vetenskapliga medicinska artiklar. En av de viktigaste sakerna vi behöver leta efter Ă€r specifika medicinska termer, sĂ„som sjukdomar och medicinska substanser. Medan ett litet antal sjukdomar förmodligen kan extraheras med substring-sökning, krĂ€ver mer komplexa entiteter, sĂ„som kemiska föreningar och medicinnamn, en mer avancerad metod.
NER som Tokenklassificering
NER-modeller Àr i grunden tokenklassificeringsmodeller, eftersom vi för varje inmatad token mÄste avgöra om den tillhör en entitet eller inte, och om den gör det - vilken entitetsklass den tillhör.
TÀnk pÄ följande artikelrubrik:
Tricuspidalklaffinsufficiens och litiumkarbonat toxicitet hos ett nyfött barn.
Entiteter hÀr Àr:
- Tricuspidalklaffinsufficiens Àr en sjukdom (
DIS) - Litiumkarbonat Àr en kemisk substans (
CHEM) - Toxicitet Àr ocksÄ en sjukdom (
DIS)
Observera att en entitet kan strÀcka sig över flera tokens. Och, som i detta fall, mÄste vi skilja mellan tvÄ pÄ varandra följande entiteter. DÀrför Àr det vanligt att anvÀnda tvÄ klasser för varje entitet - en som anger den första token i entiteten (ofta anvÀnds prefixet B- för början), och en annan för fortsÀttningen av en entitet (I-, för **inre token). Vi anvÀnder ocksÄ O som en klass för att representera alla andra tokens. SÄdan tokenmÀrkning kallas BIO-mÀrkning (eller IOB). NÀr den Àr mÀrkt ser vÄr rubrik ut sÄ hÀr:
| Token | Tagg |
|---|---|
| Tricuspidalklaff | B-DIS |
| insufficiens | I-DIS |
| och | O |
| litium | B-CHEM |
| karbonat | I-CHEM |
| toxicitet | B-DIS |
| hos | O |
| ett | O |
| nyfött | O |
| barn | O |
| . | O |
Eftersom vi behöver bygga en en-till-en-korrespondens mellan tokens och klasser, kan vi trÀna en högerstÀlld mÄnga-till-mÄnga neural nÀtverksmodell frÄn denna bild:
Bild frÄn denna bloggpost av Andrej Karpathy. NER tokenklassificeringsmodeller motsvarar den högra nÀtverksarkitekturen pÄ denna bild.
TrÀning av NER-modeller
Eftersom en NER-modell i grunden Àr en tokenklassificeringsmodell, kan vi anvÀnda RNN:er som vi redan Àr bekanta med för denna uppgift. I detta fall kommer varje block av det Äterkommande nÀtverket att returnera token-ID. Följande exempelnotebook visar hur man trÀnar LSTM för tokenklassificering.
âïž Exempelnotebooks: NER
FortsÀtt din inlÀrning i följande notebook:
Slutsats
En NER-modell Àr en tokenklassificeringsmodell, vilket innebÀr att den kan anvÀndas för att utföra tokenklassificering. Detta Àr en mycket vanlig uppgift inom NLP, som hjÀlper till att identifiera specifika entiteter i text, inklusive platser, namn, datum och mer.
đ Utmaning
Slutför uppgiften som Àr lÀnkad nedan för att trÀna en namngiven entityigenkÀnningsmodell för medicinska termer, och testa den sedan pÄ en annan dataset.
Quiz efter förelÀsningen
Granskning & SjÀlvstudier
LÀs igenom bloggen The Unreasonable Effectiveness of Recurrent Neural Networks och följ med i avsnittet för vidare lÀsning i den artikeln för att fördjupa din kunskap.
Uppgift
I uppgiften för denna lektion kommer du att behöva trÀna en modell för medicinsk entityigenkÀnning. Du kan börja med att trÀna en LSTM-modell som beskrivs i denna lektion, och fortsÀtta med att anvÀnda BERT-transformermodellen. LÀs instruktionerna för att fÄ alla detaljer.
