Skip to content

Projeto de detecção de keyboard smashing do Squad 3 de 2022-2 da disciplina de MDS

License

Notifications You must be signed in to change notification settings

fga-eps-mds/2022-2-IsItKbs

Repository files navigation

Detecting Keyboard Smashing



Read this in english.

📑 Sumário


🔎 Visão Geral

  • Qual o objetivo desse software?
  • O Is it KBS é um pacote python com funções capazes de determinar se entradas de texto são consideradas ou não keyboard smashing, sendo assim, cientistas de dados podem usar a biblioteca para auxiliá-los no processo de limpeza de bases de dados.
  • O que é keyboard smashing?
  • Keyboard smashing é a entrada ilógica e desordenada de dados, que acaba por comprometer a análise textual por sistemas de software. Ex.:
  • yyyyyy - É keyboard smashing.
  • aslkhfg - É keyboard smashing.
  • hello - Não é keyboard smashing.

  • 🛠 Tecnologias utilizadas

    Python Jupyter Notebook Pandas scikit-learn NLTK HTML5 JavaScript CSS3


    📝 Guia de instalação

  • Necessário ter Python3 e pip.
  • Faça a instalação do nosso pacote com o pip no seu terminal python:
  • pip install isitkbs
    

    (as demais bibliotecas necessárias são instaladas automáticamente com o comando acima)


    ⚙ Funcionalidades

    isitkbs

    # Instanciação da classe
    isitkbs(model='randomforest')

    Instancia o objeto com o modelo desejado.

    wordkbs

    wordkbs(input_data)

    Analisa uma palavra e a classifica como keyboard smashing ou normal.

    sentkbs

    sentkbs(input_data)

    Retorna uma lista dos keyboard smashings encontrados em uma frase.

    freqkbs

    freqkbs(input_data, graph=False)

    Retorna a composição de letras da palavra e pode plotar um gráfico.

    replacekbs

    replacekbs(input_data, value=None, inplace=False, just_word=False)

    Substitui os keyboard smashing encontrados em um dataframe/lista/string, por um valor especificado pelo usuário.

    Caso você queira ver detalhes sobre as funções, aqui está o link para nossa documentação.


    📋 Exemplos

    isitkbs

    # Importação da classe isistkbs do pacote isitkbs
    from isitkbs import isitkbs 
    
    # Instanciação da classe
    kbs = isitkbs() # Random Forest
    kbs = isitkbs(model='randomforest') # Random Forest
    kbs = isitkbs(model='naivebayes') # Naive Bayes

    wordkbs

    kbs.wordkbs('yyyyyy')
    1
    kbs.wordkbs('Hello')
    0

    sentkbs

    kbs.sentkbs('Hello world')
    []
    kbs.sentkbs('aspdo asocjn')
    ['aspdo', 'asocjn']

    freqkbs

    kbs.freqkbs('aaddsffgd', graph=False)
    {'a': 2, 'd': 3, 'f': 2, 'g': 1, 's': 1}
    kbs.freqkbs('aaddsffgd', graph=True)
    {'a': 2, 'd': 3, 'f': 2, 'g': 1, 's': 1}

    replacekbs

    # Criação de dataframe de exemplo
    d = {'Exemplo': ["The World is beautiful", "Our project detects khhyaktvb"]}
    df_exemplo = pandas.DataFrame(data=d)
    Exemplo
    The World is beautiful
    Our project detects khhyaktvb
    kbs.replacekbs(input_data=df_exemplo, value="Detectado", just_word=False)
    Exemplo
    The World is beautiful
    Detectado
    kbs.replacekbs(input_data=df_exemplo, value="Detectado", just_word=True)
    Exemplo
    The World is beautiful
    Our project detects Detectado

    📚 Documentação


    📁 Diretórios

    /.github <- Templates para issues e pull requests.

    /estudos <- Projetos e scripts pequenos para treino da equipe.

    /data <- Bases de dados utilizadas no treinamento do algoritmo.

    /dist <- Distribuições do nosso pacote comprimidas.

    /docs <- Documentações, principalmente da gitpage.

    /isitkbs.egg-info <- Informações de empacotamento.

    /isitkbs <- Definição das funções que serão utilizadas pelos usuários.

    /models <- Modelos já treinados.

    /notebooks <- Jupyter notebooks usados para testes de funcionalidades.

    /src <- Scripts para tratamento de dados, feature engineering e treinamento de algoritmos.


    👨‍🔧 Quer contribuir?

    Para saber sobre como contribuir para o nosso projeto, clique neste link.

    👨‍💻 Contribuidores


    Arthur de Melo


    Arthur Grandão


    Douglas Alves


    Gabriel Campello


    Paulo Victor


    Rafael Ferreira


    Sidney Fernando


    ©Licença

    This software is licensed under the MIT ©