Em que n gramas n se tornam contraproducentes?

13

Ao fazer o processamento da linguagem natural, pode-se pegar um corpus e avaliar a probabilidade da próxima palavra ocorrer em uma sequência de n. n é geralmente escolhido como 2 ou 3 (bigrams e trigramas).

Existe um ponto conhecido em que o rastreamento dos dados para a enésima cadeia se torna contraproducente, dado o tempo necessário para classificar um corpus específico uma vez nesse nível? Ou dado o tempo necessário para procurar as probabilidades de um dicionário (estrutura de dados)?

jonsca
fonte
relacionadas com esse outro segmento sobre a maldição da dimensionalidade
Antoine

Respostas:

2

Existe um ponto conhecido em que o rastreamento dos dados para a enésima cadeia se torna contraproducente, dado o tempo necessário para classificar um corpus específico uma vez nesse nível?

Você deve procurar por tabelas ou plotagens de perplexidade versus n-grama .

Exemplos:

http://www.itl.nist.gov/iad/mig/publications/proceedings/darpa97/html/seymore1/image2.gif :

insira a descrição da imagem aqui

http://images.myshared.ru/17/1041315/slide_16.jpg :

insira a descrição da imagem aqui

http://images.slideplayer.com/13/4173894/slides/slide_45.jpg :

insira a descrição da imagem aqui

A perplexidade depende do seu modelo de idioma, tamanho de n-grama e conjunto de dados. Como sempre, há uma troca entre a qualidade do modelo de linguagem e o tempo que leva para ser executado. Atualmente, os melhores modelos de idiomas são baseados em redes neurais; portanto, a escolha do tamanho de n-grama é um problema menor (mas você precisa escolher o (s) tamanho (s) do filtro se usar CNN, entre outros hiperparâmetros ...).

Franck Dernoncourt
fonte
12

Sua medida de "contraproducente" pode ser arbitrária - por exemplo, com muita memória rápida, ele poderia ser processado mais rapidamente (mais razoavelmente).

Depois de dizer isso, o crescimento exponencial aparece e, pelas minhas próprias observações, parece estar em torno da marca de 3-4. (Eu não vi nenhum estudo específico).

Os trigramas têm uma vantagem sobre os bigramas, mas são pequenos. Eu nunca implementei 4 gramas, mas a melhoria será muito menor. Provavelmente uma ordem similar de magnitude diminui. Por exemplo. se os trigramas melhoram 10% as coisas, então uma estimativa razoável para 4 gramas pode ser 1% de melhoria em relação aos trigramas.

No entanto, o verdadeiro assassino é a memória e a diluição das contagens numéricas. Com um10,000 palavra única, então um modelo de bigram precisa 100002valores; um modelo de trigrama precisará100003; e 4 gramas precisarão100004. Agora, tudo bem, essas serão matrizes esparsas, mas você entendeu. Há um crescimento exponencial no número de valores e as probabilidades ficam muito menores devido a uma diluição das contagens de frequência. A diferença entre a observação 0 ou 1 se torna muito mais importante e, no entanto, as observações de frequência de 4 gramas individuais caem.

Você precisará de um corpus enorme para compensar o efeito de diluição, mas a Lei de Zipf diz que um corpus enorme também terá palavras ainda mais únicas ...

Especulo que é por isso que vemos muitos modelos, implementações e demonstrações de bigram e trigram; mas não há exemplos de 4 gramas totalmente funcionais.

winwaed
fonte
2
Um bom resumo. As páginas 48-53 ("diatribe cínica longa e divagante") do artigo a seguir fornecem mais detalhes sobre isso (o artigo inclui alguns resultados também para n-gramas de ordem superior) research.microsoft.com/~joshuago/longcombine.pdf
Yevgeny
2
O link está morto. Aqui está a referência completa e o link para a versão do arXiv: Joshua T. Goodman (2001). Um pouco de progresso na modelagem de idiomas: versão estendida. Pesquisa da Microsoft: Redmond, WA (EUA). Relatório técnico MSR-TR-2001-72.
scozy