Problema de classificação de texto: Word2Vec / NN é a melhor abordagem?

10

Estou procurando projetar um sistema que, com um parágrafo de texto, possa categorizá-lo e identificar o contexto:

  1. É treinado com parágrafos de texto gerados pelo usuário (como comentários / perguntas / respostas)
  2. Cada item do conjunto de treinamento será marcado com. Assim, por exemplo ("categoria 1", "parágrafo de texto")
  3. Haverá centenas de categorias

Qual seria a melhor abordagem para construir esse sistema? Eu estive procurando algumas opções diferentes e a seguir está uma lista de possíveis soluções. O Word2Vec / NN é a melhor solução no momento?

  1. Rede de tensores neurais recursivos alimentada com dados médios do Word2Vec
  2. RNTN e o vetor de parágrafo ( https://cs.stanford.edu/~quocle/paragraph_vector.pdf )?
  3. TF-IDF usado em uma rede Deep Belief
  4. TF-IDF e regressão logística
  5. Saco de palavras e classificação Naive Bayes
Shankar
fonte
Você pode esclarecer que tipo de categorias? Será necessário lidar com novas categorias e / ou palavras invisíveis? Os requisitos referentes a termos pouco frequentes e categorias invisíveis ajudarão no design do sistema.
NBartley
Obrigado @NBartley. Palavras invisíveis também terão uma alta probabilidade. Os parágrafos de entrada serão conteúdo gerado pelo usuário, portanto, a possibilidade de novas palavras não vistas será muito alta. As categorias seriam definidas, mas precisaremos expandir a lista de categorias ao longo do tempo. Obrigado
Shankar
Você também deve acessar o sense2vec arxiv.org/abs/1511.06388 . Em poucas palavras, trata-se de combinações de palavras combinadas com a marcação em parte do discurso. É relatado que tornou as combinações de palavras mais precisas por homônimos desambiguantes. Seria interessante ver se isso também melhora o desempenho nas tarefas de classificação.
Wacax

Respostas:

5

1) A entropia máxima (regressão logística) em vetores TFIDF é um bom ponto de partida para muitas tarefas de classificação da PNL.

2) O Word2vec é definitivamente algo que vale a pena tentar e comparar com o modelo 1. Eu sugeriria o uso do sabor do Doc2Vec para examinar sentenças / parágrafos.

Quoc Le e Tomas Mikolov. Representações distribuídas de frases e documentos. http://arxiv.org/pdf/1405.4053v2.pdf

Gensim (python) tem um bom modelo Doc2vec.

rushimg
fonte
Obrigado @rushimg. Se as categorias estão intimamente relacionadas, ou seja, o parágrafo do texto que é usado como entrada tem uma grande quantidade de palavras comuns, qual das duas abordagens seria melhor para entender o contexto e diferenciar as duas?
Shankar
Eu usaria o modelo Doc2Vec devido ao fato de remover a suposição de palavras do modelo max-ent. Se tf-idf for usado como recurso no modelo max-ent, isso também reduziria o impacto de palavras comuns. Acho que experimentar os dois métodos e ajustá-los seria o melhor curso de ação.
rushimg