Ir al contenido principal

ChatBot Java

 ChatBot Java


Desarrolle este chatbot en el lenguaje de programación Java con una base de conocimiento en una base de datos relacional Microsoft Access, aplique lo que es el patrón de diseño de software MVC (Modelo, Vista, Controlador), y el paradigma de programación orientado a objetos entre otras buenas prácticas de desarrollo de software.


Funciones o Métodos

Básicamente el funcionamiento de este chatbot se basa en las funciones o métodos de repuestas, los cuales se destacan los siguientes: 

Nota: Todas estas clases de “repuestas” se implementan de la interfaz “IRespuesta”, la cual contiene dos funciones o métodos fundamentales “sendRespuesta()” y “getRespuesta()”, la cual define el comportamiento de cada repuesta.

RespuestaLike:

esta implementación de la interfaz “IRespuesta” se basa en un tipo de consulta que ejecuta en su base de conocimiento, la cual es una consulta SQL (Structured Query Language) para buscar un patrón específico en la columna seleccionada y retorna los valores que coinciden con el parámetro recibido. 

RespuestaExacta: 

por otro lado, esta implementación de la interfaz “IRespuesta” se basa en un tipo de consulta que ejecuta en su base de conocimiento donde el parámetro recibido debe de ser igual a columna que fue seleccionada.

RespuestaFrecuencia: 

esta también ejecuta una consulta SQL (Structured Query Language), pero esta busca junto a la cápsula like los valores que coinciden con el parámetro recibido y los ordena por el campo “frecuencia“ de forma descendente, lo cual retorna lo posibles valores que coinciden y donde la frecuencia en mayor.

RespuestaValoracion: 

también esta, esta ejecuta una consulta SQL (Structured Query Language), pero esta busca junto a la cápsula like los valores que coinciden con el parámetro recibido y los ordena por el campo “valoración“ de forma descendente, lo cual retorna lo posibles valores que coinciden y donde el campo  valoración en mayor.

RespuestaCoincidencia: 

por otro lado, esta implementación de la interfaz “IRespuesta” solo utiliza la función o método “sendRespuesta()” ya que en este caso se implementa otra función o método llamada “getPorcentaje” lo cual analiza cada respuesta retornada de una consulta a su base de conocimiento de cono cimiento. Esta función o método retorna la respuesta que más coinciden a través del número mayor de porcentaje de cada respuesta retornada, es decir esta función o método retorna la respuesta que más coinciden en base a la cantidad de caracteres iguales en base a las pregunta que están registrada en su base de conocimiento.





Herramientas, por supuesto

Java
NetBeans IDE 
SQL (Structured Query Language)
Microsoft Access


GitHub Repository:
https://github.com/BrunoBeltreGuzman/ChatBot

Más

Plataforma Educativa Virtual

Plataforma Educativa Virtual Proyecto Universitario Ante a la situación de la pandemia de Covid 19, se ha dado la necesidad de impartir las clases de forma virtual. La plataforma educativa virtual del colegio tecnológico dominicano contiene toda la infraestructura necesaria para por impartir clases, consultar bibliotecas virtuales, y procesar pagos y cotejo de cuenta. Aula Virtual: es la parte de la plataforma educativa virtual que corresponde a impartir las clases virtuales, asignaciones videollamadas, y soporte en línea. Biblioteca Virtual: la biblioteca virtual básicamente funciona como un motor de búsqueda que escanea los recursos educativos de libros, revistas y todo tipo de documento que contenga información de sitios vinculados. Estado de Cuenta: en esta parte de la plataforma educativa virtual corresponde a los proceso y administración de cuenta del estudiante, cuenta con opciones de ver estado de cuenta, deudas pendientes, procesar pagos (con varias alternativas), histor...

Ruddy Services

Sistema de escritorio  Ruddy Services Sistema de información para el administración y gestión de clientes y procesamiento de pago de bienes y servicios. Sistema de información desarrollado para Ruddy Services una startup, el cual cuenta con todos los procesos necesarios para la gestión de cliente, gestión de pagos, procesamiento de pagos, historial de pagos, y todo lo necesario para la administración y gestión de clientes y procesamiento de pago de bienes y servicios de la empresa. Cliente                                                                              Año Ruddy Services                      ...

Formulario Java Swing

Formulario Java Swing Formulario de inicio de sección y registro. Es un formulario de inicio de sección y registro, compuesto por controles de java Swing, El cual es responsivo, es decir adaptable a la pantalla, ya que posee en su arquitecturas con los Layout necesarios y jScrollPane para el desplazamiento de los paneles.  Prototipo: GitHub Repository: https://github.com/BrunoBeltreGuzman/FormularioJavaSwing

Dashboard Java Swing

  Dashboard Java Swing ¡Lo que no se ve, no se analiza! Y, si no se analiza, ¡no se mejora! Dashboard con controles de Java Swing, con datos de base de datos. ¿ Cómo deben analizar las empresas? Porque son muchos los datos con los que éstas trabajan diariamente; son muchas las decisiones importantes que deben tomar y, de ellas dependerá que el negocio vaya encaminado al éxito o al fracaso. Sin embargo, la toma de decisiones suele realizarse en base a datos a posteriori: la cantidad de información de la que se dispone es demasiada, y los trabajadores tienen un límite de tiempo y de capacidad analítica. Es aquí cuando entran en juego los paneles de datos o Dashboards. Funciones o Métodos: Maximum(int maximum); Maximum: Para establecer el valor máximo de data. Mínimum(int minimum); Mínimum: Para establecer el valor mínimo de data. Value(int value); Value: Para establecer el valor del JBar. String(String data); String: para establecer y mostrar el valor que contiene el JBar GitHub Repo...

Tests Junit en Java

  Pruebas unitarias o en este caso Test Junit en Java su implementación y como funciona Las pruebas unitarias o en este caso test Junit son un conjunto de técnicas para comprobar que un fragmento de código funciona correctamente. Es un procedimiento más de los que se llevan a cabo dentro de una metodología ágil del desarrollo de software. Para implementar test JUnit en Java se basa en las siguientes anotaciones: Test:indica que el método que la contiene es un test: expected y timeout. Before(): ejecuta el método que la contiene justo antes de cada test. After(): ejecuta el método que la contiene justo después de cada test. BeforeClass():ejecuta el método (estático) que la contiene justo antes del primer test. AfterClass(): ejecuta el método (estático) que la contiene justo después del último test. Ignore(): evita la ejecución del tests. No es muy recomendable su uso porque puede ocultar test fallidos. Si dudamos si el test debe estar o no, quizás borrarlo es la mejor de las decisio...