Package edu.upvehu.mummec.final1920
Class Session
java.lang.Object
edu.upvehu.mummec.final1920.Session
public class Session
extends java.lang.Object
Esta clase representa a la sesión, es decir, al fichero completo.
Su constructor genera un mapa que relaciona identificadores de cada hablante con la lista de turnos que le corresponden.
Proporciona además, los métodos para obtener la lista de hablantes y distintos valores asociados a cada uno de ellos.
Su constructor genera un mapa que relaciona identificadores de cada hablante con la lista de turnos que le corresponden.

Proporciona además, los métodos para obtener la lista de hablantes y distintos valores asociados a cada uno de ellos.
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
id
Identificador de la sesión (el que se recibe como un parámetro al llamar al constructor)private java.util.Map<java.lang.String,java.util.List<Turn>>
turns
El mapa que relaciona hablantes (su id numérico como texto) con la lista de turnos en que han intervenido. -
Constructor Summary
Constructors Constructor Description Session(java.lang.String id, java.lang.String url)
Procesa el fichero remoto indicado como parámetro, analizándolo línea a línea para ir generando los turnos. -
Method Summary
Modifier and Type Method Description java.lang.String
getId()
getter del id de sesión (no utilizado en este ejercicio)(package private) java.util.List<Turn>
getSpeakerTurns(java.lang.String speaker)
Para un hablante dado proporciona la lista de sus turnos(package private) double
speakerPra(java.lang.String speaker)
Proporciona el "Porcentaje Real de Aciertos" del reconocedor automático del habla para un hablante.(package private) java.util.Set<java.lang.String>
speakerSet()
Proporciona el conjunto (Set) de identificadores de hablantes(package private) double
speakerTime(java.lang.String speaker)
Proporciona el tiempo total utilizado por un hablante;(package private) int
speakerTurns(java.lang.String speaker)
Proporciona el número de turnos utilizados por un hablante.(package private) int
speakerWords(java.lang.String speaker)
Proporciona el número de palabras pronunciadas por un hablante;
-
Field Details
-
Constructor Details
-
Session
public Session(java.lang.String id, java.lang.String url) throws java.net.MalformedURLException, java.io.IOExceptionProcesa el fichero remoto indicado como parámetro, analizándolo línea a línea para ir generando los turnos.
Para cada línea comprueba si es comentario o no y actúa del siguiente modo:- Si es comentario con la marca <SPK/>, instancia un nuevo objeto Turn con el id de hablante sacado del final de la línea (y lo mantiene como "turno activo"). Si el hablante no esta ya en el mapa de turnos, lo incluye junto con una nueva lista de turnos asociada, e incluye el "turno actual" en dicha lista.
- Si no es comentario, proporciona la línea al "turno actual".
- Parameters:
id
- identificador de sesión (debe coincidr con el nombre del fichero sin extensión)url
- dirección remota del fichero a procesar- Throws:
java.net.MalformedURLException
- La URL es incorrectajava.io.IOException
- Problemas de acceso al fichero remoto.
-
-
Method Details
-
getId
public java.lang.String getId()getter del id de sesión (no utilizado en este ejercicio)- Returns:
- el id de la sesión
-
speakerSet
java.util.Set<java.lang.String> speakerSet()Proporciona el conjunto (Set) de identificadores de hablantes- Returns:
- el conjunto (Set) de identificadores de hablantes
-
getSpeakerTurns
Para un hablante dado proporciona la lista de sus turnos- Parameters:
speaker
- el identificador del hablante.- Returns:
- la lista de turnos correspondiente al hablante dado.
-
speakerWords
int speakerWords(java.lang.String speaker)Proporciona el número de palabras pronunciadas por un hablante;- Parameters:
speaker
- el identificador del hablante.- Returns:
- el número de palabras pronunciadas por el hablante;
-
speakerTime
double speakerTime(java.lang.String speaker)Proporciona el tiempo total utilizado por un hablante;- Parameters:
speaker
- el identificador del hablante.- Returns:
- el tiempo utilizado por el hablante;
-
speakerTurns
int speakerTurns(java.lang.String speaker)Proporciona el número de turnos utilizados por un hablante.- Parameters:
speaker
- el identificador del hablante.- Returns:
- el número de turnos utilizados por el hablante.
-
speakerPra
double speakerPra(java.lang.String speaker)Proporciona el "Porcentaje Real de Aciertos" del reconocedor automático del habla para un hablante. Este valor se obtiene como el cociente entre la suma acumulada de aciertos en todos sus turnos, entre la longitud acumulada de líneas en todos sus turnos. (es decir, se recorren todos los turnos acumulando aciertos y longitudes para terminar haciendo el cociente)- Parameters:
speaker
- el identificador del hablante.- Returns:
- el "Porcentaje Real de Aciertos" del reconocedor automático del habla para el hablante.
-