Reconeixement d'entitats anomenades (NER) és una tècnica en processament del llenguatge natural (PNL) que se centra a identificar i classificar entitats. El propòsit de NER és extreure automàticament informació estructurada del text no estructurat, permetent que les màquines entenguin i categoritzin les entitats d'una manera significativa per a diverses aplicacions com el resum de text, la creació de gràfics de coneixement, la resposta de preguntes i la construcció de gràfics de coneixement. L'article explora el fonaments, mètodes i implementació del model NER.
Què és el reconeixement d'entitats anomenades (NER)?
Reconeixement de nom i entitat (NER) també es coneix com identificació de l'entitat , fragmentació d'entitats, i extracció d'entitats . NER és el component d'extracció d'informació que té com a objectiu identificar i categoritzar entitats amb nom dins de text no estructurat. El NER implica la identificació de la informació clau en el text i la classificació en un conjunt de categories predefinides. Una entitat és allò de què es parla o es refereix constantment al text, com ara noms de persones, organitzacions, ubicacions, expressions de temps, quantitats, percentatges i categories més predefinides.
Aplicacions del sistema NER en diversos dominis, com ara la resposta a preguntes, la recuperació d'informació i la traducció automàtica. NER té un paper important en la millora de la precisió dels altres PNL tasques com l'etiquetatge i l'anàlisi de part de la parla. En el seu nucli, la PNL és només un procés de dos passos, a continuació es mostren els dos passos implicats:
- Detecció de les entitats del text
- Classificant-los en diferents categories
Ambigüitat en NER
- Per a una persona, la definició de la categoria és intuïtivament força clara, però per als ordinadors, hi ha certa ambigüitat en la classificació. Vegem alguns exemples ambigus:
- Anglaterra (Organització) va guanyar la Copa del Món 2019 vs La Copa del Món 2019 va tenir lloc a Anglaterra (Ubicació).
- Washington (Ubicació) és la capital dels EUA vs El primer president dels EUA va ser Washington (Persona).
Com funciona el reconeixement d'entitats anomenades (NER)?
El funcionament del reconeixement d'entitats designades es discuteix a continuació:
- El sistema NER analitza tot el text d'entrada per identificar i localitzar les entitats anomenades.
- Aleshores, el sistema identifica els límits de la frase tenint en compte les regles de capitalització. Reconeix el final de la frase quan una paraula comença amb una lletra majúscula, suposant que podria ser el començament d'una nova frase. Conèixer els límits de les oracions ajuda a contextualitzar les entitats dins del text, permetent al model entendre les relacions i els significats.
- NER es pot entrenar per classificar documents sencers en diferents tipus, com ara factures, rebuts o passaports. La classificació de documents millora la versatilitat de NER, permetent-li adaptar el seu reconeixement d'entitats en funció de les característiques específiques i el context dels diferents tipus de documents.
- NER utilitza algorismes d'aprenentatge automàtic, inclòs l'aprenentatge supervisat, per analitzar conjunts de dades etiquetats. Aquests conjunts de dades contenen exemples d'entitats anotades, que guien el model a l'hora de reconèixer entitats similars en dades noves i no vistes.
- Mitjançant múltiples iteracions d'entrenament, el model perfecciona la seva comprensió de les característiques contextuals, les estructures sintàctiques i els patrons d'entitats, millorant contínuament la seva precisió al llarg del temps.
- La capacitat del model d'adaptar-se a noves dades li permet gestionar les variacions en el llenguatge, el context i els tipus d'entitat, fent-lo més robust i eficaç.
Reconeixement d'entitats anomenades (NER) Mètodes
Mètode basat en lèxic
El NER utilitza un diccionari amb una llista de paraules o termes. El procés consisteix a comprovar si alguna d'aquestes paraules està present en un text determinat. Tanmateix, aquest enfocament no s'utilitza habitualment perquè requereix una actualització constant i un manteniment acurat del diccionari per mantenir-se precís i eficaç.
Mètode basat en regles
El mètode NER basat en regles utilitza un conjunt de regles predefinides que guien l'extracció d'informació. Aquestes regles es basen en patrons i context. Les regles basades en patrons se centren en l'estructura i la forma de les paraules, observant els seus patrons morfològics. D'altra banda, les regles basades en el context tenen en compte les paraules que l'envolten o el context en què apareix una paraula dins del document de text. Aquesta combinació de regles basades en patrons i en context millora la precisió de l'extracció d'informació en el reconeixement d'entitats amb nom (NER).
Mètode basat en l'aprenentatge automàtic
Classificació multiclasse amb algorismes d'aprenentatge automàtic
- Una manera és entrenar el model classificació multiclasse utilitzant diferents algorismes d'aprenentatge automàtic, però requereix molt d'etiquetatge. A més d'etiquetar el model també requereix una comprensió profunda del context per fer front a l'ambigüitat de les frases. Això fa que sigui una tasca difícil per a un algorisme d'aprenentatge automàtic senzill.
Camp aleatori condicional (CRF)
- El camp aleatori condicional està implementat tant per NLP Speech Tagger com NLTK. És un model probabilístic que es pot utilitzar per modelar dades seqüencials com ara paraules.
- El CRF pot captar una comprensió profunda del context de la frase. En aquest model, l'entrada

