PNL - Gazetteer è un imbroglione?


16

Nella PNL esiste il concetto Gazetteerche può essere molto utile per la creazione di annotazioni. Per quanto ho capito:

Un dizionario geografico è costituito da una serie di elenchi contenenti nomi di entità come città, organizzazioni, giorni della settimana, ecc. Questi elenchi vengono utilizzati per trovare occorrenze di questi nomi nel testo, ad es. Per l'attività di riconoscimento di entità denominate.

Quindi è essenzialmente una ricerca. Questo tipo di imbroglio non è? Se usiamo a Gazetteerper rilevare entità nominate, allora non c'è molto da Natural Language Processingfare. Idealmente, vorrei rilevare entità nominate usando NLPtecniche. Altrimenti, come è meglio di un matcher pattern regex?


2
Non lo definirei barare di per sé ... a meno che tu non sia stato progettato specificamente per utilizzare una soluzione di ricerca non di dizionario. Inoltre non lo definirei PNL tradizionale, anche se non dovresti mai trascurare il chilometraggio sostanziale che puoi ottenere da una semplice soluzione a un problema.
Kyle.

1
Potresti forse usarlo per addestrare un riconoscitore di entità nominata. Che cosa farà la tua gazzetta sulle entità che non si trovano nel suo corpus?
Emre,

speravo che usando correttamente i tag pos e il sostantivo chunking non avrò mai bisogno di un dizionario. è possibile?
Circa

2
Nell'industria non esistono truffe. :-) Ma comunque, se vuoi un "approccio generale", devi iniziare con alcuni dati annotati a mano, cioè seed, per apprendere contesti in cui compaiono NE, per imparare più NE.
Adam Bittlingmayer,

Risposte:


15

Gazetteer o qualsiasi altra opzione di funzionalità di dimensioni fisse intenzionalmente sembra un approccio molto popolare nei documenti accademici , quando hai un problema di dimensioni finite, ad esempio NER in un corpora fisso, o tag POS o qualsiasi altra cosa. Non lo considererei barare a meno che l'unica caratteristica che userete sia la corrispondenza Gazetteer.

Tuttavia, quando si allena qualsiasi tipo di modello NLP, che si basa sul dizionario durante l'allenamento, è possibile che le prestazioni del mondo reale siano molto inferiori rispetto a quelle riportate dai test iniziali, a meno che non si possano includere tutti gli oggetti di interesse nel dizionario (e perché quindi hai bisogno di quel modello?) perché il tuo modello addestrato si affiderà alla funzionalità ad un certo punto e, nel caso in cui altre funzionalità siano troppo deboli o non descrittive, i nuovi oggetti di interesse non verrebbero riconosciuti.

Se usi un Gazetteer nei tuoi modelli, dovresti assicurarti che quella funzione abbia una funzione counter per consentire al modello di bilanciarsi, in modo che la semplice corrispondenza del dizionario non sia l'unica caratteristica della classe positiva (e, soprattutto, il gazetteer dovrebbe abbina non solo esempi positivi, ma anche negativi).

Ad esempio, supponiamo che tu abbia un set completo di infinite variazioni di tutti i nomi di persona, il che rende irrilevante la persona NER, ma ora provi a decidere se l'oggetto menzionato nel testo è in grado di cantare. Farai affidamento su funzioni di inclusione nella tua gazzetta personale, che ti daranno molti falsi positivi; quindi, aggiungerai una funzione incentrata sul verbo di " Is Subject of verbo sing ", e questo probabilmente ti darebbe falsi positivi da tutti i tipi di oggetti come gli uccelli, la tua pancia quando hai fame e un ubriaco che pensasa cantare (ma siamo onesti, non può) - ma quella caratteristica incentrata sul verbo si bilancerà con la tua gazzetta personale per assegnare una classe positiva di "Cantante" a persone e non animali o altri oggetti. Tuttavia, non risolve il caso dell'esecutore ubriaco.


4

L'uso di un elenco di entità presenta alcuni svantaggi:

  • La lista è chiusa
  • L'elenco non è sensibile al contesto. È necessario un contesto per distinguere tra "una casa bianca" e "la casa bianca".
  • La costruzione di elenchi richiede molto lavoro
  • L'elenco potrebbe contenere anche errori.
  • È come imbrogliare (o nella lista non vengono utilizzati approfondimenti sulla PNL).

Puoi far fronte a questi svantaggi andando nella direzione suggerita da @emre e usando l'elenco per imparare un classificatore.

Ad esempio, puoi usare i token vicino all'entità e apprendere una regola del genere "Vivo a X" è un indicatore di un luogo e "Ho parlato con X" è un indicatore di una persona. Puoi giocare a questo gioco in pochi round aumentando la tua lista in base ai risultati delle regole e usando la nuova lista per saperne di più.

Per favore, non che in questo apprendimento introducerai dei dati rumorosi, quindi nella maggior parte dei casi l'apprendimento dovrebbe essere così diretto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.