Question

J'ai besoin d'un modèle pour les tâches suivantes:

Une séquence de mots, avec ses balises POS. Je tiens à juger si cette séquence de mots est une phrase nominale ou non.

Un modèle auquel je peux penser est hmm.

Pour les séquences qui sont une phrase nommée, nous formons un HMM (HMM +). Pour ce ne sont pas des phrases nommées, nous essayons un hmm (hmm-). Et lorsque nous faisons une prédiction pour une séquence, nous pouvons calculer p (séquence | hmm +) et p (séquence | hmm-). Si le premier est plus grand, nous pensons que cette phrase est une phrase nominale, sinon ce n'est pas le cas.

Qu'est-ce que tu en penses? Et avez-vous d'autres modèles adaptés à cette question?

Était-ce utile?

La solution 3

Mon intuition est qu'un HMM n'est pas le bon modèle. Il peut être utilisé pour deviner les balises POS, en dérivant la séquence des balises avec les probabilités les plus élevées en fonction des probabilités antérieures et des probabilités conditionnelles d'un jeton à l'autre.

Pour une phrase nominale complète, je ne vois pas comment ce modèle correspond.

Toute approche basée sur les probabilités sera très difficile à former, car les phrases nominales peuvent contenir de nombreux jetons. Cela fait de très nombreuses combinaisons. Pour obtenir des probabilités de formation utiles, vous avez besoin d'ensembles de formation vraiment énormes.

Vous pouvez rapidement et facilement obtenir un début suffisamment bon en créant un ensemble de règles de grammaire, par exemple des expressions régulières, sur des étiquettes POS en suivant la description en

http://en.wikipedia.org/wiki/noun_phrase#components_of_noun_phrases

ou toute autre description linguistique des phrases nominales.

Autres conseils

D'après ce que je comprends, vous avez déjà des balises POS pour la séquence de mots. Une fois que vous avez des balises pour la séquence de mots, vous n'avez pas besoin d'utiliser HMM pour classer si la séquence est un NP. Tout ce que vous avez à faire est de rechercher des modèles des formes suivantes:

  1. déterminateur suivi du nom

  2. adjectif suivi du nom

  3. déterminateur suivi par l'adjectif suivi du nom

etc

Comme quelqu'un vient de le mentionner, les HMM sont utilisés pour obtenir des balises POS pour une nouvelle séquence de mots. Mais pour cela, vous avez besoin d'un corpus marqué pour entraîner le HMM. Il existe un corpus tagué disponible dans le logiciel NLTK.

Si vos séquences sont déjà étiquetées, utilisez simplement des règles de grammaire comme mentionné dans la réponse précédente.

Les gens utilisent des HMM pour étiqueter les phrases nominales dans des phrases marquées au Pos, mais la configuration typique du modèle ne fonctionne pas de la manière que vous décrivez.

Au lieu de cela, la configuration (voir Chunk Tagger-statistique Reconnaissance des phrases nominales (PDF) et Reconnaissance d'entité nommée à l'aide d'un Chunk Tagger basé sur HMM (PDF) pour des exemples) consiste à utiliser un HMM avec trois états:

  • O (pas dans un np),
  • B (début d'un np),
  • I (dans un NP, mais pas le début).

Chaque mot d'une phrase se verra attribuer l'un des états par le HMM. Par exemple, la phrase:

Le / dt boy / nn hit / vt the / dt ball / nn with / pp the / dt red / adjat bat / nn ./.

pourrait être idéalement étiqueté comme suit:

Le / dt B garçon / nn je hit / VT O le / dt B balle / nn je avec / pp O le / dt B rouge / adj je chauve-souris / nn je ./. O

Les transitions entre ces trois états HMM peuvent être limitées en fonction de la connaissance préalable de la façon dont les séquences se comporteront; En particulier, vous ne pouvez passer qu'à I à partir de B, mais les autres transitions sont toutes possibles avec une probabilité non nulle. Vous pouvez ensuite utiliser Baum-Welch sur un corpus de texte non marqué pour entraîner votre HMM (pour identifier tout type de morceau du tout - voir Simple induction de grammaire non supervisée à partir de texte brut avec des modèles d'état finis en cascade (PDF) pour un exemple), ou une sorte de méthode de vraisemblance maximale avec un corpus de texte étiqueté (au cas où vous recherchez spécifiquement des phrases nominales).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top