Mètode basat en l'aprenentatge profund
- El sistema NER d'aprenentatge profund és molt més precís que el mètode anterior, ja que és capaç d'acoblar paraules. Això es deu al fet que va utilitzar un mètode anomenat incrustació de paraules, que és capaç d'entendre la relació semàntica i sintàctica entre diverses paraules.
- També és capaç d'aprendre automàticament anàlisis de temes específics i paraules d'alt nivell.
- Això fa que l'aprenentatge profund NER sigui aplicable per a la realització de múltiples tasques. Aprenentatge profund pot fer la major part del treball repetitiu en si mateix, per tant, els investigadors, per exemple, poden utilitzar el seu temps de manera més eficient.
Com implementar NER a Python?
Per implementar el sistema NER, aprofitarem la biblioteca Spacy. El codi es pot executar a colab, però amb finalitats de visualització. Recomano l'entorn local. Podem instal·lar les biblioteques necessàries mitjançant:
!pip install spacy !pip install nltk ! python -m spacy download en_core_web_sm>
Instal·leu Biblioteques importants
Python 3
import> pandas as pd> import> spacy> import> requests> from> bs4>import> BeautifulSoup> nlp>=> spacy.load(>'en_core_web_sm'>)> pd.set_option(>'display.max_rows'>,>200>)> |
>
>
NER utilitzant Spacy
En el codi següent, fem servir SpaCy, una biblioteca de processament de llenguatge natural per processar text i extreure entitats amb nom. El codi itera a través de les entitats anomenades identificades al document processat i imprimeix el text, el caràcter inicial, el caràcter final i l'etiqueta de cada entitat.
Python 3
content>=> 'Trinamool Congress leader Mahua Moitra has moved the Supreme Court against her expulsion from the Lok Sabha over the cash-for-query allegations against her. Moitra was ousted from the Parliament last week after the Ethics Committee of the Lok Sabha found her guilty of jeopardising national security by sharing her parliamentary portal's login credentials with businessman Darshan Hiranandani.'> doc>=> nlp(content)> for> ent>in> doc.ents:> >print>(ent.text, ent.start_char, ent.end_char, ent.label_)> |
>
>
Sortida:
Congress 10 18 ORG Mahua Moitra 26 38 PERSON the Supreme Court 49 66 ORG the Lok Sabha 94 107 PERSON Moitra 157 163 ORG Parliament 184 194 ORG last week 195 204 DATE the Ethics Committee 211 231 ORG Darshan Hiranandani 373 392 PERSON>
La sortida mostrava els noms de les entitats, les seves posicions inicial i final al text i les etiquetes previstes.
Visualitza
Eldisplacy.render>La funció de spaCy s'utilitza per visualitzar les entitats amb nom en un text. Genera una representació visual amb ressalts de colors indicant les entitats reconegudes i les seves respectives categories.
Python 3
from> spacy>import> displacy> displacy.render(doc, style>=>'ent'>)> |
>
>
Sortida:

Utilitzant el codi següent, crearem un marc de dades a partir de les entitats anomenades extretes per spaCy, incloent el text, el tipus (etiqueta) i el lema de cada entitat.
Python 3
entities>=> [(ent.text, ent.label_, ent.lemma_)>for> ent>in> doc.ents]> df>=> pd.DataFrame(entities, columns>=>[>'text'>,>'type'>,>'lemma'>])> print>(df)> |
>
>
Sortida:
text type lemma 0 Congress ORG Congress 1 Mahua Moitra PERSON Mahua Moitra 2 the Supreme Court ORG the Supreme Court 3 the Lok Sabha PERSON the Lok Sabha 4 Moitra ORG Moitra 5 Parliament ORG Parliament 6 last week DATE last week 7 the Ethics Committee ORG the Ethics Committee 8 Darshan Hiranandani PERSON Darshan Hiranandani>
El marc de dades proporciona una representació estructurada de les entitats anomenades, els seus tipus i formes lematitzades.
Preguntes freqüents (FAQ)
1. Quin és l'objectiu del sistema NER?
El propòsit de NER és extreure automàticament la informació estructurada del text no estructurat, permetent a les màquines entendre i categoritzar entitats d'una manera significativa per a diverses aplicacions com el resum de text, la construcció de gràfics de coneixement, la resposta de preguntes i la construcció de gràfics de coneixement.
2. Quins són els mètodes de NER en PNL?
Els mètodes de NER en PNL inclouen:
- NER basat en lèxic.
- Basat en regles
- Basat en ML
- Basat en l'aprenentatge profund.
3. Quins són els usos del NER a la PNL?
NER té un paper important a l'hora de millorar la precisió d'altres tasques de PNL com l'etiquetatge i l'anàlisi de part de la veu.
4. Pot BERT fer el reconeixement d'entitats amb nom?
Sí, BERT es pot utilitzar per a NER.
