2017-09-06 7 views
0

Je travaillais sur le projet OpenNLP et je rencontrais des choses comme la génération de fonctionnalités. Que signifie exactement le terme "caractéristique"? Ce serait génial si vous pouviez l'expliquer en termes simplesQue signifie le terme "Feature" dans OpenNLP? Ou en NLP en général. Le terme Layman serait sympa

+0

Florian a raison, mais pour le traitement de la fonctionnalité NLP, c'est souvent un peu plus complexe. Vous pouvez commencer [ici] (https: //cleartk.github.io/cleartk/docs/tutorial/feature_extraction.html), bien que je l'ai seulement parcouru. – sascha

Répondre

1

Je n'utilise pas OpenNLP mais une fonctionnalité dans les termes d'apprentissage machine est une entrée pour un classificateur/régresseur/autre modèle.

Si vous voulez classer wether un être humain est mâle ou femelle vos fonctions pourrait être:

  1. Taille
  2. Liste item
  3. Poids
  4. Longueur des cheveux

Sur la base ces quatre caractéristiques vous pourriez faire une classification si c'est un homme ou une femme. Si vous générez des données plus complexes, vous pouvez résumer un grand nombre de données dans certaines fonctions. E.g. Écart-type de 100 valeurs. Ou Maximum ou ....

0

Dans la fonction Machine Learning, une propriété de vos données d'entraînement. Ou vous pouvez indiquer un nom de colonne dans votre jeu de données d'entraînement.

Supposons ceci est votre jeu de données de formation

Name Sex Age 
A  M  20 
B  F  30 
C  M  41 
D  F  51 
.  .  . 
.  .  . 
.  .  . 
.  .  . 

Puis ici Name, Sex et Age sont les caractéristiques.

0

Les autres réponses donnent une idée générale de ce qu'est une caractéristique. Pour OpenNLP et la plupart des autres classificateurs d'entropie Maximum, une fonction est vraiment une fonction d'indicateur de si un terme apparaît avec une classe, I (C, x) où c est la classe de résultat, x est le terme et I = 0 si le Le terme apparaît avec la classe (voir presentation by Chris Manning pour une meilleure description). ]

Dans openNLP (et d'autres paquets maxent), il est facile de confondre le terme (en fait, nous devrions l'appeler prédicat pas terme, qui est généralement un mot) avec la fonction (une fonction). Cependant, si vous regardez the simple football example that comes with OpenNLP (aux États-Unis, nous l'appellerions football), vous verrez qu'il n'a pas besoin d'être un unigramme; ça pourrait être quelque chose comme home = arsenal. Vous pourriez avoir [w-1: last, w: night] représenter le bigram la nuit dernière.

Quelques autres termes que vous voudrez peut-être connaître. Un événement est un point de données avec tous vos prédicats pour ce point de données (et le résultat si vous vous entraînez). Le contexte est l'ensemble des prédicats utilisés pour former/évaluer un résultat. Donc, les prédicats sont les "termes" que vous recherchez. Voici un exemple de openNLP football data set.

home=man_united Beckham=false Scholes=true Neville=true Henry=true Kanu=true Parlour=false Ferguson=confident Wengler=tense arsenal_lost_previous man_united_won_previous arsenal 
home=arsenal Beckham=false Scholes=true Neville=true Henry=true Kanu=true Parlour=false Ferguson=confident Wengler=tense arsenal_lost_previous man_united_won_previous arsenal 

chacun des termes (par exemple la maison = man_united) est un prédicat (la plupart des gens utilisent la fonction terme, mais la fonction est la maison = man_united et le résultat - arsenal). chaque ligne est un événement.

J'espère que ça aide ..