Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Inteligencia Artificial Act5
Inteligencia Artificial Act5
Actividad:
Es hora de llevar la teoría a la práctica, en el lenguaje de tu preferencia realiza un programa
donde realices un clasificador de idiomas (utilizaremos 3 idiomas: español, inglés y francés).
Indicaciones específicas: Lo primero que debemos tener en cuenta es que vamos a usar la
fórmula de Bayes, pero ahora calculando la probabilidad condicionada de cada palabra:
Donde la categoría en este caso serán los 3 idiomas: ESPAÑOL, INGLES Y FRANCES para
indicar la probabilidad de la palabra sabiendo que la frase está en uno u otro idioma Una
vez calculada la probabilidad de cada palabra condicionada, nos resta multiplicar sus
probabilidades para cada categoría.
Es decir, que se multiplicará cada probabilidad P(palabrai|categoría) del texto que queremos
clasificar y además también P(categoría). Antes de poder clasificar un texto tendremos que
poder analizar una serie de datos previos, el clasificador de idiomas necesita ejemplos
previos de frases clasificadas como ESPAÑOL, INGLES y FRANCES. En general, cuantos
más ejemplos se provean, mejor comportamiento tendrá el clasificador. La frase en la que
se introducen los ejemplos en el sistema la llamaremos entrenamiento, y va a permitir
almacenar características y estadísticas de palabras y categorías para luego usarlo en la
clasificación de un nuevo texto.
Se puede usar una función entrenar() para realizar el entrenamiento. La función deberá
esperar una lista como la siguiente con el texto del mensaje y el idioma ["La Inteligencia
Artificial es una disciplina muy interesante", "espanol"]. Se debe usar la función auxiliar (por
ejemplo lista_palabras() ) que devolverá una lista con todas las palabras del texto mayores
de dos caracteres, en minúsculas y sin repeticiones. La función de entrenamiento va a
generar cuatro variables que deben almacenar los parámetros necesarios para la posterior
clasificación.
Debes usar una variable que sirva como diccionario con las palabras (por ejemplo,
c_palabras) del texto y el número de veces que aparece en cada categoría. Por ejemplo, si
tuviéramos la palabra “Artificial”, y esta apareciera tanto en frases de español como de
inglés, se almacenarí La variable de categorías (por ejemplo, c_categorias) almacena en un
diccionario cada categoría con el número de textos que pertenecen a ella. {“espanol”:1,
”ingles”:1, ”frances”:0}a de la siguiente manera: {“Artificial”: {“ingles”:1, “espanol”:1}}
Finalmente deben existir dos variables donde se guarden el número de textos totales que
hay de ejemplo y el número de palabras totales ya que necesitaremos esos datos al hacer
la clasificación. Se recomienda que exista una función donde se hagan los cálculos y
determine a qué categoría pertenece el texto que le pasamos como parámetro (por ejemplo,
la función clasificar() ).
Esta es la interfaz principal del Programa
Se puede observar una interfaz muy simple donde se le pide ingresar una palabra (puede
ser oración) a identificar para determinar su idioma ya sea Español, Ingles o Frances.
En los componentes iniciales doy instancia a las opciones de inicio en la cual la SetLocation
sirve para centrar la ventana y la SetTittle para establecer un nombre a esta.
Esta es la clase MatrixPalabraCantidad creada dentro del JFrame con todos sus métodos
comentados.
Esta es la clase Palabras creada en el JFrame con todos sus métodos ya comentados.
Después cree un evento de botón con el mouse para invocar y programar lo necesario para
el programa.
Aquí se observa como instancie el entrenamiento de palabras en español, ingles y francés
Aquí está la invocación de datos que son mandados y recibidos para la ejecución
Funcionamiento:
Se puede observar cómo funciona completamente en español.
Funcionamiento en Ingles.
Por último la prueba en Frances.