Script para pré-processar um corpus simples de documentos armazenado em um arquivo JSON. O script realiza remoção de caracteres especiais, tokenização, remoção de stopwords, lematização e remoção de caregorias de part-of-speech (POS).
Para executar o script principal deste diretório, use python preprocess.py. Os argumentos que o script recebe são os seguintes:
datasetFile(obrigatório) - caminho do arquivo do dataset. Deve ser um arquivo JSON;datasetName(obrigatório) - nome do dataset a ser pré-processado. Usado para gerar o nome do arquivo pós-processado;datasetFolder(obrigatório) - diretório onde o dataset será salvo após seu processamento. O diretório poderá ser encontrado no caminhodatasets/processed/<datasetFolder>;field(obrigatório) - campo a ser pré-processado do dataset. Deve ser um campo existente nos documentos presentes no dataset em formato JSON passado;lang(obrigatório) - idioma do corpus. Pode receber"en"ou"pt";lemmatize- indica se palavras devem ser reduzidas aos seus lemas ou não. RecebeTruepara ativar ouFalsepara desativar. Por padrão, está desativado;removeStopwords- indica se deve remover stopwords. As stopwords serão procuradas com base em listas de palavras definidas para o idioma passado no argumentolang. CasostopwordsFileseja passado, as palavras presentes no arquivo também serão removidas caso encontradas no corpus. RecebeTruepara ativar ouFalsepara desativar. Por padrão, está desativado;;stopwordsFile- arquivo com stopwords adicionais para remoção;removePos- indica se deve remover categorias de POS. As categorias de POS devem ser indicadas no argumentodesiredPos. RecebeTruepara ativar ouFalsepara desativar. Por padrão, está desativado;;desiredPos- lista de categorias de POS que devem ser removidas do corpus. Caso seja passado,removePosdeve ser passado com o valorTrue. As categorias seguem a nomenclatura usada pela biblioteca spaCy.
Um exemplo de comando é o seguinte:
python preprocess.py --datasetFile datasets/reddit_pt_2005_2020_desabafos_brasil.json --datasetName 2005_2020_desabafos_brasil_pt --datasetFolder example_datasets --field body --lang pt --lemmatize True --removePos True --desiredPos NOUN VERB ADJ --removeStopwords True