Estamos procurando uma maneira de tokenizar algum texto da mesma maneira ou semelhante à que um mecanismo de pesquisa faria.
A razão pela qual estamos fazendo isso é para que possamos executar algumas análises estatísticas nos tokens. A linguagem que estamos usando é python, portanto, preferiria uma técnica que funcione nessa linguagem, mas provavelmente poderia configurar algo para usar outra linguagem, se necessário.
Exemplo
Token original:
Temos ótimos burritos!
Mais simplificado: (remova plurais e pontuação)
Temos um ótimo burrito
Ainda mais simplificado: (remova palavras supérfluas)
grande burrito
Melhor: (reconhecer significado positivo e negativo):
burrito -positivo-
python
search
search-engine
lucene
Chris Dutrow
fonte
fonte
Respostas:
O Python possui um ótimo kit de ferramentas de linguagem natural, o NLTK . Ele suporta a tokenização de palavras pronta para uso:
A última estrutura inclui tags de idioma natural, que permitem excluir palavras de consideração com base em sua classificação. Você provavelmente deseja focar nas tags
JJ
(adjetivo) eNN
-prefixed (noun).A partir daí, você pode aplicar o stemming e detectar adjetivos positivos e negativos.
Acredito que, para a classificação adjetiva, no entanto, você precisará criar seu próprio corpus a partir de recursos online como este ; a biblioteca fornece as ferramentas para isso.
Aqui está um exemplo derivado usando o algoritmo de derivação Porter:
O'Reilly publicou um livro na biblioteca, agora disponível online .
fonte