Opzioni disponibili per la classificazione delle parole nel testo?

3

Sto studiando modi per classificare le parole nel testo e mi sto chiedendo quali opzioni ci siano e quali siano le più adatte a questo lavoro. Sono principalmente interessato a parole chiave che sono più spesso sostantivi.

Finora so che potrei usare un classificatore, una lista nera o una lista bianca Bayes. Tuttavia, non ho avuto la massima fortuna con ciascuno di questi fino ad ora.

Ho iniziato con una lista bianca utilizzando le parole fornite da wordnet e moby per tentare di individuare ogni nome. Tuttavia, molte parole sono state perse in quanto non esistenti nel database, o non essendo nomi.

Successivamente ho provato a creare una blacklist per abbinare qualsiasi cosa, ad eccezione di stop-words, verbi e così via. Tuttavia, ci vorrebbe un lungo investimento di tempo per costruire un elenco abbastanza grande da gestire le 200.000 parole inglesi conosciute (figuriamoci altre lingue). Inoltre, mantenere tante parole in memoria per il confronto non è pratico per le prestazioni su hardware commodity.

Usando ho avuto fortuna con un classificatore bayes che combina spam e sentimento, ma non sono sicuro di come usarlo per dire nomi (o parole chiave) da altre parole poiché ci sono così tante somiglianze tra tutti i gruppi di parole.

Infine, ho provato a utilizzare espressioni regolari per individuare le parole chiave in base a nomi e nomi propri poiché sono sempre in maiuscolo in inglese. Il problema è che molte parole chiave non sono maiuscole, con conseguente mancanza di risultati.

Quali altre opzioni esistono per la classificazione delle parole chiave? Quali altri schemi di progettazione posso utilizzare con le opzioni sopra per ottenere risultati migliori?

    
posta Xeoncross 13.02.2012 - 18:57
fonte

2 risposte

1

Questa è la linguistica computazionale e il libro che accompagna l'open- fonte Natural Language Toolkit, Elaborazione del linguaggio naturale con Python --- Analizzare il testo con Natural Language Toolkit , è disponibile come libro cartaceo e gratuito online.

Capitolo cinque copre "tag di parte del discorso" o tagging POS con l'NLTK in dettaglio, usando i dizionari Python:

As we have seen, a tagged word of the form (word, tag) is an association between a word and a part-of-speech tag. Once we start doing part-of-speech tagging, we will be creating programs that assign a tag to a word, the tag which is most likely in a given context. We can think of this process as mapping from words to tags. The most natural way to store mappings in Python uses the so-called dictionary data type (also known as an associative array or hash array in other programming languages). In this section we look at dictionaries and see how they can represent a variety of language information, including parts of speech.

Comprende anche diversi metodi di codifica automatica del testo per identificare POS nel testo con parole sconosciute.

Alcuni altri libri introduttivi alla linguistica computazionale hanno ben suggerito in Linguistics.SE , dove è possibile porre ulteriori domande sull'argomento.

    
risposta data 14.02.2012 - 09:04
fonte
0

Forse stai cercando Natural Language Processing ?

Per classificare le parole chiave, vorrei creare un corpus di testo di esempio (o utilizzare un corpus esistente). Quindi vorrei "allenare" un algoritmo di linguaggio naturale sul tuo corpus. Quindi userò quell'algoritmo addestrato su qualunque testo tu voglia classificare.

Per iniziare, ecco un link al progetto NLP di Apache. Ed ecco un libro che ho sull'elaborazione del linguaggio naturale con Python che ho notato.

    
risposta data 13.02.2012 - 21:30
fonte

Leggi altre domande sui tag