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.

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.


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.