Herramientas de usuario

Herramientas del sitio


es:manual:items:generativos:siette.util.corpus.dictionary

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
es:manual:items:generativos:siette.util.corpus.dictionary [2021/05/26 14:39] – [toText] rootes:manual:items:generativos:siette.util.corpus.dictionary [2021/11/07 21:44] (actual) root
Línea 1: Línea 1:
 ===== siette.util.corpus.Dictionary ===== ===== siette.util.corpus.Dictionary =====
  
-La clase ''Dictionary'' implementa una lista de términos a los que se acsocia una serie de atributos. Los //términos// son secuencias de caracteres que terminan con el caracters '':'' (dos puntos). Los atributos son cadenas de caracteres separados por algun caracter especial (en general espacio en blanco, tabulador o coma). Cada línea corresponde a un término. Los términos pueden repetirse.+La clase ''Dictionary'' implementa una lista de términos a los que se asocia una serie de atributos. Los //términos// son secuencias de caracteres que terminan con el caracter '':'' (dos puntos). Los atributos son cadenas de caracteres separados por algún caracter especial (en general espacio en blanco, tabulador o coma). Cada línea corresponde a un término. Los términos pueden repetirse.
  
-==== Cosntructores ====+==== Constructores ====
 <code java > <code java >
 public Dictionary(String sURL, String separator) public Dictionary(String sURL, String separator)
Línea 15: Línea 15:
 </code> </code>
  
-Inicialmente para construir el objeto de la clase ''Dictionary'' hay que inidcar el fichero que contiene el diccionario y especificar el separador o separadores mediante una cadena de caracteres. Si no se especifica se usa como separador ''DEFAULT_SEPARATOR'' cuyo valor es: '' \t,'' , es decir, espacio en blanco, tabulador, o coma.+Inicialmente para construir el objeto de la clase ''Dictionary'' hay que indicar el fichero que contiene el diccionario y especificar el separador o separadores mediante una cadena de caracteres. Si no se especifica se usa como separador ''DEFAULT_SEPARATOR'' cuyo valor es: '' \t,'' , es decir, espacio en blanco, tabulador, o coma.
  
 Tambien es posible crear el diccionario en blanco e inicializarlo posteriormente con el método ''setDictionary'', o bien crearlo como copia de otro diccionario mediante el método ''clone()'' Tambien es posible crear el diccionario en blanco e inicializarlo posteriormente con el método ''setDictionary'', o bien crearlo como copia de otro diccionario mediante el método ''clone()''
Línea 26: Línea 26:
 </code> </code>
  
-Los diccionarios tienen dos modos de funcionamiento, //exclsivo// y //no exclusivo//. El modo //exclusivo// que es el que se usa por defecto elimina del diccionario cada termino que se haya seleccioando previamente, de manera que no se pueda seleccionar dos veces el mismo elemento. El modo //no exclusivo// si lo permite.+Los diccionarios tienen dos modos de funcionamiento, //exclusivo// y //no exclusivo//. El modo //exclusivo// que es el que se usa por defecto elimina del diccionario cada termino que se haya seleccionado previamente, de manera que no se pueda seleccionar dos veces el mismo elemento. El modo //no exclusivo// si lo permite.
  
 <code java > <code java >
Línea 39: Línea 39:
 public Dictionary selectDictionary(String[] attPos, int modePos, String[] attNeg, int modeNeg) public Dictionary selectDictionary(String[] attPos, int modePos, String[] attNeg, int modeNeg)
 public Dictionary selectDictionary(String[] attPos, String[] attNeg ) public Dictionary selectDictionary(String[] attPos, String[] attNeg )
 +public Dictionary selectDictionary(String[] attPos, String attNeg)
 public Dictionary selectDictionary(String[] att, int mode) public Dictionary selectDictionary(String[] att, int mode)
 public Dictionary selectDictionary(String[] att) public Dictionary selectDictionary(String[] att)
Línea 48: Línea 49:
  
 ''attPos'' es un array de atributos (cadenas de caracteres) que pueden tener los términos. ''attPos'' es un array de atributos (cadenas de caracteres) que pueden tener los términos.
