Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

asistente virtual inteligente, Monografías, Ensayos de Programación Informática

sistente virtual, inteligente, codigo, usos

Tipo: Monografías, Ensayos

2024/2025

Subido el 02/07/2025

jose-siniva
jose-siniva 🇻🇪

4 documentos

1 / 14

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
REPÚBLICA BOLIVARIANA DE VENEZUELA
INSTITUTO UNIVERSITARIO DE TECNOLOGÍA
“ANTONIO JOSÉ DE SUCRE”
BARINAS ESTADO BARINAS
ASISTENTE
VIRTUAL
ESTUDIANTE:
JOSÉ SINIVA
C.I: 31.407.570
BARINAS, JUNIO DE 2025
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe

Vista previa parcial del texto

¡Descarga asistente virtual inteligente y más Monografías, Ensayos en PDF de Programación Informática solo en Docsity!

REPÚBLICA BOLIVARIANA DE VENEZUELA

INSTITUTO UNIVERSITARIO DE TECNOLOGÍA

“ANTONIO JOSÉ DE SUCRE”

BARINAS ESTADO BARINAS

ASISTENTE

VIRTUAL

ESTUDIANTE:

JOSÉ SINIVA

C.I: 31.407.

BARINAS, JUNIO DE 2025

Introducción En la era digital actual, la interacción entre humanos y sistemas inteligentes ha cobrado una relevancia sin precedentes. Los asistentes virtuales, basados en tecnologías como el aprendizaje automático y el procesamiento del lenguaje natural, se han convertido en herramientas esenciales en múltiples áreas, desde la atención al cliente hasta la educación personalizada. Este proyecto tiene como objetivo desarrollar un prototipo de chatbot o asistente inteligente capaz de simular una conversación coherente con el usuario, ofrecer respuestas personalizadas y almacenar datos básicos como nombre, edad o intereses. A través de tres fases estructuradas: exploración teórica, diseño funcional y simulación práctica. Se busca comprender conceptos fundamentales como Machine Learning, Deep Learning, redes neuronales y PLN (procesamiento del lenguaje natural). Además, se llevará a cabo la creación de un diagrama de flujo conversacional, la definición de interacciones, la simulación de almacenamiento de datos y la implementación de una versión básica del asistente utilizando Python en Google Colab.

Cada neurona recibe datos de otras, los procesa y envía un resultado a las siguientes. Las conexiones tienen "pesos", que son valores que determinan la influencia de una neurona sobre otra. Estos pesos se ajustan mediante un proceso de entrenamiento que permite que la red aprenda a dar mejores respuestas, como por ejemplo identificar objetos en imágenes. Uno de los mecanismos principales de entrenamiento es la retropropagación, que ajusta los pesos a medida que la red aprende de sus errores hasta mejorar su precisión en tareas específicas. ¿Qué es el PLN (Procesamiento de Lenguaje Natural) y cómo lo utilizan los asistentes inteligentes? El Procesamiento de Lenguaje Natural (PLN) es la disciplina que permite a las máquinas comprender e interpretar el lenguaje humano, tanto hablado como escrito. Para lograrlo, combina lingüística computacional, modelos estadísticos, Machine Learning y Deep Learning. El PLN hace posible que interactuemos con asistentes virtuales como Siri, Alexa o Cortana. Ellos entienden lo que decimos, responden con naturalidad y realizan acciones útiles gracias a esta tecnología. Así es como lo aprovechan los asistentes:

  1. Reconocimiento de voz (ASR): Transforma lo que decimos en texto entendible para el sistema.
  2. Comprensión del lenguaje (NLU): o Analiza la estructura gramatical (análisis sintáctico). o Interpreta el significado (análisis semántico). o Reconoce entidades (personas, lugares, etc.). o Determina la intención del usuario. o Interpreta referencias previas (como pronombres o temas anteriores).
  3. Gestión del diálogo: Decide qué responder y recuerda el contexto de la conversación.
  4. Generación de lenguaje (NLG): Formula respuestas claras y naturales en base a la información recopilada, eligiendo bien las palabras y construyendo frases correctas.

¿Qué es un diagrama de flujo conversacional? Un diagrama de flujo conversacional es una representación gráfica del recorrido que seguirá una conversación entre el usuario y el chatbot. Incluye:

  • Las preguntas que hace el bot.
  • Las posibles respuestas del usuario.
  • Las acciones o respuestas del bot ante cada opción.
  • Las ramas que se activan según el contexto o la entrada del usuario. Este diseño facilita prever interacciones reales, mejorar la experiencia del usuario y organizar la lógica del chatbot. Definir Mínimo 5 interacciones posibles
  1. Saludo y obtención de nombre: El bot se presenta y pregunta al usuario cómo se llama.
  2. Obtención de edad: Pregunta al usuario su edad para contextualizar las respuestas.
  3. Obtención de intereses: Solicita los intereses principales del usuario (por ejemplo: leer, cocinar, programar).
  4. Respuesta a consulta específica: El bot responde preguntas predefinidas como "¿cuáles son tus servicios?" o "¿cuáles son los horarios de atención?".
  5. Despedida personalizada: El bot se despide mencionando el nombre del usuario y ofreciendo un mensaje positivo. Datos que se van a almacenar del usuario (nombre, edad, intereses...)
  • nombre_usuario → tipo String
  • edad_usuario → tipo Entero
  • intereses_usuario → tipo Lista de Strings (o string separado por comas)

