mth-back

Repositorio para mi Trabajo de Fin de Máster

https://github.com/jgalanl/mth-back

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (1.3%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Repositorio para mi Trabajo de Fin de Máster

Basic Info
  • Host: GitHub
  • Owner: jgalanl
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Size: 30.2 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 10
  • Releases: 0
Created about 5 years ago · Last pushed about 3 years ago
Metadata Files
Readme License Citation

README.md

Arquitectura para la integración de servicios de Procesamiento de Lenguaje Natural para la simplificación léxica en español

En la actualidad, 585 millones de personas en el mundo hablan español como lengua nativa, segunda o extranjera, lo que le convierte en la tercera lengua en cómputo general de habitantes solo por detrás del inglés y del chino mandarín. Sin embargo, está en una posición desfavorable respecto a los recursos tecnológicos disponibles en la red que puedan ser utilizados e integrados en proyectos de Procesamiento del Lenguaje Natural (PLN).

El PLN es la ciencia que investiga la comunicación entre los seres humanos y los ordenadores mediante el uso de los lenguajes naturales. Independientemente de sus características, cualquier lenguaje natural puede ser analizado lingüísticamente con el fin de utilizarlo para comunicarnos, pero, por motivos de interés y económicos, solamente un grupo de ellos se estudia ampliamente en la actualidad. En el caso del español, debido principalmente a su número de hablantes en el mundo, las grandes empresas tecnológicas lo incluyen en la mayoría de sus productos y realizan estudios de PLN, pero sigue estando muy lejos a nivel de recursos de la lengua dominante en este campo, el inglés. Esta diferencia se hace más notable en el caso de software libre disponible en la red, accesible y respaldado por una autoridad.

Este trabajo tiene como principal objetivo la definición e implementación de una arquitectura para ofrecer distintos servicios en el área del PLN en español, centrándose en el campo de la simplificación léxica. Los servicios que se ofrecen conforman un abanico de posibilidades con el fin de crear una base sólida que facilite el desarrollo de nuevas iniciativas dentro de esta área. Estos servicios estarán disponibles a través de una API RESTful pública que cumple con todas las características definidas en la arquitectura API REST con el fin de facilitar su integración con otros sistemas y su reutilización.

La implementación del proyecto se ha realizado utilizando recursos proporcionados por el grupo de investigación Human Language & Accessibility Technologies (HULAT) de la universidad. El código del proyecto está disponible en un repositorio público permitiendo que otros desarrolladores puedan compartirlo y distribuirlo bajo la misma licencia y fomentar su colaboración.

Arquitectura del sistema

En esta sección se nombran cada uno de los componentes principales del sistema y se detallan sus características, qué funciones desempeña cada uno y cómo se comunican entre ellos. Estos componentes son: - API RESTful. Este componente contiene toda la lógica del sistema. Está desarrollada en el lenguaje de programación Python y utiliza el framework Flask para crear la API.Se encarga de exponer los puntos de conexión o endpoints y de procesar las peticiones que le llegan desde el servidor Nginx. Tiene acceso a todos los recursos de PLN, así como a la base de datos. Está dentro de la subred Backend y también dentro de la subred Frontend, ya que se tiene que comunicar tanto con el servidor Nginx como con la base se datos. - Servidor Nginx. Este elemento funciona como un proxy. Se encarga principalmente de responder a las peticiones que le llegan desde el exterior, enrutarlas al API RESTful y, una vez obtenida la respuesta, devuelve el resultado al exterior. Es el único elemento del sistema que está disponible al exterior, a través del puerto 80. De esta forma se mantienen aislados del exterior al resto de componentes evitando accesos no autorizados. - Base de datos MongoDB. Este componente se encarga de almacenar de forma persistente los recursos del sistema. El almacenamiento de los recursos se realiza a través de un volumen, que es un elemento de Docker que permite guardar los datos de forma persistente, aunque el contenedor se vuelva a crear de nuevo. El componente está dentro de la subred Backend y solamente se comunica con la API RESTful a la que le envía sus datos. De esta forma se evita exponer la base de datos al exterior y evitar que se produzcan accesos no autorizados.

Arquitectura del sistema

Owner

  • Name: Jesús Galán
  • Login: jgalanl
  • Kind: user
  • Location: Madrid

Computer Science at UC3M.

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Galán Llano
    given-names: Jesús
title: Arquitectura para la integración de servicios de Procesamiento de Lenguaje Natural para la simplificación léxica en español
version: 1.0
date-released: "2021-09-09"
license: "GPL-3.0"
repository-code: "https://github.com/jgalanl/mth-back"

GitHub Events

Total
Last Year

Dependencies

flask/requirements.txt pypi
  • Flask ==2.0.1
  • Flask-Cors ==3.0.10
  • Flask-PyMongo ==2.3.0
  • Flask-WTF ==0.15.1
  • Inflector ==3.0.1
  • Jinja2 ==3.0.1
  • MarkupSafe ==2.0.1
  • Pillow ==8.3.2
  • PyYAML ==5.4.1
  • WTForms ==2.3.3
  • Werkzeug ==2.0.1
  • astroid ==2.6.2
  • babelnetpy ==0.1.0
  • beautifulsoup4 ==4.9.3
  • blis ==0.7.4
  • catalogue ==2.0.4
  • certifi ==2021.5.30
  • chardet ==4.0.0
  • click ==7.1.2
  • cycler ==0.10.0
  • cymem ==2.0.5
  • dnspython ==2.1.0
  • email-validator ==1.1.3
  • fasttext ==0.9.2
  • filelock ==3.0.12
  • flask-mongoengine ==1.0.0
  • future ==0.18.2
  • gensim ==3.8.1
  • huggingface-hub ==0.0.12
  • idna ==2.10
  • importlib-metadata ==4.6.1
  • isort ==5.9.2
  • itsdangerous ==2.0.1
  • joblib ==1.0.1
  • kiwisolver ==1.3.1
  • lazy-object-proxy ==1.6.0
  • matplotlib ==3.4.2
  • mccabe ==0.6.1
  • mongoengine ==0.23.1
  • murmurhash ==1.0.5
  • nltk ==3.6.2
  • numpy ==1.21.0
  • packaging ==21.0
  • pandas ==1.3.0
  • pathy ==0.6.0
  • preshed ==3.0.5
  • pybind11 ==2.6.2
  • pydantic ==1.8.2
  • pylint ==2.9.3
  • pymongo ==3.11.4
  • pyparsing ==2.4.7
  • pyphen ==0.11.0
  • python-Levenshtein ==0.12.2
  • python-dateutil ==2.8.1
  • pytz ==2021.1
  • regex ==2021.7.6
  • requests ==2.25.1
  • sacremoses ==0.0.45
  • scikit-learn ==0.19.2
  • scipy ==1.7.0
  • six ==1.16.0
  • sklearn ==0.0
  • smart-open ==5.1.0
  • soupsieve ==2.2.1
  • spacy ==3.1.0
  • spacy-legacy ==3.0.8
  • srsly ==2.4.1
  • thinc ==8.0.7
  • threadpoolctl ==2.2.0
  • tokenizers ==0.10.3
  • toml ==0.10.2
  • torch ==1.5.0
  • tqdm ==4.61.2
  • transformers ==4.8.1
  • typed-ast ==1.4.3
  • typer ==0.3.2
  • typing-extensions ==3.10.0.0
  • uWSGI ==2.0.19.1
  • urllib3 ==1.26.6
  • wasabi ==0.8.2
  • wrapt ==1.12.1
  • zipp ==3.5.0
flask/resources/babelnetpy/setup.py pypi
  • urllib *
requirements.txt pypi
  • Flask ==1.1.2
  • Flask-Cors ==3.0.10
  • Flask-WTF ==0.14.3
  • Inflector ==3.0.1
  • Jinja2 ==2.11.3
  • MarkupSafe ==1.1.1
  • Pillow ==8.3.2
  • PyYAML ==5.4.1
  • Pyphen ==0.10.0
  • WTForms ==2.3.3
  • Werkzeug ==1.0.1
  • astroid ==2.5.2
  • babelnetpy ==0.1.0
  • beautifulsoup4 ==4.9.3
  • blis ==0.7.4
  • catalogue ==2.0.4
  • certifi ==2020.12.5
  • chardet ==4.0.0
  • click ==7.1.2
  • cycler ==0.10.0
  • cymem ==2.0.5
  • dnspython ==2.1.0
  • email-validator ==1.1.2
  • fasttext ==0.9.2
  • filelock ==3.0.12
  • flask-mongoengine ==1.0.0
  • future ==0.18.2
  • gensim ==3.8.1
  • huggingface-hub ==0.0.12
  • idna ==2.10
  • isort ==5.8.0
  • itsdangerous ==1.1.0
  • joblib ==1.0.1
  • kiwisolver ==1.3.1
  • lazy-object-proxy ==1.6.0
  • matplotlib ==3.4.2
  • mccabe ==0.6.1
  • mongoengine ==0.23.0
  • murmurhash ==1.0.5
  • nltk ==3.6.2
  • numpy ==1.20.3
  • packaging ==20.9
  • pandas ==1.2.4
  • pathy ==0.5.2
  • preshed ==3.0.5
  • pybind11 ==2.6.2
  • pydantic ==1.7.4
  • pylint ==2.7.4
  • pyparsing ==2.4.7
  • python-Levenshtein ==0.12.2
  • python-dateutil ==2.8.1
  • pytz ==2021.1
  • regex ==2021.4.4
  • requests ==2.25.1
  • sacremoses ==0.0.45
  • scikit-learn ==0.19.2
  • scipy ==1.7.0
  • six ==1.15.0
  • sklearn ==0.0
  • smart-open ==3.0.0
  • soupsieve ==2.2.1
  • spacy ==3.0.6
  • spacy-legacy ==3.0.6
  • srsly ==2.4.1
  • thinc ==8.0.6
  • threadpoolctl ==2.1.0
  • tokenizers ==0.10.3
  • toml ==0.10.2
  • torch ==1.5.0
  • tqdm ==4.61.1
  • transformers ==4.8.1
  • typer ==0.3.2
  • typing-extensions ==3.10.0.0
  • uWSGI ==2.0.19.1
  • urllib3 ==1.26.5
  • wasabi ==0.8.2
  • wrapt ==1.12.1
.github/workflows/ci.yml actions
  • actions/checkout v1 composite
  • appleboy/ssh-action master composite
.github/workflows/codeql-analysis.yml actions
  • actions/checkout v2 composite
  • github/codeql-action/analyze v1 composite
  • github/codeql-action/autobuild v1 composite
  • github/codeql-action/init v1 composite
.github/workflows/github-actions-demo.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
flask/Dockerfile docker
  • python 3.7.2-stretch build
mongo/Dockerfile docker
  • mongo 4.2 build
nginx/Dockerfile docker
  • nginx latest build
docker-compose.yml docker