-''modePos'' es una variable que puede tomar dos valores constantes ''Dictionary.ALL'' y ''Dictionary.ANY''. El primer caso indica que los atributos listados en ''attPos'' deben estar todos asociados al término ue se busca. En el segundo caso, basta con que el término cobtenga alguno de ellos.+''modePos'' es una variable que puede tomar dos valores constantes ''Dictionary.ALL'' y ''Dictionary.ANY''. El primer caso indica que los atributos listados en ''attPos'' deben estar todos asociados al término que se busca. En el segundo caso, basta con que el término contenga alguno de ellos.
 ''attNeg'' al igual que ''attPos'' es un array de atributos. ''attNeg'' al igual que ''attPos'' es un array de atributos.
-''modeNeg'' al igaul que ''modePos'' es una variable que puede tomar dos valores constantes ''Dictionary.ALL'' y ''Dictionary.ANY''. El sign ificado es diferente, en el caso de ''modeNeg'' el valor ''Dictionary.ALL'' implica que el término no contenga todos los atributos listados en ''attNeg'', y el valor ''Dictionary.ANY'' indica que el término no debe contener ninguno de los atributos listados en ''attNeg''. Un ejemplo clarifica mejor el funcionamiento de este método:+''modeNeg'' al igual que ''modePos'' es una variable que puede tomar dos valores constantes ''Dictionary.ALL'' y ''Dictionary.ANY''. El significado es diferente, en el caso de ''modeNeg'' el valor ''Dictionary.ALL'' implica que el término no contenga todos los atributos listados en ''attNeg'', y el valor ''Dictionary.ANY'' indica que el término no debe contener ninguno de los atributos listados en ''attNeg''. Un ejemplo clarifica mejor el funcionamiento de este método:
  
      Dictionary d = new Dictionary(...);      Dictionary d = new Dictionary(...);
Línea 63: Línea 64:
 En este caso, el diccionario selecciona prendas que mezclen los colores rojo y azul, pero no sean de la talla ''38'',''39'', ni ''40''. En este caso, el diccionario selecciona prendas que mezclen los colores rojo y azul, pero no sean de la talla ''38'',''39'', ni ''40''.
  
-Raramente la seleccion se hara en un solo paso con una consulta complicada. Lo mas usual es que las consultas sean simples, y que en muchos casos no haya que especificar mas que alguno de los argumentos de la función. Para ello se han creado métodos que utilizan valores por defecto y llaman al método principal, que son estos:+Raramente la selección se hará en un solo paso con una consulta complicada. Lo más usual es que las consultas sean simples, y que en muchos casos no haya que especificar más que alguno de los argumentos de la función. Para ello se han creado métodos que utilizan valores por defecto y llaman al método principal, que son estos:
  
 ''modePos'', valor por defecto ''ALL'' \\ ''modePos'', valor por defecto ''ALL'' \\
Línea 79: Línea 80:
 public Set<String> selectSet(String[] attPos, int modePos, String[] attNeg, int modeNeg) public Set<String> selectSet(String[] attPos, int modePos, String[] attNeg, int modeNeg)
 public Set<String> selectSet(String[] attPos, String[] attNeg ) public Set<String> selectSet(String[] attPos, String[] attNeg )
 +public Set<String> selectSet(String   attPos, String   attNeg )
 public Set<String> selectSet(String[] att, int mode) public Set<String> selectSet(String[] att, int mode)
 public Set<String> selectSet(String[] att) public Set<String> selectSet(String[] att)
Línea 91: Línea 93:
 public String[] selectAll(String[] attPos, int modePos, String[] attNeg, int modeNeg) public String[] selectAll(String[] attPos, int modePos, String[] attNeg, int modeNeg)
 public String[] selectAll(String[] attPos, String[] attNeg ) public String[] selectAll(String[] attPos, String[] attNeg )
 +public String[] selectAll(String   attPos, String   attNeg )
 public String[] selectAll(String[] att, int mode) public String[] selectAll(String[] att, int mode)
 public String[] selectAll(String[] att) public String[] selectAll(String[] att)
