Como já discutimos no artigo anterior sobre a remoção de stopwords, outra vertente que é bastante útil parra o Processamento de Linguagem Natural é como remover símbolos usando o Java.
Sabemos que em muitas línguas a pontuação pode ter funções essenciais para compreensão do texto. No entanto, em abordagens de PLN a pontuação é encarada como um caractere assim como uma letra. Sendo assim, ela pode ser considerada em alguns contextos como “lixo”.
Isso depende muito da sua aplicação, para decidir isso você precisará compreender quais símbolos não tem nenhum significado para seu texto. Imagine por exemplo que você busca por nomes dentro de um texto, nesse contexto remover pontuações, números e outros símbolos parece completamente razoável. Portanto, a remoção de símbolos é feita de acordo com o contexto.
A seguir iremos mostrar um algoritmo em Java que utiliza uma lista de caracteres para remove-los de um corpus específico.
import Modules.PreProcessing.Interfaces.SymbolsRemover;
import Util.LoadFiles;
import Util.Paths;
import Util.StringUtils;
import java.util.ArrayList;
public class SymbolsRemoveUsingLists implements SymbolsRemover{
private String pathToSymbolsList;
@Override
public String removeSymbols(String words) {
if(pathToSymbolsList == null
|| pathToSymbolsList.isEmpty()){
throw new InvalidPathException();
}
ArrayList<String> symbols =
LoadFiles.loadSingleFile(pathToSymbolsList);
ArrayList<String> retorno;
symbols.toString();
for(String sy: symbols){
if(words.contains(sy))
words = words.replace(sy, "");
}
retorno = StringUtils.stringToArrayOfWords(words);
ArrayList<String> r = new ArrayList<>();
for(String a: retorno){
if(a.length() > 1){
r.add(a);
}
}
return StringUtils.arrayOfWordsToString(r);
}
public String getPathToSymbolsList() {
return pathToSymbolsList;
}
public void setPathToSymbolsList(String pathToSymbolsList) {
this.pathToSymbolsList = pathToSymbolsList;
}
}
As demais classes relacionadas neste código pode ser encontrada em nosso github. Clique na imagem abaixo para acessar este e outras ferramentas de PLN.
Esse artigo ainda é um rascunho e será melhorado em breve. Estamos em um processo de melhoria contínua do nosso conteúdo e logo estaremos refatorando posts como esse e trazer mais informações. Fique à vontade para contribuir conosco usando os nossos contatos.
Esse post foi modificado em 29 de dezembro de 2021 13:14
This website uses cookies.