Palavras-chave para classificação de texto: Por que não usar apenas frequências de palavras em vez de TFIDF?

24

Uma abordagem comum à classificação de texto é treinar um classificador a partir de um 'saco de palavras'. O usuário leva o texto para ser classificado e conta as frequências das palavras em cada objeto, seguido por algum tipo de corte para manter a matriz resultante de um tamanho gerenciável.

Muitas vezes, vejo usuários construindo seu vetor de recurso usando o TFIDF. Em outras palavras, as frequências de texto mencionadas acima são ponderadas pela frequência das palavras em corpus. Entendo por que o TFIDF seria útil para selecionar as palavras 'mais distintivas' de um determinado documento para, digamos, exibir a um analista humano. Mas, no caso de categorização de texto usando técnicas padrão de supervisão supervisionada, por que se preocupar em diminuir o peso pela frequência de documentos no corpus? O próprio aluno não decidirá a importância de atribuir a cada palavra / combinação de palavras? Ficaria grato por seus pensamentos sobre o valor que as IDF agregam, se houver.

shf8888
fonte

Respostas:

29

A resposta é muito direta: o TF-IDF pode obter melhores resultados do que simples frequências a termo quando combinado com alguns métodos supervisionados.

O exemplo canônico está usando similaridade de cosseno como uma medida de similaridade entre documentos. Tomar o cosseno do ângulo entre a representação vetorial de documentos TF-IDF pode recuperar com êxito documentos semelhantes relevantes com maior precisão do que apenas o TF.

Isso ocorre porque o IDF reduz o peso atribuído às palavras comuns e destaca as palavras incomuns em um documento. A maioria dos artigos de notícias não é sobre avestruzes; portanto, um artigo de notícias contendo "avestruz" é incomum, e gostaríamos de saber isso ao tentar encontrar documentos semelhantes.

Mas, no caso de categorização de texto usando técnicas padrão de supervisão supervisionada, por que se preocupar em diminuir o peso pela frequência de documentos no corpus? O próprio aluno não decidirá a importância de atribuir a cada palavra / combinação de palavras?

Isso ilustra um ponto-chave no aprendizado de máquina: melhores recursos tendem a superar um algoritmo mais inteligente. Uma ferramenta ML está apenas tentando aprender uma função para mapear as entradas para as saídas . Se nossa representação de é tão boa que eles já são basicamente (ou, em um caso ideal, literalmente sãoxyxyy), tornamos a tarefa muito mais fácil para nós mesmos e nossos computadores pobres e sobrecarregados! Acho que esse é um componente subestimado do campo - as pessoas passam muito tempo estudando e considerando os algoritmos porque são independentes do domínio, mas saber mais sobre seus dados e o problema que você está tentando resolver pode sugerir caminhos para coleta de dados aprimorada ou representação de dados que tornam a tarefa muito mais fácil - e tão fácil que um modelo de sofisticação sofisticada é desnecessário.

Vários recursos podem ser encontrados aqui , que reproduzo por conveniência.

  • K. Sparck Jones. "Uma interpretação estatística da especificidade do termo e sua aplicação na recuperação". Journal of Documentation, 28 (1). 1972.

  • G. Salton e Edward Fox e Wu Harry Wu. "Recuperação estendida de informações booleanas". Comunicações da ACM, 26 (11). 1983.

  • G. Salton e MJ McGill. "Introdução à recuperação de informação moderna". 1983

  • G. Salton e C. Buckley. "Abordagens de ponderação de termos na recuperação automática de texto". Processamento e gerenciamento de informações, 24 (5). 1988.

  • H. Wu e R. Luk e K. Wong e K. Kwok. "Interpretando pesos de termo de TF-IDF como tomando decisões relevantes". Transações da ACM em sistemas de informação, 26 (3). 2008.

Sycorax diz restabelecer Monica
fonte
Obrigado pela observação @ user777! Aprecie isso. Estou dando uma olhada nesses artigos. Existem classes gerais de algoritmos que esperamos beneficiar preferencialmente do TFIDF versus apenas do TF?
Shf8888
@ shf8888 Não tenho certeza se existem classes gerais em que uma é melhor. É possível! Tanto quanto sei, o primeiro reflexo de alguém trabalhando em uma tarefa de PNL é experimentar o TF e depois o TF-IDF como métodos de linha de base antes de avançar para um modelo mais complicado. Dessa forma, você pode quantificar quanto aumento de desempenho você compra para o aumento de esforço gasto usando modelos cada vez mais complicados.
Sycorax diz Restabelecer Monica
Muito obrigado! Bem, a resposta que "TFIDF empiricamente pode fornecer desempenho aprimorado sobre TF com alguns algoritmos" (se você não se opuser ao meu resumo de uma frase) é definitivamente boa da minha perspectiva. Obrigado pelas referências.
Shf8888
2

No caso típico, você pode ter muito mais documentos em seu corpus do que documentos rotulados. Isso significa que o IDF pode ser calculado de maneira muito mais precisa e completa ao usar todo o corpus.

Em seguida, considere o caso em que o corpus no qual você pode colocar as mãos até agora está todo rotulado ou o subconjunto rotulado é "grande o suficiente". Nesse caso, o número de iterações necessárias para o treinamento poderia ser menor ao usar o TfIDF, porque o algoritmo de aprendizado não precisaria aprender tanto.

Finalmente, nesse mesmo caso, você também pode fornecer tf somente, ou tf e idf separadamente (ou até incluir tfidf também). Eu acho que isso poderia gerar melhores resultados, por exemplo, ao usar uma função sofisticada do kernel.

shuri
fonte