Línea 103: Línea 106:
 <code java > <code java >
 public String select(String[] attPos, String[] attNeg ) public String select(String[] attPos, String[] attNeg )
 +public String select(String   attPos, String   attNeg )
 public String select(String[] att) public String select(String[] att)
 public String select(String att) public String select(String att)
Línea 116: Línea 120:
 </code>     </code>    
  
-Estas funciones devuelven todos los atributos asociados a un ''término''. Si se usa el ''atts'', solo se devuelven los atributos que esten incluidos en esta lista, es decir la interseccion entre los atributos asociados al //término// y los atributos de la lista ''atts''+Estas funciones devuelven todos los atributos asociados a un ''término''. Si se usa el ''atts'', solo se devuelven los atributos que estén incluidos en esta lista, es decir la intersección entre los atributos asociados al //término// y los atributos de la lista ''atts''
  
 <code java > <code java >
Línea 131: Línea 135:
 </code> </code>
  
-Pone en mayúsculas la primera letra de una cadedena de caracteres ''st''.+Pone en mayúsculas la primera letra de una cadena de caracteres ''st''.
  
 <code java > <code java >
Línea 139: Línea 143:
 </code> </code>
  
-El proposito de estas funciones es construir un [[es:manual:items:patron:siette|patrón Siette]] a partir de una cadena de entrada ''in''. Al construir un patrón Siette algunos caractres son caracteres especiales que no pueden usarse directamente en las expresiones, si no se especifica otra cosa, estos caracteres simplemente se eliminan.+El propósito de estas funciones es construir un [[es:manual:items:patron:siette|patrón Siette]] a partir de una cadena de entrada ''in''. Al construir un patrón Siette algunos caracteres son caracteres especiales que no pueden usarse directamente en las expresiones, si no se especifica otra cosa, estos caracteres simplemente se eliminan.
  
    out.println(Dictionary.toPattern("Miguel (de) Cervantes"));    out.println(Dictionary.toPattern("Miguel (de) Cervantes"));
Línea 145: Línea 149:
 produce la salida produce la salida
  
-   Miguel de Ceravntes+   Miguel de Cervantes
  
 Otra opciones, es construir el patrón de manera que conserve los caracteres especiales, para lo cual hay que precederlo del caracter de//escape// Otra opciones, es construir el patrón de manera que conserve los caracteres especiales, para lo cual hay que precederlo del caracter de//escape//
Línea 153: Línea 157:
 produce la salida produce la salida
  
-   Miguel \(de\) Ceravntes+   Miguel \(de\) Cervantes
  
-que es un patrón Siette valido. Finalmente tambien se puede construir un patrón Siette de manera que parte del texto sea opcional a derecha o izquierda, por ejemplo:+que es un patrón Siette valido. Finalmente tambien se puede construir un [[es:manual:items:patron:siette|patrón Siette]] de manera que parte del texto sea opcional a derecha o izquierda, por ejemplo:
  
    out.println(Dictionary.toPattern("Miguel de Cervantes"),false, Dictionary.LEFT);    out.println(Dictionary.toPattern("Miguel de Cervantes"),false, Dictionary.LEFT);
Línea 171: Línea 175:
    Aguila{ culebrera{ blanca}}    Aguila{ culebrera{ blanca}}
  
