# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# Autor: Jose Manuel Perez Ramirez (mankod@mankod.net , mankod@gmail.com)
# Versión: 0.1
# Fecha Liberación del código: 01/12/06
#!/bin/bash
clear
echo -e "+++++++++++++++++PROBABILIDAD Y ESTADISTICA +2006+++++++++++++"
echo -e "Se considera el formato del siguiente texto para sacar"
echo -e "Ingresando texto T --> testa.sen, se crean los sig. archivos"
echo -e " TEXTO_00 --> T1 (entrenamiento) "
echo -e " TEXTO_01 --> T2 ( prueba ) "
echo -e "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
cantidad=`wc -l testa.sen | awk '{print $1}'`
echo -e "Cantidad de lineas en el texto T: $cantidad"
num=`cat testa.sen| wc -l`;
num=`echo "($num/5)*4" |bc` ;
split -d -l $num testa.sen TEXTO_
wc -l TEXTO_*
echo -e "Se divide texto T en 4/5 y 1/5, correctamente !!!"
cat TEXTO_00 |awk '{ if ($2=="sust") print; }' > SUST
cat TEXTO_00 |awk '{ if ($2=="verb") print; }' > VERB
cat TEXTO_00 |awk '{ if ($2=="adj") print; }' > ADJ
cat TEXTO_00 |awk '{ if ($2=="adv") print; }' > ADV
cat ADJ | head -n 4 > patrones
cat SUST | head -n 4 >> patrones
cat VERB | head -n 4 >> patrones
cat ADV | head -n 4 >> patrones
mostrar=`nl patrones`
echo -e "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
echo -e " Se propone mediante inspeccion de T1, antecedentes"
echo -e " que contengan una palabra con categoria VERB, SUST, ADJ, ADV
estas son :
$mostrar"
echo -e "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
sed -n '1,16p' testa.lst > frecuencias.L
echo -e " Se escogen las palabras de mayor frecuencia en testa.lst estas son :"
cat frecuencias.L
echo -e "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
paste frecuencias.L patrones > concatenan
echo -e "La union de antecedente y consecuente es :"
cat concatenan
echo -e "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
echo -e "La regla formateada es : "
cat concatenan | awk '{print $1, $4, $5 } ' > conca
nl conca > lista_conca
cat lista_conca
echo -e "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
echo -e "Favor de Seleccionar una regla ... "
read numero
grep $numero lista_conca | head -n 1 > seleccionada
cat seleccionada
echo -e "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
echo -e "La regla para validar es :"
cat seleccionada |awk '{print $2" X/ "$4}' > seleccion_regla
#cat seleccion_regla
cat seleccion_regla | awk '{print $2 }'
echo -e "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
cat testa.sen | awk '{print $1}' | tr '\n' ' ' > texto_sin_etiquetas
regla=`cat seleccionada |awk '{print $2" "$3}'`
busca_antecedente=`cat seleccion_regla | awk '{print $1 }'`
echo -e "Regla a introducir en el buscador, para validarla : $regla"
echo -e "Antecedente es = $busca_antecedente"
##echo -e "En que texto quieres hacer la validez, TEXTO_00, o TEXTO_01"
##read texto
######################################################################
acum=0
resultado=`grep -o "\ $regla[ ^$]" texto_sin_etiquetas|wc -l`
resultado1=`grep -o "\ $busca_antecedente[ ^$]" texto_sin_etiquetas|wc -l`
let resultado+=`grep -o "^$regla[ ^$]" texto_sin_etiquetas|wc -l`
let resultado1+=`grep -o "^$busca_antecedente[ ^$]" texto_sin_etiquetas|wc -l`
totalpalabras=`wc -w texto_sin_etiquetas 2>/dev/null | awk '{ print$1 }'`
echo "No. de veces que se encontro el antecedente :$resultado1"
echo "No. de veces que se encontro la regla valida :$resultado"
echo "Total de palabras : $totalpalabras"
total=$(echo "scale=4; $resultado/$resultado1" | bc)
echo -e "valor $total"
acum=$(echo "scale=4; $acum+$total" |bc )
#######################################################################