INSTITUTO POLITECNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA EN INGENIERIA Y TECNOLOGIAS AVANZADAS - IPN
MATERIA
Teoría de La Información
ALUMNOS
Avilés Fernández Jorge Alberto. García Ortega Bibiana.
PROFESOR
Jorge Rojas Beltrán
TEMA
Entropía de Idiomas
Grupo 8TM1 06/09/2010
Teoría de La Información
[PRACTICA 1: ENTROPÍA DE IDIOMAS]
Objetivo:
Aplicar los conceptos de probabilidad en aspectos del lenguaje Calcular la entropía de textos en idioma español y de otros lenguajes (inglés, francés alemán, italiano). Introducir los principios de la teoría de la información en el análisis de fuentes
Descripción:
Los Textos que se tomarán como fuente para el análisis provendrán de fragmentos en español (y de su traducción al inglés, francés, alemán e italiano) de libros de algún género literario en específico. Cada equipo (de dos integrantes) trabajará con dos textos, el primero en español de una obra literaria según el género literario que se haya seleccionado, con al menos 15000 caracteres, y un segundo texto que será la versión del anterior pero en otro idioma. Siendo un total de 30000 caracteres como mínimo en la suma de ambos textos. Para cada texto de los dos idiomas, se deberán realizar los siguientes cálculos y estadísticas:
Probabilidad de cada uno de los símbolos en forma individual Cálculo de la entropía como fuente sin memoria Estadística de aparición de los símbolos por parejas (dos caracteres seguidos) Estadística de aparición de los símbolos por tercias (tres caracteres seguidos) Estadística de aparición de los símbolos con cuatro caracteres seguidos Estadística de aparición de los símbolos con cinco caracteres seguidos Cálculo de la entropía como fuente con memoria (Markov 1er Orden)
Condiciones del texto:
Se deberá manejar solamente un tamaño de letra (minúscula o mayúscula). No se deberá incluir los caracteres de puntuación y acentuación, así como numéricos. Se debe contar el espacio como un carácter válido para este análisis
Desarrollo:
Para este ejercicio se eligió el idioma Francés como idioma adicional para análisis, siendo el texto analizado “El extranjero” del francés Albert Camus, tanto en su versión original en francés así
como su traducción al español; el análisis se basó en el primer capítulo de esta obra, contando éste con más de 15000 caracteres en ambas versiones. La codificación para la solución de los ejercicios planteados en la descripción se realizó utilizando MATLAB, haciendo uso de valores ASCII a decimal como consideración para la detección de caracteres.
2
Teoría de La Información
[PRACTICA 1: ENTROPÍA DE IDIOMAS]
Resultados: 1. Probabilidad de cada uno de los símbolos en forma individual
Para el cálculo de lo anterior se realizó el siguiente algoritmo: %conteo de caracteres cont=zeros(1,28); for(i=1:(length(bibi))) if (bibi(i)==32) cont(28)=cont(28)+1; end if (bibi(i)==241) cont(27)=cont(27)+1; end for(j=97:122) if(bibi(i)==j) cont(j-96)=cont(j-96)+1; end end end cont proba=cont./length(bibi-1) total=sum(proba)
De lo cual se obtuvieron las siguientes probabilidades:
Figura 1: Resultados en MATLAB para el idioma español
3
Teoría de La Información
[PRACTICA 1: ENTROPÍA DE IDIOMAS]
Figura 2: Resultado de Probabilidades para el idioma Francés 2. Cálculo de la entropía como fuente sin memoria
Para el cálculo de la entropía se utilizó el siguiente algoritmo: %entropia for m=1:length(proba) if(proba(m)~=0) h(m)=proba(m)*log2(1/proba(m)); end end H=sum(h)
De lo cual se obtuvieron los siguientes resultados:
Figura 3: Entropía del sistema sin memoria (Español)
4
Teoría de La Información
[PRACTICA 1: ENTROPÍA DE IDIOMAS]
Figura 4: Entropía del sistema sin memoria (Francés) Lo anterior muestra que el idioma español (al menos en este análisis) contiene más información que el idioma francés, sin embargo, esto podría deberse a la anulación de caracteres especiales que son muy comunes en el francés como la ç o la comilla simple que es muy utilizada para contracciones, además de que en el francés se cuenta con tres tipos de acentos mientras que en el español solo se cuenta con uno, la alteración de estos factores en este caso resulta en una mayor entropía del idioma español, lo cual puede no ser del todo preciso dado los factores anteriormente mencionados. A continuación se muestran graficas de barras que ilustran la aparición de los símbolos en los dos idiomas:
Figura 5: Aparición de los símbolos (Español)
5
Teoría de La Información
[PRACTICA 1: ENTROPÍA DE IDIOMAS]
Figura 6: Aparición de los Símbolos (Francés) En ambos idiomas los símbolos que más ocurrencia presentaron fueron la e y el espacio, sin embargo valdría la pena hacer notar que la ocurrencia en el idioma francés de la letra e fue mucho mayor que en el idioma español, de haberse conservado la acentuación podría haberse hecho notar que la e que más aparece es acompañada de un acento agudo, esto es muy común en la gramática del idioma francés puesto que es muy utilizada tanto para dar énfasis a la e al final de palabras puesto que de otro modo no se pronuncia, así como para la conjugación de tiempos pasados de los verbos del primer grupo (los que terminan en er), que son dentro del idioma francés de los más comunes. Otra cosa notoria es la falta de ocurrencia en el idioma francés del carácter ñ, mientras que en ambos idiomas la ocurrencia tanto del carácter k y w es de valor muy pequeño, lo cual sería diferente de analizar un tercer idioma, como el inglés.
6
Teoría de La Información
[PRACTICA 1: ENTROPÍA DE IDIOMAS]
3. Estadística de la aparición de los símbolos por parejas Para el cálculo de las estadísticas de aparición de los símbolos por pares, se realizó primero el conteo de apariciones de las combinaciones con el siguiente algoritmo: %pares M=zeros(28,28); probpar=zeros(28,28); for (k=1:(length(bibi)-1)) if(bibi(k)==32 && bibi(k+1)==32) M(28,28)=M(28,28)+1; end if(bibi(k)==241 && bibi(k+1)==241) M(27,27)=M(27,27)+1; end for (c=97:122) if(bibi(k)==32 && bibi(k+1)==c) M(28,c-96)=M(28,c-96)+1; end if(bibi(k)==241 && bibi(k+1)==c) M(27,c-96)=M(27,c-96)+1; end for (f=97:122) if(bibi(k)==f && bibi(k+1)==c) M(f-96,c-96)=M(f-96,c-96)+1; if(bibi(k)==f && bibi(k+1)==32) M(28,c-96)=M(28,c-96)+1; end if(bibi(k)==f && bibi(k+1)==241) M(f-96,27)=M(27,c-96)+1; end end end end end
Una vez procesado este algoritmo se realizó la selección de los 10 más repetidos utilizando el siguiente conjunto de instrucciones: maxim=zeros(1,28); maxim=max(M); maxim=sort(maxim,'descend'); top10p=zeros(1,10); coord=zeros(10,2); for l=1:10 [b,d]=find(M==maxim(l)); top10p(l)=maxim(l); coord(l,1)=b; coord(l,2)=d; end figure(2) bar(top10p,'r')
7
Teoría de La Información
[PRACTICA 1: ENTROPÍA DE IDIOMAS]
El cual sirve para encontrar los valores máximos de la matriz de apariciones, y posteriormente ordenarlos de mayor a menor, almacenando posteriormente, en 2 vectores, tanto sus coordenadas como sus valores, esto para visualizar las coordenadas, y gráficamente utilizar una matriz para localizar las mismas y así obtener las combinaciones más repetidas, dada dicha matriz. Por otro lado los valores de los máximos se utilizan para realizar la gráfica de barras que muestra los valores de dichas combinaciones, los resultados obtenidos se muestran a continuación. IDIOMA
Español
Francés
Posición
X
Y
Combinacion
Posición
X
Y
Combinacion
1
28
5
esp,e
1
28
1
esp,a
2
28
4
esp,d
2
1
9
a,i
3
5
14
e,n
3
28
12
esp,l
4
28
12
esp,l
4
18
5
r,e
5
5
18
e,r
5
28
4
esp,d
6
28
13
esp,m
6
5
19
e,s
7
12
1
l,a
7
28
16
esp,p
8
5
19
e,s
8
5
14
e,n
9
28
3
esp,c
9
28
3
esp,c
10
28
16
esp,p
10
28
13
esp,m
Tabla 1: Valores de combinaciones más repetidas
Figura 7: Top 10 Pares (Español) 8
Teoría de La Información
[PRACTICA 1: ENTROPÍA DE IDIOMAS]
Figura 8: Top 10 Pares (Francés)
4. Cálculo de la entropía como fuente con memoria (Markov de 1er Orden) Para el cálculo de la entropía se calculó en primera instancia, dada la cantidad de ocurrencia de pares así como la cantidad de ocurrencia de los símbolos solos, las probabilidades condicionales o de transición hacia delante de los pares, por medio del siguiente algoritmo: probmat=zeros(28,28); for i=1:length(M) for j=1:length(M) if(cont(i)~=0&&M(i,j)~=0) probmat(i,j)=M(i,j)/cont(j); end end end probap=sum(probmat);
Una vez calculadas las probabilidades de transición hacia delante, se utilizaron éstas para calcular las probabilidades iniciales por medio de la potenciación de la matriz de probabilidades condicionales, una vez realizada dicha potenciación y conociendo entonces las dos probabilidades,
9
Teoría de La Información
[PRACTICA 1: ENTROPÍA DE IDIOMAS]
procedimos a realizar el cálculo de la entropía por medio de la fórmula de entropía para las fuentes de información de Markov empleando el siguiente algoritmo: proinit=(probmat)^30; h2=zeros(28,28); for m=1:length(proba) for n=1:length(proba) if(probmat(m,n)~=0) h2(m,n)=proinit(m,n)*probmat(m,n)*log2(1/probmat(m,n)); end end end H2=sum(h2); H2tot=sum(H2)
Los resultados para ambos idiomas fueron los siguientes:
Figura 9: Entropía de Fuente con Memoria (Markov 1er Orden ESPAÑOL)
Figura 10: Entropía de Fuente con Memoria (Markov 1er Orden FRANCÉS) Esas fueron las entropías obtenidas, sin embargo consideramos que probablemente sean erróneas por motivos que se discutirán en las conclusiones y por falta de un parámetro de referencia como el que se posee para las fuentes sin memoria ( ).
10
Teoría de La Información
[PRACTICA 1: ENTROPÍA DE IDIOMAS]
Conclusiones
Durante el desarrollo de esta práctica pudimos observar algunos aspectos sobre la cantidad de información que poseen dos distintos lenguajes. El experimento inicial nos mostró que los caracteres que más aparecen en ambos idiomas son el espacio y la letra e; en el caso del francés como ya se mencionó durante la etapa de resultados (pág. 6); se omitieron muchos símbolos y acentos que de haber estado presentes hubiesen llevado a un resultado posiblemente distinto, ya que como se mencionó anteriormente posee una mayor variedad de caracteres especiales que los que se encuentran en el español, sin embargo bajo las condiciones del experimento pudimos notar que el idioma español posee una mayor entropía que el idioma francés, es decir, posee mayor información. Durante el conteo de los pares, nos encontramos con un resultado que era de esperarse, la gran mayoría de las combinaciones, tienen en ellas algún símbolo de los de mayor probabilidad (espacio, e, a), y algunos símbolos dada la redundancia de ambos idiomas (cabe destacar que ambos provienen de un mismo origen, son parte de las llamadas lenguas romances), suelen incrementar la probabilidad de aparición de alguna combinación, como el ejemplo de clase, donde se decía que dado que se emitiera una q, cuál era la probabilidad de obtener una u como siguiente símbolo, y podíamos observar que era muy alta (P=1). El incremento de redundancia llevó a otro resultado que era de esperarse: la entropía del sistema decreció. Sin embargo se llegó a la conclusión de que los resultados que se obtuvieron pudiesen ser incorrectos, puesto que dado el orden de la fuente de Markov no se esperaba un decremento tan drástico en la entropía; además de que se realizó el experimento de seguir potenciando la matriz, más allá del valor para el cual realizamos el cálculo en el programa, observando que la fuente se comportaba como una fuente no ergódica, es decir, elevada a una potencia muy grande, los valores de las probabilidades iniciales terminaban siendo cero, lo cual nos llevó a pensar que muy probablemente los valores de las probabilidades de transición hacia delante fueran erróneos, puesto que llegamos a la conclusión de que no era coherente que la fuente no fuera ergódica, sin embargo, no pudimos detectar y corregir el error a tiempo por lo que se decidió reportar los valores obtenidos puesto que ese fue el trabajo que se realizó y los resultados que se obtuvieron fueron los que se plasmaron en el reporte. Y en base a ese resultado podemos observar que de nueva cuenta el idioma español cuenta con mayor información que el idioma francés.
11