Pergunta

Eu preciso de um modelo para as seguintes tarefas:

uma sequência de palavras, com a sua POS tags.Eu quero julgar se esta sequência de palavras é uma Locução Substantiva ou não.

Um modelo que eu posso pensar em HMM.

Para aqueles seqüências que são locução substantiva, nós treinamos um HMM (HMM+).Para aqueles que não estão locução substantiva, nós tentamos um HMM(HMM-).E quando temos previsão para uma sequência, podemos calcular P(seqüência| HMM+) e P(seqüência|-HMM -).Se o primeiro é maior, pensamos que esta frase é uma locução substantiva, caso contrário não.

O que você acha disso?e você tem outros modelos adequados para esta pergunta?

Foi útil?

Solução 3

Meu palpite é que um HMM não é o modelo certo. Ele pode ser usado para adivinhar as tags POS, derivando a sequência de tags com as mais altas probabilidades com base em probabilidades anteriores e probabilidades condicionais de um token para o outro.

Para uma frase de substantivo completa, não vejo como esse modelo corresponde.

Qualquer abordagem baseada em probabilidade será muito difícil de treinar, porque as frases substantivas podem conter muitos tokens. Isso contribui para muitas combinações. Para obter probabilidades úteis de treinamento, você precisa de grandes conjuntos de treinamento.

Você pode obter um começo suficientemente bom suficiente ao criar um conjunto de regras gramaticais, por exemplo, expressões regulares, sobre tags de POS seguindo a descrição em

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

ou qualquer outra descrição linguística das frases substantivas.

Outras dicas

Pelo que eu entendi, você já tem POS tags para a sequência de palavras.Uma vez que você tenha tags para a sequência de palavras, você não precisa usar HMM para classificar se a seqüência é uma NP.Tudo o que você precisa fazer é olhar para os padrões de uma das seguintes formas:

  1. determinador seguido por substantivo

  2. adjetivo seguido de substantivo

  3. determinador seguido de adjetivo seguido de substantivo

etc

Como alguém que acabamos de mencionar,HMMs são usadas para obter POS tags para nova sequência de palavras.Mas para isso você precisa de um corpus anotado para treinar o HMM.Há alguns corpus anotado disponíveis no NLTK de software.

Se o seu sequências já estão marcadas em seguida, basta utilizar as regras gramaticais, como mencionado na resposta anterior.

As pessoas usam HMMs para rotular frases substantivas em frases marcadas com POS, mas a configuração do modelo típica não funciona da maneira que você está descrevendo.

Em vez disso, a configuração (veja Reconhecimento estatístico de tagger de pedaços de frases substantivas (PDF) e Reconhecimento de entidade nomeado usando um tagger de chunk (pdf) baseado em HMM (PDF) Para exemplos) é usar um HMM com três estados:

  • O (não em um NP),
  • B (Início de um NP),
  • Eu (em um NP, mas não no começo).

Cada palavra em uma frase será atribuída um dos estados pelo HMM. Como exemplo, a frase:

O menino/dt/nn atinge/vt a bola/dt/nn com/pp o/dt vermelho/adjat bat/nn ./.

Pode ser idealmente rotulado da seguinte maneira:

O/dt B menino/nn EU hit/vt O o/dt B bola/nn EU com/pp O o/dt B vermelho/adj EU BAT/NN EU ./. O

As transições entre esses três estados HMM podem ser limitadas com base no conhecimento prévio de como as seqüências se comportarão; Em particular, você só pode fazer a transição para I a partir de B, mas as outras transições são todas possíveis com probabilidade diferente de zero. Você pode usar Baum-Welch em um corpus de texto não marcado para treinar seu hmm (para identificar qualquer tipo de pedaço-veja Indução gramatical simples não supervisionada de texto bruto com modelos de estado finito em cascata (PDF) por um exemplo), ou algum tipo de método de probabilidade máxima com um corpus de texto rotulado (caso você esteja procurando especificamente para frases substantivas).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top