Input di stringhe in Machine Learning


8

Diversi algoritmi di apprendimento automatico popolari come la regressione logistica o le reti neurali richiedono che i suoi input siano numerici.

Quello che mi interessa è come fai in modo che questi algoritmi funzionino su input non numerici (come stringhe brevi).

Ad esempio, supponiamo di creare un sistema di classificazione delle e-mail (spam / non spam), in cui una delle funzionalità di input è l'indirizzo del mittente.

Per poter utilizzare un algoritmo di apprendimento, dobbiamo rappresentare l'indirizzo del mittente come numero. Un modo è semplicemente numerare i mittenti 1..n. Il nostro set di allenamento potrebbe quindi apparire così:

input per l'apprendimento automatico

Ciò non funzionerà, tuttavia, poiché algoritmi come la regressione logistica o le reti neurali apprendono modelli nei dati di input, mentre nel nostro esempio l'output sembra totalmente casuale all'algoritmo. Infatti, una volta in una classe universitaria, abbiamo provato a formare una rete neurale su un set di dati simile a questo e la rete non era in grado di apprendere nulla (la curva di apprendimento era piatta).

Utilizzeresti la regressione logistica o le reti neurali in questo esempio? Se si, in che modo? In caso contrario, quale sarebbe un buon modo per classificare le e-mail in base all'indirizzo del mittente?

Una risposta perfetta discuterà l'esempio di classificazione e-mail e la gestione di stringhe brevi in ​​ML in generale.

Risposte:


4

Uno dei modelli popolari è il modello Bag of Words

Inoltre, puoi modellare le parole come numeri interi. Hanno per questo "metriche relative alla distanza" e catturare l'essenza stessa del processo di classificazione. Tuttavia, un aspetto negativo di questo è che la fase di preelaborazione è costosa e inoltre è necessario avere una certa conoscenza del dominio.

Una metrica della distanza piuttosto famosa è la distanza di Levenshtein che si basa sul numero di modifiche di singoli caratteri. per esempio. questo è,d(walk,talk)<d(walk,plod).

Le metriche dipendono dal contesto del processo di classificazione. Ad esempio, la metrica della distanza per classificare le parole in rima sarà diversa da quelle progettate per classificare sinonimi / parole che trasmettono significati simili.Per un elenco di metriche di stringa, dai un'occhiata a questo articolo di Wikipedia .

Inoltre, puoi dare un'occhiata a questo documento di revisione .

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.