List of usage examples for weka.associations Apriori buildAssociations
@SuppressWarnings("unchecked") @Override public void buildAssociations(Instances instances) throws Exception
From source file:ap.mavenproject1.HelloWeka.java
public static void main(String args[]) { Instances data = null;/*from w w w. ja va 2 s. c om*/ ArffLoader loader = new ArffLoader(); try { loader.setFile(new File("C:\\Users\\USER\\Desktop\\data.arff")); data = loader.getDataSet(); data.setClassIndex(data.numAttributes() - 1); } catch (IOException ex) { Logger.getLogger(HelloWeka.class.getName()).log(Level.SEVERE, null, ex); } Apriori apriori = new Apriori(); try { NumericToNominal numericToNominal = new NumericToNominal(); numericToNominal.setInputFormat(data); Instances nominalData = Filter.useFilter(data, numericToNominal); apriori.buildAssociations(nominalData); FastVector[] allTheRules; allTheRules = apriori.getAllTheRules(); for (int i = 0; i < allTheRules.length; i++) { System.out.println(allTheRules[i]); } // BufferedWriter writer = new BufferedWriter(new FileWriter("./output.arff")); // writer.write(nominalData.toString()); // writer.flush(); // writer.close(); } catch (Exception ex) { Logger.getLogger(HelloWeka.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:Controller.CtlDataMining.java
public String apriori(Instances data) { try {/*from w w w . ja va2 s .c om*/ //Creamos un objeto de asosiacion por apriori Apriori aso = new Apriori(); //creamos el descriptivo apriori con los datos aso.buildAssociations(data); /*Se cargan los resultados de loa asociacion apriori*/ String resApriori = "<br><b><center>Resultados Asociacion " + "Apriori</center><br>========<br>El modelo de asociacion " + "generado indica los siguientes resultados:" + "<br>========<br></b>"; //Obtenemos resultados for (int i = 0; i < aso.getAssociationRules().getRules().size(); i++) { resApriori = resApriori + "<b>" + (i + 1) + ". Si</b> " + aso.getAssociationRules().getRules().get(i).getPremise().toString(); resApriori = resApriori + " <b>Entonces</b> " + aso.getAssociationRules().getRules().get(i).getConsequence().toString(); resApriori = resApriori + " <b>Con un</b> " + (int) (aso.getAssociationRules().getRules().get(i).getPrimaryMetricValue() * 100) + "% de probabilidad<br>"; } return resApriori; } catch (Exception e) { return "El error es" + e.getMessage(); } }
From source file:Dao.NCFAS.PruebaWekaDao.java
public List<reglasEncontradas> retornarReglas() throws DAOException, IOException, Exception { actualizarItemsGenerales();//from w ww .jav a2 s .c o m ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext() .getContext(); //Ruta de nuestros archivos String pathArchivos = (String) servletContext.getRealPath("/") + "archivosVarios/"; // Sustituye "/" por el directorio ej: "/upload" //CREO FICHEROS PARA LUEGO GUARDAR LOS RESULTADOS DE WEKA FileWriter fichero = null; FileWriter fichero2 = null; PrintWriter pw = null; //CREO UN FICHERO PARA LUEGO GUARDAR LOS RESULTADOS FILTRADOS DE MINERIA //FileWriter ficheroMin = null; // PrintWriter pwMin = null; // FileWriter ficheroMin = null; // PrintWriter pwMin = null; //LEO DATASET .ARFF //String dataset=pathArchivos+"DataSetPuro.arff"; String dataset = pathArchivos + "DataSetSimulado.arff"; //String datasettxt=pathArchivos+"datasettxt.txt"; //File fichero2 = new File(dataset); try { BufferedReader fich = new BufferedReader(new FileReader(dataset)); //Usamos la clase BufferReadeader para tener acceso a un metodo propio (readLine()) y asi mediante un contador contar las lineas. int contadorL = 0; String linea; try { //En este caso la condicion final del while corresponde a null, para indicar el final de linea while ((linea = fich.readLine()) != null) { contadorL++; } contadorL = contadorL - 13; total = contadorL; System.out.println("El nmero de lneas :" + contadorL); } catch (IOException e) { // TODO Bloque catch generado automticamente e.printStackTrace(); } } catch (FileNotFoundException e) { e.printStackTrace(); } int retorno = 0; List<String> almacenaRetorno = null; almacenaRetorno = new ArrayList<String>(); List<String> numVeces = null; numVeces = new ArrayList<String>(); List<reglasEncontradas> reglas = null; reglas = new ArrayList<reglasEncontradas>(); for (int i = 1; i <= 10; i++) { numVeces.add("0"); } final String nomFich = pathArchivos + "Resultado.txt"; Scanner in = null; Scanner in2 = null; // ficheroMin = new FileWriter(pathArchivos+"reporteMineria.txt"); //pwMin = new PrintWriter(ficheroMin); int band = 0; DataSource source = new DataSource(dataset); Apriori model = new Apriori(); try { //REALIZAMOS MINER?A DE DATOS CON WEKA Instances data = source.getDataSet(); model.buildAssociations(data); //PREPARAR PARA ESCRIBIR LO GENERADO POR WEKA EN UN ARCHIVO RESULTADO.TXT fichero = new FileWriter(pathArchivos + "Resultado.txt", true); pw = new PrintWriter(fichero); pw.println(model); //SE MUESTRA LOS RESULTADOS OBTENIDOS POR APRIORI //System.out.println("LOS RESULTADOS DE APRIORI A DataSetSimulado.arff son:"); //System.out.println(model); //borra el archivo BufferedWriter bw = new BufferedWriter(new FileWriter(pathArchivos + "Resultado.txt")); bw.write(""); fichero.close(); //System.out.println("Ahora vamos a leer los resultados obtenidos por apriori"); //BufferedReader bf = new BufferedReader(new FileReader("Resultado.txt")); // abre el fichero in = new Scanner(new FileReader(nomFich)); // lee el fichero palabra a palabra while (in.hasNext()) { // lee primera palabra String palabra0 = in.next(); int numRegla = 0; float porcentaje; float porcentaje2; List<String> almacenaAnterior = null; almacenaAnterior = new ArrayList<String>(); String palabra1; String palabra2; String palabra3; String palabra4; String palabra5; String palabra6; String palabra7; String frase1; String frase2; String frase3; Pattern pat = Pattern.compile("DIM2.*"); Pattern pat2 = Pattern.compile("==>"); Pattern pat3 = Pattern.compile("^\\d.^"); Pattern pat4 = Pattern.compile("DIM.*"); String num1 = ("1."); String num2 = ("2."); String num3 = ("3."); String num4 = ("4."); String num5 = ("5."); String num6 = ("6."); String num7 = ("7."); String num8 = ("8."); String num9 = ("9."); String num10 = ("10."); List<String> dimInvolucradas = null; dimInvolucradas = new ArrayList<String>(); Matcher mat; //PRIMERA RELGA DE ASOCIACIN //BLOQUE 1 //COMPROBAR SI EST? DIM2 INVOLUCRADA mat = pat3.matcher(palabra0); // if (num1.equals(palabra0)) { if (in.hasNext()) { palabra1 = in.next(); // SEGUNDA PALABRA //GUARDO LO LEIDO almacenaAnterior.add(palabra0); almacenaAnterior.add(palabra1); mat = pat.matcher(palabra1); //PALABRA 1 ES DIMENSION 2? if (mat.matches()) { dimInvolucradas.add(palabra1); String valorDim2 = consultaValor(palabra1); //REVISAMOS LO QUE VIENE DESPUES DE DIM2= if (in.hasNext()) { palabra2 = in.next(); //PALABRA 3 EN EL CAMINO FELIZ if (in.hasNext()) { palabra3 = in.next(); //PALABRA 4 EN EL CAMINO FELIZ almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); //SI ES UNA ==> ENTONCES if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); //PALABRA 5 CAMINO FELIZ dimInvolucradas.add(palabra4); palabra4 = consultaPalabra(palabra4); palabra5 = in.next(); //VALOR DE VECES DESPUES DE => palabra6 = in.next(); numXregla1 = Integer.parseInt((palabra2)); numYregla1 = Integer.parseInt((palabra5)); conf1 = consultaConfianza(palabra6); porcentaje = (numXregla1 * 100) / total; porcentaje2 = (numYregla1 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimension Competencias Parentales adquiere un valor igual a " + valorDim2 + " una cantidad de " + numXregla1 + " veces (" + porcentaje + "%)(X). Esto afecta a la dimensin " + palabra4 + ", una cantidad de " + palabra5 + " vececs (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf1 + "% de las veces. \n"); almacenaRetorno.add(frase1); numVeces.add(1, palabra2 + " " + palabra5); reglasEncontradas regla1 = new reglasEncontradas(); regla1.setContenido(frase1); regla1.setValorX(numXregla1); regla1.setValorY(numYregla1); regla1.setNumRegla(1); reglas.add(regla1); System.out.println("ENTRAMOS AC?"); // band=1; } } // LA REGLA TIENE MAS DE UNA DIMENSIN INVOLUCRADA ANTES DE ==> else { if (in.hasNext()) { palabra4 = in.next(); // DEBER?A SER FLECHA //COMPROBAMOS SI LA ==> EST? EN LA cuarta POSICIN mat = pat2.matcher(palabra4); if (mat.matches()) { if (in.hasNext()) { palabra5 = in.next(); dimInvolucradas.add(almacenaAnterior.get(2)); String dimension = consultaPalabra(almacenaAnterior.get(2)); dimInvolucradas.add(palabra5); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla1 = Integer.parseInt((almacenaAnterior.get(3))); numYregla1 = Integer.parseInt((palabra6)); porcentaje = (numXregla1 * 100) / total; porcentaje2 = (numYregla1 * 100) / total; conf1 = consultaConfianza(palabra7); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", esto ocurre una cantidad de " + numXregla1 + " veces (" + porcentaje + "%)(X). Esto afecta a la dimensin " + palabra5 + " una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf1 + "% de las veces.\n"); almacenaRetorno.add(frase1); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); System.out.println("LOS VALORES DE LA REGLA 1 SON: " + numXregla1 + numYregla1); reglasEncontradas regla1 = new reglasEncontradas(); regla1.setContenido(frase1); regla1.setValorX(numXregla1); regla1.setValorY(numYregla1); regla1.setNumRegla(1); reglas.add(regla1); } } } } } } } //BLOQUE 2 //AC? SE COMPRUEBA SI SE ENCUENTRA LA DIMENSIN 2 EN SEGUNDA POSICIN if (in.hasNext()) { palabra2 = in.next(); // if (in.hasNext()) { palabra3 = in.next(); // //GUARDAMOS LO LE?DO almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); // SI LA PALABRA 3 ES UNA FLECHA, ENTONCES HAY SOLO UNA DIMENSIN INVOLUCRADA if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); // DESPUES DE LA ==> EST? INVOLUCRADA LA DIM2 ? mat = pat.matcher(palabra4); if (mat.matches()) { palabra5 = in.next(); palabra6 = in.next(); String valorDim2 = consultaValor(palabra4); String dimension = consultaPalabra(almacenaAnterior.get(1)); numXregla1 = Integer.parseInt((palabra5)); numYregla1 = Integer.parseInt((almacenaAnterior.get(2))); porcentaje = (numXregla1 * 100) / total; porcentaje2 = (numYregla1 * 100) / total; conf1 = consultaConfianza(palabra6); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + ", junto con la dimensin " + palabra5 + ", una cantidad de " + numXregla1 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + ", una cantidad de " + numYregla1 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf1 + "% de las veces.\n"); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 //System.out.println(frase1); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 // band=1; numVeces.add(1, palabra5 + " " + almacenaAnterior.get(2)); System.out.println("ENTRAMOS AC?" + numXregla2 + numYregla2); reglasEncontradas regla1 = new reglasEncontradas(); regla1.setContenido(frase1); regla1.setValorX(numXregla1); regla1.setValorY(numYregla1); regla1.setNumRegla(1); reglas.add(regla1); } } } else { mat = pat.matcher(palabra2); if (mat.matches()) { String valorDim2 = consultaValor(palabra2); if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { String dimension = consultaPalabra(almacenaAnterior.get(1)); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla1 = Integer.parseInt((palabra3)); numYregla1 = Integer.parseInt((palabra6)); conf1 = consultaConfianza(palabra7); porcentaje = (numXregla1 * 100) / total; porcentaje2 = (numYregla1 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", una cantidad de " + numXregla1 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf1 + "% de las veces.\n"); numVeces.add(1, palabra3 + " " + palabra6); reglasEncontradas regla1 = new reglasEncontradas(); regla1.setContenido(frase1); regla1.setValorX(numXregla1); regla1.setValorY(numYregla1); regla1.setNumRegla(1); reglas.add(regla1); almacenaRetorno.add(frase1); ; // band=1; } } } } //NO HAY DIMENSIN 2 NI EN LA PRIMERA NI EN LA SEGUNDA POSICIN else { if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { mat = pat.matcher(palabra5); if (mat.matches()) { palabra6 = in.next(); palabra7 = in.next(); String valorDim2 = consultaValor(palabra5); String dimension = consultaPalabra(almacenaAnterior.get(1)); String dimension2 = consultaPalabra( almacenaAnterior.get(2)); numXregla1 = Integer.parseInt((almacenaAnterior.get(3))); numYregla1 = Integer.parseInt((palabra6)); conf1 = consultaConfianza(palabra7); porcentaje = (numXregla1 * 100) / total; porcentaje2 = (numYregla1 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + " junto con la dimensin " + dimension2 + " , una cantidad de " + numXregla1 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Competencias Parentales la cual adquiere un valor igual a " + valorDim2 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf1 + "% de las veces.\n"); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); reglasEncontradas regla1 = new reglasEncontradas(); regla1.setContenido(frase1); regla1.setValorX(numXregla1); regla1.setValorY(numYregla1); regla1.setNumRegla(1); reglas.add(regla1); almacenaRetorno.add(frase1); //band=1; } } } } } } } } } } //SEGUNDA RELGA DE ASOCIACIN //BLOQUE 1 //COMPROBAR SI EST? DIM2 INVOLUCRADA mat = pat3.matcher(palabra0); // if (num2.equals(palabra0)) { if (in.hasNext()) { palabra1 = in.next(); // SEGUNDA PALABRA //GUARDO LO LEIDO almacenaAnterior.add(palabra0); almacenaAnterior.add(palabra1); mat = pat.matcher(palabra1); //PALABRA 1 ES DIMENSION 2? if (mat.matches()) { dimInvolucradas.add(palabra1); String valorDim2 = consultaValor(palabra1); //REVISAMOS LO QUE VIENE DESPUES DE DIM2= if (in.hasNext()) { palabra2 = in.next(); //PALABRA 3 EN EL CAMINO FELIZ if (in.hasNext()) { palabra3 = in.next(); //PALABRA 4 EN EL CAMINO FELIZ almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); //SI ES UNA ==> ENTONCES if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); //PALABRA 5 CAMINO FELIZ dimInvolucradas.add(palabra4); palabra4 = consultaPalabra(palabra4); palabra5 = in.next(); //VALOR DE VECES DESPUES DE => palabra6 = in.next(); numXregla2 = Integer.parseInt((palabra2)); numYregla2 = Integer.parseInt((palabra5)); conf2 = consultaConfianza(palabra6); porcentaje = (numXregla2 * 100) / total; porcentaje2 = (numYregla2 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimension Competencias Parentales adquiere un valor igual a " + valorDim2 + " una cantidad de " + numXregla2 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra4 + ", una cantidad de " + palabra5 + " vececs (" + porcentaje2 + "%) (Y). \n Es decir esta regla se cumple el " + conf2 + "% de las veces. \n"); almacenaRetorno.add(frase1); numVeces.add(1, palabra2 + " " + palabra5); reglasEncontradas regla2 = new reglasEncontradas(); regla2.setContenido(frase1); regla2.setValorX(numXregla2); regla2.setValorY(numYregla2); regla2.setNumRegla(2); reglas.add(regla2); System.out.println("ENTRAMOS AC?"); // band=1; } } // LA REGLA TIENE MAS DE UNA DIMENSIN INVOLUCRADA ANTES DE ==> else { if (in.hasNext()) { palabra4 = in.next(); // DEBER?A SER FLECHA //COMPROBAMOS SI LA ==> EST? EN LA cuarta POSICIN mat = pat2.matcher(palabra4); if (mat.matches()) { if (in.hasNext()) { palabra5 = in.next(); dimInvolucradas.add(almacenaAnterior.get(2)); String dimension = consultaPalabra(almacenaAnterior.get(2)); dimInvolucradas.add(palabra5); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla2 = Integer.parseInt((almacenaAnterior.get(3))); numYregla2 = Integer.parseInt((palabra6)); porcentaje = (numXregla2 * 100) / total; porcentaje2 = (numYregla2 * 100) / total; conf2 = consultaConfianza(palabra7); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", esto ocurre una cantidad de " + numXregla2 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf2 + "% de las veces.\n"); almacenaRetorno.add(frase1); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); System.out.println("LOS VALORES DE LA REGLA 1 SON: " + numXregla2 + numYregla2); reglasEncontradas regla2 = new reglasEncontradas(); regla2.setContenido(frase1); regla2.setValorX(numXregla2); regla2.setValorY(numYregla2); regla2.setNumRegla(2); reglas.add(regla2); } } } } } } } //BLOQUE 2 //AC? SE COMPRUEBA SI SE ENCUENTRA LA DIMENSIN 2 EN SEGUNDA POSICIN if (in.hasNext()) { palabra2 = in.next(); // if (in.hasNext()) { palabra3 = in.next(); // //GUARDAMOS LO LE?DO almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); // SI LA PALABRA 3 ES UNA FLECHA, ENTONCES HAY SOLO UNA DIMENSIN INVOLUCRADA if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); // DESPUES DE LA ==> EST? INVOLUCRADA LA DIM2 ? mat = pat.matcher(palabra4); if (mat.matches()) { palabra5 = in.next(); palabra6 = in.next(); String valorDim2 = consultaValor(palabra4); String dimension = consultaPalabra(almacenaAnterior.get(1)); numXregla2 = Integer.parseInt((palabra5)); numYregla2 = Integer.parseInt((almacenaAnterior.get(2))); porcentaje = (numXregla2 * 100) / total; porcentaje2 = (numYregla2 * 100) / total; conf2 = consultaConfianza(palabra6); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + ", junto con la dimensin " + palabra5 + ", una cantidad de " + numXregla2 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + ", una cantidad de " + numYregla2 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf2 + "% de las veces.\n"); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 //System.out.println(frase1); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 // band=1; numVeces.add(1, palabra5 + " " + almacenaAnterior.get(2)); System.out.println("ENTRAMOS AC?" + numXregla2 + numYregla2); reglasEncontradas regla2 = new reglasEncontradas(); regla2.setContenido(frase1); regla2.setValorX(numXregla2); regla2.setValorY(numYregla2); regla2.setNumRegla(2); reglas.add(regla2); } } } else { mat = pat.matcher(palabra2); if (mat.matches()) { String valorDim2 = consultaValor(palabra2); if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { String dimension = consultaPalabra(almacenaAnterior.get(1)); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla2 = Integer.parseInt((palabra3)); numYregla2 = Integer.parseInt((palabra6)); conf2 = consultaConfianza(palabra7); porcentaje = (numXregla2 * 100) / total; porcentaje2 = (numYregla2 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", una cantidad de " + numXregla2 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf2 + "% de las veces.\n"); numVeces.add(1, palabra3 + " " + palabra6); reglasEncontradas regla2 = new reglasEncontradas(); regla2.setContenido(frase1); regla2.setValorX(numXregla2); regla2.setValorY(numYregla2); regla2.setNumRegla(2); reglas.add(regla2); almacenaRetorno.add(frase1); ; // band=1; } } } } //NO HAY DIMENSIN 2 NI EN LA PRIMERA NI EN LA SEGUNDA POSICIN else { if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { mat = pat.matcher(palabra5); if (mat.matches()) { palabra6 = in.next(); palabra7 = in.next(); String valorDim2 = consultaValor(palabra5); String dimension = consultaPalabra(almacenaAnterior.get(1)); String dimension2 = consultaPalabra( almacenaAnterior.get(2)); numXregla2 = Integer.parseInt((almacenaAnterior.get(3))); numYregla2 = Integer.parseInt((palabra6)); conf2 = consultaConfianza(palabra7); porcentaje = (numXregla2 * 100) / total; porcentaje2 = (numYregla2 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + " junto con la dimensin " + dimension2 + " , una cantidad de " + numXregla2 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Competencias Parentales la cual adquiere un valor igual a " + valorDim2 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf2 + "% de las veces.\n"); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); reglasEncontradas regla2 = new reglasEncontradas(); regla2.setContenido(frase1); regla2.setValorX(numXregla2); regla2.setValorY(numYregla2); regla2.setNumRegla(2); reglas.add(regla2); almacenaRetorno.add(frase1); //band=1; } } } } } } } } } } //ERCERA RELGA DE ASOCIACIN //BLOQUE 1 //COMPROBAR SI EST? DIM2 INVOLUCRADA mat = pat3.matcher(palabra0); // if (num3.equals(palabra0)) { if (in.hasNext()) { palabra1 = in.next(); // SEGUNDA PALABRA //GUARDO LO LEIDO almacenaAnterior.add(palabra0); almacenaAnterior.add(palabra1); mat = pat.matcher(palabra1); //PALABRA 1 ES DIMENSION 2? if (mat.matches()) { dimInvolucradas.add(palabra1); String valorDim2 = consultaValor(palabra1); //REVISAMOS LO QUE VIENE DESPUES DE DIM2= if (in.hasNext()) { palabra2 = in.next(); //PALABRA 3 EN EL CAMINO FELIZ if (in.hasNext()) { palabra3 = in.next(); //PALABRA 4 EN EL CAMINO FELIZ almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); //SI ES UNA ==> ENTONCES if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); //PALABRA 5 CAMINO FELIZ dimInvolucradas.add(palabra4); palabra4 = consultaPalabra(palabra4); palabra5 = in.next(); //VALOR DE VECES DESPUES DE => palabra6 = in.next(); numXregla3 = Integer.parseInt((palabra2)); numYregla3 = Integer.parseInt((palabra5)); conf3 = consultaConfianza(palabra6); porcentaje = (numXregla3 * 100) / total; porcentaje2 = (numYregla3 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimension Competencias Parentales adquiere un valor igual a " + valorDim2 + " una cantidad de " + numXregla3 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra4 + ", una cantidad de " + palabra5 + " vececs (" + porcentaje2 + "%) (Y). \n Es decir esta regla se cumple el " + conf3 + "% de las veces. \n"); almacenaRetorno.add(frase1); numVeces.add(1, palabra2 + " " + palabra5); reglasEncontradas regla3 = new reglasEncontradas(); regla3.setContenido(frase1); regla3.setValorX(numXregla3); regla3.setValorY(numYregla3); regla3.setNumRegla(3); reglas.add(regla3); System.out.println("ENTRAMOS AC?"); // band=1; } } // LA REGLA TIENE MAS DE UNA DIMENSIN INVOLUCRADA ANTES DE ==> else { if (in.hasNext()) { palabra4 = in.next(); // DEBER?A SER FLECHA //COMPROBAMOS SI LA ==> EST? EN LA cuarta POSICIN mat = pat2.matcher(palabra4); if (mat.matches()) { if (in.hasNext()) { palabra5 = in.next(); dimInvolucradas.add(almacenaAnterior.get(2)); String dimension = consultaPalabra(almacenaAnterior.get(2)); dimInvolucradas.add(palabra5); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla3 = Integer.parseInt((almacenaAnterior.get(3))); numYregla3 = Integer.parseInt((palabra6)); porcentaje = (numXregla3 * 100) / total; porcentaje2 = (numYregla3 * 100) / total; conf3 = consultaConfianza(palabra7); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", esto ocurre una cantidad de " + numXregla3 + " veces (" + porcentaje + "%). Esto afecta a la dimensin " + palabra5 + " una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf3 + "% de las veces.\n"); almacenaRetorno.add(frase1); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); System.out.println("LOS VALORES DE LA REGLA 1 SON: " + numXregla3 + numYregla3); reglasEncontradas regla3 = new reglasEncontradas(); regla3.setContenido(frase1); regla3.setValorX(numXregla3); regla3.setValorY(numYregla3); regla3.setNumRegla(3); reglas.add(regla3); } } } } } } } //BLOQUE 2 //AC? SE COMPRUEBA SI SE ENCUENTRA LA DIMENSIN 2 EN SEGUNDA POSICIN if (in.hasNext()) { palabra2 = in.next(); // if (in.hasNext()) { palabra3 = in.next(); // //GUARDAMOS LO LE?DO almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); // SI LA PALABRA 3 ES UNA FLECHA, ENTONCES HAY SOLO UNA DIMENSIN INVOLUCRADA if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); // DESPUES DE LA ==> EST? INVOLUCRADA LA DIM2 ? mat = pat.matcher(palabra4); if (mat.matches()) { palabra5 = in.next(); palabra6 = in.next(); String valorDim2 = consultaValor(palabra4); String dimension = consultaPalabra(almacenaAnterior.get(1)); numXregla3 = Integer.parseInt((palabra5)); numYregla3 = Integer.parseInt((almacenaAnterior.get(2))); porcentaje = (numXregla3 * 100) / total; porcentaje2 = (numYregla3 * 100) / total; conf3 = consultaConfianza(palabra6); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + ", junto con la dimensin " + palabra5 + ", una cantidad de " + numXregla3 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + ", una cantidad de " + numYregla3 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf3 + "% de las veces.\n"); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 //System.out.println(frase1); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 // band=1; numVeces.add(1, palabra5 + " " + almacenaAnterior.get(2)); System.out.println("ENTRAMOS AC?" + numXregla3 + numYregla3); reglasEncontradas regla3 = new reglasEncontradas(); regla3.setContenido(frase1); regla3.setValorX(numXregla3); regla3.setValorY(numYregla3); regla3.setNumRegla(3); reglas.add(regla3); } } } else { mat = pat.matcher(palabra2); if (mat.matches()) { String valorDim2 = consultaValor(palabra2); if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { String dimension = consultaPalabra(almacenaAnterior.get(1)); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla3 = Integer.parseInt((palabra3)); numYregla3 = Integer.parseInt((palabra6)); conf3 = consultaConfianza(palabra7); porcentaje = (numXregla3 * 100) / total; porcentaje2 = (numYregla3 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", una cantidad de " + numXregla3 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf3 + "% de las veces.\n"); numVeces.add(1, palabra3 + " " + palabra6); reglasEncontradas regla3 = new reglasEncontradas(); regla3.setContenido(frase1); regla3.setValorX(numXregla3); regla3.setValorY(numYregla3); regla3.setNumRegla(3); reglas.add(regla3); almacenaRetorno.add(frase1); ; // band=1; } } } } //NO HAY DIMENSIN 2 NI EN LA PRIMERA NI EN LA SEGUNDA POSICIN else { if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { mat = pat.matcher(palabra5); if (mat.matches()) { palabra6 = in.next(); palabra7 = in.next(); String valorDim2 = consultaValor(palabra5); String dimension = consultaPalabra(almacenaAnterior.get(1)); String dimension2 = consultaPalabra( almacenaAnterior.get(2)); numXregla3 = Integer.parseInt((almacenaAnterior.get(3))); numYregla3 = Integer.parseInt((palabra6)); conf3 = consultaConfianza(palabra7); porcentaje = (numXregla3 * 100) / total; porcentaje2 = (numYregla3 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + " junto con la dimensin " + dimension2 + " , una cantidad de " + numXregla3 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Competencias Parentales la cual adquiere un valor igual a " + valorDim2 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf3 + "% de las veces.\n"); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); reglasEncontradas regla3 = new reglasEncontradas(); regla3.setContenido(frase1); regla3.setValorX(numXregla3); regla3.setValorY(numYregla3); regla3.setNumRegla(3); reglas.add(regla3); almacenaRetorno.add(frase1); //band=1; } } } } } } } } } } //cuarta RELGA DE ASOCIACIN //BLOQUE 1 //COMPROBAR SI EST? DIM2 INVOLUCRADA mat = pat3.matcher(palabra0); // if (num4.equals(palabra0)) { if (in.hasNext()) { palabra1 = in.next(); // SEGUNDA PALABRA //GUARDO LO LEIDO almacenaAnterior.add(palabra0); almacenaAnterior.add(palabra1); mat = pat.matcher(palabra1); //PALABRA 1 ES DIMENSION 2? if (mat.matches()) { dimInvolucradas.add(palabra1); String valorDim2 = consultaValor(palabra1); //REVISAMOS LO QUE VIENE DESPUES DE DIM2= if (in.hasNext()) { palabra2 = in.next(); //PALABRA 3 EN EL CAMINO FELIZ if (in.hasNext()) { palabra3 = in.next(); //PALABRA 4 EN EL CAMINO FELIZ almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); //SI ES UNA ==> ENTONCES if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); //PALABRA 5 CAMINO FELIZ dimInvolucradas.add(palabra4); palabra4 = consultaPalabra(palabra4); palabra5 = in.next(); //VALOR DE VECES DESPUES DE => palabra6 = in.next(); numXregla4 = Integer.parseInt((palabra2)); numYregla4 = Integer.parseInt((palabra5)); conf4 = consultaConfianza(palabra6); porcentaje = (numXregla4 * 100) / total; porcentaje2 = (numYregla4 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimension Competencias Parentales adquiere un valor igual a " + valorDim2 + " una cantidad de " + numXregla4 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra4 + ", una cantidad de " + palabra5 + " vececs (" + porcentaje2 + "%) (Y). \n Es decir esta regla se cumple el " + conf4 + "% de las veces. \n"); almacenaRetorno.add(frase1); numVeces.add(1, palabra2 + " " + palabra5); reglasEncontradas regla4 = new reglasEncontradas(); regla4.setContenido(frase1); regla4.setValorX(numXregla4); regla4.setValorY(numYregla4); regla4.setNumRegla(4); reglas.add(regla4); System.out.println("ENTRAMOS AC?"); // band=1; } } // LA REGLA TIENE MAS DE UNA DIMENSIN INVOLUCRADA ANTES DE ==> else { if (in.hasNext()) { palabra4 = in.next(); // DEBER?A SER FLECHA //COMPROBAMOS SI LA ==> EST? EN LA cuarta POSICIN mat = pat2.matcher(palabra4); if (mat.matches()) { if (in.hasNext()) { palabra5 = in.next(); dimInvolucradas.add(almacenaAnterior.get(2)); String dimension = consultaPalabra(almacenaAnterior.get(2)); dimInvolucradas.add(palabra5); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla4 = Integer.parseInt((almacenaAnterior.get(3))); numYregla4 = Integer.parseInt((palabra6)); porcentaje = (numXregla4 * 100) / total; porcentaje2 = (numYregla4 * 100) / total; conf4 = consultaConfianza(palabra7); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", esto ocurre una cantidad de " + numXregla4 + " veces (" + porcentaje + "%). Esto afecta a la dimensin " + palabra5 + " una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf4 + "% de las veces.\n"); almacenaRetorno.add(frase1); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); System.out.println("LOS VALORES DE LA REGLA 1 SON: " + numXregla4 + numYregla4); reglasEncontradas regla4 = new reglasEncontradas(); regla4.setContenido(frase1); regla4.setValorX(numXregla4); regla4.setValorY(numYregla4); regla4.setNumRegla(4); reglas.add(regla4); } } } } } } } //BLOQUE 2 //AC? SE COMPRUEBA SI SE ENCUENTRA LA DIMENSIN 2 EN SEGUNDA POSICIN if (in.hasNext()) { palabra2 = in.next(); // if (in.hasNext()) { palabra3 = in.next(); // //GUARDAMOS LO LE?DO almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); // SI LA PALABRA 3 ES UNA FLECHA, ENTONCES HAY SOLO UNA DIMENSIN INVOLUCRADA if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); // DESPUES DE LA ==> EST? INVOLUCRADA LA DIM2 ? mat = pat.matcher(palabra4); if (mat.matches()) { palabra5 = in.next(); palabra6 = in.next(); String valorDim2 = consultaValor(palabra4); String dimension = consultaPalabra(almacenaAnterior.get(1)); numXregla4 = Integer.parseInt((palabra5)); numYregla4 = Integer.parseInt((almacenaAnterior.get(2))); porcentaje = (numXregla4 * 100) / total; porcentaje2 = (numYregla4 * 100) / total; conf4 = consultaConfianza(palabra6); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + ", junto con la dimensin " + palabra5 + ", una cantidad de " + numXregla4 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + ", una cantidad de " + numYregla4 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf4 + "% de las veces.\n"); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 //System.out.println(frase1); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 // band=1; numVeces.add(1, palabra5 + " " + almacenaAnterior.get(2)); System.out.println("ENTRAMOS AC?" + numXregla4 + numYregla4); reglasEncontradas regla4 = new reglasEncontradas(); regla4.setContenido(frase1); regla4.setValorX(numXregla4); regla4.setValorY(numYregla4); regla4.setNumRegla(4); reglas.add(regla4); } } } else { mat = pat.matcher(palabra2); if (mat.matches()) { String valorDim2 = consultaValor(palabra2); if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { String dimension = consultaPalabra(almacenaAnterior.get(1)); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla4 = Integer.parseInt((palabra3)); numYregla4 = Integer.parseInt((palabra6)); conf4 = consultaConfianza(palabra7); porcentaje = (numXregla4 * 100) / total; porcentaje2 = (numYregla4 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", una cantidad de " + numXregla4 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf4 + "% de las veces.\n"); numVeces.add(1, palabra3 + " " + palabra6); reglasEncontradas regla4 = new reglasEncontradas(); regla4.setContenido(frase1); regla4.setValorX(numXregla4); regla4.setValorY(numYregla4); regla4.setNumRegla(4); reglas.add(regla4); almacenaRetorno.add(frase1); ; // band=1; } } } } //NO HAY DIMENSIN 2 NI EN LA PRIMERA NI EN LA SEGUNDA POSICIN else { if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { mat = pat.matcher(palabra5); if (mat.matches()) { palabra6 = in.next(); palabra7 = in.next(); String valorDim2 = consultaValor(palabra5); String dimension = consultaPalabra(almacenaAnterior.get(1)); String dimension2 = consultaPalabra( almacenaAnterior.get(2)); numXregla4 = Integer.parseInt((almacenaAnterior.get(3))); numYregla4 = Integer.parseInt((palabra6)); conf4 = consultaConfianza(palabra7); porcentaje = (numXregla4 * 100) / total; porcentaje2 = (numYregla4 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + " junto con la dimensin " + dimension2 + " , una cantidad de " + numXregla4 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Competencias Parentales la cual adquiere un valor igual a " + valorDim2 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf4 + "% de las veces.\n"); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); reglasEncontradas regla4 = new reglasEncontradas(); regla4.setContenido(frase1); regla4.setValorX(numXregla4); regla4.setValorY(numYregla4); regla4.setNumRegla(4); reglas.add(regla4); almacenaRetorno.add(frase1); //band=1; } } } } } } } } } } //PRIMERA RELGA DE ASOCIACIN //BLOQUE 1 //COMPROBAR SI EST? DIM2 INVOLUCRADA mat = pat3.matcher(palabra0); // if (num5.equals(palabra0)) { if (in.hasNext()) { palabra1 = in.next(); // SEGUNDA PALABRA //GUARDO LO LEIDO almacenaAnterior.add(palabra0); almacenaAnterior.add(palabra1); mat = pat.matcher(palabra1); //PALABRA 1 ES DIMENSION 2? if (mat.matches()) { dimInvolucradas.add(palabra1); String valorDim2 = consultaValor(palabra1); //REVISAMOS LO QUE VIENE DESPUES DE DIM2= if (in.hasNext()) { palabra2 = in.next(); //PALABRA 3 EN EL CAMINO FELIZ if (in.hasNext()) { palabra3 = in.next(); //PALABRA 4 EN EL CAMINO FELIZ almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); //SI ES UNA ==> ENTONCES if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); //PALABRA 5 CAMINO FELIZ dimInvolucradas.add(palabra4); palabra4 = consultaPalabra(palabra4); palabra5 = in.next(); //VALOR DE VECES DESPUES DE => palabra6 = in.next(); numXregla5 = Integer.parseInt((palabra2)); numYregla5 = Integer.parseInt((palabra5)); conf5 = consultaConfianza(palabra6); porcentaje = (numXregla5 * 100) / total; porcentaje2 = (numYregla5 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimension Competencias Parentales adquiere un valor igual a " + valorDim2 + " una cantidad de " + numXregla5 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra4 + ", una cantidad de " + palabra5 + " vececs (" + porcentaje2 + "%) (Y). \n Es decir esta regla se cumple el " + conf5 + "% de las veces. \n"); almacenaRetorno.add(frase1); numVeces.add(1, palabra2 + " " + palabra5); reglasEncontradas regla5 = new reglasEncontradas(); regla5.setContenido(frase1); regla5.setValorX(numXregla5); regla5.setValorY(numYregla5); regla5.setNumRegla(5); reglas.add(regla5); System.out.println("ENTRAMOS AC?"); // band=1; } } // LA REGLA TIENE MAS DE UNA DIMENSIN INVOLUCRADA ANTES DE ==> else { if (in.hasNext()) { palabra4 = in.next(); // DEBER?A SER FLECHA //COMPROBAMOS SI LA ==> EST? EN LA cuarta POSICIN mat = pat2.matcher(palabra4); if (mat.matches()) { if (in.hasNext()) { palabra5 = in.next(); dimInvolucradas.add(almacenaAnterior.get(2)); String dimension = consultaPalabra(almacenaAnterior.get(2)); dimInvolucradas.add(palabra5); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla5 = Integer.parseInt((almacenaAnterior.get(3))); numYregla5 = Integer.parseInt((palabra6)); porcentaje = (numXregla5 * 100) / total; porcentaje2 = (numYregla5 * 100) / total; conf5 = consultaConfianza(palabra7); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", esto ocurre una cantidad de " + numXregla5 + " veces (" + porcentaje + "%). Esto afecta a la dimensin " + palabra5 + " una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf5 + "% de las veces.\n"); almacenaRetorno.add(frase1); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); System.out.println("LOS VALORES DE LA REGLA 1 SON: " + numXregla5 + numYregla5); reglasEncontradas regla5 = new reglasEncontradas(); regla5.setContenido(frase1); regla5.setValorX(numXregla5); regla5.setValorY(numYregla5); regla5.setNumRegla(5); reglas.add(regla5); } } } } } } } //BLOQUE 2 //AC? SE COMPRUEBA SI SE ENCUENTRA LA DIMENSIN 2 EN SEGUNDA POSICIN if (in.hasNext()) { palabra2 = in.next(); // if (in.hasNext()) { palabra3 = in.next(); // //GUARDAMOS LO LE?DO almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); // SI LA PALABRA 3 ES UNA FLECHA, ENTONCES HAY SOLO UNA DIMENSIN INVOLUCRADA if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); // DESPUES DE LA ==> EST? INVOLUCRADA LA DIM2 ? mat = pat.matcher(palabra4); if (mat.matches()) { palabra5 = in.next(); palabra6 = in.next(); String valorDim2 = consultaValor(palabra4); String dimension = consultaPalabra(almacenaAnterior.get(1)); numXregla5 = Integer.parseInt((palabra5)); numYregla5 = Integer.parseInt((almacenaAnterior.get(2))); porcentaje = (numXregla5 * 100) / total; porcentaje2 = (numYregla5 * 100) / total; conf5 = consultaConfianza(palabra6); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + ", junto con la dimensin " + palabra5 + ", una cantidad de " + numXregla5 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + ", una cantidad de " + numYregla5 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf5 + "% de las veces.\n"); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 //System.out.println(frase1); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 // band=1; numVeces.add(1, palabra5 + " " + almacenaAnterior.get(2)); System.out.println("ENTRAMOS AC?" + numXregla5 + numYregla5); reglasEncontradas regla5 = new reglasEncontradas(); regla5.setContenido(frase1); regla5.setValorX(numXregla5); regla5.setValorY(numYregla5); regla5.setNumRegla(5); reglas.add(regla5); } } } else { mat = pat.matcher(palabra2); if (mat.matches()) { String valorDim2 = consultaValor(palabra2); if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { String dimension = consultaPalabra(almacenaAnterior.get(1)); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla5 = Integer.parseInt((palabra3)); numYregla5 = Integer.parseInt((palabra6)); conf5 = consultaConfianza(palabra7); porcentaje = (numXregla5 * 100) / total; porcentaje2 = (numYregla5 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", una cantidad de " + numXregla5 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf5 + "% de las veces.\n"); numVeces.add(1, palabra3 + " " + palabra6); reglasEncontradas regla5 = new reglasEncontradas(); regla5.setContenido(frase1); regla5.setValorX(numXregla5); regla5.setValorY(numYregla5); regla5.setNumRegla(5); reglas.add(regla5); almacenaRetorno.add(frase1); ; // band=1; } } } } //NO HAY DIMENSIN 2 NI EN LA PRIMERA NI EN LA SEGUNDA POSICIN else { if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { mat = pat.matcher(palabra5); if (mat.matches()) { palabra6 = in.next(); palabra7 = in.next(); String valorDim2 = consultaValor(palabra5); String dimension = consultaPalabra(almacenaAnterior.get(1)); String dimension2 = consultaPalabra( almacenaAnterior.get(2)); numXregla5 = Integer.parseInt((almacenaAnterior.get(3))); numYregla5 = Integer.parseInt((palabra6)); conf5 = consultaConfianza(palabra7); porcentaje = (numXregla5 * 100) / total; porcentaje2 = (numYregla5 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + " junto con la dimensin " + dimension2 + " , una cantidad de " + numXregla5 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Competencias Parentales la cual adquiere un valor igual a " + valorDim2 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf5 + "% de las veces.\n"); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); reglasEncontradas regla5 = new reglasEncontradas(); regla5.setContenido(frase1); regla5.setValorX(numXregla5); regla5.setValorY(numYregla5); regla5.setNumRegla(5); reglas.add(regla5); almacenaRetorno.add(frase1); //band=1; } } } } } } } } } } //SEXTA RELGA DE ASOCIACIN //BLOQUE 1 //COMPROBAR SI EST? DIM2 INVOLUCRADA mat = pat3.matcher(palabra0); // if (num6.equals(palabra0)) { if (in.hasNext()) { palabra1 = in.next(); // SEGUNDA PALABRA //GUARDO LO LEIDO almacenaAnterior.add(palabra0); almacenaAnterior.add(palabra1); mat = pat.matcher(palabra1); //PALABRA 1 ES DIMENSION 2? if (mat.matches()) { dimInvolucradas.add(palabra1); String valorDim2 = consultaValor(palabra1); //REVISAMOS LO QUE VIENE DESPUES DE DIM2= if (in.hasNext()) { palabra2 = in.next(); //PALABRA 3 EN EL CAMINO FELIZ if (in.hasNext()) { palabra3 = in.next(); //PALABRA 4 EN EL CAMINO FELIZ almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); //SI ES UNA ==> ENTONCES if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); //PALABRA 5 CAMINO FELIZ dimInvolucradas.add(palabra4); palabra4 = consultaPalabra(palabra4); palabra5 = in.next(); //VALOR DE VECES DESPUES DE => palabra6 = in.next(); numXregla6 = Integer.parseInt((palabra2)); numYregla6 = Integer.parseInt((palabra5)); conf6 = consultaConfianza(palabra6); porcentaje = (numXregla6 * 100) / total; porcentaje2 = (numYregla6 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimension Competencias Parentales adquiere un valor igual a " + valorDim2 + " una cantidad de " + numXregla6 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra4 + ", una cantidad de " + palabra5 + " vececs (" + porcentaje2 + "%) (Y). \n Es decir esta regla se cumple el " + conf6 + "% de las veces. \n"); almacenaRetorno.add(frase1); numVeces.add(1, palabra2 + " " + palabra5); reglasEncontradas regla6 = new reglasEncontradas(); regla6.setContenido(frase1); regla6.setValorX(numXregla6); regla6.setValorY(numYregla6); regla6.setNumRegla(6); reglas.add(regla6); System.out.println("ENTRAMOS AC?"); // band=1; } } // LA REGLA TIENE MAS DE UNA DIMENSIN INVOLUCRADA ANTES DE ==> else { if (in.hasNext()) { palabra4 = in.next(); // DEBER?A SER FLECHA //COMPROBAMOS SI LA ==> EST? EN LA cuarta POSICIN mat = pat2.matcher(palabra4); if (mat.matches()) { if (in.hasNext()) { palabra5 = in.next(); dimInvolucradas.add(almacenaAnterior.get(2)); String dimension = consultaPalabra(almacenaAnterior.get(2)); dimInvolucradas.add(palabra5); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla6 = Integer.parseInt((almacenaAnterior.get(3))); numYregla6 = Integer.parseInt((palabra6)); porcentaje = (numXregla6 * 100) / total; porcentaje2 = (numYregla6 * 100) / total; conf6 = consultaConfianza(palabra7); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", esto ocurre una cantidad de " + numXregla6 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf6 + "% de las veces.\n"); almacenaRetorno.add(frase1); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); System.out.println("LOS VALORES DE LA REGLA 1 SON: " + numXregla6 + numYregla6); reglasEncontradas regla6 = new reglasEncontradas(); regla6.setContenido(frase1); regla6.setValorX(numXregla6); regla6.setValorY(numYregla6); regla6.setNumRegla(6); reglas.add(regla6); } } } } } } } //BLOQUE 2 //AC? SE COMPRUEBA SI SE ENCUENTRA LA DIMENSIN 2 EN SEGUNDA POSICIN if (in.hasNext()) { palabra2 = in.next(); // if (in.hasNext()) { palabra3 = in.next(); // //GUARDAMOS LO LE?DO almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); // SI LA PALABRA 3 ES UNA FLECHA, ENTONCES HAY SOLO UNA DIMENSIN INVOLUCRADA if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); // DESPUES DE LA ==> EST? INVOLUCRADA LA DIM2 ? mat = pat.matcher(palabra4); if (mat.matches()) { palabra5 = in.next(); palabra6 = in.next(); String valorDim2 = consultaValor(palabra4); String dimension = consultaPalabra(almacenaAnterior.get(1)); numXregla6 = Integer.parseInt((palabra5)); numYregla6 = Integer.parseInt((almacenaAnterior.get(2))); porcentaje = (numXregla6 * 100) / total; porcentaje2 = (numYregla6 * 100) / total; conf6 = consultaConfianza(palabra6); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + ", junto con la dimensin " + palabra5 + ", una cantidad de " + numXregla6 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + ", una cantidad de " + numYregla6 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf6 + "% de las veces.\n"); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 //System.out.println(frase1); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 // band=1; numVeces.add(1, palabra5 + " " + almacenaAnterior.get(2)); System.out.println("ENTRAMOS AC?" + numXregla6 + numYregla6); reglasEncontradas regla6 = new reglasEncontradas(); regla6.setContenido(frase1); regla6.setValorX(numXregla6); regla6.setValorY(numYregla6); regla6.setNumRegla(6); reglas.add(regla6); } } } else { mat = pat.matcher(palabra2); if (mat.matches()) { String valorDim2 = consultaValor(palabra2); if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { String dimension = consultaPalabra(almacenaAnterior.get(1)); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla6 = Integer.parseInt((palabra3)); numYregla6 = Integer.parseInt((palabra6)); conf6 = consultaConfianza(palabra7); porcentaje = (numXregla6 * 100) / total; porcentaje2 = (numYregla6 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", una cantidad de " + numXregla6 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf6 + "% de las veces.\n"); numVeces.add(1, palabra3 + " " + palabra6); reglasEncontradas regla6 = new reglasEncontradas(); regla6.setContenido(frase1); regla6.setValorX(numXregla6); regla6.setValorY(numYregla6); regla6.setNumRegla(6); reglas.add(regla6); almacenaRetorno.add(frase1); ; // band=1; } } } } //NO HAY DIMENSIN 2 NI EN LA PRIMERA NI EN LA SEGUNDA POSICIN else { if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { mat = pat.matcher(palabra5); if (mat.matches()) { palabra6 = in.next(); palabra7 = in.next(); String valorDim2 = consultaValor(palabra5); String dimension = consultaPalabra(almacenaAnterior.get(1)); String dimension2 = consultaPalabra( almacenaAnterior.get(2)); numXregla6 = Integer.parseInt((almacenaAnterior.get(3))); numYregla6 = Integer.parseInt((palabra6)); conf6 = consultaConfianza(palabra7); porcentaje = (numXregla6 * 100) / total; porcentaje2 = (numYregla6 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + " junto con la dimensin " + dimension2 + " , una cantidad de " + numXregla6 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Competencias Parentales la cual adquiere un valor igual a " + valorDim2 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf6 + "% de las veces.\n"); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); reglasEncontradas regla6 = new reglasEncontradas(); regla6.setContenido(frase1); regla6.setValorX(numXregla6); regla6.setValorY(numYregla6); regla6.setNumRegla(6); reglas.add(regla6); almacenaRetorno.add(frase1); //band=1; } } } } } } } } } } //SEPTIMA RELGA DE ASOCIACIN //BLOQUE 1 //COMPROBAR SI EST? DIM2 INVOLUCRADA mat = pat3.matcher(palabra0); // if (num7.equals(palabra0)) { if (in.hasNext()) { palabra1 = in.next(); // SEGUNDA PALABRA //GUARDO LO LEIDO almacenaAnterior.add(palabra0); almacenaAnterior.add(palabra1); mat = pat.matcher(palabra1); //PALABRA 1 ES DIMENSION 2? if (mat.matches()) { dimInvolucradas.add(palabra1); String valorDim2 = consultaValor(palabra1); //REVISAMOS LO QUE VIENE DESPUES DE DIM2= if (in.hasNext()) { palabra2 = in.next(); //PALABRA 3 EN EL CAMINO FELIZ if (in.hasNext()) { palabra3 = in.next(); //PALABRA 4 EN EL CAMINO FELIZ almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); //SI ES UNA ==> ENTONCES if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); //PALABRA 5 CAMINO FELIZ dimInvolucradas.add(palabra4); palabra4 = consultaPalabra(palabra4); palabra5 = in.next(); //VALOR DE VECES DESPUES DE => palabra6 = in.next(); numXregla7 = Integer.parseInt((palabra2)); numYregla7 = Integer.parseInt((palabra5)); conf7 = consultaConfianza(palabra6); porcentaje = (numXregla7 * 100) / total; porcentaje2 = (numYregla7 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimension Competencias Parentales adquiere un valor igual a " + valorDim2 + " una cantidad de " + numXregla7 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra4 + ", una cantidad de " + palabra5 + " vececs (" + porcentaje2 + "%) (Y). \n Es decir esta regla se cumple el " + conf7 + "% de las veces. \n"); almacenaRetorno.add(frase1); numVeces.add(1, palabra2 + " " + palabra5); reglasEncontradas regla7 = new reglasEncontradas(); regla7.setContenido(frase1); regla7.setValorX(numXregla7); regla7.setValorY(numYregla7); regla7.setNumRegla(7); reglas.add(regla7); System.out.println("ENTRAMOS AC?"); // band=1; } } // LA REGLA TIENE MAS DE UNA DIMENSIN INVOLUCRADA ANTES DE ==> else { if (in.hasNext()) { palabra4 = in.next(); // DEBER?A SER FLECHA //COMPROBAMOS SI LA ==> EST? EN LA cuarta POSICIN mat = pat2.matcher(palabra4); if (mat.matches()) { if (in.hasNext()) { palabra5 = in.next(); dimInvolucradas.add(almacenaAnterior.get(2)); String dimension = consultaPalabra(almacenaAnterior.get(2)); dimInvolucradas.add(palabra5); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla7 = Integer.parseInt((almacenaAnterior.get(3))); numYregla7 = Integer.parseInt((palabra6)); porcentaje = (numXregla7 * 100) / total; porcentaje2 = (numYregla7 * 100) / total; conf7 = consultaConfianza(palabra7); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", esto ocurre una cantidad de " + numXregla7 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf7 + "% de las veces.\n"); almacenaRetorno.add(frase1); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); System.out.println("LOS VALORES DE LA REGLA 1 SON: " + numXregla7 + numYregla7); reglasEncontradas regla7 = new reglasEncontradas(); regla7.setContenido(frase1); regla7.setValorX(numXregla7); regla7.setValorY(numYregla7); regla7.setNumRegla(7); reglas.add(regla7); } } } } } } } //BLOQUE 2 //AC? SE COMPRUEBA SI SE ENCUENTRA LA DIMENSIN 2 EN SEGUNDA POSICIN if (in.hasNext()) { palabra2 = in.next(); // if (in.hasNext()) { palabra3 = in.next(); // //GUARDAMOS LO LE?DO almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); // SI LA PALABRA 3 ES UNA FLECHA, ENTONCES HAY SOLO UNA DIMENSIN INVOLUCRADA if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); // DESPUES DE LA ==> EST? INVOLUCRADA LA DIM2 ? mat = pat.matcher(palabra4); if (mat.matches()) { palabra5 = in.next(); palabra6 = in.next(); String valorDim2 = consultaValor(palabra4); String dimension = consultaPalabra(almacenaAnterior.get(1)); numXregla7 = Integer.parseInt((palabra5)); numYregla7 = Integer.parseInt((almacenaAnterior.get(2))); porcentaje = (numXregla7 * 100) / total; porcentaje2 = (numYregla7 * 100) / total; conf7 = consultaConfianza(palabra6); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + ", junto con la dimensin " + palabra5 + ", una cantidad de " + numXregla7 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + ", una cantidad de " + numYregla7 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf7 + "% de las veces.\n"); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 //System.out.println(frase1); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 // band=1; numVeces.add(1, palabra5 + " " + almacenaAnterior.get(2)); System.out.println("ENTRAMOS AC?" + numXregla7 + numYregla7); reglasEncontradas regla7 = new reglasEncontradas(); regla7.setContenido(frase1); regla7.setValorX(numXregla7); regla7.setValorY(numYregla7); regla7.setNumRegla(7); reglas.add(regla7); } } } else { mat = pat.matcher(palabra2); if (mat.matches()) { String valorDim2 = consultaValor(palabra2); if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { String dimension = consultaPalabra(almacenaAnterior.get(1)); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla7 = Integer.parseInt((palabra3)); numYregla7 = Integer.parseInt((palabra6)); conf7 = consultaConfianza(palabra7); porcentaje = (numXregla7 * 100) / total; porcentaje2 = (numYregla7 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", una cantidad de " + numXregla7 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf7 + "% de las veces.\n"); numVeces.add(1, palabra3 + " " + palabra6); reglasEncontradas regla7 = new reglasEncontradas(); regla7.setContenido(frase1); regla7.setValorX(numXregla7); regla7.setValorY(numYregla7); regla7.setNumRegla(7); reglas.add(regla7); almacenaRetorno.add(frase1); ; // band=1; } } } } //NO HAY DIMENSIN 2 NI EN LA PRIMERA NI EN LA SEGUNDA POSICIN else { if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { mat = pat.matcher(palabra5); if (mat.matches()) { palabra6 = in.next(); palabra7 = in.next(); String valorDim2 = consultaValor(palabra5); String dimension = consultaPalabra(almacenaAnterior.get(1)); String dimension2 = consultaPalabra( almacenaAnterior.get(2)); numXregla7 = Integer.parseInt((almacenaAnterior.get(3))); numYregla7 = Integer.parseInt((palabra6)); conf7 = consultaConfianza(palabra7); porcentaje = (numXregla7 * 100) / total; porcentaje2 = (numYregla7 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + " junto con la dimensin " + dimension2 + " , una cantidad de " + numXregla7 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Competencias Parentales la cual adquiere un valor igual a " + valorDim2 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf7 + "% de las veces.\n"); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); reglasEncontradas regla7 = new reglasEncontradas(); regla7.setContenido(frase1); regla7.setValorX(numXregla7); regla7.setValorY(numYregla7); regla7.setNumRegla(7); reglas.add(regla7); almacenaRetorno.add(frase1); //band=1; } } } } } } } } } } //OCTAVA RELGA DE ASOCIACIN //BLOQUE 1 //COMPROBAR SI EST? DIM2 INVOLUCRADA mat = pat3.matcher(palabra0); // if (num8.equals(palabra0)) { if (in.hasNext()) { palabra1 = in.next(); // SEGUNDA PALABRA //GUARDO LO LEIDO almacenaAnterior.add(palabra0); almacenaAnterior.add(palabra1); mat = pat.matcher(palabra1); //PALABRA 1 ES DIMENSION 2? if (mat.matches()) { dimInvolucradas.add(palabra1); String valorDim2 = consultaValor(palabra1); //REVISAMOS LO QUE VIENE DESPUES DE DIM2= if (in.hasNext()) { palabra2 = in.next(); //PALABRA 3 EN EL CAMINO FELIZ if (in.hasNext()) { palabra3 = in.next(); //PALABRA 4 EN EL CAMINO FELIZ almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); //SI ES UNA ==> ENTONCES if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); //PALABRA 5 CAMINO FELIZ dimInvolucradas.add(palabra4); palabra4 = consultaPalabra(palabra4); palabra5 = in.next(); //VALOR DE VECES DESPUES DE => palabra6 = in.next(); numXregla8 = Integer.parseInt((palabra2)); numYregla8 = Integer.parseInt((palabra5)); conf8 = consultaConfianza(palabra6); porcentaje = (numXregla8 * 100) / total; porcentaje2 = (numYregla8 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimension Competencias Parentales adquiere un valor igual a " + valorDim2 + " una cantidad de " + numXregla8 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra4 + ", una cantidad de " + palabra5 + " vececs (" + porcentaje2 + "%) (Y). \n Es decir esta regla se cumple el " + conf8 + "% de las veces. \n"); almacenaRetorno.add(frase1); numVeces.add(1, palabra2 + " " + palabra5); reglasEncontradas regla8 = new reglasEncontradas(); regla8.setContenido(frase1); regla8.setValorX(numXregla8); regla8.setValorY(numYregla8); regla8.setNumRegla(8); reglas.add(regla8); System.out.println("ENTRAMOS AC?"); // band=1; } } // LA REGLA TIENE MAS DE UNA DIMENSIN INVOLUCRADA ANTES DE ==> else { if (in.hasNext()) { palabra4 = in.next(); // DEBER?A SER FLECHA //COMPROBAMOS SI LA ==> EST? EN LA cuarta POSICIN mat = pat2.matcher(palabra4); if (mat.matches()) { if (in.hasNext()) { palabra5 = in.next(); dimInvolucradas.add(almacenaAnterior.get(2)); String dimension = consultaPalabra(almacenaAnterior.get(2)); dimInvolucradas.add(palabra5); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla8 = Integer.parseInt((almacenaAnterior.get(3))); numYregla8 = Integer.parseInt((palabra6)); porcentaje = (numXregla8 * 100) / total; porcentaje2 = (numYregla8 * 100) / total; conf8 = consultaConfianza(palabra7); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", esto ocurre una cantidad de " + numXregla8 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf8 + "% de las veces.\n"); almacenaRetorno.add(frase1); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); System.out.println("LOS VALORES DE LA REGLA 1 SON: " + numXregla8 + numYregla8); reglasEncontradas regla8 = new reglasEncontradas(); regla8.setContenido(frase1); regla8.setValorX(numXregla8); regla8.setValorY(numYregla8); regla8.setNumRegla(8); reglas.add(regla8); } } } } } } } //BLOQUE 2 //AC? SE COMPRUEBA SI SE ENCUENTRA LA DIMENSIN 2 EN SEGUNDA POSICIN if (in.hasNext()) { palabra2 = in.next(); // if (in.hasNext()) { palabra3 = in.next(); // //GUARDAMOS LO LE?DO almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); // SI LA PALABRA 3 ES UNA FLECHA, ENTONCES HAY SOLO UNA DIMENSIN INVOLUCRADA if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); // DESPUES DE LA ==> EST? INVOLUCRADA LA DIM2 ? mat = pat.matcher(palabra4); if (mat.matches()) { palabra5 = in.next(); palabra6 = in.next(); String valorDim2 = consultaValor(palabra4); String dimension = consultaPalabra(almacenaAnterior.get(1)); numXregla8 = Integer.parseInt((palabra5)); numYregla8 = Integer.parseInt((almacenaAnterior.get(2))); porcentaje = (numXregla8 * 100) / total; porcentaje2 = (numYregla8 * 100) / total; conf8 = consultaConfianza(palabra6); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + ", junto con la dimensin " + palabra5 + ", una cantidad de " + numXregla8 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + ", una cantidad de " + numYregla8 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf8 + "% de las veces.\n"); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 //System.out.println(frase1); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 // band=1; numVeces.add(1, palabra5 + " " + almacenaAnterior.get(2)); System.out.println("ENTRAMOS AC?" + numXregla8 + numYregla8); reglasEncontradas regla8 = new reglasEncontradas(); regla8.setContenido(frase1); regla8.setValorX(numXregla8); regla8.setValorY(numYregla8); regla8.setNumRegla(8); reglas.add(regla8); } } } else { mat = pat.matcher(palabra2); if (mat.matches()) { String valorDim2 = consultaValor(palabra2); if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { String dimension = consultaPalabra(almacenaAnterior.get(1)); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla8 = Integer.parseInt((palabra3)); numYregla8 = Integer.parseInt((palabra6)); conf8 = consultaConfianza(palabra7); porcentaje = (numXregla8 * 100) / total; porcentaje2 = (numYregla8 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", una cantidad de " + numXregla8 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf8 + "% de las veces.\n"); numVeces.add(1, palabra3 + " " + palabra6); reglasEncontradas regla8 = new reglasEncontradas(); regla8.setContenido(frase1); regla8.setValorX(numXregla8); regla8.setValorY(numYregla8); regla8.setNumRegla(8); reglas.add(regla8); almacenaRetorno.add(frase1); ; // band=1; } } } } //NO HAY DIMENSIN 2 NI EN LA PRIMERA NI EN LA SEGUNDA POSICIN else { if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { mat = pat.matcher(palabra5); if (mat.matches()) { palabra6 = in.next(); palabra7 = in.next(); String valorDim2 = consultaValor(palabra5); String dimension = consultaPalabra(almacenaAnterior.get(1)); String dimension2 = consultaPalabra( almacenaAnterior.get(2)); numXregla8 = Integer.parseInt((almacenaAnterior.get(3))); numYregla8 = Integer.parseInt((palabra6)); conf8 = consultaConfianza(palabra7); porcentaje = (numXregla8 * 100) / total; porcentaje2 = (numYregla8 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + " junto con la dimensin " + dimension2 + " , una cantidad de " + numXregla8 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Competencias Parentales la cual adquiere un valor igual a " + valorDim2 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf8 + "% de las veces.\n"); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); reglasEncontradas regla8 = new reglasEncontradas(); regla8.setContenido(frase1); regla8.setValorX(numXregla8); regla8.setValorY(numYregla8); regla8.setNumRegla(8); reglas.add(regla8); almacenaRetorno.add(frase1); //band=1; } } } } } } } } } } //NOVENA RELGA DE ASOCIACIN //BLOQUE 1 //COMPROBAR SI EST? DIM2 INVOLUCRADA mat = pat3.matcher(palabra0); // if (num9.equals(palabra0)) { if (in.hasNext()) { palabra1 = in.next(); // SEGUNDA PALABRA //GUARDO LO LEIDO almacenaAnterior.add(palabra0); almacenaAnterior.add(palabra1); mat = pat.matcher(palabra1); //PALABRA 1 ES DIMENSION 2? if (mat.matches()) { dimInvolucradas.add(palabra1); String valorDim2 = consultaValor(palabra1); //REVISAMOS LO QUE VIENE DESPUES DE DIM2= if (in.hasNext()) { palabra2 = in.next(); //PALABRA 3 EN EL CAMINO FELIZ if (in.hasNext()) { palabra3 = in.next(); //PALABRA 4 EN EL CAMINO FELIZ almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); //SI ES UNA ==> ENTONCES if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); //PALABRA 5 CAMINO FELIZ dimInvolucradas.add(palabra4); palabra4 = consultaPalabra(palabra4); palabra5 = in.next(); //VALOR DE VECES DESPUES DE => palabra6 = in.next(); numXregla9 = Integer.parseInt((palabra2)); numYregla9 = Integer.parseInt((palabra5)); conf9 = consultaConfianza(palabra6); porcentaje = (numXregla9 * 100) / total; porcentaje2 = (numYregla9 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimension Competencias Parentales adquiere un valor igual a " + valorDim2 + " una cantidad de " + numXregla9 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra4 + ", una cantidad de " + palabra5 + " vececs (" + porcentaje2 + "%) (Y). \n Es decir esta regla se cumple el " + conf9 + "% de las veces. \n"); almacenaRetorno.add(frase1); numVeces.add(1, palabra2 + " " + palabra5); reglasEncontradas regla9 = new reglasEncontradas(); regla9.setContenido(frase1); regla9.setValorX(numXregla9); regla9.setValorY(numYregla9); regla9.setNumRegla(9); reglas.add(regla9); System.out.println("ENTRAMOS AC?"); // band=1; } } // LA REGLA TIENE MAS DE UNA DIMENSIN INVOLUCRADA ANTES DE ==> else { if (in.hasNext()) { palabra4 = in.next(); // DEBER?A SER FLECHA //COMPROBAMOS SI LA ==> EST? EN LA cuarta POSICIN mat = pat2.matcher(palabra4); if (mat.matches()) { if (in.hasNext()) { palabra5 = in.next(); dimInvolucradas.add(almacenaAnterior.get(2)); String dimension = consultaPalabra(almacenaAnterior.get(2)); dimInvolucradas.add(palabra5); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla9 = Integer.parseInt((almacenaAnterior.get(3))); numYregla9 = Integer.parseInt((palabra6)); porcentaje = (numXregla9 * 100) / total; porcentaje2 = (numYregla9 * 100) / total; conf9 = consultaConfianza(palabra7); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", esto ocurre una cantidad de " + numXregla9 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf9 + "% de las veces.\n"); almacenaRetorno.add(frase1); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); System.out.println("LOS VALORES DE LA REGLA 1 SON: " + numXregla9 + numYregla9); reglasEncontradas regla9 = new reglasEncontradas(); regla9.setContenido(frase1); regla9.setValorX(numXregla9); regla9.setValorY(numYregla9); regla9.setNumRegla(9); reglas.add(regla9); } } } } } } } //BLOQUE 2 //AC? SE COMPRUEBA SI SE ENCUENTRA LA DIMENSIN 2 EN SEGUNDA POSICIN if (in.hasNext()) { palabra2 = in.next(); // if (in.hasNext()) { palabra3 = in.next(); // //GUARDAMOS LO LE?DO almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); // SI LA PALABRA 3 ES UNA FLECHA, ENTONCES HAY SOLO UNA DIMENSIN INVOLUCRADA if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); // DESPUES DE LA ==> EST? INVOLUCRADA LA DIM2 ? mat = pat.matcher(palabra4); if (mat.matches()) { palabra5 = in.next(); palabra6 = in.next(); String valorDim2 = consultaValor(palabra4); String dimension = consultaPalabra(almacenaAnterior.get(1)); numXregla9 = Integer.parseInt((palabra5)); numYregla9 = Integer.parseInt((almacenaAnterior.get(2))); porcentaje = (numXregla9 * 100) / total; porcentaje2 = (numYregla9 * 100) / total; conf9 = consultaConfianza(palabra6); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + ", junto con la dimensin " + palabra5 + ", una cantidad de " + numXregla9 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + ", una cantidad de " + numYregla9 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf9 + "% de las veces.\n"); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 //System.out.println(frase1); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 // band=1; numVeces.add(1, palabra5 + " " + almacenaAnterior.get(2)); System.out.println("ENTRAMOS AC?" + numXregla9 + numYregla9); reglasEncontradas regla9 = new reglasEncontradas(); regla9.setContenido(frase1); regla9.setValorX(numXregla9); regla9.setValorY(numYregla9); regla9.setNumRegla(9); reglas.add(regla9); } } } else { mat = pat.matcher(palabra2); if (mat.matches()) { String valorDim2 = consultaValor(palabra2); if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { String dimension = consultaPalabra(almacenaAnterior.get(1)); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla9 = Integer.parseInt((palabra3)); numYregla9 = Integer.parseInt((palabra6)); conf9 = consultaConfianza(palabra7); porcentaje = (numXregla9 * 100) / total; porcentaje2 = (numYregla9 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", una cantidad de " + numXregla9 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf9 + "% de las veces.\n"); numVeces.add(1, palabra3 + " " + palabra6); reglasEncontradas regla9 = new reglasEncontradas(); regla9.setContenido(frase1); regla9.setValorX(numXregla9); regla9.setValorY(numYregla9); regla9.setNumRegla(9); reglas.add(regla9); almacenaRetorno.add(frase1); ; // band=1; } } } } //NO HAY DIMENSIN 2 NI EN LA PRIMERA NI EN LA SEGUNDA POSICIN else { if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { mat = pat.matcher(palabra5); if (mat.matches()) { palabra6 = in.next(); palabra7 = in.next(); String valorDim2 = consultaValor(palabra5); String dimension = consultaPalabra(almacenaAnterior.get(1)); String dimension2 = consultaPalabra( almacenaAnterior.get(2)); numXregla9 = Integer.parseInt((almacenaAnterior.get(3))); numYregla9 = Integer.parseInt((palabra6)); conf9 = consultaConfianza(palabra7); porcentaje = (numXregla9 * 100) / total; porcentaje2 = (numYregla9 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + " junto con la dimensin " + dimension2 + " , una cantidad de " + numXregla9 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Competencias Parentales la cual adquiere un valor igual a " + valorDim2 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf9 + "% de las veces.\n"); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); reglasEncontradas regla9 = new reglasEncontradas(); regla9.setContenido(frase1); regla9.setValorX(numXregla9); regla9.setValorY(numYregla9); regla9.setNumRegla(9); reglas.add(regla9); almacenaRetorno.add(frase1); //band=1; } } } } } } } } } } //DECIMA RELGA DE ASOCIACIN //BLOQUE 1 //COMPROBAR SI EST? DIM2 INVOLUCRADA mat = pat3.matcher(palabra0); // if (num10.equals(palabra0)) { if (in.hasNext()) { palabra1 = in.next(); // SEGUNDA PALABRA //GUARDO LO LEIDO almacenaAnterior.add(palabra0); almacenaAnterior.add(palabra1); mat = pat.matcher(palabra1); //PALABRA 1 ES DIMENSION 2? if (mat.matches()) { dimInvolucradas.add(palabra1); String valorDim2 = consultaValor(palabra1); //REVISAMOS LO QUE VIENE DESPUES DE DIM2= if (in.hasNext()) { palabra2 = in.next(); //PALABRA 3 EN EL CAMINO FELIZ if (in.hasNext()) { palabra3 = in.next(); //PALABRA 4 EN EL CAMINO FELIZ almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); //SI ES UNA ==> ENTONCES if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); //PALABRA 5 CAMINO FELIZ dimInvolucradas.add(palabra4); palabra4 = consultaPalabra(palabra4); palabra5 = in.next(); //VALOR DE VECES DESPUES DE => palabra6 = in.next(); numXregla10 = Integer.parseInt((palabra2)); numYregla10 = Integer.parseInt((palabra5)); conf10 = consultaConfianza(palabra6); porcentaje = (numXregla10 * 100) / total; porcentaje2 = (numYregla10 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimension Competencias Parentales adquiere un valor igual a " + valorDim2 + " una cantidad de " + numXregla10 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra4 + ", una cantidad de " + palabra5 + " vececs (" + porcentaje2 + "%) (Y). \n Es decir esta regla se cumple el " + conf10 + "% de las veces. \n"); almacenaRetorno.add(frase1); numVeces.add(1, palabra2 + " " + palabra5); reglasEncontradas regla10 = new reglasEncontradas(); regla10.setContenido(frase1); regla10.setValorX(numXregla10); regla10.setValorY(numYregla10); regla10.setNumRegla(10); reglas.add(regla10); System.out.println("ENTRAMOS AC?"); // band=1; } } // LA REGLA TIENE MAS DE UNA DIMENSIN INVOLUCRADA ANTES DE ==> else { if (in.hasNext()) { palabra4 = in.next(); // DEBER?A SER FLECHA //COMPROBAMOS SI LA ==> EST? EN LA cuarta POSICIN mat = pat2.matcher(palabra4); if (mat.matches()) { if (in.hasNext()) { palabra5 = in.next(); dimInvolucradas.add(almacenaAnterior.get(2)); String dimension = consultaPalabra(almacenaAnterior.get(2)); dimInvolucradas.add(palabra5); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla10 = Integer.parseInt((almacenaAnterior.get(3))); numYregla10 = Integer.parseInt((palabra6)); porcentaje = (numXregla10 * 100) / total; porcentaje2 = (numYregla10 * 100) / total; conf10 = consultaConfianza(palabra7); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", esto ocurre una cantidad de " + numXregla10 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf10 + "% de las veces.\n"); almacenaRetorno.add(frase1); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); System.out.println("LOS VALORES DE LA REGLA 1 SON: " + numXregla10 + numYregla10); reglasEncontradas regla10 = new reglasEncontradas(); regla10.setContenido(frase1); regla10.setValorX(numXregla10); regla10.setValorY(numYregla10); regla10.setNumRegla(10); reglas.add(regla10); } } } } } } } //BLOQUE 2 //AC? SE COMPRUEBA SI SE ENCUENTRA LA DIMENSIN 2 EN SEGUNDA POSICIN if (in.hasNext()) { palabra2 = in.next(); // if (in.hasNext()) { palabra3 = in.next(); // //GUARDAMOS LO LE?DO almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); // SI LA PALABRA 3 ES UNA FLECHA, ENTONCES HAY SOLO UNA DIMENSIN INVOLUCRADA if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); // DESPUES DE LA ==> EST? INVOLUCRADA LA DIM2 ? mat = pat.matcher(palabra4); if (mat.matches()) { palabra5 = in.next(); palabra6 = in.next(); String valorDim2 = consultaValor(palabra4); String dimension = consultaPalabra(almacenaAnterior.get(1)); numXregla10 = Integer.parseInt((palabra5)); numYregla10 = Integer.parseInt((almacenaAnterior.get(2))); porcentaje = (numXregla10 * 100) / total; porcentaje2 = (numYregla10 * 100) / total; conf10 = consultaConfianza(palabra6); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + ", junto con la dimensin " + palabra5 + ", una cantidad de " + numXregla10 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + ", una cantidad de " + numYregla10 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf10 + "% de las veces.\n"); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 //System.out.println(frase1); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 // band=1; numVeces.add(1, palabra5 + " " + almacenaAnterior.get(2)); System.out.println("ENTRAMOS AC?" + numXregla10 + numYregla10); reglasEncontradas regla10 = new reglasEncontradas(); regla10.setContenido(frase1); regla10.setValorX(numXregla10); regla10.setValorY(numYregla10); regla10.setNumRegla(10); reglas.add(regla10); } } } else { mat = pat.matcher(palabra2); if (mat.matches()) { String valorDim2 = consultaValor(palabra2); if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { String dimension = consultaPalabra(almacenaAnterior.get(1)); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla10 = Integer.parseInt((palabra3)); numYregla10 = Integer.parseInt((palabra6)); conf10 = consultaConfianza(palabra7); porcentaje = (numXregla10 * 100) / total; porcentaje2 = (numYregla10 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Competencias Parentales adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", una cantidad de " + numXregla10 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf10 + "% de las veces.\n"); numVeces.add(1, palabra3 + " " + palabra6); reglasEncontradas regla10 = new reglasEncontradas(); regla10.setContenido(frase1); regla10.setValorX(numXregla10); regla10.setValorY(numYregla10); regla10.setNumRegla(10); reglas.add(regla10); almacenaRetorno.add(frase1); ; // band=1; } } } } //NO HAY DIMENSIN 2 NI EN LA PRIMERA NI EN LA SEGUNDA POSICIN else { if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { mat = pat.matcher(palabra5); if (mat.matches()) { palabra6 = in.next(); palabra7 = in.next(); String valorDim2 = consultaValor(palabra5); String dimension = consultaPalabra(almacenaAnterior.get(1)); String dimension2 = consultaPalabra( almacenaAnterior.get(2)); numXregla10 = Integer.parseInt((almacenaAnterior.get(3))); numYregla10 = Integer.parseInt((palabra6)); conf10 = consultaConfianza(palabra7); porcentaje = (numXregla10 * 100) / total; porcentaje2 = (numYregla10 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + " junto con la dimensin " + dimension2 + " , una cantidad de " + numXregla10 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Competencias Parentales la cual adquiere un valor igual a " + valorDim2 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf10 + "% de las veces.\n"); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); reglasEncontradas regla10 = new reglasEncontradas(); regla10.setContenido(frase1); regla10.setValorX(numXregla10); regla10.setValorY(numYregla10); regla10.setNumRegla(10); reglas.add(regla10); almacenaRetorno.add(frase1); //band=1; } } } } } } } } } } } // while (in.hasNext()) } catch (FileNotFoundException e) { //System.out.println("Error abriendo el fichero "+nomFich); } finally { if (in != null) { in.close(); vaciarDataSet(); } } // try //GUARDO LO GENERADO Y LUEGO LO RETORNO return reglas; }
From source file:Dao.NCFAS.PruebaWekaDaoDim3.java
public List<reglasEncontradas> retornarReglasDim3() throws DAOException, IOException, Exception { actualizarItemsGenerales();/* w ww .j av a 2 s . c om*/ ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext() .getContext(); //Ruta de nuestros archivos String pathArchivos = (String) servletContext.getRealPath("/") + "archivosVarios/"; // Sustituye "/" por el directorio ej: "/upload" //CREO FICHEROS PARA LUEGO GUARDAR LOS RESULTADOS DE WEKA FileWriter fichero = null; PrintWriter pw = null; //CREO UN FICHERO PARA LUEGO GUARDAR LOS RESULTADOS FILTRADOS DE MINERIA //FileWriter ficheroMin = null; // PrintWriter pwMin = null; FileWriter ficheroMin = null; PrintWriter pwMin = null; //LEO DATASET .ARFF String dataset = pathArchivos + "DataSetSimulado.arff"; String datasettxt = pathArchivos + "datasettxt.txt"; File fichero2 = new File(datasettxt); try { BufferedReader fich = new BufferedReader(new FileReader(datasettxt)); //Usamos la clase BufferReadeader para tener acceso a un metodo propio (readLine()) y asi mediante un contador contar las lineas. int contadorL = 0; String linea; try { //En este caso la condicion final del while corresponde a null, para indicar el final de linea while ((linea = fich.readLine()) != null) { contadorL++; } contadorL = contadorL - 13; total = contadorL; System.out.println("El nmero de lneas :" + contadorL); } catch (IOException e) { // TODO Bloque catch generado automticamente e.printStackTrace(); } } catch (FileNotFoundException e) { e.printStackTrace(); } int retorno = 0; List<String> almacenaRetorno = null; almacenaRetorno = new ArrayList<String>(); List<String> numVeces = null; numVeces = new ArrayList<String>(); List<reglasEncontradas> reglas = null; reglas = new ArrayList<reglasEncontradas>(); for (int i = 1; i <= 10; i++) { numVeces.add("0"); } final String nomFich = pathArchivos + "Resultado.txt"; Scanner in = null; // ficheroMin = new FileWriter(pathArchivos+"reporteMineria.txt"); //pwMin = new PrintWriter(ficheroMin); int band = 0; DataSource source = new DataSource(dataset); Apriori model = new Apriori(); try { //REALIZAMOS MINER?A DE DATOS CON WEKA Instances data = source.getDataSet(); model.buildAssociations(data); //PREPARAR PARA ESCRIBIR LO GENERADO POR WEKA EN UN ARCHIVO RESULTADO.TXT fichero = new FileWriter(pathArchivos + "Resultado.txt", true); pw = new PrintWriter(fichero); pw.println(model); //SE MUESTRA LOS RESULTADOS OBTENIDOS POR APRIORI //System.out.println("LOS RESULTADOS DE APRIORI A DataSetSimulado.arff son:"); //System.out.println(model); //borra el archivo BufferedWriter bw = new BufferedWriter(new FileWriter(pathArchivos + "Resultado.txt")); bw.write(""); fichero.close(); //System.out.println("Ahora vamos a leer los resultados obtenidos por apriori"); //BufferedReader bf = new BufferedReader(new FileReader("Resultado.txt")); // abre el fichero in = new Scanner(new FileReader(nomFich)); // lee el fichero palabra a palabra while (in.hasNext()) { // lee primera palabra String palabra0 = in.next(); int numRegla = 0; float porcentaje; float porcentaje2; List<String> almacenaAnterior = null; almacenaAnterior = new ArrayList<String>(); String palabra1; String palabra2; String palabra3; String palabra4; String palabra5; String palabra6; String palabra7; String frase1; String frase2; String frase3; Pattern pat = Pattern.compile("DIM3.*"); Pattern pat2 = Pattern.compile("==>"); Pattern pat3 = Pattern.compile("^\\d.^"); Pattern pat4 = Pattern.compile("DIM.*"); String num1 = ("1."); String num2 = ("2."); String num3 = ("3."); String num4 = ("4."); String num5 = ("5."); String num6 = ("6."); String num7 = ("7."); String num8 = ("8."); String num9 = ("9."); String num10 = ("10."); List<String> dimInvolucradas = null; dimInvolucradas = new ArrayList<String>(); Matcher mat; //PRIMERA RELGA DE ASOCIACIN //BLOQUE 1 //COMPROBAR SI EST? DIM2 INVOLUCRADA mat = pat3.matcher(palabra0); // if (num1.equals(palabra0)) { if (in.hasNext()) { palabra1 = in.next(); // SEGUNDA PALABRA //GUARDO LO LEIDO almacenaAnterior.add(palabra0); almacenaAnterior.add(palabra1); mat = pat.matcher(palabra1); //PALABRA 1 ES DIMENSION 2? if (mat.matches()) { dimInvolucradas.add(palabra1); String valorDim2 = consultaValor(palabra1); //REVISAMOS LO QUE VIENE DESPUES DE DIM2= if (in.hasNext()) { palabra2 = in.next(); //PALABRA 3 EN EL CAMINO FELIZ if (in.hasNext()) { palabra3 = in.next(); //PALABRA 4 EN EL CAMINO FELIZ almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); //SI ES UNA ==> ENTONCES if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); //PALABRA 5 CAMINO FELIZ dimInvolucradas.add(palabra4); palabra4 = consultaPalabra(palabra4); palabra5 = in.next(); //VALOR DE VECES DESPUES DE => palabra6 = in.next(); numXregla1 = Integer.parseInt((palabra2)); numYregla1 = Integer.parseInt((palabra5)); conf1 = consultaConfianza(palabra6); porcentaje = (numXregla1 * 100) / total; porcentaje2 = (numYregla1 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimension Interacciones Familiares adquiere un valor igual a " + valorDim2 + " una cantidad de " + numXregla1 + " veces (" + porcentaje + "%)(X). Esto afecta a la dimensin " + palabra4 + ", una cantidad de " + palabra5 + " vececs (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf1 + "% de las veces. \n"); almacenaRetorno.add(frase1); numVeces.add(1, palabra2 + " " + palabra5); reglasEncontradas regla1 = new reglasEncontradas(); regla1.setContenido(frase1); regla1.setValorX(numXregla1); regla1.setValorY(numYregla1); regla1.setNumRegla(1); reglas.add(regla1); System.out.println("ENTRAMOS AC?"); // band=1; } } // LA REGLA TIENE MAS DE UNA DIMENSIN INVOLUCRADA ANTES DE ==> else { if (in.hasNext()) { palabra4 = in.next(); // DEBER?A SER FLECHA //COMPROBAMOS SI LA ==> EST? EN LA cuarta POSICIN mat = pat2.matcher(palabra4); if (mat.matches()) { if (in.hasNext()) { palabra5 = in.next(); dimInvolucradas.add(almacenaAnterior.get(2)); String dimension = consultaPalabra(almacenaAnterior.get(2)); dimInvolucradas.add(palabra5); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla1 = Integer.parseInt((almacenaAnterior.get(3))); numYregla1 = Integer.parseInt((palabra6)); porcentaje = (numXregla1 * 100) / total; porcentaje2 = (numYregla1 * 100) / total; conf1 = consultaConfianza(palabra7); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", esto ocurre una cantidad de " + numXregla1 + " veces (" + porcentaje + "%)(X). Esto afecta a la dimensin " + palabra5 + " una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf1 + "% de las veces.\n"); almacenaRetorno.add(frase1); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); System.out.println("LOS VALORES DE LA REGLA 1 SON: " + numXregla1 + numYregla1); reglasEncontradas regla1 = new reglasEncontradas(); regla1.setContenido(frase1); regla1.setValorX(numXregla1); regla1.setValorY(numYregla1); regla1.setNumRegla(1); reglas.add(regla1); } } } } } } } //BLOQUE 2 //AC? SE COMPRUEBA SI SE ENCUENTRA LA DIMENSIN 2 EN SEGUNDA POSICIN if (in.hasNext()) { palabra2 = in.next(); // if (in.hasNext()) { palabra3 = in.next(); // //GUARDAMOS LO LE?DO almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); // SI LA PALABRA 3 ES UNA FLECHA, ENTONCES HAY SOLO UNA DIMENSIN INVOLUCRADA if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); // DESPUES DE LA ==> EST? INVOLUCRADA LA DIM2 ? mat = pat.matcher(palabra4); if (mat.matches()) { palabra5 = in.next(); palabra6 = in.next(); String valorDim2 = consultaValor(palabra4); String dimension = consultaPalabra(almacenaAnterior.get(1)); numXregla1 = Integer.parseInt((palabra5)); numYregla1 = Integer.parseInt((almacenaAnterior.get(2))); porcentaje = (numXregla1 * 100) / total; porcentaje2 = (numYregla1 * 100) / total; conf1 = consultaConfianza(palabra6); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + ", junto con la dimensin " + palabra5 + ", una cantidad de " + numXregla1 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + ", una cantidad de " + numYregla1 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf1 + "% de las veces.\n"); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 //System.out.println(frase1); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 // band=1; numVeces.add(1, palabra5 + " " + almacenaAnterior.get(2)); System.out.println("ENTRAMOS AC?" + numXregla2 + numYregla2); reglasEncontradas regla1 = new reglasEncontradas(); regla1.setContenido(frase1); regla1.setValorX(numXregla1); regla1.setValorY(numYregla1); regla1.setNumRegla(1); reglas.add(regla1); } } } else { mat = pat.matcher(palabra2); if (mat.matches()) { String valorDim2 = consultaValor(palabra2); if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { String dimension = consultaPalabra(almacenaAnterior.get(1)); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla1 = Integer.parseInt((palabra3)); numYregla1 = Integer.parseInt((palabra6)); conf1 = consultaConfianza(palabra7); porcentaje = (numXregla1 * 100) / total; porcentaje2 = (numYregla1 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", una cantidad de " + numXregla1 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf1 + "% de las veces.\n"); numVeces.add(1, palabra3 + " " + palabra6); reglasEncontradas regla1 = new reglasEncontradas(); regla1.setContenido(frase1); regla1.setValorX(numXregla1); regla1.setValorY(numYregla1); regla1.setNumRegla(1); reglas.add(regla1); almacenaRetorno.add(frase1); ; // band=1; } } } } //NO HAY DIMENSIN 2 NI EN LA PRIMERA NI EN LA SEGUNDA POSICIN else { if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { mat = pat.matcher(palabra5); if (mat.matches()) { palabra6 = in.next(); palabra7 = in.next(); String valorDim2 = consultaValor(palabra5); String dimension = consultaPalabra(almacenaAnterior.get(1)); String dimension2 = consultaPalabra( almacenaAnterior.get(2)); numXregla1 = Integer.parseInt((almacenaAnterior.get(3))); numYregla1 = Integer.parseInt((palabra6)); conf1 = consultaConfianza(palabra7); porcentaje = (numXregla1 * 100) / total; porcentaje2 = (numYregla1 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + " junto con la dimensin " + dimension2 + " , una cantidad de " + numXregla1 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Interacciones Familiares la cual adquiere un valor igual a " + valorDim2 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf1 + "% de las veces.\n"); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); reglasEncontradas regla1 = new reglasEncontradas(); regla1.setContenido(frase1); regla1.setValorX(numXregla1); regla1.setValorY(numYregla1); regla1.setNumRegla(1); reglas.add(regla1); almacenaRetorno.add(frase1); //band=1; } } } } } } } } } } //SEGUNDA RELGA DE ASOCIACIN //BLOQUE 1 //COMPROBAR SI EST? DIM2 INVOLUCRADA mat = pat3.matcher(palabra0); // if (num2.equals(palabra0)) { if (in.hasNext()) { palabra1 = in.next(); // SEGUNDA PALABRA //GUARDO LO LEIDO almacenaAnterior.add(palabra0); almacenaAnterior.add(palabra1); mat = pat.matcher(palabra1); //PALABRA 1 ES DIMENSION 2? if (mat.matches()) { dimInvolucradas.add(palabra1); String valorDim2 = consultaValor(palabra1); //REVISAMOS LO QUE VIENE DESPUES DE DIM2= if (in.hasNext()) { palabra2 = in.next(); //PALABRA 3 EN EL CAMINO FELIZ if (in.hasNext()) { palabra3 = in.next(); //PALABRA 4 EN EL CAMINO FELIZ almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); //SI ES UNA ==> ENTONCES if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); //PALABRA 5 CAMINO FELIZ dimInvolucradas.add(palabra4); palabra4 = consultaPalabra(palabra4); palabra5 = in.next(); //VALOR DE VECES DESPUES DE => palabra6 = in.next(); numXregla2 = Integer.parseInt((palabra2)); numYregla2 = Integer.parseInt((palabra5)); conf2 = consultaConfianza(palabra6); porcentaje = (numXregla2 * 100) / total; porcentaje2 = (numYregla2 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimension Interacciones Familiares adquiere un valor igual a " + valorDim2 + " una cantidad de " + numXregla2 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra4 + ", una cantidad de " + palabra5 + " vececs (" + porcentaje2 + "%) (Y). \n Es decir esta regla se cumple el " + conf2 + "% de las veces. \n"); almacenaRetorno.add(frase1); numVeces.add(1, palabra2 + " " + palabra5); reglasEncontradas regla2 = new reglasEncontradas(); regla2.setContenido(frase1); regla2.setValorX(numXregla2); regla2.setValorY(numYregla2); regla2.setNumRegla(2); reglas.add(regla2); System.out.println("ENTRAMOS AC?"); // band=1; } } // LA REGLA TIENE MAS DE UNA DIMENSIN INVOLUCRADA ANTES DE ==> else { if (in.hasNext()) { palabra4 = in.next(); // DEBER?A SER FLECHA //COMPROBAMOS SI LA ==> EST? EN LA cuarta POSICIN mat = pat2.matcher(palabra4); if (mat.matches()) { if (in.hasNext()) { palabra5 = in.next(); dimInvolucradas.add(almacenaAnterior.get(2)); String dimension = consultaPalabra(almacenaAnterior.get(2)); dimInvolucradas.add(palabra5); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla2 = Integer.parseInt((almacenaAnterior.get(3))); numYregla2 = Integer.parseInt((palabra6)); porcentaje = (numXregla2 * 100) / total; porcentaje2 = (numYregla2 * 100) / total; conf2 = consultaConfianza(palabra7); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", esto ocurre una cantidad de " + numXregla2 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf2 + "% de las veces.\n"); almacenaRetorno.add(frase1); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); System.out.println("LOS VALORES DE LA REGLA 1 SON: " + numXregla2 + numYregla2); reglasEncontradas regla2 = new reglasEncontradas(); regla2.setContenido(frase1); regla2.setValorX(numXregla2); regla2.setValorY(numYregla2); regla2.setNumRegla(2); reglas.add(regla2); } } } } } } } //BLOQUE 2 //AC? SE COMPRUEBA SI SE ENCUENTRA LA DIMENSIN 2 EN SEGUNDA POSICIN if (in.hasNext()) { palabra2 = in.next(); // if (in.hasNext()) { palabra3 = in.next(); // //GUARDAMOS LO LE?DO almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); // SI LA PALABRA 3 ES UNA FLECHA, ENTONCES HAY SOLO UNA DIMENSIN INVOLUCRADA if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); // DESPUES DE LA ==> EST? INVOLUCRADA LA DIM2 ? mat = pat.matcher(palabra4); if (mat.matches()) { palabra5 = in.next(); palabra6 = in.next(); String valorDim2 = consultaValor(palabra4); String dimension = consultaPalabra(almacenaAnterior.get(1)); numXregla2 = Integer.parseInt((palabra5)); numYregla2 = Integer.parseInt((almacenaAnterior.get(2))); porcentaje = (numXregla2 * 100) / total; porcentaje2 = (numYregla2 * 100) / total; conf2 = consultaConfianza(palabra6); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + ", junto con la dimensin " + palabra5 + ", una cantidad de " + numXregla2 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + ", una cantidad de " + numYregla2 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf2 + "% de las veces.\n"); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 //System.out.println(frase1); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 // band=1; numVeces.add(1, palabra5 + " " + almacenaAnterior.get(2)); System.out.println("ENTRAMOS AC?" + numXregla2 + numYregla2); reglasEncontradas regla2 = new reglasEncontradas(); regla2.setContenido(frase1); regla2.setValorX(numXregla2); regla2.setValorY(numYregla2); regla2.setNumRegla(2); reglas.add(regla2); } } } else { mat = pat.matcher(palabra2); if (mat.matches()) { String valorDim2 = consultaValor(palabra2); if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { String dimension = consultaPalabra(almacenaAnterior.get(1)); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla2 = Integer.parseInt((palabra3)); numYregla2 = Integer.parseInt((palabra6)); conf2 = consultaConfianza(palabra7); porcentaje = (numXregla2 * 100) / total; porcentaje2 = (numYregla2 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", una cantidad de " + numXregla2 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf2 + "% de las veces.\n"); numVeces.add(1, palabra3 + " " + palabra6); reglasEncontradas regla2 = new reglasEncontradas(); regla2.setContenido(frase1); regla2.setValorX(numXregla2); regla2.setValorY(numYregla2); regla2.setNumRegla(2); reglas.add(regla2); almacenaRetorno.add(frase1); ; // band=1; } } } } //NO HAY DIMENSIN 2 NI EN LA PRIMERA NI EN LA SEGUNDA POSICIN else { if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { mat = pat.matcher(palabra5); if (mat.matches()) { palabra6 = in.next(); palabra7 = in.next(); String valorDim2 = consultaValor(palabra5); String dimension = consultaPalabra(almacenaAnterior.get(1)); String dimension2 = consultaPalabra( almacenaAnterior.get(2)); numXregla2 = Integer.parseInt((almacenaAnterior.get(3))); numYregla2 = Integer.parseInt((palabra6)); conf2 = consultaConfianza(palabra7); porcentaje = (numXregla2 * 100) / total; porcentaje2 = (numYregla2 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + " junto con la dimensin " + dimension2 + " , una cantidad de " + numXregla2 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Interacciones Familiares la cual adquiere un valor igual a " + valorDim2 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf2 + "% de las veces.\n"); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); reglasEncontradas regla2 = new reglasEncontradas(); regla2.setContenido(frase1); regla2.setValorX(numXregla2); regla2.setValorY(numYregla2); regla2.setNumRegla(2); reglas.add(regla2); almacenaRetorno.add(frase1); //band=1; } } } } } } } } } } //ERCERA RELGA DE ASOCIACIN //BLOQUE 1 //COMPROBAR SI EST? DIM2 INVOLUCRADA mat = pat3.matcher(palabra0); // if (num3.equals(palabra0)) { if (in.hasNext()) { palabra1 = in.next(); // SEGUNDA PALABRA //GUARDO LO LEIDO almacenaAnterior.add(palabra0); almacenaAnterior.add(palabra1); mat = pat.matcher(palabra1); //PALABRA 1 ES DIMENSION 2? if (mat.matches()) { dimInvolucradas.add(palabra1); String valorDim2 = consultaValor(palabra1); //REVISAMOS LO QUE VIENE DESPUES DE DIM2= if (in.hasNext()) { palabra2 = in.next(); //PALABRA 3 EN EL CAMINO FELIZ if (in.hasNext()) { palabra3 = in.next(); //PALABRA 4 EN EL CAMINO FELIZ almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); //SI ES UNA ==> ENTONCES if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); //PALABRA 5 CAMINO FELIZ dimInvolucradas.add(palabra4); palabra4 = consultaPalabra(palabra4); palabra5 = in.next(); //VALOR DE VECES DESPUES DE => palabra6 = in.next(); numXregla3 = Integer.parseInt((palabra2)); numYregla3 = Integer.parseInt((palabra5)); conf3 = consultaConfianza(palabra6); porcentaje = (numXregla3 * 100) / total; porcentaje2 = (numYregla3 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimension Interacciones Familiares adquiere un valor igual a " + valorDim2 + " una cantidad de " + numXregla3 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra4 + ", una cantidad de " + palabra5 + " vececs (" + porcentaje2 + "%) (Y). \n Es decir esta regla se cumple el " + conf3 + "% de las veces. \n"); almacenaRetorno.add(frase1); numVeces.add(1, palabra2 + " " + palabra5); reglasEncontradas regla3 = new reglasEncontradas(); regla3.setContenido(frase1); regla3.setValorX(numXregla3); regla3.setValorY(numYregla3); regla3.setNumRegla(3); reglas.add(regla3); System.out.println("ENTRAMOS AC?"); // band=1; } } // LA REGLA TIENE MAS DE UNA DIMENSIN INVOLUCRADA ANTES DE ==> else { if (in.hasNext()) { palabra4 = in.next(); // DEBER?A SER FLECHA //COMPROBAMOS SI LA ==> EST? EN LA cuarta POSICIN mat = pat2.matcher(palabra4); if (mat.matches()) { if (in.hasNext()) { palabra5 = in.next(); dimInvolucradas.add(almacenaAnterior.get(2)); String dimension = consultaPalabra(almacenaAnterior.get(2)); dimInvolucradas.add(palabra5); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla3 = Integer.parseInt((almacenaAnterior.get(3))); numYregla3 = Integer.parseInt((palabra6)); porcentaje = (numXregla3 * 100) / total; porcentaje2 = (numYregla3 * 100) / total; conf3 = consultaConfianza(palabra7); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", esto ocurre una cantidad de " + numXregla3 + " veces (" + porcentaje + "%). Esto afecta a la dimensin " + palabra5 + " una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf3 + "% de las veces.\n"); almacenaRetorno.add(frase1); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); System.out.println("LOS VALORES DE LA REGLA 1 SON: " + numXregla3 + numYregla3); reglasEncontradas regla3 = new reglasEncontradas(); regla3.setContenido(frase1); regla3.setValorX(numXregla3); regla3.setValorY(numYregla3); regla3.setNumRegla(3); reglas.add(regla3); } } } } } } } //BLOQUE 2 //AC? SE COMPRUEBA SI SE ENCUENTRA LA DIMENSIN 2 EN SEGUNDA POSICIN if (in.hasNext()) { palabra2 = in.next(); // if (in.hasNext()) { palabra3 = in.next(); // //GUARDAMOS LO LE?DO almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); // SI LA PALABRA 3 ES UNA FLECHA, ENTONCES HAY SOLO UNA DIMENSIN INVOLUCRADA if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); // DESPUES DE LA ==> EST? INVOLUCRADA LA DIM2 ? mat = pat.matcher(palabra4); if (mat.matches()) { palabra5 = in.next(); palabra6 = in.next(); String valorDim2 = consultaValor(palabra4); String dimension = consultaPalabra(almacenaAnterior.get(1)); numXregla3 = Integer.parseInt((palabra5)); numYregla3 = Integer.parseInt((almacenaAnterior.get(2))); porcentaje = (numXregla3 * 100) / total; porcentaje2 = (numYregla3 * 100) / total; conf3 = consultaConfianza(palabra6); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + ", junto con la dimensin " + palabra5 + ", una cantidad de " + numXregla3 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + ", una cantidad de " + numYregla3 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf3 + "% de las veces.\n"); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 //System.out.println(frase1); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 // band=1; numVeces.add(1, palabra5 + " " + almacenaAnterior.get(2)); System.out.println("ENTRAMOS AC?" + numXregla3 + numYregla3); reglasEncontradas regla3 = new reglasEncontradas(); regla3.setContenido(frase1); regla3.setValorX(numXregla3); regla3.setValorY(numYregla3); regla3.setNumRegla(3); reglas.add(regla3); } } } else { mat = pat.matcher(palabra2); if (mat.matches()) { String valorDim2 = consultaValor(palabra2); if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { String dimension = consultaPalabra(almacenaAnterior.get(1)); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla3 = Integer.parseInt((palabra3)); numYregla3 = Integer.parseInt((palabra6)); conf3 = consultaConfianza(palabra7); porcentaje = (numXregla3 * 100) / total; porcentaje2 = (numYregla3 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", una cantidad de " + numXregla3 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf3 + "% de las veces.\n"); numVeces.add(1, palabra3 + " " + palabra6); reglasEncontradas regla3 = new reglasEncontradas(); regla3.setContenido(frase1); regla3.setValorX(numXregla3); regla3.setValorY(numYregla3); regla3.setNumRegla(3); reglas.add(regla3); almacenaRetorno.add(frase1); ; // band=1; } } } } //NO HAY DIMENSIN 2 NI EN LA PRIMERA NI EN LA SEGUNDA POSICIN else { if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { mat = pat.matcher(palabra5); if (mat.matches()) { palabra6 = in.next(); palabra7 = in.next(); String valorDim2 = consultaValor(palabra5); String dimension = consultaPalabra(almacenaAnterior.get(1)); String dimension2 = consultaPalabra( almacenaAnterior.get(2)); numXregla3 = Integer.parseInt((almacenaAnterior.get(3))); numYregla3 = Integer.parseInt((palabra6)); conf3 = consultaConfianza(palabra7); porcentaje = (numXregla3 * 100) / total; porcentaje2 = (numYregla3 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + " junto con la dimensin " + dimension2 + " , una cantidad de " + numXregla3 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Interacciones Familiares la cual adquiere un valor igual a " + valorDim2 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf3 + "% de las veces.\n"); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); reglasEncontradas regla3 = new reglasEncontradas(); regla3.setContenido(frase1); regla3.setValorX(numXregla3); regla3.setValorY(numYregla3); regla3.setNumRegla(3); reglas.add(regla3); almacenaRetorno.add(frase1); //band=1; } } } } } } } } } } //cuarta RELGA DE ASOCIACIN //BLOQUE 1 //COMPROBAR SI EST? DIM2 INVOLUCRADA mat = pat3.matcher(palabra0); // if (num4.equals(palabra0)) { if (in.hasNext()) { palabra1 = in.next(); // SEGUNDA PALABRA //GUARDO LO LEIDO almacenaAnterior.add(palabra0); almacenaAnterior.add(palabra1); mat = pat.matcher(palabra1); //PALABRA 1 ES DIMENSION 2? if (mat.matches()) { dimInvolucradas.add(palabra1); String valorDim2 = consultaValor(palabra1); //REVISAMOS LO QUE VIENE DESPUES DE DIM2= if (in.hasNext()) { palabra2 = in.next(); //PALABRA 3 EN EL CAMINO FELIZ if (in.hasNext()) { palabra3 = in.next(); //PALABRA 4 EN EL CAMINO FELIZ almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); //SI ES UNA ==> ENTONCES if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); //PALABRA 5 CAMINO FELIZ dimInvolucradas.add(palabra4); palabra4 = consultaPalabra(palabra4); palabra5 = in.next(); //VALOR DE VECES DESPUES DE => palabra6 = in.next(); numXregla4 = Integer.parseInt((palabra2)); numYregla4 = Integer.parseInt((palabra5)); conf4 = consultaConfianza(palabra6); porcentaje = (numXregla4 * 100) / total; porcentaje2 = (numYregla4 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimension Interacciones Familiares adquiere un valor igual a " + valorDim2 + " una cantidad de " + numXregla4 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra4 + ", una cantidad de " + palabra5 + " vececs (" + porcentaje2 + "%) (Y). \n Es decir esta regla se cumple el " + conf4 + "% de las veces. \n"); almacenaRetorno.add(frase1); numVeces.add(1, palabra2 + " " + palabra5); reglasEncontradas regla4 = new reglasEncontradas(); regla4.setContenido(frase1); regla4.setValorX(numXregla4); regla4.setValorY(numYregla4); regla4.setNumRegla(4); reglas.add(regla4); System.out.println("ENTRAMOS AC?"); // band=1; } } // LA REGLA TIENE MAS DE UNA DIMENSIN INVOLUCRADA ANTES DE ==> else { if (in.hasNext()) { palabra4 = in.next(); // DEBER?A SER FLECHA //COMPROBAMOS SI LA ==> EST? EN LA cuarta POSICIN mat = pat2.matcher(palabra4); if (mat.matches()) { if (in.hasNext()) { palabra5 = in.next(); dimInvolucradas.add(almacenaAnterior.get(2)); String dimension = consultaPalabra(almacenaAnterior.get(2)); dimInvolucradas.add(palabra5); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla4 = Integer.parseInt((almacenaAnterior.get(3))); numYregla4 = Integer.parseInt((palabra6)); porcentaje = (numXregla4 * 100) / total; porcentaje2 = (numYregla4 * 100) / total; conf4 = consultaConfianza(palabra7); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", esto ocurre una cantidad de " + numXregla4 + " veces (" + porcentaje + "%). Esto afecta a la dimensin " + palabra5 + " una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf4 + "% de las veces.\n"); almacenaRetorno.add(frase1); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); System.out.println("LOS VALORES DE LA REGLA 1 SON: " + numXregla4 + numYregla4); reglasEncontradas regla4 = new reglasEncontradas(); regla4.setContenido(frase1); regla4.setValorX(numXregla4); regla4.setValorY(numYregla4); regla4.setNumRegla(4); reglas.add(regla4); } } } } } } } //BLOQUE 2 //AC? SE COMPRUEBA SI SE ENCUENTRA LA DIMENSIN 2 EN SEGUNDA POSICIN if (in.hasNext()) { palabra2 = in.next(); // if (in.hasNext()) { palabra3 = in.next(); // //GUARDAMOS LO LE?DO almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); // SI LA PALABRA 3 ES UNA FLECHA, ENTONCES HAY SOLO UNA DIMENSIN INVOLUCRADA if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); // DESPUES DE LA ==> EST? INVOLUCRADA LA DIM2 ? mat = pat.matcher(palabra4); if (mat.matches()) { palabra5 = in.next(); palabra6 = in.next(); String valorDim2 = consultaValor(palabra4); String dimension = consultaPalabra(almacenaAnterior.get(1)); numXregla4 = Integer.parseInt((palabra5)); numYregla4 = Integer.parseInt((almacenaAnterior.get(2))); porcentaje = (numXregla4 * 100) / total; porcentaje2 = (numYregla4 * 100) / total; conf4 = consultaConfianza(palabra6); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + ", junto con la dimensin " + palabra5 + ", una cantidad de " + numXregla4 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + ", una cantidad de " + numYregla4 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf4 + "% de las veces.\n"); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 //System.out.println(frase1); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 // band=1; numVeces.add(1, palabra5 + " " + almacenaAnterior.get(2)); System.out.println("ENTRAMOS AC?" + numXregla4 + numYregla4); reglasEncontradas regla4 = new reglasEncontradas(); regla4.setContenido(frase1); regla4.setValorX(numXregla4); regla4.setValorY(numYregla4); regla4.setNumRegla(4); reglas.add(regla4); } } } else { mat = pat.matcher(palabra2); if (mat.matches()) { String valorDim2 = consultaValor(palabra2); if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { String dimension = consultaPalabra(almacenaAnterior.get(1)); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla4 = Integer.parseInt((palabra3)); numYregla4 = Integer.parseInt((palabra6)); conf4 = consultaConfianza(palabra7); porcentaje = (numXregla4 * 100) / total; porcentaje2 = (numYregla4 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", una cantidad de " + numXregla4 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf4 + "% de las veces.\n"); numVeces.add(1, palabra3 + " " + palabra6); reglasEncontradas regla4 = new reglasEncontradas(); regla4.setContenido(frase1); regla4.setValorX(numXregla4); regla4.setValorY(numYregla4); regla4.setNumRegla(4); reglas.add(regla4); almacenaRetorno.add(frase1); ; // band=1; } } } } //NO HAY DIMENSIN 2 NI EN LA PRIMERA NI EN LA SEGUNDA POSICIN else { if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { mat = pat.matcher(palabra5); if (mat.matches()) { palabra6 = in.next(); palabra7 = in.next(); String valorDim2 = consultaValor(palabra5); String dimension = consultaPalabra(almacenaAnterior.get(1)); String dimension2 = consultaPalabra( almacenaAnterior.get(2)); numXregla4 = Integer.parseInt((almacenaAnterior.get(3))); numYregla4 = Integer.parseInt((palabra6)); conf4 = consultaConfianza(palabra7); porcentaje = (numXregla4 * 100) / total; porcentaje2 = (numYregla4 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + " junto con la dimensin " + dimension2 + " , una cantidad de " + numXregla4 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Interacciones Familiares la cual adquiere un valor igual a " + valorDim2 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf4 + "% de las veces.\n"); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); reglasEncontradas regla4 = new reglasEncontradas(); regla4.setContenido(frase1); regla4.setValorX(numXregla4); regla4.setValorY(numYregla4); regla4.setNumRegla(4); reglas.add(regla4); almacenaRetorno.add(frase1); //band=1; } } } } } } } } } } //PRIMERA RELGA DE ASOCIACIN //BLOQUE 1 //COMPROBAR SI EST? DIM2 INVOLUCRADA mat = pat3.matcher(palabra0); // if (num5.equals(palabra0)) { if (in.hasNext()) { palabra1 = in.next(); // SEGUNDA PALABRA //GUARDO LO LEIDO almacenaAnterior.add(palabra0); almacenaAnterior.add(palabra1); mat = pat.matcher(palabra1); //PALABRA 1 ES DIMENSION 2? if (mat.matches()) { dimInvolucradas.add(palabra1); String valorDim2 = consultaValor(palabra1); //REVISAMOS LO QUE VIENE DESPUES DE DIM2= if (in.hasNext()) { palabra2 = in.next(); //PALABRA 3 EN EL CAMINO FELIZ if (in.hasNext()) { palabra3 = in.next(); //PALABRA 4 EN EL CAMINO FELIZ almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); //SI ES UNA ==> ENTONCES if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); //PALABRA 5 CAMINO FELIZ dimInvolucradas.add(palabra4); palabra4 = consultaPalabra(palabra4); palabra5 = in.next(); //VALOR DE VECES DESPUES DE => palabra6 = in.next(); numXregla5 = Integer.parseInt((palabra2)); numYregla5 = Integer.parseInt((palabra5)); conf5 = consultaConfianza(palabra6); porcentaje = (numXregla5 * 100) / total; porcentaje2 = (numYregla5 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimension Interacciones Familiares adquiere un valor igual a " + valorDim2 + " una cantidad de " + numXregla5 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra4 + ", una cantidad de " + palabra5 + " vececs (" + porcentaje2 + "%) (Y). \n Es decir esta regla se cumple el " + conf5 + "% de las veces. \n"); almacenaRetorno.add(frase1); numVeces.add(1, palabra2 + " " + palabra5); reglasEncontradas regla5 = new reglasEncontradas(); regla5.setContenido(frase1); regla5.setValorX(numXregla5); regla5.setValorY(numYregla5); regla5.setNumRegla(5); reglas.add(regla5); System.out.println("ENTRAMOS AC?"); // band=1; } } // LA REGLA TIENE MAS DE UNA DIMENSIN INVOLUCRADA ANTES DE ==> else { if (in.hasNext()) { palabra4 = in.next(); // DEBER?A SER FLECHA //COMPROBAMOS SI LA ==> EST? EN LA cuarta POSICIN mat = pat2.matcher(palabra4); if (mat.matches()) { if (in.hasNext()) { palabra5 = in.next(); dimInvolucradas.add(almacenaAnterior.get(2)); String dimension = consultaPalabra(almacenaAnterior.get(2)); dimInvolucradas.add(palabra5); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla5 = Integer.parseInt((almacenaAnterior.get(3))); numYregla5 = Integer.parseInt((palabra6)); porcentaje = (numXregla5 * 100) / total; porcentaje2 = (numYregla5 * 100) / total; conf5 = consultaConfianza(palabra7); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", esto ocurre una cantidad de " + numXregla5 + " veces (" + porcentaje + "%). Esto afecta a la dimensin " + palabra5 + " una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf5 + "% de las veces.\n"); almacenaRetorno.add(frase1); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); System.out.println("LOS VALORES DE LA REGLA 1 SON: " + numXregla5 + numYregla5); reglasEncontradas regla5 = new reglasEncontradas(); regla5.setContenido(frase1); regla5.setValorX(numXregla5); regla5.setValorY(numYregla5); regla5.setNumRegla(5); reglas.add(regla5); } } } } } } } //BLOQUE 2 //AC? SE COMPRUEBA SI SE ENCUENTRA LA DIMENSIN 2 EN SEGUNDA POSICIN if (in.hasNext()) { palabra2 = in.next(); // if (in.hasNext()) { palabra3 = in.next(); // //GUARDAMOS LO LE?DO almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); // SI LA PALABRA 3 ES UNA FLECHA, ENTONCES HAY SOLO UNA DIMENSIN INVOLUCRADA if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); // DESPUES DE LA ==> EST? INVOLUCRADA LA DIM2 ? mat = pat.matcher(palabra4); if (mat.matches()) { palabra5 = in.next(); palabra6 = in.next(); String valorDim2 = consultaValor(palabra4); String dimension = consultaPalabra(almacenaAnterior.get(1)); numXregla5 = Integer.parseInt((palabra5)); numYregla5 = Integer.parseInt((almacenaAnterior.get(2))); porcentaje = (numXregla5 * 100) / total; porcentaje2 = (numYregla5 * 100) / total; conf5 = consultaConfianza(palabra6); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + ", junto con la dimensin " + palabra5 + ", una cantidad de " + numXregla5 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + ", una cantidad de " + numYregla5 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf5 + "% de las veces.\n"); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 //System.out.println(frase1); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 // band=1; numVeces.add(1, palabra5 + " " + almacenaAnterior.get(2)); System.out.println("ENTRAMOS AC?" + numXregla5 + numYregla5); reglasEncontradas regla5 = new reglasEncontradas(); regla5.setContenido(frase1); regla5.setValorX(numXregla5); regla5.setValorY(numYregla5); regla5.setNumRegla(5); reglas.add(regla5); } } } else { mat = pat.matcher(palabra2); if (mat.matches()) { String valorDim2 = consultaValor(palabra2); if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { String dimension = consultaPalabra(almacenaAnterior.get(1)); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla5 = Integer.parseInt((palabra3)); numYregla5 = Integer.parseInt((palabra6)); conf5 = consultaConfianza(palabra7); porcentaje = (numXregla5 * 100) / total; porcentaje2 = (numYregla5 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", una cantidad de " + numXregla5 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf5 + "% de las veces.\n"); numVeces.add(1, palabra3 + " " + palabra6); reglasEncontradas regla5 = new reglasEncontradas(); regla5.setContenido(frase1); regla5.setValorX(numXregla5); regla5.setValorY(numYregla5); regla5.setNumRegla(5); reglas.add(regla5); almacenaRetorno.add(frase1); ; // band=1; } } } } //NO HAY DIMENSIN 2 NI EN LA PRIMERA NI EN LA SEGUNDA POSICIN else { if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { mat = pat.matcher(palabra5); if (mat.matches()) { palabra6 = in.next(); palabra7 = in.next(); String valorDim2 = consultaValor(palabra5); String dimension = consultaPalabra(almacenaAnterior.get(1)); String dimension2 = consultaPalabra( almacenaAnterior.get(2)); numXregla5 = Integer.parseInt((almacenaAnterior.get(3))); numYregla5 = Integer.parseInt((palabra6)); conf5 = consultaConfianza(palabra7); porcentaje = (numXregla5 * 100) / total; porcentaje2 = (numYregla5 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + " junto con la dimensin " + dimension2 + " , una cantidad de " + numXregla5 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Interacciones Familiares la cual adquiere un valor igual a " + valorDim2 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf5 + "% de las veces.\n"); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); reglasEncontradas regla5 = new reglasEncontradas(); regla5.setContenido(frase1); regla5.setValorX(numXregla5); regla5.setValorY(numYregla5); regla5.setNumRegla(5); reglas.add(regla5); almacenaRetorno.add(frase1); //band=1; } } } } } } } } } } //SEXTA RELGA DE ASOCIACIN //BLOQUE 1 //COMPROBAR SI EST? DIM2 INVOLUCRADA mat = pat3.matcher(palabra0); // if (num6.equals(palabra0)) { if (in.hasNext()) { palabra1 = in.next(); // SEGUNDA PALABRA //GUARDO LO LEIDO almacenaAnterior.add(palabra0); almacenaAnterior.add(palabra1); mat = pat.matcher(palabra1); //PALABRA 1 ES DIMENSION 2? if (mat.matches()) { dimInvolucradas.add(palabra1); String valorDim2 = consultaValor(palabra1); //REVISAMOS LO QUE VIENE DESPUES DE DIM2= if (in.hasNext()) { palabra2 = in.next(); //PALABRA 3 EN EL CAMINO FELIZ if (in.hasNext()) { palabra3 = in.next(); //PALABRA 4 EN EL CAMINO FELIZ almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); //SI ES UNA ==> ENTONCES if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); //PALABRA 5 CAMINO FELIZ dimInvolucradas.add(palabra4); palabra4 = consultaPalabra(palabra4); palabra5 = in.next(); //VALOR DE VECES DESPUES DE => palabra6 = in.next(); numXregla6 = Integer.parseInt((palabra2)); numYregla6 = Integer.parseInt((palabra5)); conf6 = consultaConfianza(palabra6); porcentaje = (numXregla6 * 100) / total; porcentaje2 = (numYregla6 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimension Interacciones Familiares adquiere un valor igual a " + valorDim2 + " una cantidad de " + numXregla6 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra4 + ", una cantidad de " + palabra5 + " vececs (" + porcentaje2 + "%) (Y). \n Es decir esta regla se cumple el " + conf6 + "% de las veces. \n"); almacenaRetorno.add(frase1); numVeces.add(1, palabra2 + " " + palabra5); reglasEncontradas regla6 = new reglasEncontradas(); regla6.setContenido(frase1); regla6.setValorX(numXregla6); regla6.setValorY(numYregla6); regla6.setNumRegla(6); reglas.add(regla6); System.out.println("ENTRAMOS AC?"); // band=1; } } // LA REGLA TIENE MAS DE UNA DIMENSIN INVOLUCRADA ANTES DE ==> else { if (in.hasNext()) { palabra4 = in.next(); // DEBER?A SER FLECHA //COMPROBAMOS SI LA ==> EST? EN LA cuarta POSICIN mat = pat2.matcher(palabra4); if (mat.matches()) { if (in.hasNext()) { palabra5 = in.next(); dimInvolucradas.add(almacenaAnterior.get(2)); String dimension = consultaPalabra(almacenaAnterior.get(2)); dimInvolucradas.add(palabra5); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla6 = Integer.parseInt((almacenaAnterior.get(3))); numYregla6 = Integer.parseInt((palabra6)); porcentaje = (numXregla6 * 100) / total; porcentaje2 = (numYregla6 * 100) / total; conf6 = consultaConfianza(palabra7); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", esto ocurre una cantidad de " + numXregla6 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf6 + "% de las veces.\n"); almacenaRetorno.add(frase1); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); System.out.println("LOS VALORES DE LA REGLA 1 SON: " + numXregla6 + numYregla6); reglasEncontradas regla6 = new reglasEncontradas(); regla6.setContenido(frase1); regla6.setValorX(numXregla6); regla6.setValorY(numYregla6); regla6.setNumRegla(6); reglas.add(regla6); } } } } } } } //BLOQUE 2 //AC? SE COMPRUEBA SI SE ENCUENTRA LA DIMENSIN 2 EN SEGUNDA POSICIN if (in.hasNext()) { palabra2 = in.next(); // if (in.hasNext()) { palabra3 = in.next(); // //GUARDAMOS LO LE?DO almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); // SI LA PALABRA 3 ES UNA FLECHA, ENTONCES HAY SOLO UNA DIMENSIN INVOLUCRADA if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); // DESPUES DE LA ==> EST? INVOLUCRADA LA DIM2 ? mat = pat.matcher(palabra4); if (mat.matches()) { palabra5 = in.next(); palabra6 = in.next(); String valorDim2 = consultaValor(palabra4); String dimension = consultaPalabra(almacenaAnterior.get(1)); numXregla6 = Integer.parseInt((palabra5)); numYregla6 = Integer.parseInt((almacenaAnterior.get(2))); porcentaje = (numXregla6 * 100) / total; porcentaje2 = (numYregla6 * 100) / total; conf6 = consultaConfianza(palabra6); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + ", junto con la dimensin " + palabra5 + ", una cantidad de " + numXregla6 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + ", una cantidad de " + numYregla6 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf6 + "% de las veces.\n"); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 //System.out.println(frase1); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 // band=1; numVeces.add(1, palabra5 + " " + almacenaAnterior.get(2)); System.out.println("ENTRAMOS AC?" + numXregla6 + numYregla6); reglasEncontradas regla6 = new reglasEncontradas(); regla6.setContenido(frase1); regla6.setValorX(numXregla6); regla6.setValorY(numYregla6); regla6.setNumRegla(6); reglas.add(regla6); } } } else { mat = pat.matcher(palabra2); if (mat.matches()) { String valorDim2 = consultaValor(palabra2); if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { String dimension = consultaPalabra(almacenaAnterior.get(1)); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla6 = Integer.parseInt((palabra3)); numYregla6 = Integer.parseInt((palabra6)); conf6 = consultaConfianza(palabra7); porcentaje = (numXregla6 * 100) / total; porcentaje2 = (numYregla6 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", una cantidad de " + numXregla6 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf6 + "% de las veces.\n"); numVeces.add(1, palabra3 + " " + palabra6); reglasEncontradas regla6 = new reglasEncontradas(); regla6.setContenido(frase1); regla6.setValorX(numXregla6); regla6.setValorY(numYregla6); regla6.setNumRegla(6); reglas.add(regla6); almacenaRetorno.add(frase1); ; // band=1; } } } } //NO HAY DIMENSIN 2 NI EN LA PRIMERA NI EN LA SEGUNDA POSICIN else { if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { mat = pat.matcher(palabra5); if (mat.matches()) { palabra6 = in.next(); palabra7 = in.next(); String valorDim2 = consultaValor(palabra5); String dimension = consultaPalabra(almacenaAnterior.get(1)); String dimension2 = consultaPalabra( almacenaAnterior.get(2)); numXregla6 = Integer.parseInt((almacenaAnterior.get(3))); numYregla6 = Integer.parseInt((palabra6)); conf6 = consultaConfianza(palabra7); porcentaje = (numXregla6 * 100) / total; porcentaje2 = (numYregla6 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + " junto con la dimensin " + dimension2 + " , una cantidad de " + numXregla6 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Interacciones Familiares la cual adquiere un valor igual a " + valorDim2 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf6 + "% de las veces.\n"); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); reglasEncontradas regla6 = new reglasEncontradas(); regla6.setContenido(frase1); regla6.setValorX(numXregla6); regla6.setValorY(numYregla6); regla6.setNumRegla(6); reglas.add(regla6); almacenaRetorno.add(frase1); //band=1; } } } } } } } } } } //SEPTIMA RELGA DE ASOCIACIN //BLOQUE 1 //COMPROBAR SI EST? DIM2 INVOLUCRADA mat = pat3.matcher(palabra0); // if (num7.equals(palabra0)) { if (in.hasNext()) { palabra1 = in.next(); // SEGUNDA PALABRA //GUARDO LO LEIDO almacenaAnterior.add(palabra0); almacenaAnterior.add(palabra1); mat = pat.matcher(palabra1); //PALABRA 1 ES DIMENSION 2? if (mat.matches()) { dimInvolucradas.add(palabra1); String valorDim2 = consultaValor(palabra1); //REVISAMOS LO QUE VIENE DESPUES DE DIM2= if (in.hasNext()) { palabra2 = in.next(); //PALABRA 3 EN EL CAMINO FELIZ if (in.hasNext()) { palabra3 = in.next(); //PALABRA 4 EN EL CAMINO FELIZ almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); //SI ES UNA ==> ENTONCES if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); //PALABRA 5 CAMINO FELIZ dimInvolucradas.add(palabra4); palabra4 = consultaPalabra(palabra4); palabra5 = in.next(); //VALOR DE VECES DESPUES DE => palabra6 = in.next(); numXregla7 = Integer.parseInt((palabra2)); numYregla7 = Integer.parseInt((palabra5)); conf7 = consultaConfianza(palabra6); porcentaje = (numXregla7 * 100) / total; porcentaje2 = (numYregla7 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimension Interacciones Familiares adquiere un valor igual a " + valorDim2 + " una cantidad de " + numXregla7 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra4 + ", una cantidad de " + palabra5 + " vececs (" + porcentaje2 + "%) (Y). \n Es decir esta regla se cumple el " + conf7 + "% de las veces. \n"); almacenaRetorno.add(frase1); numVeces.add(1, palabra2 + " " + palabra5); reglasEncontradas regla7 = new reglasEncontradas(); regla7.setContenido(frase1); regla7.setValorX(numXregla7); regla7.setValorY(numYregla7); regla7.setNumRegla(7); reglas.add(regla7); System.out.println("ENTRAMOS AC?"); // band=1; } } // LA REGLA TIENE MAS DE UNA DIMENSIN INVOLUCRADA ANTES DE ==> else { if (in.hasNext()) { palabra4 = in.next(); // DEBER?A SER FLECHA //COMPROBAMOS SI LA ==> EST? EN LA cuarta POSICIN mat = pat2.matcher(palabra4); if (mat.matches()) { if (in.hasNext()) { palabra5 = in.next(); dimInvolucradas.add(almacenaAnterior.get(2)); String dimension = consultaPalabra(almacenaAnterior.get(2)); dimInvolucradas.add(palabra5); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla7 = Integer.parseInt((almacenaAnterior.get(3))); numYregla7 = Integer.parseInt((palabra6)); porcentaje = (numXregla7 * 100) / total; porcentaje2 = (numYregla7 * 100) / total; conf7 = consultaConfianza(palabra7); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", esto ocurre una cantidad de " + numXregla7 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf7 + "% de las veces.\n"); almacenaRetorno.add(frase1); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); System.out.println("LOS VALORES DE LA REGLA 1 SON: " + numXregla7 + numYregla7); reglasEncontradas regla7 = new reglasEncontradas(); regla7.setContenido(frase1); regla7.setValorX(numXregla7); regla7.setValorY(numYregla7); regla7.setNumRegla(7); reglas.add(regla7); } } } } } } } //BLOQUE 2 //AC? SE COMPRUEBA SI SE ENCUENTRA LA DIMENSIN 2 EN SEGUNDA POSICIN if (in.hasNext()) { palabra2 = in.next(); // if (in.hasNext()) { palabra3 = in.next(); // //GUARDAMOS LO LE?DO almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); // SI LA PALABRA 3 ES UNA FLECHA, ENTONCES HAY SOLO UNA DIMENSIN INVOLUCRADA if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); // DESPUES DE LA ==> EST? INVOLUCRADA LA DIM2 ? mat = pat.matcher(palabra4); if (mat.matches()) { palabra5 = in.next(); palabra6 = in.next(); String valorDim2 = consultaValor(palabra4); String dimension = consultaPalabra(almacenaAnterior.get(1)); numXregla7 = Integer.parseInt((palabra5)); numYregla7 = Integer.parseInt((almacenaAnterior.get(2))); porcentaje = (numXregla7 * 100) / total; porcentaje2 = (numYregla7 * 100) / total; conf7 = consultaConfianza(palabra6); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + ", junto con la dimensin " + palabra5 + ", una cantidad de " + numXregla7 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + ", una cantidad de " + numYregla7 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf7 + "% de las veces.\n"); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 //System.out.println(frase1); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 // band=1; numVeces.add(1, palabra5 + " " + almacenaAnterior.get(2)); System.out.println("ENTRAMOS AC?" + numXregla7 + numYregla7); reglasEncontradas regla7 = new reglasEncontradas(); regla7.setContenido(frase1); regla7.setValorX(numXregla7); regla7.setValorY(numYregla7); regla7.setNumRegla(7); reglas.add(regla7); } } } else { mat = pat.matcher(palabra2); if (mat.matches()) { String valorDim2 = consultaValor(palabra2); if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { String dimension = consultaPalabra(almacenaAnterior.get(1)); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla7 = Integer.parseInt((palabra3)); numYregla7 = Integer.parseInt((palabra6)); conf7 = consultaConfianza(palabra7); porcentaje = (numXregla7 * 100) / total; porcentaje2 = (numYregla7 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", una cantidad de " + numXregla7 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf7 + "% de las veces.\n"); numVeces.add(1, palabra3 + " " + palabra6); reglasEncontradas regla7 = new reglasEncontradas(); regla7.setContenido(frase1); regla7.setValorX(numXregla7); regla7.setValorY(numYregla7); regla7.setNumRegla(7); reglas.add(regla7); almacenaRetorno.add(frase1); ; // band=1; } } } } //NO HAY DIMENSIN 2 NI EN LA PRIMERA NI EN LA SEGUNDA POSICIN else { if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { mat = pat.matcher(palabra5); if (mat.matches()) { palabra6 = in.next(); palabra7 = in.next(); String valorDim2 = consultaValor(palabra5); String dimension = consultaPalabra(almacenaAnterior.get(1)); String dimension2 = consultaPalabra( almacenaAnterior.get(2)); numXregla7 = Integer.parseInt((almacenaAnterior.get(3))); numYregla7 = Integer.parseInt((palabra6)); conf7 = consultaConfianza(palabra7); porcentaje = (numXregla7 * 100) / total; porcentaje2 = (numYregla7 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + " junto con la dimensin " + dimension2 + " , una cantidad de " + numXregla7 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Interacciones Familiares la cual adquiere un valor igual a " + valorDim2 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf7 + "% de las veces.\n"); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); reglasEncontradas regla7 = new reglasEncontradas(); regla7.setContenido(frase1); regla7.setValorX(numXregla7); regla7.setValorY(numYregla7); regla7.setNumRegla(7); reglas.add(regla7); almacenaRetorno.add(frase1); //band=1; } } } } } } } } } } //OCTAVA RELGA DE ASOCIACIN //BLOQUE 1 //COMPROBAR SI EST? DIM2 INVOLUCRADA mat = pat3.matcher(palabra0); // if (num8.equals(palabra0)) { if (in.hasNext()) { palabra1 = in.next(); // SEGUNDA PALABRA //GUARDO LO LEIDO almacenaAnterior.add(palabra0); almacenaAnterior.add(palabra1); mat = pat.matcher(palabra1); //PALABRA 1 ES DIMENSION 2? if (mat.matches()) { dimInvolucradas.add(palabra1); String valorDim2 = consultaValor(palabra1); //REVISAMOS LO QUE VIENE DESPUES DE DIM2= if (in.hasNext()) { palabra2 = in.next(); //PALABRA 3 EN EL CAMINO FELIZ if (in.hasNext()) { palabra3 = in.next(); //PALABRA 4 EN EL CAMINO FELIZ almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); //SI ES UNA ==> ENTONCES if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); //PALABRA 5 CAMINO FELIZ dimInvolucradas.add(palabra4); palabra4 = consultaPalabra(palabra4); palabra5 = in.next(); //VALOR DE VECES DESPUES DE => palabra6 = in.next(); numXregla8 = Integer.parseInt((palabra2)); numYregla8 = Integer.parseInt((palabra5)); conf8 = consultaConfianza(palabra6); porcentaje = (numXregla8 * 100) / total; porcentaje2 = (numYregla8 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimension Interacciones Familiares adquiere un valor igual a " + valorDim2 + " una cantidad de " + numXregla8 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra4 + ", una cantidad de " + palabra5 + " vececs (" + porcentaje2 + "%) (Y). \n Es decir esta regla se cumple el " + conf8 + "% de las veces. \n"); almacenaRetorno.add(frase1); numVeces.add(1, palabra2 + " " + palabra5); reglasEncontradas regla8 = new reglasEncontradas(); regla8.setContenido(frase1); regla8.setValorX(numXregla8); regla8.setValorY(numYregla8); regla8.setNumRegla(8); reglas.add(regla8); System.out.println("ENTRAMOS AC?"); // band=1; } } // LA REGLA TIENE MAS DE UNA DIMENSIN INVOLUCRADA ANTES DE ==> else { if (in.hasNext()) { palabra4 = in.next(); // DEBER?A SER FLECHA //COMPROBAMOS SI LA ==> EST? EN LA cuarta POSICIN mat = pat2.matcher(palabra4); if (mat.matches()) { if (in.hasNext()) { palabra5 = in.next(); dimInvolucradas.add(almacenaAnterior.get(2)); String dimension = consultaPalabra(almacenaAnterior.get(2)); dimInvolucradas.add(palabra5); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla8 = Integer.parseInt((almacenaAnterior.get(3))); numYregla8 = Integer.parseInt((palabra6)); porcentaje = (numXregla8 * 100) / total; porcentaje2 = (numYregla8 * 100) / total; conf8 = consultaConfianza(palabra7); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", esto ocurre una cantidad de " + numXregla8 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf8 + "% de las veces.\n"); almacenaRetorno.add(frase1); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); System.out.println("LOS VALORES DE LA REGLA 1 SON: " + numXregla8 + numYregla8); reglasEncontradas regla8 = new reglasEncontradas(); regla8.setContenido(frase1); regla8.setValorX(numXregla8); regla8.setValorY(numYregla8); regla8.setNumRegla(8); reglas.add(regla8); } } } } } } } //BLOQUE 2 //AC? SE COMPRUEBA SI SE ENCUENTRA LA DIMENSIN 2 EN SEGUNDA POSICIN if (in.hasNext()) { palabra2 = in.next(); // if (in.hasNext()) { palabra3 = in.next(); // //GUARDAMOS LO LE?DO almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); // SI LA PALABRA 3 ES UNA FLECHA, ENTONCES HAY SOLO UNA DIMENSIN INVOLUCRADA if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); // DESPUES DE LA ==> EST? INVOLUCRADA LA DIM2 ? mat = pat.matcher(palabra4); if (mat.matches()) { palabra5 = in.next(); palabra6 = in.next(); String valorDim2 = consultaValor(palabra4); String dimension = consultaPalabra(almacenaAnterior.get(1)); numXregla8 = Integer.parseInt((palabra5)); numYregla8 = Integer.parseInt((almacenaAnterior.get(2))); porcentaje = (numXregla8 * 100) / total; porcentaje2 = (numYregla8 * 100) / total; conf8 = consultaConfianza(palabra6); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + ", junto con la dimensin " + palabra5 + ", una cantidad de " + numXregla8 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + ", una cantidad de " + numYregla8 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf8 + "% de las veces.\n"); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 //System.out.println(frase1); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 // band=1; numVeces.add(1, palabra5 + " " + almacenaAnterior.get(2)); System.out.println("ENTRAMOS AC?" + numXregla8 + numYregla8); reglasEncontradas regla8 = new reglasEncontradas(); regla8.setContenido(frase1); regla8.setValorX(numXregla8); regla8.setValorY(numYregla8); regla8.setNumRegla(8); reglas.add(regla8); } } } else { mat = pat.matcher(palabra2); if (mat.matches()) { String valorDim2 = consultaValor(palabra2); if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { String dimension = consultaPalabra(almacenaAnterior.get(1)); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla8 = Integer.parseInt((palabra3)); numYregla8 = Integer.parseInt((palabra6)); conf8 = consultaConfianza(palabra7); porcentaje = (numXregla8 * 100) / total; porcentaje2 = (numYregla8 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", una cantidad de " + numXregla8 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf8 + "% de las veces.\n"); numVeces.add(1, palabra3 + " " + palabra6); reglasEncontradas regla8 = new reglasEncontradas(); regla8.setContenido(frase1); regla8.setValorX(numXregla8); regla8.setValorY(numYregla8); regla8.setNumRegla(8); reglas.add(regla8); almacenaRetorno.add(frase1); ; // band=1; } } } } //NO HAY DIMENSIN 2 NI EN LA PRIMERA NI EN LA SEGUNDA POSICIN else { if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { mat = pat.matcher(palabra5); if (mat.matches()) { palabra6 = in.next(); palabra7 = in.next(); String valorDim2 = consultaValor(palabra5); String dimension = consultaPalabra(almacenaAnterior.get(1)); String dimension2 = consultaPalabra( almacenaAnterior.get(2)); numXregla8 = Integer.parseInt((almacenaAnterior.get(3))); numYregla8 = Integer.parseInt((palabra6)); conf8 = consultaConfianza(palabra7); porcentaje = (numXregla8 * 100) / total; porcentaje2 = (numYregla8 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + " junto con la dimensin " + dimension2 + " , una cantidad de " + numXregla8 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Interacciones Familiares la cual adquiere un valor igual a " + valorDim2 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf8 + "% de las veces.\n"); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); reglasEncontradas regla8 = new reglasEncontradas(); regla8.setContenido(frase1); regla8.setValorX(numXregla8); regla8.setValorY(numYregla8); regla8.setNumRegla(8); reglas.add(regla8); almacenaRetorno.add(frase1); //band=1; } } } } } } } } } } //NOVENA RELGA DE ASOCIACIN //BLOQUE 1 //COMPROBAR SI EST? DIM2 INVOLUCRADA mat = pat3.matcher(palabra0); // if (num9.equals(palabra0)) { if (in.hasNext()) { palabra1 = in.next(); // SEGUNDA PALABRA //GUARDO LO LEIDO almacenaAnterior.add(palabra0); almacenaAnterior.add(palabra1); mat = pat.matcher(palabra1); //PALABRA 1 ES DIMENSION 2? if (mat.matches()) { dimInvolucradas.add(palabra1); String valorDim2 = consultaValor(palabra1); //REVISAMOS LO QUE VIENE DESPUES DE DIM2= if (in.hasNext()) { palabra2 = in.next(); //PALABRA 3 EN EL CAMINO FELIZ if (in.hasNext()) { palabra3 = in.next(); //PALABRA 4 EN EL CAMINO FELIZ almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); //SI ES UNA ==> ENTONCES if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); //PALABRA 5 CAMINO FELIZ dimInvolucradas.add(palabra4); palabra4 = consultaPalabra(palabra4); palabra5 = in.next(); //VALOR DE VECES DESPUES DE => palabra6 = in.next(); numXregla9 = Integer.parseInt((palabra2)); numYregla9 = Integer.parseInt((palabra5)); conf9 = consultaConfianza(palabra6); porcentaje = (numXregla9 * 100) / total; porcentaje2 = (numYregla9 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimension Interacciones Familiares adquiere un valor igual a " + valorDim2 + " una cantidad de " + numXregla9 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra4 + ", una cantidad de " + palabra5 + " vececs (" + porcentaje2 + "%) (Y). \n Es decir esta regla se cumple el " + conf9 + "% de las veces. \n"); almacenaRetorno.add(frase1); numVeces.add(1, palabra2 + " " + palabra5); reglasEncontradas regla9 = new reglasEncontradas(); regla9.setContenido(frase1); regla9.setValorX(numXregla9); regla9.setValorY(numYregla9); regla9.setNumRegla(9); reglas.add(regla9); System.out.println("ENTRAMOS AC?"); // band=1; } } // LA REGLA TIENE MAS DE UNA DIMENSIN INVOLUCRADA ANTES DE ==> else { if (in.hasNext()) { palabra4 = in.next(); // DEBER?A SER FLECHA //COMPROBAMOS SI LA ==> EST? EN LA cuarta POSICIN mat = pat2.matcher(palabra4); if (mat.matches()) { if (in.hasNext()) { palabra5 = in.next(); dimInvolucradas.add(almacenaAnterior.get(2)); String dimension = consultaPalabra(almacenaAnterior.get(2)); dimInvolucradas.add(palabra5); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla9 = Integer.parseInt((almacenaAnterior.get(3))); numYregla9 = Integer.parseInt((palabra6)); porcentaje = (numXregla9 * 100) / total; porcentaje2 = (numYregla9 * 100) / total; conf9 = consultaConfianza(palabra7); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", esto ocurre una cantidad de " + numXregla9 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf9 + "% de las veces.\n"); almacenaRetorno.add(frase1); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); System.out.println("LOS VALORES DE LA REGLA 1 SON: " + numXregla9 + numYregla9); reglasEncontradas regla9 = new reglasEncontradas(); regla9.setContenido(frase1); regla9.setValorX(numXregla9); regla9.setValorY(numYregla9); regla9.setNumRegla(9); reglas.add(regla9); } } } } } } } //BLOQUE 2 //AC? SE COMPRUEBA SI SE ENCUENTRA LA DIMENSIN 2 EN SEGUNDA POSICIN if (in.hasNext()) { palabra2 = in.next(); // if (in.hasNext()) { palabra3 = in.next(); // //GUARDAMOS LO LE?DO almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); // SI LA PALABRA 3 ES UNA FLECHA, ENTONCES HAY SOLO UNA DIMENSIN INVOLUCRADA if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); // DESPUES DE LA ==> EST? INVOLUCRADA LA DIM2 ? mat = pat.matcher(palabra4); if (mat.matches()) { palabra5 = in.next(); palabra6 = in.next(); String valorDim2 = consultaValor(palabra4); String dimension = consultaPalabra(almacenaAnterior.get(1)); numXregla9 = Integer.parseInt((palabra5)); numYregla9 = Integer.parseInt((almacenaAnterior.get(2))); porcentaje = (numXregla9 * 100) / total; porcentaje2 = (numYregla9 * 100) / total; conf9 = consultaConfianza(palabra6); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + ", junto con la dimensin " + palabra5 + ", una cantidad de " + numXregla9 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + ", una cantidad de " + numYregla9 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf9 + "% de las veces.\n"); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 //System.out.println(frase1); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 // band=1; numVeces.add(1, palabra5 + " " + almacenaAnterior.get(2)); System.out.println("ENTRAMOS AC?" + numXregla9 + numYregla9); reglasEncontradas regla9 = new reglasEncontradas(); regla9.setContenido(frase1); regla9.setValorX(numXregla9); regla9.setValorY(numYregla9); regla9.setNumRegla(9); reglas.add(regla9); } } } else { mat = pat.matcher(palabra2); if (mat.matches()) { String valorDim2 = consultaValor(palabra2); if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { String dimension = consultaPalabra(almacenaAnterior.get(1)); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla9 = Integer.parseInt((palabra3)); numYregla9 = Integer.parseInt((palabra6)); conf9 = consultaConfianza(palabra7); porcentaje = (numXregla9 * 100) / total; porcentaje2 = (numYregla9 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", una cantidad de " + numXregla9 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf9 + "% de las veces.\n"); numVeces.add(1, palabra3 + " " + palabra6); reglasEncontradas regla9 = new reglasEncontradas(); regla9.setContenido(frase1); regla9.setValorX(numXregla9); regla9.setValorY(numYregla9); regla9.setNumRegla(9); reglas.add(regla9); almacenaRetorno.add(frase1); ; // band=1; } } } } //NO HAY DIMENSIN 2 NI EN LA PRIMERA NI EN LA SEGUNDA POSICIN else { if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { mat = pat.matcher(palabra5); if (mat.matches()) { palabra6 = in.next(); palabra7 = in.next(); String valorDim2 = consultaValor(palabra5); String dimension = consultaPalabra(almacenaAnterior.get(1)); String dimension2 = consultaPalabra( almacenaAnterior.get(2)); numXregla9 = Integer.parseInt((almacenaAnterior.get(3))); numYregla9 = Integer.parseInt((palabra6)); conf9 = consultaConfianza(palabra7); porcentaje = (numXregla9 * 100) / total; porcentaje2 = (numYregla9 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + " junto con la dimensin " + dimension2 + " , una cantidad de " + numXregla9 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Interacciones Familiares la cual adquiere un valor igual a " + valorDim2 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf9 + "% de las veces.\n"); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); reglasEncontradas regla9 = new reglasEncontradas(); regla9.setContenido(frase1); regla9.setValorX(numXregla9); regla9.setValorY(numYregla9); regla9.setNumRegla(9); reglas.add(regla9); almacenaRetorno.add(frase1); //band=1; } } } } } } } } } } //DECIMA RELGA DE ASOCIACIN //BLOQUE 1 //COMPROBAR SI EST? DIM2 INVOLUCRADA mat = pat3.matcher(palabra0); // if (num10.equals(palabra0)) { if (in.hasNext()) { palabra1 = in.next(); // SEGUNDA PALABRA //GUARDO LO LEIDO almacenaAnterior.add(palabra0); almacenaAnterior.add(palabra1); mat = pat.matcher(palabra1); //PALABRA 1 ES DIMENSION 2? if (mat.matches()) { dimInvolucradas.add(palabra1); String valorDim2 = consultaValor(palabra1); //REVISAMOS LO QUE VIENE DESPUES DE DIM2= if (in.hasNext()) { palabra2 = in.next(); //PALABRA 3 EN EL CAMINO FELIZ if (in.hasNext()) { palabra3 = in.next(); //PALABRA 4 EN EL CAMINO FELIZ almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); //SI ES UNA ==> ENTONCES if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); //PALABRA 5 CAMINO FELIZ dimInvolucradas.add(palabra4); palabra4 = consultaPalabra(palabra4); palabra5 = in.next(); //VALOR DE VECES DESPUES DE => palabra6 = in.next(); numXregla10 = Integer.parseInt((palabra2)); numYregla10 = Integer.parseInt((palabra5)); conf10 = consultaConfianza(palabra6); porcentaje = (numXregla10 * 100) / total; porcentaje2 = (numYregla10 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimension Interacciones Familiares adquiere un valor igual a " + valorDim2 + " una cantidad de " + numXregla10 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra4 + ", una cantidad de " + palabra5 + " vececs (" + porcentaje2 + "%) (Y). \n Es decir esta regla se cumple el " + conf10 + "% de las veces. \n"); almacenaRetorno.add(frase1); numVeces.add(1, palabra2 + " " + palabra5); reglasEncontradas regla10 = new reglasEncontradas(); regla10.setContenido(frase1); regla10.setValorX(numXregla10); regla10.setValorY(numYregla10); regla10.setNumRegla(10); reglas.add(regla10); System.out.println("ENTRAMOS AC?"); // band=1; } } // LA REGLA TIENE MAS DE UNA DIMENSIN INVOLUCRADA ANTES DE ==> else { if (in.hasNext()) { palabra4 = in.next(); // DEBER?A SER FLECHA //COMPROBAMOS SI LA ==> EST? EN LA cuarta POSICIN mat = pat2.matcher(palabra4); if (mat.matches()) { if (in.hasNext()) { palabra5 = in.next(); dimInvolucradas.add(almacenaAnterior.get(2)); String dimension = consultaPalabra(almacenaAnterior.get(2)); dimInvolucradas.add(palabra5); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla10 = Integer.parseInt((almacenaAnterior.get(3))); numYregla10 = Integer.parseInt((palabra6)); porcentaje = (numXregla10 * 100) / total; porcentaje2 = (numYregla10 * 100) / total; conf10 = consultaConfianza(palabra7); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", esto ocurre una cantidad de " + numXregla10 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf10 + "% de las veces.\n"); almacenaRetorno.add(frase1); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); System.out.println("LOS VALORES DE LA REGLA 1 SON: " + numXregla10 + numYregla10); reglasEncontradas regla10 = new reglasEncontradas(); regla10.setContenido(frase1); regla10.setValorX(numXregla10); regla10.setValorY(numYregla10); regla10.setNumRegla(10); reglas.add(regla10); } } } } } } } //BLOQUE 2 //AC? SE COMPRUEBA SI SE ENCUENTRA LA DIMENSIN 2 EN SEGUNDA POSICIN if (in.hasNext()) { palabra2 = in.next(); // if (in.hasNext()) { palabra3 = in.next(); // //GUARDAMOS LO LE?DO almacenaAnterior.add(palabra2); almacenaAnterior.add(palabra3); mat = pat2.matcher(palabra3); // SI LA PALABRA 3 ES UNA FLECHA, ENTONCES HAY SOLO UNA DIMENSIN INVOLUCRADA if (mat.matches()) { if (in.hasNext()) { palabra4 = in.next(); // DESPUES DE LA ==> EST? INVOLUCRADA LA DIM2 ? mat = pat.matcher(palabra4); if (mat.matches()) { palabra5 = in.next(); palabra6 = in.next(); String valorDim2 = consultaValor(palabra4); String dimension = consultaPalabra(almacenaAnterior.get(1)); numXregla10 = Integer.parseInt((palabra5)); numYregla10 = Integer.parseInt((almacenaAnterior.get(2))); porcentaje = (numXregla10 * 100) / total; porcentaje2 = (numYregla10 * 100) / total; conf10 = consultaConfianza(palabra6); frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + ", junto con la dimensin " + palabra5 + ", una cantidad de " + numXregla10 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + ", una cantidad de " + numYregla10 + " veces (" + porcentaje2 + "%)(Y). \n Es decir esta regla se cumple el " + conf10 + "% de las veces.\n"); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 //System.out.println(frase1); almacenaRetorno.add(frase1); // CAMINO FELIZ DIM2 EN POSICIN 2 // band=1; numVeces.add(1, palabra5 + " " + almacenaAnterior.get(2)); System.out.println("ENTRAMOS AC?" + numXregla10 + numYregla10); reglasEncontradas regla10 = new reglasEncontradas(); regla10.setContenido(frase1); regla10.setValorX(numXregla10); regla10.setValorY(numYregla10); regla10.setNumRegla(10); reglas.add(regla10); } } } else { mat = pat.matcher(palabra2); if (mat.matches()) { String valorDim2 = consultaValor(palabra2); if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { String dimension = consultaPalabra(almacenaAnterior.get(1)); palabra5 = consultaPalabra(palabra5); palabra6 = in.next(); palabra7 = in.next(); numXregla10 = Integer.parseInt((palabra3)); numYregla10 = Integer.parseInt((palabra6)); conf10 = consultaConfianza(palabra7); porcentaje = (numXregla10 * 100) / total; porcentaje2 = (numYregla10 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin Interacciones Familiares adquiere un valor igual a " + valorDim2 + " junto con la dimensin " + dimension + ", una cantidad de " + numXregla10 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin " + palabra5 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf10 + "% de las veces.\n"); numVeces.add(1, palabra3 + " " + palabra6); reglasEncontradas regla10 = new reglasEncontradas(); regla10.setContenido(frase1); regla10.setValorX(numXregla10); regla10.setValorY(numYregla10); regla10.setNumRegla(10); reglas.add(regla10); almacenaRetorno.add(frase1); ; // band=1; } } } } //NO HAY DIMENSIN 2 NI EN LA PRIMERA NI EN LA SEGUNDA POSICIN else { if (in.hasNext()) { palabra4 = in.next(); if (in.hasNext()) { palabra5 = in.next(); if (in.hasNext()) { mat = pat.matcher(palabra5); if (mat.matches()) { palabra6 = in.next(); palabra7 = in.next(); String valorDim2 = consultaValor(palabra5); String dimension = consultaPalabra(almacenaAnterior.get(1)); String dimension2 = consultaPalabra( almacenaAnterior.get(2)); numXregla10 = Integer.parseInt((almacenaAnterior.get(3))); numYregla10 = Integer.parseInt((palabra6)); conf10 = consultaConfianza(palabra7); porcentaje = (numXregla10 * 100) / total; porcentaje2 = (numYregla10 * 100) / total; frase1 = ("De un total de " + total + " NCFAS, se cumple que la dimensin " + dimension + " junto con la dimensin " + dimension2 + " , una cantidad de " + numXregla10 + " veces (" + porcentaje + "%) (X). Esto afecta a la dimensin Interacciones Familiares la cual adquiere un valor igual a " + valorDim2 + " , una cantidad de " + palabra6 + " veces (" + porcentaje2 + "%)(Y).\n Es decir esta regla se cumple el " + conf10 + "% de las veces.\n"); numVeces.add(1, almacenaAnterior.get(3) + " " + palabra6); reglasEncontradas regla10 = new reglasEncontradas(); regla10.setContenido(frase1); regla10.setValorX(numXregla10); regla10.setValorY(numYregla10); regla10.setNumRegla(10); reglas.add(regla10); almacenaRetorno.add(frase1); //band=1; } } } } } } } } } } } // while (in.hasNext()) } catch (FileNotFoundException e) { //System.out.println("Error abriendo el fichero "+nomFich); } finally { if (in != null) { in.close(); vaciarDataSet(); } } // try //GUARDO LO GENERADO Y LUEGO LO RETORNO return reglas; }
From source file:demo.bean.WekaDABeanImpl.java
License:Open Source License
@Override public Map<Integer, ResultItem> generateResults() { Map<Integer, ResultItem> myResults = new HashMap<Integer, ResultItem>(); try {/* w ww . j a v a 2s . c o m*/ InputStream input = getClass().getResourceAsStream("/arff/weather.nominal.arff"); DataSource source = new DataSource(input); Instances data = source.getDataSet(); Apriori apriori = new Apriori(); apriori.buildAssociations(data); FastVector res[] = apriori.getAllTheRules(); int x = 0; for (FastVector rule : res) { if (rule == null) continue; for (int i = 0; i < rule.size(); ++i) { Object o = rule.elementAt(i); if (o instanceof AprioriItemSet) { AprioriItemSet itemSet = (AprioriItemSet) o; System.out.println(itemSet.toString(data) + " " + itemSet.items().length); String ruleStr = itemSet.toString(data) + " "; myResults.put((x + 1), new ResultItem((x + 1), ruleStr)); if (x >= 10) break; x++; } } } } catch (Exception ex) { ex.printStackTrace(); } return myResults; }
From source file:EsperTest.CEPListener.java
public void update(EventBean[] newData, EventBean[] oldData) { System.out.println("Event received: " + newData[0].getUnderlying()); if (newData.length > 2) { //create the column name and type, these are strings //http://weka.wikispaces.com/Creating+an+ARFF+file Instances data;/*from ww w . j a v a 2s .com*/ FastVector atts = new FastVector(); for (int j = 0; j < columnNumbers.length; j++) { FastVector values = new FastVector(); for (int i = 0; i < labels.NominalCount(j); i++) { values.addElement(labels.GetLabel(columnNumbers[j], i)); } atts.addElement(new Attribute(labels.GetHeader(columnNumbers[j]), values)); } data = new Instances("Title", atts, 0); for (int i = 0; i < newData.length; i++) { Instance inst = new Instance(columnNumbers.length); for (int j = 0; j < columnNumbers.length; j++) { inst.setValue(j, newData[i].get("eventType").toString()); } data.add(inst); } Apriori aprioriObj = new weka.associations.Apriori(); try { aprioriObj.buildAssociations(data); } catch (Exception e) { System.out.println(e); } FastVector rules[] = aprioriObj.getAllTheRules(); } }
From source file:regulyasocjacyjne.WekaApriori.java
/** * Generowanie regu Asocjacyjnych algorytmem Apriori * * @param data//from w w w. j a v a2 s . c o m * @param n Liczba regul do policzenia (standardowo: 10) * @param c Minmalna ufnosc reguly (standardowo: 0.9). * @return * @throws Exception */ public String regulyAsocjacyjne(Instances data, String c, String n) throws Exception { data.setClassIndex(data.numAttributes() - 1); String[] options = Utils.splitOptions("-N " + n + " -C " + c); Apriori apriori = new Apriori(); apriori.setOptions(options); apriori.buildAssociations(data); //Generowanie regul asocjacyjnych System.out.println("Liczba regul=" + apriori.getNumRules()); System.out.println(apriori.toString()); //Wypisanie informacji o regulach return apriori.toString(); }
From source file:regulyasocjacyjne.WekaApriori.java
public static void regulyAsocjacyjneDyskret() throws Exception { Instances data = loadData("./src/data/osmolski.arff"); data.setClassIndex(data.numAttributes() - 1); Discretize filter = new Discretize(); filter.setInputFormat(data);/*from www .j a va 2 s.com*/ //Dyskretyzacja tablicy Instances trainDiscret = Filter.useFilter(data, filter); //Opcje liczenia regul asocjacyjnych String[] options = Utils.splitOptions("-N 10 -C 0.9"); Apriori apriori = new Apriori(); apriori.setOptions(options); apriori.buildAssociations(trainDiscret); System.out.println("Liczba regul=" + apriori.getNumRules()); System.out.println(apriori.toString()); // wynik = eval.toSummaryString("Wyniki:", false); }