-El primer patrón daria como buena una respuesta que dijera simplemente ''Cervantes'' y el segundo una respuesta que dijera simplemente ''Aguila''. Dependiendo de la aplicación unas veces es mas conveniente un patrón que otro.   +El primer patrón daría como buena una respuesta que dijera simplemente ''Cervantes'' y el segundo una respuesta que dijera simplemente ''Aguila''. Dependiendo de la aplicación unas veces es más conveniente un patrón que otro.   
  
 +
 +<code java >
 +public static String toPattern(Set set, int mode)
 +public static String toPattern(List aList, int mode)
 +public static String toPattern(String[] aString, int mode)
 +public static String toPatternAll(Set set)
 +public static String toPatternAll(List aList)
 +public static String toPatternAll(String[] aString)
 +public static String toPatternAny(Set set)
 +public static String toPatternAny(List aList)
 +public static String toPatternAny(String[] aString)
 +</code>
 +
 +Este conjunto de métodos devuelve un [[es:manual:items:patron:siette|patrón Siette]] combinando las cadenas de caracteres que se les pasan como argumentos, ya sea como un array de cadenas de caracteres, una lista o un conjunto. El atributo ''mode'' puede tomar dos valores, correspondientes a dos constantes de la clase ''Dictionary.ALL'' y ''Dictionary.ANY'' indicando cómo deben combinarse. Por ejemplo
 +
 +     toPattern(new String[] {"rojo","azul","blanco"}, Dictionary.ALL)
 +
 +genera el siguiente [[es:manual:items:patron:siette|patrón Siette]]:
 +
 +     rojo+azul+blanco
 +
 +que reconoce respuestas como:
 +
 +     rojo,azul,blanco
 +     rojo,blanco,azul
 +     azul rojo blanco
 +     ...
 +
 +Las versiones abreviadas de esta función imponen el modo en el propio nombre de la función, como por ejemplo
 +
 +    toPatternAny(new String[] {"rojo","azul","blanco"})
 +    
 +que genera el patrón
 +
 +    rojo|azul|blanco
 +
 +que acepta cualquiera de estas cadenas como respuesta.        
  
 ==== toText ==== ==== toText ====
Línea 186: Línea 227:
 </code> </code>
  
-Los métodos ''toText'' son similares a los métodos ''toPattern'' solo que en vez de crear un patrón Siette, forman una frase en lenguaje natural. Estan pensados para trabajar con una lista de atributos y generar textos que pueden usarse en las rpeguntas de respuesta corta como //ejemplos// de respuestas correctas, o en la seccion de //ayuda//. Por ejemplo,+Los métodos ''toText'' son similares a los métodos ''toPattern'' solo que en vez de crear un patrón Siette, forman una frase en lenguaje natural. Están pensados para trabajar con una lista de atributos y generar textos que pueden usarse en las preguntas de respuesta corta como //ejemplos// de respuestas correctas, o en la sección de //ayuda//. Por ejemplo,
  
      toText(new String[] {"rojo","azul","blanco"}, Dictionary.ALL, "es")      toText(new String[] {"rojo","azul","blanco"}, Dictionary.ALL, "es")
Línea 192: Línea 233:
 devuelve la cadena de caracteres: devuelve la cadena de caracteres:
  
-     "rojo, azuly blanco+     rojo, azul y blanco 
  
 Los métodos 'toTextAll' y ''toTextAny'', utilizan un modo por defecto, por ejemplo Los métodos 'toTextAll' y ''toTextAny'', utilizan un modo por defecto, por ejemplo
Línea 200: Línea 241:
 devuelve la cadena: devuelve la cadena:
  
-     "red, blue and white"+     red, blue and white
  
 ==== Métodos auxiliares ==== ==== Métodos auxiliares ====
Línea 207: Línea 248:
 </code> </code>
  
-Pone en mayúsculas la primera letra de una cadedena de caracteres ''st''.+Pone en mayúsculas la primera letra de una cadena de caracteres ''st''.
  
 <code java> <code java>
Línea 216: Línea 257:
 </code> </code>
  
-Implementan operaciones de conjuntos con arrays de caracteres. Estan pensadas para manejar conjuntos de atributos. El método ''union'' devuelve un array con la unión de los dos argumentos ''att1'' y ''att2''; el método ''interseccion'' devuelve los elementos comunes entre ambos; y ''remove'' elimina del conjunto ''att1'' los elementos de ''att2''.+Implementan operaciones de conjuntos con arrays de caracteres. Están pensadas para manejar conjuntos de atributos. El método ''union'' devuelve un array con la unión de los dos argumentos ''att1'' y ''att2''; el método ''interseccion'' devuelve los elementos comunes entre ambos; y ''remove'' elimina del conjunto ''att1'' los elementos de ''att2''.
  
  
es/manual/items/generativos/siette.util.corpus.dictionary.1622039941.txt.gz · Última modificación: 2021/05/26 14:39 por root

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki