diff --git a/code_of_conduct_PT_BR.md b/code_of_conduct_PT_BR.md new file mode 100644 index 00000000..111c6b36 --- /dev/null +++ b/code_of_conduct_PT_BR.md @@ -0,0 +1,52 @@ +# Código de Conduta do Convênio do Colaborador + +com o objetivo de promover um ambiente aberto e acolhedor, nós, como colaboradores e mantenedores, nos comprometemos a tornar a participação em nosso projeto +e nossa comunidade uma experiência livre de assédio para todos, independentemente da idade, tamanho do corpo, deficiência, etnia, identidade de gênero +e expressão, nível de experiência, educação, status socioeconômico, nacionalidade, aparência pessoal, raça, religião ou orientação sexual +identidade e orientação. + +# Nossos Padrões + +### **Exemplos de comportamento que contribuem para um ambiente positivo para nossa comunidade incluem:** + +↳ Demonstrar empatia e bondade para com outras pessoas + +↳ Ser respeitoso com opiniões, pontos de vista e experiências diferentes + +↳ Dando e aceitando graciosamente feedback construtivo + +↳ Aceitar a responsabilidade e pedir desculpas aos afetados por nossos erros e aprender com a experiência + +↳ Focando no que é melhor não apenas para nós como indivíduos, mas para a comunidade em geral + +### **Exemplos de comportamento inaceitável incluem:** + +↳ O uso de linguagem ou imagens sexualizadas e atenção sexual ou avanços de qualquer tipo + +↳ Trolling, comentários insultuosos ou depreciativos e ataques pessoais ou políticos + +↳ Assédio público ou privado + +↳ Publicar informações privadas de outras pessoas, como um endereço físico ou de e-mail, sem sua permissão explícita + +↳ Outra conduta que possa ser razoavelmente considerada inadequada em um ambiente profissional + +# Responsabilidades de Execução + +Os líderes comunitários são responsáveis por esclarecer e fazer cumprir nossos padrões de comportamento aceitável e tomarão medidas apropriadas e +ação corretiva justa em resposta a qualquer comportamento que considerem inapropriado, ameaçador, ofensivo ou prejudicial. + +Os líderes da comunidade têm o direito e a responsabilidade de remover, editar ou rejeitar comentários, commits, códigos, edições wiki, problemas e +outras contribuições que não se alinham com este Código de Conduta e comunicarão os motivos das decisões de moderação quando +apropriado. + +# Escopo + +Este Código de Conduta se aplica a todos os espaços comunitários e também se aplica quando um indivíduo representa oficialmente a comunidade em +espaços públicos. Exemplos de representação de nossa comunidade incluem o uso de um endereço de e-mail oficial e um link para o projeto +repositório. + +# Atribuição + +Este Código de Conduta é adaptado do Pacto do Colaborador, versão 1.4, disponível em +https://www.contributor-covenant.org/version/1/4/code-of-conduct.html \ No newline at end of file diff --git a/commit_politics_PT_BR.md b/commit_politics_PT_BR.md new file mode 100644 index 00000000..bf3972a4 --- /dev/null +++ b/commit_politics_PT_BR.md @@ -0,0 +1,23 @@ +# Política de Commit + +As alterações devem ser feitas seguindo um padrão, indicando o problema resolvido e a funcionalidade (ou correção) adicionada. + +**➔ Use tags para definir o propósito do commit:** + +`ADD`: quando adicionar um novo recurso + +`DEL`: Se for um commit relacionado à remoção de algo + +`UPDATE`: quando atualizar alguma funcionalidade + +`FIX`: para referenciar correções + +`DOC`: para indicar a documentação + +`REFACT`: indica refatoração de código + +`DOC`: indica relação com a documentação + +## Exemplo de estrutura de confirmação: + + git commit -m "[tag] (Problema #x): mensagem descritiva" \ No newline at end of file diff --git a/contributing_PT_BR.md b/contributing_PT_BR.md new file mode 100644 index 00000000..2b9985dc --- /dev/null +++ b/contributing_PT_BR.md @@ -0,0 +1,62 @@ +# Bem-vindo ao guia de contribuição do StackOverflow Mining + +Obrigado por investir seu tempo em contribuir com nosso projeto! :sparkles:. + +Leia nosso [Código de Conduta](./code_of_conduct_PT_BR.md) para manter nossa comunidade acessível e respeitável. + +Neste guia, você terá uma visão geral do fluxo de trabalho de contribuição desde a abertura de um problema, criação de um PR, revisão e fusão do PR. + +## Novo guia do colaborador + +Para obter uma visão geral do projeto, leia o [README](intro.md). + +Categorizamos nossos problemas avaliando duas métricas: +- Nível de habilidade +- Funcionalidade +Veja na [guia de rótulos](https://github.com/FGA-GCES/MSR2021Replication/labels). + + +## Começando + +Para entender a estrutura de arquivos do projeto, dê uma olhada em [Introdução](./getting_started_PT_BR.md). + + +### Issues + +#### Criar um novo issue + +Se você identificar um issue com os documentos ou código, verifique se já existe um problema. + +Se um problema relacionado não existir, você pode abrir um novo problema, como regra, dois tipos de [formulário de problema](https://github.com/FGA-GCES/MSR2021Replication/tree/docs_contributing/.github/ISSUE_TEMPLATE) são usado. + +eles são: +- [Relatório de bug](./issues/bug_report.md) e o [Padrão](./issues/standard.md) + +#### Resolver um issue + +Revise nossos [issues existentes](https://github.com/FGA-GCES/MSR2021Replication/issues) para encontrar um que lhe interesse. Você pode restringir sua pesquisa usando `tags` como filtros. Consulte [Rótulos](https://github.com/FGA-GCES/MSR2021Replication/labels) para obter mais informações. Como regra geral, não atribuímos problemas a ninguém. Se você encontrar um problema para resolver, poderá abrir um PR com uma correção. + +### Crie branches + +O repositório original deve ser bifurcado. Via de regra, não serão aceitas criações de branches no fork original. + +### Política de commit + +Confirme as alterações assim que estiver satisfeito com elas. Não se esqueça de seguir a política de confirmação usada neste projeto. + +Visite [política de commit](./commit_politics_PT_BR.md) para obter mais informações! + +### política de desenvolvimento + +O código deve seguir as orientações encontradas nos documentos oficiais de cada tecnologia utilizada neste projeto. + +### Pull Request + +Quando terminar as alterações, crie uma solicitação pull, também conhecida como PR. +- Preencha o modelo "Pronto para revisão" para que possamos revisar seu PR. Este modelo ajuda os revisores a entender suas alterações, bem como o objetivo de sua solicitação pull. +- Não se esqueça de [vincular PR ao problema](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue ) se você estiver resolvendo um. +- Ative a caixa de seleção para [permitir edições do mantenedor](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch -created-from-a-fork) para que a ramificação possa ser atualizada para uma mesclagem. +Depois de enviar seu PR, um membro da equipe do Documentos revisará sua proposta. Podemos fazer perguntas ou solicitar informações adicionais. +- Podemos solicitar alterações antes que um PR possa ser mesclado, usando [alterações sugeridas](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/incorporating -feedback-in-your-pull-request) ou comentários de pull request. Você pode aplicar as alterações sugeridas diretamente por meio da interface do usuário. Você pode fazer quaisquer outras alterações em seu fork e, em seguida, confirmá-las em seu branch. +- Ao atualizar seu PR e aplicar as alterações, marque cada conversa como [resolvida](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/commenting-on-a- pull-request#resolvendo-conversas). +- Se você tiver algum problema de mesclagem, verifique este [tutorial git](https://github.com/skills/resolve-merge-conflicts) para ajudá-lo a resolver conflitos de mesclagem e outros problemas. \ No newline at end of file diff --git a/getting_started_PT_BR.md b/getting_started_PT_BR.md new file mode 100644 index 00000000..cbc1667d --- /dev/null +++ b/getting_started_PT_BR.md @@ -0,0 +1,134 @@ +# Introdução ao uso do MSR2021Replication + +## Instale o martelo + +Para instalar a ferramenta Mallet, primeiro é necessário ter a ferramenta Apache ant build tool instalada. Instale o binário de [https://ant.apache.org/](https://ant.apache.org/) e siga as [instruções do manual](https://ant.apache.org/manual/install. html#getBinary) para configurá-lo. + +Com o ant instalado e configurado, abra a pasta Mallet 2.0.8 no repositório MSR2021Replication em `mallet/mallet-2.0.8` e execute o seguinte comando: + +```sh +$ ant +``` + +A ferramenta Mallet estará disponível para uso em `mallet/mallet-2.0.8/bin/mallet`. + +## Execute com notebook jupyter + +O notebook jupyter pode ser usado para conjuntos de dados StackOverflow. Para executar o jupyter notebook, execute o seguinte comando na raiz do repositório. + +```sh +$ jupyter-notebook SO_dataset_analysis.ipynb +``` + +Siga as instruções do notebook para importar o conjunto de dados correto e executar os scripts. + +## Executar com bash + +### Instalar bibliotecas python + +Execute o seguinte comando para instalar as bibliotecas nos scripts: + +```sh +$ pip install -r notebook/requirements.txt +``` + +Abra um console Python3 com o comando: + +```sh +$ python3 +``` + +Dentro do console, baixe os pacotes nltk executando o seguinte código: +```py +import nltk + +nltk.download('punkt') +nltk.download('palavras de parada') +nltk.download('word_tokenize') +nltk.download('tokenize') +nltk.download('tronco') +``` +### Exportar as variáveis + +Use os seguintes comandos para exportar as variáveis para que os scripts possam usar o caminho correto para o conjunto de dados e a pasta de saída. + +```sh +# Caminho de exportação para o conjunto de dados brutos +$ export DATASET_PATH=./tcc/so_questions.csv + +# Exporte o caminho de saída +$ export OUTPUT_PATH=./saída + +# Exporta a divisão do número de tópicos +$ export TOPICS_NUM=15 +``` +### Preparar conjunto de dados + +Para executar o MSR2021Replication, é necessário executar o seguinte script para analisar o conjunto de dados `.csv`, limpá-lo e criar documentos para serem usados pela ferramenta malho. + +```sh +$ python3 prepare_dataset.py +``` +### Execute a ferramenta Mallet + +Execute as instruções do mallet: + +```sh +$ mallet/mallet-2.0.8/bin/mallet import-dir --input $OUTPUT_PATH/so_data/ --output $OUTPUT_PATH/so.mallet --keep-sequence --remove-stopwords --extra-stopwords extra_stopwords/so .TXT +``` + +```sh +$ mallet/mallet-2.0.8/bin/mallet train-topics --random-seed 100 --input $OUTPUT_PATH/so.mallet --num-topics 15 --optimize-interval 20 --output-state $OUTPUT_PATH/ so-topic-state.gz --output-topic-keys $OUTPUT_PATH/so_keys.txt --output-doc-topics $OUTPUT_PATH/so_composition.txt --diagnostics-file $OUTPUT_PATH/so_results/so_diagnostics.xml + +``` + +### Analisar os resultados do martelo + +Depois de executar a ferramenta mallet, execute o seguinte script. + +```sh +$ python3 manage_results.py +``` + +Este script criará arquivos de documentos para cada tópico contendo todas as questões relacionadas a este tópico. + + +## Executar com docker + +### primeiros passos + +- Baixe o docker e o docker compose + +- Extraia o arquivo so_questions.csv.zip presente na pasta TCC + +### iniciar contêiner docker + +Execute o contêiner docker + +``` make start ``` + +### Instalar dependências e exec docker + +Para instalar as dependências e entrar no container + +``` make init ``` + +### ↳ siga os próximos passos usando o bash aberto pelo comando make init: + +### Preparar dados + +Preparar dados + +``` make prepare ``` + +### Processar dados + +Processe os dados com o mallet + +``` make process ``` + +### Resultados + +Processe os resultados + +```make results``` \ No newline at end of file diff --git a/translation_PT_BR/code_of_conduct_PT_BR.md b/translation_PT_BR/code_of_conduct_PT_BR.md new file mode 100644 index 00000000..111c6b36 --- /dev/null +++ b/translation_PT_BR/code_of_conduct_PT_BR.md @@ -0,0 +1,52 @@ +# Código de Conduta do Convênio do Colaborador + +com o objetivo de promover um ambiente aberto e acolhedor, nós, como colaboradores e mantenedores, nos comprometemos a tornar a participação em nosso projeto +e nossa comunidade uma experiência livre de assédio para todos, independentemente da idade, tamanho do corpo, deficiência, etnia, identidade de gênero +e expressão, nível de experiência, educação, status socioeconômico, nacionalidade, aparência pessoal, raça, religião ou orientação sexual +identidade e orientação. + +# Nossos Padrões + +### **Exemplos de comportamento que contribuem para um ambiente positivo para nossa comunidade incluem:** + +↳ Demonstrar empatia e bondade para com outras pessoas + +↳ Ser respeitoso com opiniões, pontos de vista e experiências diferentes + +↳ Dando e aceitando graciosamente feedback construtivo + +↳ Aceitar a responsabilidade e pedir desculpas aos afetados por nossos erros e aprender com a experiência + +↳ Focando no que é melhor não apenas para nós como indivíduos, mas para a comunidade em geral + +### **Exemplos de comportamento inaceitável incluem:** + +↳ O uso de linguagem ou imagens sexualizadas e atenção sexual ou avanços de qualquer tipo + +↳ Trolling, comentários insultuosos ou depreciativos e ataques pessoais ou políticos + +↳ Assédio público ou privado + +↳ Publicar informações privadas de outras pessoas, como um endereço físico ou de e-mail, sem sua permissão explícita + +↳ Outra conduta que possa ser razoavelmente considerada inadequada em um ambiente profissional + +# Responsabilidades de Execução + +Os líderes comunitários são responsáveis por esclarecer e fazer cumprir nossos padrões de comportamento aceitável e tomarão medidas apropriadas e +ação corretiva justa em resposta a qualquer comportamento que considerem inapropriado, ameaçador, ofensivo ou prejudicial. + +Os líderes da comunidade têm o direito e a responsabilidade de remover, editar ou rejeitar comentários, commits, códigos, edições wiki, problemas e +outras contribuições que não se alinham com este Código de Conduta e comunicarão os motivos das decisões de moderação quando +apropriado. + +# Escopo + +Este Código de Conduta se aplica a todos os espaços comunitários e também se aplica quando um indivíduo representa oficialmente a comunidade em +espaços públicos. Exemplos de representação de nossa comunidade incluem o uso de um endereço de e-mail oficial e um link para o projeto +repositório. + +# Atribuição + +Este Código de Conduta é adaptado do Pacto do Colaborador, versão 1.4, disponível em +https://www.contributor-covenant.org/version/1/4/code-of-conduct.html \ No newline at end of file diff --git a/translation_PT_BR/commit_politics_PT_BR.md b/translation_PT_BR/commit_politics_PT_BR.md new file mode 100644 index 00000000..bf3972a4 --- /dev/null +++ b/translation_PT_BR/commit_politics_PT_BR.md @@ -0,0 +1,23 @@ +# Política de Commit + +As alterações devem ser feitas seguindo um padrão, indicando o problema resolvido e a funcionalidade (ou correção) adicionada. + +**➔ Use tags para definir o propósito do commit:** + +`ADD`: quando adicionar um novo recurso + +`DEL`: Se for um commit relacionado à remoção de algo + +`UPDATE`: quando atualizar alguma funcionalidade + +`FIX`: para referenciar correções + +`DOC`: para indicar a documentação + +`REFACT`: indica refatoração de código + +`DOC`: indica relação com a documentação + +## Exemplo de estrutura de confirmação: + + git commit -m "[tag] (Problema #x): mensagem descritiva" \ No newline at end of file diff --git a/translation_PT_BR/contributing_PT_BR.md b/translation_PT_BR/contributing_PT_BR.md new file mode 100644 index 00000000..b689cda4 --- /dev/null +++ b/translation_PT_BR/contributing_PT_BR.md @@ -0,0 +1,62 @@ +# Bem-vindo ao guia de contribuição do StackOverflow Mining + +Obrigado por investir seu tempo em contribuir com nosso projeto! :sparkles:. + +Leia nosso [Código de Conduta](./code_of_conduct_PT_BR.md) para manter nossa comunidade acessível e respeitável. + +Neste guia, você terá uma visão geral do fluxo de trabalho de contribuição desde a abertura de um problema, criação de um PR, revisão e fusão do PR. + +## Novo guia do colaborador + +Para obter uma visão geral do projeto, leia o [README](intro.md). + +Categorizamos nossos problemas avaliando duas métricas: +- Nível de habilidade +- Funcionalidade +Veja na [guia de rótulos](https://github.com/FGA-GCES/MSR2021Replication/labels). + + +## Começando + +Para entender a estrutura de arquivos do projeto, dê uma olhada em [Introdução](./getting_started_PT_BR.md). + + +### Issues + +#### Criar um novo issue + +Se você identificar um issue com os documentos ou código, verifique se já existe um problema. + +Se um problema relacionado não existir, você pode abrir um novo problema, como regra, dois tipos de [formulário de problema](https://github.com/FGA-GCES/MSR2021Replication/tree/docs_contributing/.github/ISSUE_TEMPLATE) são usado. + +eles são: +- [Relatório de bug](./issues/bug_report.md) e o [Padrão](./issues/standard.md) + +#### Resolver um issue + +Revise nossos [issues existentes](https://github.com/FGA-GCES/MSR2021Replication/issues) para encontrar um que lhe interesse. Você pode restringir sua pesquisa usando `tags` como filtros. Consulte [Rótulos](https://github.com/FGA-GCES/MSR2021Replication/labels) para obter mais informações. Como regra geral, não atribuímos problemas a ninguém. Se você encontrar um problema para resolver, poderá abrir um PR com uma correção. + +### Crie branches + +O repositório original deve ser bifurcado. Via de regra, não serão aceitas criações de branches no fork original. + +### Política de commit + +Confirme as alterações assim que estiver satisfeito com elas. Não se esqueça de seguir a política de confirmação usada neste projeto. + +Visite [política de commit](./commit_politics_PT_BR.md) para obter mais informações! + +### política de desenvolvimento + +O código deve seguir as orientações encontradas nos documentos oficiais de cada tecnologia utilizada neste projeto. + +### Pull Request + +Quando terminar as alterações, crie uma solicitação pull, também conhecida como PR. +- Preencha o modelo "Pronto para revisão" para que possamos revisar seu PR. Este modelo ajuda os revisores a entender suas alterações, bem como o objetivo de sua solicitação pull. +- Não se esqueça de [vincular PR ao problema](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue ) se você estiver resolvendo um. +- Ative a caixa de seleção para [permitir edições do mantenedor](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch -created-from-a-fork) para que a ramificação possa ser atualizada para uma mesclagem. +Depois de enviar seu PR, um membro da equipe do Documentos revisará sua proposta. Podemos fazer perguntas ou solicitar informações adicionais. +- Podemos solicitar alterações antes que um PR possa ser mesclado, usando [alterações sugeridas](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/incorporating -feedback-in-your-pull-request) ou comentários de pull request. Você pode aplicar as alterações sugeridas diretamente por meio da interface do usuário. Você pode fazer quaisquer outras alterações em seu fork e, em seguida, confirmá-las em seu branch. +- Ao atualizar seu PR e aplicar as alterações, marque cada conversa como [resolvida](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/commenting-on-a- pull-request#resolvendo-conversas). +- Se você tiver algum problema de mesclagem, verifique este [tutorial git](https://github.com/skills/resolve-merge-conflicts) para ajudá-lo a resolver conflitos de mesclagem e outros problemas. diff --git a/translation_PT_BR/getting_started_PT_BR.md b/translation_PT_BR/getting_started_PT_BR.md new file mode 100644 index 00000000..cbc1667d --- /dev/null +++ b/translation_PT_BR/getting_started_PT_BR.md @@ -0,0 +1,134 @@ +# Introdução ao uso do MSR2021Replication + +## Instale o martelo + +Para instalar a ferramenta Mallet, primeiro é necessário ter a ferramenta Apache ant build tool instalada. Instale o binário de [https://ant.apache.org/](https://ant.apache.org/) e siga as [instruções do manual](https://ant.apache.org/manual/install. html#getBinary) para configurá-lo. + +Com o ant instalado e configurado, abra a pasta Mallet 2.0.8 no repositório MSR2021Replication em `mallet/mallet-2.0.8` e execute o seguinte comando: + +```sh +$ ant +``` + +A ferramenta Mallet estará disponível para uso em `mallet/mallet-2.0.8/bin/mallet`. + +## Execute com notebook jupyter + +O notebook jupyter pode ser usado para conjuntos de dados StackOverflow. Para executar o jupyter notebook, execute o seguinte comando na raiz do repositório. + +```sh +$ jupyter-notebook SO_dataset_analysis.ipynb +``` + +Siga as instruções do notebook para importar o conjunto de dados correto e executar os scripts. + +## Executar com bash + +### Instalar bibliotecas python + +Execute o seguinte comando para instalar as bibliotecas nos scripts: + +```sh +$ pip install -r notebook/requirements.txt +``` + +Abra um console Python3 com o comando: + +```sh +$ python3 +``` + +Dentro do console, baixe os pacotes nltk executando o seguinte código: +```py +import nltk + +nltk.download('punkt') +nltk.download('palavras de parada') +nltk.download('word_tokenize') +nltk.download('tokenize') +nltk.download('tronco') +``` +### Exportar as variáveis + +Use os seguintes comandos para exportar as variáveis para que os scripts possam usar o caminho correto para o conjunto de dados e a pasta de saída. + +```sh +# Caminho de exportação para o conjunto de dados brutos +$ export DATASET_PATH=./tcc/so_questions.csv + +# Exporte o caminho de saída +$ export OUTPUT_PATH=./saída + +# Exporta a divisão do número de tópicos +$ export TOPICS_NUM=15 +``` +### Preparar conjunto de dados + +Para executar o MSR2021Replication, é necessário executar o seguinte script para analisar o conjunto de dados `.csv`, limpá-lo e criar documentos para serem usados pela ferramenta malho. + +```sh +$ python3 prepare_dataset.py +``` +### Execute a ferramenta Mallet + +Execute as instruções do mallet: + +```sh +$ mallet/mallet-2.0.8/bin/mallet import-dir --input $OUTPUT_PATH/so_data/ --output $OUTPUT_PATH/so.mallet --keep-sequence --remove-stopwords --extra-stopwords extra_stopwords/so .TXT +``` + +```sh +$ mallet/mallet-2.0.8/bin/mallet train-topics --random-seed 100 --input $OUTPUT_PATH/so.mallet --num-topics 15 --optimize-interval 20 --output-state $OUTPUT_PATH/ so-topic-state.gz --output-topic-keys $OUTPUT_PATH/so_keys.txt --output-doc-topics $OUTPUT_PATH/so_composition.txt --diagnostics-file $OUTPUT_PATH/so_results/so_diagnostics.xml + +``` + +### Analisar os resultados do martelo + +Depois de executar a ferramenta mallet, execute o seguinte script. + +```sh +$ python3 manage_results.py +``` + +Este script criará arquivos de documentos para cada tópico contendo todas as questões relacionadas a este tópico. + + +## Executar com docker + +### primeiros passos + +- Baixe o docker e o docker compose + +- Extraia o arquivo so_questions.csv.zip presente na pasta TCC + +### iniciar contêiner docker + +Execute o contêiner docker + +``` make start ``` + +### Instalar dependências e exec docker + +Para instalar as dependências e entrar no container + +``` make init ``` + +### ↳ siga os próximos passos usando o bash aberto pelo comando make init: + +### Preparar dados + +Preparar dados + +``` make prepare ``` + +### Processar dados + +Processe os dados com o mallet + +``` make process ``` + +### Resultados + +Processe os resultados + +```make results``` \ No newline at end of file