quali tecniche di machine / deep learning / nlp sono utilizzate per classificare una determinata parola come nome, numero di cellulare, indirizzo, e-mail, stato, contea, città ecc.


9

Sto cercando di generare un modello intelligente in grado di scansionare un insieme di parole o stringhe e classificarle come nomi, numeri mobili, indirizzi, città, stati, paesi e altre entità usando l'apprendimento automatico o l'apprendimento profondo.

Avevo cercato approcci, ma sfortunatamente non ho trovato alcun approccio da adottare. Avevo provato con un sacco di parole modello e guanto parole incorporate per prevedere se una stringa è il nome o la città ecc.

Ma non sono riuscito con il modello bag of words e con GloVe ci sono molti nomi che non sono coperti nell'esempio di incorporamento: - lauren è presente in Glove e laurena non lo è

Ho trovato questo post qui , che aveva una risposta ragionevole ma non potevo usare l'approccio per risolvere quel problema a parte il fatto che NLP e SVM erano usate per risolverlo.

Eventuali suggerimenti sono apprezzati

Grazie e saluti, Sai Charan Adurthi.


4
Non è una risposta, ma questa si chiama Nomination Entity Recognition. La ricerca con questi termini può rivelare informazioni utili.
kbrose,

Grazie @kbrose, esamineremo le tecniche di riconoscimento delle entità nominate.
Sai Charan Adurthi,

Risposte:


1

Potresti applicare grammi di caratteri: intuitivamente, potrebbe esserci un'enorme differenza nel set di caratteri tra un numero di telefono e un indirizzo e-mail. e quindi passare il vettore di grammo dei caratteri a SVM per effettuare una previsione. Puoi implementarlo usando in sklearn usando i seguenti estrattori di funzioni.

  1. TfIdfVectorizer (analizzatore = 'carattere')

  2. CountVectorizer (analizzatore = 'carattere')

Convalida incrociata sull'intervallo di ngram e allenta le variabili di SVM per ottimizzare il modello.


Grazie! @karthikbharadwaj. Attualmente sto lavorando con R, esaminerò sklearn e vedremo se funziona ..
Sai Charan Adurthi,

@Sai Charan Adurthi - Per favore vota se l'hai trovato utile e accetta le risposte se le hai trovato utili.
karthikbharadwaj,

certo, lo farò sicuramente una volta controllato in Python ...
Sai Charan Adurthi,

0

L'applicazione di etichette categoriche comuni alle parole è in genere denominata riconoscimento di entità denominata (NER) .

Il NER può essere eseguito mediante regole statiche (ad esempio, espressioni regolari) o regole apprese (ad esempio, alberi delle decisioni). Queste regole sono spesso fragili e non generalizzano. I campi casuali condizionali (CRF) sono spesso una soluzione migliore perché sono in grado di modellare gli stati latenti delle lingue. L'attuale performance all'avanguardia nel NER viene eseguita con una combinazione di modelli di Deep Learning .

La Stanford Named Entity Recognizer e spazioso sono pacchetti per eseguire NER.


Grazie dottor Brain! .. ma, voglio costruire un modello che richiede solo una parola o una parola di stringhe e prevedere se si tratta di un nome, indirizzo, ecc. Avevo provato NER usando openNLP di Apache in R. Non ci sono riuscito dentro. Ho bisogno di un paragrafo di parole per usare la grammatica e parti del discorso, voglio avere un modello in grado di capire anche cose come codici postali, codici postali e codici di stato. Sto andando con l'approccio giusto qui Dr brain?
Sai Charan Adurthi,

Non dovresti pensare di avere un unico modello generale. Dovresti costruire un modello per ogni tipo di elemento. Ad esempio, la maggior parte dei codici postali può essere trovata con un'espressione regolare. Anche il contesto è re, un modello dato una sola parola farà un cattivo lavoro predicendo NER. È meglio avere ampie sezioni di testo.
Brian Spiering,

Ciao @Dr. Cervello, avevo provato con il pacchetto text2vec per R, avevo usato gli incantesimi Glove Word per verificare quanto fossero simili le parole. Es: ho dati di treno di 1000 file con categorie come nome, città, stato, paese ecc., Dati di test con valori diversi. Ho usato text2vec per costruire il TCM per entrambi i treni, i valori dei dati di test, quindi ho adattato il modello di guanto a quei TCM e ho verificato la somiglianza di ogni parola nei dati di test per addestrare i dati per categoria usando la funzione di somiglianza del coseno. Ma non sono riuscito a ottenere una buona precisione e la sua variabile anche ogni volta che generi modelli di guanti e controllo la somiglianza.
Sai Charan Adurthi,

Grazie, Dr.Brian, funziona se uso frasi per ottenere il contesto e usare i NER. Ma voglio farlo solo usando le parole e vedere se qualche modello può imparare schemi dalle parole.
Sai Charan Adurthi,

Ciao cervello, avevo usato Apache Open NLP per usare modelli NER pre-addestrati. E sì, funziona anche a parole.
Sai Charan Adurthi,
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.