Como agrupar palavras-chave do mecanismo de pesquisa?
No Google Analytics, tenho uma lista (longa) de palavras-chave que as pessoas usaram nos mecanismos de pesquisa para encontrar meu site. Quero encontrar as 'palavras-chave principais', exemplo hipotético:
java online training
learning java
scala training
training for java
online training java
learn scala programming
O resultado ideal seria: 'java', 'treinamento online', 'treinamento', 'scala' e 'aprender'.
A dificuldade parece estar em detectar frases completas, ignorando palavras comuns (para) e manipulando variações (aprender-aprender).
Existe uma biblioteca que pode fazer isso (de preferência para JVM)? Ou existe um algoritmo adequado que eu possa me implementar?