Coder Social home page Coder Social logo

richecr / pyelit Goto Github PK

View Code? Open in Web Editor NEW
4.0 0.0 2.0 41.05 MB

Repository for the development of a library with features of: Geoparsing and Topic Modeling

Home Page: https://richecr.github.io/PyElit/

License: MIT License

Python 100.00%
geoparsing topic-modeling gensim lda-model spacy-nlp gazetteer hacktoberfest

pyelit's Introduction

PyPI PyPI - License

Extraction of Locations and Issues of a Text

Why this library exist ?

It started with a research at LSI-UFCG and the activities are with Geoparsing and Topic Modeling. With the activities carried out, it was decided that it would be appropriate to create this library to be made available to the community.

Objective:

  • The objective of the library is to create a Geoparsing and an Urban Problem Classifier.
  • The output from this library will be used in another application in the area of ​​smart cities.
  • Contribute to the Geoparsing and Topic Modeling community.

Library documentation:

Contributing:

Contributions, issues and features are welcome. We have the file CONTRIBUTING.md to help contributors.

Author:

pyelit's People

Contributors

lucascz37 avatar richecr avatar samuelcomputacao avatar

Stargazers

 avatar  avatar  avatar  avatar

pyelit's Issues

Alterações nos pacotes requeridos para utilização da biblioteca

Problema:

  • No arquivo setup.py as bibliotecas requeridas para o funcionamento são adicionadas de forma manual.

Solução:

  • Fazer a leitura do arquivo requirements.txt e adicionar as bibliotecas necessárias para o funcionamento no arquivo setup.py. Assim tendo apenas que colocar as bibliotecas usadas em um arquivo.

Documentação /docs para inglês

Descrição:
Passar a documentação da biblioteca para inglês.

Necessidade:
Para atingir um público maior. E assim trazer mais contribuidores.

Implementação:
Não irá interferir no código.

  • Teve uma alteração na classe Topic Modeling. Apenas para passar os nomes dos tópicos para inglês.

Documentação das funções para inglês

Descrição:
Passar a documentação das funções para inglês. Assim podendo atingir um público maior.

Necessidade:
Para atingir um público maior. E assim trazer mais contribuidores.

Implementação:
Não irá interferir no código, basta passar as doc string que estão em PT para EN.

Geoparsing - Junção dos endereços

Permitir que a junção de endereços só ocorra se um endereço for do tipo rua e outro do tipo bairro ou cidade. Assim melhorando a busca por endereços.

Pode ser preciso realizar mais testes para verificar se isso é necessário.

Algoritmos para escolher melhores endereços

Descrição
Implementar uma lógica de pegar os melhores endereços filtrados por meio do gazetteer.

Soluções:

  1. Ordenar pelo tipo do endereço.

    • Nível de prioridades:
      • School: Alta
      • Residentia": Médio
      • Geral: Baixo
  2. Filtrar por endereços que estejam em um determinado bairro que também esteja nestes endereços.

  3. Olhar qual endereço mais se repete no texto.

  4. Aplicar os três algoritmos acima.

  5. Dar a opção do usuário escolher o algoritmo desejado.

README para inglês

Descrição:
Passar o README.md para inglês.

Necessidade:
Para atingir um público maior. E assim trazer mais contribuidores.

Adicionar o CONTRIBUTING.md

Esse arquivo será útil para novos desenvolvedores que desejem contribuir no projeto ou até mesmo entender o funcionamento para usar em seu projeto específico.

Adicionar testes na aplicação

Descrição da feature:
Como descrito no título

Necessidade:
Testes são bastante úteis, pois garantem o funcionamento da aplicação. Facilitando para implementar novas funcionalidades.

Implementação:
Usar o pytest para realização dos testes

CONTRIBUTING para inglês

Descrição:
Passar o CONTRIBUTING.md para inglês.

Necessidade:
Para atingir um público maior. E assim trazer mais contribuidores.

Googletrans lib is in trouble

Bug description:

We use this lib to translate the text into English so that we then use the truecaser in the text.

Reproduce the bug:
Steps to reproduce the bug:

Just try to perform geoparsing with an incorrect case.

Expected behavior:

You should translate the text into English and then do the text tricks and finally geoparsing

Versão 0.2.0 - Mudanças

Mudanças feitas/a serem feitas:

  • Correção do problema de dependências para o usuário. #9
  • Ordenar pela probabilidade dos tópicos classificados no TopicModeling.
  • Ordenar por endereços que são da cidade que foi encontrada no texto.
  • Issue #11.
  • Issue #13.
  • Issue #14.
  • Issue #18
  • Issue #22
  • Issue #25
  • Issue #26
  • Issue #27
  • Issue #28
  • Issue #29

Geoparsing - Mudar o uso do gazetteer

Atualmente ignoramos os dados(nomes de endereços) duplicados do gazetteer. Mas percebemos que isso prejudica o modelo, pois existem ruas com mesmo nomes de cidades diferentes. A solução seria ao salvar em um dicionário Python, utilizemos uma chave para cada endereço, e o valor será um array(nome, tipo e coordenadas).

Saída do Geoparsing usando gazetteer

Utilizar o geocoder
Ao usuário escolher utilizar o gazetteer, deverá ser retornado um endereço com os mesmos dados do geocoder. Como o gazetteer tem as coordenadas, pode utiliza-las para achar o endereço no geocoder e então retorna esse objeto de endereço.

Necessidade:
Para a saída ficar igual a outra funcionalidade de caso eu não utilize o gazetteer.

Topic Modeling: Switching from implementation to XGBoost

Feature description:

Change the implementation of the current topic modeling to xgboost, since it obtained better results in new studies.

Research: https://drive.google.com/file/d/11CdWkqLgQ3f-1FNI1AvNwKEIkYO336Z_/view?usp=sharing and https://drive.google.com/file/d/16ifjhucCLsFbN3Y2PgZWfORj2-viepmg/view?usp=sharing

Need:
There was a great improvement in the model. Accuracy: 83%

Implementation:

  • The texts were labeled with one of the chosen categories.
  • Then, a study was carried out in the database, to remove the categories that appear in less than 90 texts.
  • And then it was trained using XGBoost and BI-LSTM, and XGBoost achieved superior accuracy.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.