Diagrama de flujo

Simulación e implementación básica

Implementación Básica del Chatbot con un poco más de interacción (Nombre del bot

neutralizado) --- def chatbot_intermedio_basico(): print("¡Hola! Soy un asistente virtual diseñado para conocerte un poco.")

Interacción 1: Saludo y obtención de nombre

nombre_usuario = input("¿Cómo te llamas? ").strip().title() if not nombre_usuario: nombre_usuario = "invitado" print(f"Entendido, te llamaré {nombre_usuario}.") else: print(f"¡Mucho gusto, {nombre_usuario}!")

Interacción 2: Obtención de edad

Se guarda como string para simplificar sin try-except

edad_usuario = input(f"{nombre_usuario}, ¿qué edad tienes? (Solo dime el número, o 'prefiero no decir') ").strip() if not edad_usuario or edad_usuario.lower() == "prefiero no decir": edad_usuario = "una edad interesante" print("Entendido, respeto tu privacidad.")

Interacción 3: Obtención de un pasatiempo

pasatiempo_usuario = input(f"Y {nombre_usuario}, ¿hay algún pasatiempo que te guste mucho? (Ej: leer, jugar, dibujar) ").strip().lower()

print("Lo siento, como un chatbot básico, mi capacidad es limitada. Pero fue un placer charlar.") print("¡Hasta pronto!") if name == "main": chatbot_intermedio_basico() Explicación del código Función principal: chatbot_intermedio_basico() Esta función contiene toda la lógica del chatbot. Se activa solo si el archivo se ejecuta directamente, gracias al condicional final.

1. Saludo inicial print("¡Hola! Soy un asistente virtual diseñado para conocerte un poco.") El bot se presenta para comenzar la conversación. 2. Solicita el nombre del usuario nombre_usuario = input("¿Cómo te llamas? ").strip().title() - Usa input() para que el usuario escriba su nombre. - .strip() elimina espacios extra. - .title() pone la primera letra de cada palabra en mayúscula. Si no se escribe nada, se asigna el nombre "invitado". 3. Pregunta la edad edad_usuario = input("...¿qué edad tienes?...").strip()

  • No se valida si es un número, pero si el usuario no responde o escribe “prefiero no decir”, se usa el texto “una edad interesante”. 4. Pregunta un pasatiempo pasatiempo_usuario = input("...¿hay algún pasatiempo que te guste...?").strip().lower()
  • Convierte la entrada a minúsculas.
  • Si no se escribe nada, se considera como “simplemente relajarte”. 5. Respuesta personalizada print(f"... A tus {edad_usuario} años, {pasatiempo_usuario} suena muy divertido.") Combina toda la información del usuario en una respuesta cálida y personalizada. Luego, añade un pequeño comentario dependiendo del pasatiempo que mencionó. 6. Despedida respuesta_final = input("¿Necesitas algo más de mí por ahora? (sí/no) ")
  • Si el usuario responde “no”, se despide amablemente.
  • Si responde cualquier otra cosa, reconoce sus límites y finaliza.

Link a Google Colab: https://colab.research.google.com/drive/15WVzIaBKiDRD22tRJXRRKmFZL9a6e4AM? usp=sharing

Conclusion La creación de un prototipo de asistente virtual fue una excelente oportunidad para afianzar los fundamentos de la inteligencia artificial desde un enfoque práctico. En el desarrollo de este proyecto se exploraron conceptos clave como Machine Learning, Deep Learning, redes neuronales y procesamiento de lenguaje natural, lo que permitió entender cómo se combinan estas tecnologías para dar forma a sistemas capaces de interactuar con los usuarios de manera natural. El diseño de un diagrama de flujo conversacional ayudó a estructurar la lógica del asistente, estableciendo cinco interacciones principales, los datos relevantes a recopilar, y cómo personalizar las respuestas según la información almacenada. Este enfoque facilitó planificar la conversación de forma clara y coherente. La implementación del prototipo en Python, utilizando entradas con input() y estructuras condicionales, permitió comprobar la viabilidad del diseño. Además, la simulación en Google Colab sirvió como escenario accesible para observar el funcionamiento del asistente en acción. En conclusión, este trabajo representó una experiencia enriquecedora que unió teoría y práctica, demostrando que con herramientas simples es posible construir un asistente inteligente básico. A partir de esta base, se abre la posibilidad de seguir profundizando en aplicaciones más avanzadas de la inteligencia artificial.