2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ...

80
TEXT 2 EMOTION : UN GESTOR DE EXPERIÈNCIES SOA. EXTRACCIÓ DEMOCIONS PER AL SUPORT A LA GESTIÓ DE RELACIÓ AMB CLIENTS Memòria del Projecte Fi de Carrera d'Enginyeria en Informàtica realitzat per Rodolfo Guichón Aguilar i dirigit per Joan Serrat Gual Bellaterra, 22 de juny de 2011

Transcript of 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ...

Page 1: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

TEXT2EMOTION: UN GESTOR DE EXPERIÈNCIES SOA. EXTRACCIÓ D’EMOCIONS PER AL SUPORT A LA GESTIÓ DE RELACIÓ

AMB CLIENTS

MemòriadelProjecteFideCarrera

d'EnginyeriaenInformàtica

realitzatper

RodolfoGuichónAguilaridirigitper

JoanSerratGual

Bellaterra,22dejunyde2011

Page 2: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

ii

Alosquedansentidoatodo,SusiyPol.

Page 3: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

iii

“Laspersonascompranemocionalmenteyjustificanlógicamente”

BuckRodgers,IBM

Page 4: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

iv

ÍndiceGeneral

Resumen

Resum

Summary

I Introducción

1. Introducciónyobjetivos

1.1. Objetivodelproyecto.........................1.2. EstadodelArte.............................1.3. EstudiodeViabilidad...........................1.4. Planificación..............................

2. Fundamentostecnológicos

2.1. ¿QuéesCloudComputing?......................2.2. ¿QuéesServiceOrientedArchitecture?...............2.3. Plataformasdedesarrollo.......................

2.3.1. GoogleAppEngine.......................2.3.2. AmazonEC2..........................2.3.3. Force.com............................

II Serviciosdeclasificacióndeexperiencias

3. Modeladoyclasificacióndelasemociones

3.1. Introducción..............................3.2. Parteemocionaldelasexperiencias..................3.3. Clasificacióndelasexperiencias...................

3.3.1. Preprocesodetextos.....................3.3.2. Cambioderepresentación..................3.3.3. Clasificación...........................

viii

ix

x

1

2

257

11

13

131517171819

21

22

222225252729

Page 5: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

v

4. Desarrollodelosserviciosdeclasificación

4.1. Introducción...............................4.2. Modelado................................4.3. Ensamblado...............................4.4. Despliegue................................

III Casosdeestudio

5. Caso1:DepartamentoComercialdeunaindustriaquímica

5.1. Introducción...............................5.2. Acciónyreacción:creandotareasapartirdevaloracionesde

experiencias...............................5.3. EntornodetrabajoenForce.com...................

5.3.1. Aplicación............................5.3.2. Objetospersonalizables....................5.3.3. Interfacesdeusuario......................5.3.4. Accesoaserviciosexternos..................

5.4. Resultados................................

6. Caso2:CommunityManagement

6.1. Introducción...............................6.2. Acciónyreacción:creandotareasapartirdevaloracionesde

experiencias...............................6.3. EntornodetrabajoenForce.com...................

6.3.1. Aplicación............................6.3.2. Objetospersonalizables....................6.3.3. Interfacesdeusuario......................6.3.4. Accesoaserviciosexternos..................

6.4. Resultados................................

Conclusiones

Bibliografía

31

31323444

46

47

47

48494951525558

61

61

62636363646666

68

69

Page 6: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

vi

Índicedefiguras

Figura1.1.1CustomerExperienceManagement..................... 2Figura1.1.2Esquemadelasoluciónpropuesta.......................3Figura1.2.1CloudComputing................................ 6Figura2.1.1Capasdeserviciosdelanube......................... 14Figura2.2.1Zonadeafectacióndeloscontratos..................... 15Figura2.2.2Zonadeafectacióndelacoplamiento..................... 15Figura2.2.3ZonadeAfectacióndelaabstracción..................... 16Figura2.2.4Localizacióndeservicios........................... 16Figura2.2.5Composicióndeservicios........................... 16Figura2.3.1.1LogotipoGoogleAppEngine........................ 17Figura2.3.2.1LogotipoAmazonWebServices...................... 18Figura2.3.3.1LogotipoForce.com............................. 20Figura3.2.1Factoresqueafectanalestadoemocional.................. 23Figura3.2.2Cuadrantesemocionales............................ 23Figura3.3.1.1Raíces,morfemas,sufijos,prefijoseincrementos............. 26Figura3.3.2.1ObtencióndelamatrizDocumento‐Palabra................27Figura3.3.2.2LatentSemanticAnalysis.......................... 28Figura3.3.3.1k‐nearestNeighbor............................. 29Figura4.1.1MetodologíadedesarrolloSOA........................ 31Figura4.2..1ModelodeProcesodeEntrenamiento.................... 33Figura4.2.2ModelodelProcesodeClasificación..................... 34Figura4.3.1ContratodeRequerimientodeServicios................... 35Figura4.3.2ContratodeRequerimientodeServicios................... 36Figura4.3.3DiagramadeUnidadesFuncionales...................... 37Figura4.3.4DiagramadeTopologíadeServicios..................... 37Figura4.3.5DiagramaComponenteAbstracto...................... 38Figura4.3.6Especificación:Parsing............................. 39Figura4.3.7Especificación:Analysing........................... 39Figura4.3.8Especificación:Collecting........................... 40Figura4.3.9Especificación:Training............................ 40Figura4.310Especificación:Classifying.......................... 40Figura4.3.11ServiceDataModel............................. 41Figura4.3.12ServiceProviders............................... 42Figura4.3.13Text2EmotionServiceProvider....................... 42Figura4.314SubsistemaText2Emotion.......................... 43Figura4.41Levantamientodelainstanciadelservidordeaplicaciones........ 44Figura4.42Consoladelservidordeaplicaciones..................... 45Figura4.43DesplieguedelosserviciosText2Emotion.................. 45Figura4.44Webdelserviciodesplegado......................... 45Figura5.21Recordatoriodetareaarealizar....................... 49Figura5.3.11Definicióndeaplicación........................... 49

Page 7: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

vii

Figura5.3.12Definicióndeficha.............................. 50Figura5.3.13Aplicaciónfinal................................ 50Figura5.3.21Definicióndellamada............................ 51Figura5.3.22CamposdeLlamada............................. 52Figura5.3.23Desencadenadordellamada........................ 52Figura5.3.31PantalladeLlamadas............................ 53Figura5.3.32PantalladeEmails.............................. 53Figura5.3.33PantalladeVisita............................... 54Figura5.3.34PantalladeReuniones............................ 54Figura5.3.35PantalladeFax................................ 55Figura5.3.36PantalladeSeguimiento........................... 55Figura5.3.41Accesoasitioremoto............................ 56Figura5.3.42Paso1:SeleccionarficheroWSDL...................... 56Figura5.3.43Paso2:AnálisisdelficheroWSDL...................... 57Figura5.3.44Paso3:GeneracióndelasclasesApex................... 57Figura5.3.45SeguimientodeTrabajosdeApex...................... 57Figura5.3.46Tareageneradaautomáticamente..................... 57Figura5.41Caso1:MatrizdeConfusión.......................... 59Figura5.42Caso1:MatrizdeErrorRelativo........................ 59Figura5.43Caso1:MatrizdeDesviaciónestándar.................... 59Figura5.44Efectividaddeprocesocomercial....................... 60Figura5.45EfectividadestimadaconelusodeText2Emotion.............. 60Figura6.3.11AplicaciónFinal................................ 63Figura6.3.31PantalladeHoteles.............................. 64Figura6.3.32PantalladeOpiniones............................ 64Figura6.3.33PantalladeRespuestas............................ 65Figura6.3.34Pantalladedefiniciónderespuestas..................... 65Figura6.3.35Pantalladeprogramacióndedescargas.................. 66Figura6.3.36Caso2:Matrizdeconfusión......................... 67Figura6.3.37Caso2:MatrizdeErrorRelativo....................... 67Figura6.3.38Caso2:MatrizdeDesviaciónEstándar................... 67

Page 8: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

viii

Resumen

Customer ExperienceManagement (CEM) se ha convertido en un factor clave para eléxito de las empresas. CEM gestiona todas las experiencias que un cliente tiene con unproveedordeserviciosoproductos.Esmuyimportantesabercomosesienteunclienteencada contacto y entonces poder sugerir automáticamente la próxima tarea a realizar,simplificandotareasrealizadasporpersonas.

Enesteproyectosedesarrollaunasoluciónparaevaluarexperiencias.Primerosecreanservicioswebqueclasificanexperienciasenestadosemocionalesdependiendodelniveldesatisfacción,interés,…Estoesrealizadoatravésdemineríadetextos.Seprocesayclasificainformación no estructurada (documentos de texto) que representan o describen lasexperiencias.Seutilizanmétodosdeaprendizajesupervisado.Estaparteesdesarrolladaconunaarquitecturaorientadaa servicios (SOA)paraasegurarelusodeestándares yque losservicios sean accesibles por cualquier aplicación. Estos servicios son desplegados en unservidordeaplicaciones.

Enlasegundapartesedesarrolladosaplicacionesbasadasencasosreales.EnestafaseCloudcomputingesclave.Seutilizaunaplataformadedesarrolloenlíneaparacreartodalaaplicaciónincluyendotablas,objetos,lógicadenegocioeinterfacesdeusuario.Finalmentelosserviciosdeclasificaciónsonintegradosalaplataformaasegurandoquelasexperienciassonevaluadasyquelastareasdeseguimientosonautomáticamentecreadas.

Page 9: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

ix

Resum

CustomerExperienceManagement(CEM)s’haconvertitenunfactorclauperl’èxitdelesempreses.CEMgestionatoteslesexperiènciesqueunclienttéambunproveïdordeserveïsoproductes.Ésmoltimportantsabercomsónelssentimentsd’unclienteencadacontacteiaixí poder suggerir automàticamente la pròxima tasca a realitzar, simplificant tasquesrealitzadesperpersones.

Enaquestprojecteesdesenvolupaunasolucióperavaluarexperiències.Primerescreenserveïs web que classifiquen experiències en estats emocionals depenent del nivell desatisfacció, interès, … Això és realitzat amb mineria de textos. Es processa i classificainformació no estructurada (documents de text) que representen o descriuen lesexperiències.S’utilizenmètodesd’aprenentatgesupervisat.Aquestapartésdesenvolupadaamb una arquitectura orientada a serveïs (SOA) per assegurar l’ús d’estandars i que elsserveïs siguin accesibles per qualsevol aplicació. Aquests serveïs son desplegats en unservidord’aplicacions.

En la segonapart esdesenvolupados aplicacionsbasadesen casos reals. En aquesta faseCloud computing es clau. S’utilizaunaplataformadedesenvolupamenten líniapara creartotal’aplicacióinclouenttaules,objetes,lògicadenegociiinterfíciesd’usuari.Finalmentelsserveïs de classificació son integrats a la plataforma assegurant que les experiències sónavaluadesyquelestasquesdeseguimientsónautomàticamentecreades.

Page 10: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

x

Summary

Customer Experience Management (CEM) is becoming a critical key success factor intoday’sbusiness.Itmanagesallexperiencesthatacustomerhaswithasupplierofgoodsorservices.It’sveryimportanttoknowwhatthecustomerisfeelingineverycontactandthensuggestautomaticallythenextapproachtomake,simplifyingthetaskforahumanoperator.

In this project, we develop a solution for evaluating experiences. First we create webservices that classify the experiences into emotional states depending on satisfaction,interest,...ThisisdoneusingTextMining.Weprocessandclassifyunstructuredinformation(textdocuments)thatrepresentsordescribesexperiences.Asupervisedlearningmethodisused. This part is developed using ServiceOriented Architecture (SOA) to ensure that it’sbasedonstandards,andtheservicesareaccessiblefromanyapplication.Theseservicesaredeployedonanapplicationserver.

Inthesecondpartwedeveloptwoapplicationsbasedonrealcases.Cloudcomputingiskey in this stage. An online development platform is used to create all the applicationincludingtables,objects,businesslogicanduserinterfaces.Finallytheclassificationservicesareintegratedwiththeplatformensuringthattheexperiencesareevaluatedandnexttasksareautomaticallycreated.

Page 11: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

1

ParteI

Introducción

Page 12: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

2

Capítulo1

Introducciónyobjetivos

CEM(CustomerExperienceManagement)eslagestióndelaexperiencia"global"deunclienteconunproducto,marcaoproveedor.Tienecomoobjetivogestionarlavaloración,durantetodoelciclodevidadelarelación,delospuntosdecontactoentreelclienteyelproveedor:eldeseoonecesidaddelcliente,eldescubrimiento,laatracción,lacompra,eluso,larespuestapostventa,larepetición,el finde la relaciónoelencadenamientoconeldescubrimientodeotrosproductos.Tambiénseencargadeconvertir todaesta informaciónenconocimientonecesarioparaque lasempresasmejorensusprocesosdenegocio.

Figura1.1.1CustomerExperienceManagement

1.1.Objetivodelproyecto

Elobjetivodeesteproyectoesdesarrollarunaaplicacióncapazdevalorarexperienciasygestionar acciones de seguimiento a partir de éstas. Los proveedores podrán automatizarsistemasdeseguimientodelasexperienciasocurridasensusprocesosdenegocioenlazandosussistemasinformáticosactuales.

Elprimerobjetivoproyectoes labúsqueda,configuración,pruebae integracióndeunaaplicación CRM existente a una empresa real. Esta aplicación debe proveer interfacespotentesysegurasparaelaccesoalainformacióndesubasededatos.Senecesitarándatosde contactos, empresas, tareas y eventos con los que interactuarán los servicios devaloración y seguimiento. Además, se desarrollarán nuevas tablas y vistas que seránnecesariasparacubrir lasnecesidadesfuncionalesde laempresaencuestión.NoobstantesemantendráelniveldeabstracciónsuficientedelosserviciosdevaloraciónyseguimientodeexperienciasparaquesepuedaintegrarfácilmenteconcualquierotraaplicaciónCRMoERP.

Page 13: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

3

Elsegundoobjetivoeslacreacióndelosserviciosdevaloracióndeexperiencias.Setratade un problema de clasificación. Los métodos de valoración se basarán en datosintroducidos por personal de la empresa: transcripciones telefónicas, actas de reunión,faxes, correos electrónicos, … Primero se obtendrá un conjunto de datos deaprendizaje(GrandTruth)conlosqueseentrenaránlosalgoritmosdetextminingnecesariospara la valoraciónde lasexperiencias.Apartirdeentonces, cadavezque segenereen laempresa una experiencia y ésta sea introducida en el sistema CRM , se disparará unallamadaalserviciodevaloraciónautomáticamente.

El tercero y último objetivo es la creación de los servicios de gestión tareas. Estosservicios deben, de unamanera flexible y automatizada, ayudar a la toma de decisionessobrequé tareas sedeben realizaranteunavaloraciónemocionaldeunaexperienciaquepuede ser tanto positiva (captación, recomendación o promoción) como negativa(destrucción).

Figura1.1.2Esquemadelasoluciónpropuesta

Tantoelsegundocomoterceroobjetivodeesteproyectoplanteanciertasdificultades.Enambosesnecesario:

• Acceder a información de diferentes aplicaciones de empresa(CRM's,ERP's,...).

• ConectarconserviciosdisponiblesenlaWeb(WebServices).

• Crearflujosdenegociodemaneraflexible.

• Permitir queotras aplicacionesaccedana sus servicios independientementedelaplataformaenqueseejecuten.

Parapodersolventarestosrequerimientosseimplementaráunaarquitecturaorientadaaservicios.SOA(ServiceOrientedArchitecture)esunaarquitecturadesistemasquetrataalosprocesosdenegociocomoserviciosatómicos,querealizandemaneraindependientedelosdemás(sin estado) una acciónmuy concreta. Estos servicios pueden ser orquestados para

Page 14: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

4

realizar reglas complejas de negocio. Se basa en lenguajes y protocolos estándares quegarantizanlaconectividaddediferentesplataformas.

Algunasdelasventajasdeestaarquitecturason:

• Aperturaaserviciosexternos.

• Reutilizacióndeservicios

• Flexibilidaddelosprocesosdenegocio

• Mejoradelretornodelainversiónenunproyectodedesarrollocómoéste.

SeseguiráelmodelodedesarrolloTop‐Down.Lasfasesparalacreacióndelosserviciosseránlassiguientes:

1. Modelado: Descripción del servicio, susmétodos, la información que necesita(losargumentosdeentrada) yel resultado (la salida). Tambiénenesta fase semodelará la interacción con otros servicios para la creación de funcionescomplejas de negocio. Obtendremos lo que llamaremos 'contratos' para cadaservicio, lo que seria programar para la interface en elmundo de los objetos.Estafase,enelmundoreal,deberíaserrealizadaencolaboraciónconunanalistadenegocio.

2. Implementación: Desarrollo del servicio previamentemodelado. Se utilizará latecnologíadisponiblebasadaenestándares.

3. Despliegue:Se instalaráunservidordeaplicacionesconcapacidadparaoperarcon servicios que puedan ser orquestados para desplegar los serviciosimplementados. También se introducirá estos servicios en un diccionario parapotenciar la re‐utilización de servicios ya implementados. Opcionalmente y encasodenecesidadseutilizarádeunESB(busdemensajes)parafacilitarelaccesoalosserviciosdesdecualquierotrotipodeaplicación.

4. Monitorización:Tráficoycomportamientodelosserviciosdesplegados.

SecrearáparacadaserviciounSLA(ServiceLevelAgreement)conelqueestipularemoslacalidad y disponibilidad del servicio. No existe ninguna normativa al respecto, aunqueexistenorganizacionesqueestánintentandoestandarizarlo.

Finalmente se realizarán pruebas integradas del sistema con las cuales valoraremos latantolafiabilidadyeficienciadelaarquitecturacomoelaciertoobtenidoconlosmétodosdevaloracióndelasexperiencias.

Page 15: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

5

1.2EstadodelArte

El concepto de Customer Experience fue acuñado por Pine y Gilmore en 1998 con suartículoenBusinessHarvardReview.

Elfocodelasempresasactualesdebenestarenlosclientes,noenlapropiaorganización.Esteenfoquehacequelaempresatengaunfactordiferenciador,aumentandosusbeneficiosysuvalor.

Losclientesestáncadadíamáspreparadosycapacitadosyademásdisponendetodalainformación que deseen a un clic de distancia. Son clientesmuy sofisticados a los cuales,experienciasquesecreandebensercadavezmásmemorables.Lagestióndelaexperienciaseconvierteenunfactordeinnovaciónclaveenlaempresa.

Todoelloesválidotantoenlarelaciónconclientesparticularescomoempresas(B2B).Alfinal,loscontactosconlaempresaclienteserealizanconpersonas.

Empresasdeéxitoyasebeneficiandeser lasprimerasquegestionan laexperienciadesus clientes. Cada vezmás empresas se darán cuentade la importancia de esta gestión ycadavezserámásdifícildesarrollarexperienciasquelasdiferenciedelasdemás.

Porello,esmuyimportanteobtenerinformaciónmuyprecisadelaexperienciaglobaldenuestroclientes.Elobjetivoclaveesidentificarquéemocionesestamosprovocandoenunaexperiencia y en qué grado. Se necesita unmétodo paramedir ymonitorizar la reacciónemocionaldenuestrosclientes.

ExistenaplicacionesenelmercadollamadasCRM(CustomerRelationManagement)quegestionanlafuerzadeventasdeunaempresa.Elobjetivodeestasaplicacioneseslaventapormediodegeneracióndeoportunidadesqueseconsiguenatravésdeconoceranuestrosclientes por las diferentes formas de contacto que tenemos con ellos, valoramos lo quesabemosdeellos.CEM,encambio,secentraenloquesienten.

Ejemplo de CRM es SalesForce. Más de ochenta mil usuarios avalan su éxito. Es unaaplicación online que tiene como objetivo automatizar la fuerza de ventas. Ofrece a losrepresentantesdeventas,directivosyejecutivosherramientasparadesarrollarconexionesmássólidasconlosclientes,aumentarlastasasdegananciasycerrarmáscontratos.

Además cuenta con una plataforma de desarrollo y desplegue de aplicaciones llamadaForce.com.

Esta plataforma se basa en el modelo de Cloud Computing. Dispone de hardware,softwareyserviciosqueestándisponiblesparaeluso inmediatoyaque,seejecutanenelcloud (Internet). Además el coste de estos servicios es exclusivamente calculado por losrecursosqueseutilizan.

Page 16: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

6

Figura1.2.1CloudComputing

CloudComputingestá,cadadíamás,siendoutilizadoporempresasdetodoslostamaños.

Este modelo empieza a reemplazar métodos tradicionales de venta de licencias deaplicaciones. Esto es motivado por unos niveles de productividad, economía y éxito sinprecedentes.

TantoempresascomodesarrolladoresdesoftwarepuedencrearyejecutaraplicacionespersonalizadasenInternetsin lanecesidaddeenfrentarseaaltas inversiones,detiempoydinero,endesarrollodesoftware,adquisicióndehardwareymantenimientodeambos.

Force.componeadisposicióndeldesarrolladorlatecnologíaexistenteenSalesforceCRMparaeldesarrollodeaplicacionesempresarialesaltamentepersonalizables.Estaplataformareúne todos los requerimientos del modelo Cloud Computing. Proveedores de softwarepueden fácilmente desplegar servicios de manera segura, fiable, configurable ypersonalizable.Ademásesfácilmenteintegrableconotrasaplicaciones.

Aúnasí, lasaplicacionesdesplegadasestáncentradas,como lamayoría,en lasaccionesdelaempresaynoenlaexperienciadelcliente.Lainnovacióndeesteproyectoconsisteenagrupardiferentes tecnologíasyconocimientoparapodercrearunasistentequeayudealseguimientodeaccionesymejoreelniveldesatisfaccióndelasexperienciasvividasporlosclientes.

Page 17: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

7

1.3.Estudiodeviabilitaddelproyecto

Introducción

Elestudiodeviabilidadpretendeevaluarlasgarantíasdeéxitodelarealizacióndeesteproyecto.Incluyeunestudioqueproponeunasoluciónconceptualalproblemayposiblesalternativasantecontingencias.Ademássedefinenrequisitosdelprroyecto,seevaluanlosriesgosyfinalmentesedecidesielproyectoesviableono.

Tipologíaypalabrasclave

Tipologia: Proyecto informático de desarrollo de un prototipo de sistema de software. Noaplicableadistribuciónibasadoeninvestigación.

Palabras clave:CEM, CRM, ERP, SOA, SAAS, cloud, experiencia, emociones, textmining, latentsemanticindexing.

Descripción

Implementaruna soluciónbasadaen arquitecturaorientada a servicios y cloud computingquepermitalavaloraciónyseguimientodeexperienciasdeclientes.

Evaluaciónderiesgos

El objetivo del proyecto es integrar servicios disponibles en el cloud(internet) con serviciospropios que sean capaces de valorar experiencias en forma de documentos escritos. Para ellopuntualizamoslossiguientesprincipalestareasarealizar:

O1.BuscarunaaplicaciónCRMquepuedaproveerinterfíciespotentesysegurasparaelaccesoalainformacióndesubasededatosatravésdeInternet.

O2.Formarseenaspectosdeprogramación,personalizacióneimplantacióndedichaaplicación.

O3.Buscarempresaodatosrealesconloscualesserealizáelproyecto.

O4.PersonalizarlaaplicaciónCRMalosrequerimientosdelaempresa.

O5.Importardatosrelevantesparalaspruebasdelprototipo.

O6. Analizar y entender los diferentes eventos que debemos considerar como experiencias yrecogerlosdatosrelevatesparalavaloración.

O7.Modelarlosserviciosquedebenrealizarlasvaloraciones.

O7.1. Evaluar algoritmos de text mining para la clasificación de las experiencias a través desimulaciones.

O8.Modelarlosserviciosquerealizanelseguimientodetareas.

O9.Implementarlosservicios.

Page 18: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

8

O10.Desplegarlosservicios.

O.10.1.Instalaryconfigurarservidordeaplicaciones.

O11.Probarlaaplicacióndeformaintegradayvalorarresultados

SituaciónActual:

CRÍTICO PRIORITARIO SECUNDARIO RIESGO ESTADO

O1 X MEDIO REALIZADO

O2 X MEDIO REALIZADO

O3 X ALTO REALIZADO

O4 X MEDIO REALIZADO

O5 X MEDIO REALIZADO

O6 X BAJO REALIZADO

O7 X MEDIO REALIZADO

O7.1. X ALTO REALIZADO

O8 X BAJO REALIZADO

O9 X MEDIO REALIZADO

O10 X MEDIO REALIZADO

O10.1. X BAJO REALIZADO

O11 X BAJO REALIZADO

Definiciones,acrònimosyabreviaciones

CRM:CustomerRelationManagement.Aplicacionesquegestionanfuerzasdeventa.

ERP: Enterprise Resource Planning. Aplicaciones que gestionan los recursos de una empresa(gestioncomercial,financiera‐contable,producción).

Page 19: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

9

CEM:CustomerExperienceManagement.Gestióndelasexperienciaslosclientes.

SOA: Service Oriented Architecture. Arquitectura de sistemas basada en la orquestación deserviciosatómicos.

Partesinteresadas

Usuario:Aunquenotengamosdeantemanoelcliente,encasodenoencontrarlo,secrearáunafiguraquelorepresentará.

Equipo:

Nombre Descripción Responsabilidad

JoanSerrat Directordeproyecto Supervisa,evalúayorientaeltrabajodelalumno.

RodolfoGuichon Jefedeproyecto Gestionayplanificaelproyecto.

Presentalosresultadosparciales.

RodolfoGuichon Arquitectodesistemas Definelaarquitecturadehardwareysoftwarenecesariasparalarealizacióndelproyecto.

RodolfoGuichon Analista Defineelmodeloadesarrollar.

RodolfoGuichon Programador Desarrollaydesplegalosservicios.

RodolfoGuichon Técnicodepruebas Realizalaspruebasyanalizalosresultados

Productoydocumentacióndelproyecto

Seentregaráunprototipodelosserviciosdesarrollados.

Seelaboraráunamemoriadelproyecto.EnesteseincluiráuntutorialtantodelaconfiguracióndelCRMcomodelainstalacióndelservidordeaplicacionesyserviciosdesplegados.

Contextoactual

Sehabuscadosolucionescreadasparecidasy loúnicoquesehaencontradosonempresasqueofrecenconsultoríaenestostemas.Normalmenteacabanendesarrollosamedidaparaclientesenconcretoynounasolucióngeneralizada.

Porotro ladosehaencontradotrabajosde investigaciónrealizadosen lamateria.Destacan losquetrataneltextminingparasistemasderecomendación.

Normativaylegislación

LOPD

Page 20: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

10

NormativadeproyectosdefinaldecarreradelaUAB

Leydepropiedadintelectual

USPatent4,839,853(http://patft.uspto.gov/netagci/nph‐Parser?patentnumber=4839853)

Requerimientosdelsistema

Nohayrequerimientosespecíficospara laejecucióndelprototipoyaqueestádesplegadoenelcloud(Internet).

Alternativasantecontingencias

C1.NoencontrarunaaplicaciónCRMquepuedaproveer interfíciespotentes y segurasparaelaccesoalainformacióndesubasededatosatravésdeInternet.

Solución:DesarrollarlapartenecesariadeunCRMparapoderintergrarseconlosservicios.

Consecuencias:Retrasotemporalgraveenlafaseafectada.

C2.Nodisponerdeunaempresaodatosrealesconloscualesserealizáelproyecto.

Solución: Crear los datos manualmente o a partir de textos encontrados en páginas web deopiniones.

Consecuencias:Dispondríamosposiblementedeun conjuntodepruebamás reducido ymenosuniformeconloquenosdificultaríalaobtenciónderesultadosconcluyentes.

C3.NopoderpersonalizarlaaplicaciónCRMalosrequerimientosdelaempresa.

Solución:AdaptarlosdatosrealesdelaempresaencuestiónallasespecificacionesdelCRM.

Consecuencias:Retrasotemporalmedioenlafaseafectada.

C4.Nopoderimportardatosrelevantesparalaspruebasdelprototipo.

Solución: Exportar la información a ficheros que texto o excel que podamos leer desde losmétodosdeentrenamientodelosserviciosdetextmining.

Consecuencias:Retrasotemporalleveenlafaseafectada.

C5.Losalgoritmosdetextminingparalaclasificacióndelasexperienciasatravésdesimulacionesnoconvergensegúnlosresultadosesperados.

Solución: Búsqueda exhaustiva demétodos de clasificaciónquepuedan adaptarse al problemaplanteado. Se implementará el que mejor resultado consiga y se comentará, en resultados yconclusiones,laeficienciadeestemétodo.

C6.EncontrarlimitacionestécnicasdelsistemaCRMalImplementarlosserviciosdeseguimiento.

Solución: Realizar el seguimiento desde una aplicación creada a tal efecto y que pueda serconsultadaporelCRM.

Page 21: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

11

Consecuencias:Retrasotemporalmedioenlafaseafectada.

Conclusionesdeviabilidad

Se considera que es posible cumplir con los objetivos en los tiempos previstos. Hay unacomponentede investigación,queesel textmining, queconllevauncierto riesgo si se intentaconseguir resultados óptimos. Se tratará de implementarmétodos ya estudiados y que hayandemostrado resultados aceptables para conseguir la mínima desviación sobre plan temporalcreado.Elcumplimientodedichoplanpasasobretodoporelesfuerzodelequipoquecomponeesteproyecto.

Finalmente, en función de los objetivos anteriormente analizados, se considera este proyectoviable.

1.4.Planificación

Elproyectocomienzael13deoctubredel2010ytienecómofechaestimadadefinel31deabrildel 2011. Se realizarán reuniones de seguimiento y aprobación de las diferentes fasessemanalmente.El14deenerodel2011sepresentarálamemoriaprevia,sesolicitarálalecturaentre26 y el 31demayo, seentregará lamemoriaentreel 17 y22de junio y se realizará lalecturaentreel27dejunioyel8dejuliode2011.(Verdetalleencap.4)

Nº Tareasarealizar Duración Previo

1 Asignaciónymatriculacióndelproyecto 2h

2 Planificación 21h

3 Estudiodeviabilidad 20h 1

4 Aprobacióndelestudiodeviabilidad 1h 3

5 Análisisdelaaplicación 58h

6 Estudioprevio 40h 4

7 Arquitecturadelsistema 5h 6

8 Análisisderequerimientos 10h 7

9 Análisislegal 2h 8

10 Aprobacióndelanálisis 1h 9

11 Diseñodelaaplicación 126h

12 Diseñodelasinterfícies 20h 10

13 Diseñodelasentidadesdelaaplicación 10h 12

14 Diseñodelosservicios 80h 13

15 Diseñodelostests 10h 14

16 Restriccionesdesoftwareyhardware 2h 15

17 Restriccionesdeseguridad 2h 16

18 Cumplimientosdenormativaylegislación 1h 17

19 Aprobacióndeldiseño 1h 18

Page 22: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

12

20 Desarrollodelaaplicacion 121h

21 PersonalizacionCRM 40h 19

22 DesarrolloServiciosdeValoración 60h 21

23 DesarrolloServicionsdeSeguimiento 20h 22

24 Aprobacióndeldesarrollo 1h 23

25 Desplieguedelaaplicación 8h

26 Configuracióndelservidordeaplicaciones 5h 24

27 Despleguedelosservicios 2h 26

28 Aprobacióndeldespliegue 1h 27

29 Testymonitorización 41h

30 Testsindividuales 16h 28

31 PruebaIntegrada 16h 30

32 Pruebadestress 8h 31

33 Aprobaciondecontroldecalidad 1 32

34 Elaboracióndelamemoria 40h 33

35 Presentaciónydefensadelproyecto 1h 34

Page 23: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

13

Capítulo2

Fundamentostecnológicos

2.1.¿QuéesCloudComputing?

Introducción

Cloud computing es unmodelo de pago por uso para poner a disposición, demaneracompartida, recursos computacionales (redes, servidores, almacenamiento, aplicaciones,servicios)bajodemanda.Estosrecursospuedenserdadosdealtaydebajaconunmínimoesfuerzo o interacción por parte del proveedor. El modelo de nube promueve ladisponibilidadytienecincocaracterísticasfundamentales:

• Autoservicio bajo demanda: Un consumidor puede tener acceso unilateral acapacidadcomputacionalsininteracciónhumanaconelproveedordeservicios.

• Heterogeneidad:Losserviciosestándisponiblesenlaredysonaccesiblesatravésdeestándaresquehacenposible la conexióndesdediferentesplataformasdeclientes(móviles,portátilesytabletas).

• Deslocalizaciónderecursos:Losrecursospuestosadisposiciónporlosproveedoresde servicios utilizan el modelo de multipropiedad. Recursos físicos y virtuales sondinámicamente asignados y reasignados según las peticiones del cliente. Lamayorpartedelasveceselclientenotienecontroloconocimientodelalocalizaciónfísicadelosrecursosalosqueaccede.

• Escalabilidad. La capacidad computacional provista puede ser rápidamenteaumentadaobajada segúnnecesidad.Muchas veces,paraelusuario, la capacidadpareceinfinita.Puedeusarcuandoycuantoquiera.

• Pagoporuso:Elcosteparalosusuariosserigenpormodelosdepagoporserviciooenbaseapublicidad.

Clasesdecloudcomputing

Existendiferentestiposdecloudcomputingsegúnsupropiedadycomunidaddeusuarios:

• Nubesprivadas:Lainfraestructuraespropiedaddeunaorganizaciónyutilizadaporusuariospertenecientesaésta.

• Nubescomunitarias:La infraestructuraescompartidapormuchasorganizacionesysoportaunacomunidadespecíficaquecomparterecursos.

• Nubes públicas: La infraestructura es propiedad de una organización y es vendidacomoservicioalpúblicoengeneral.

• Nubes híbridas: La infraestructura está formada por otras nubes, pero estápresentadacomounaúnica.

Page 24: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

14

ServiciosenelCloud

LosserviciosofrecidosporCloudcomputingsepuedesegmentaren11categorías:

• Storage‐as‐a‐service: Capacidad de almacenar información que físicamente existeen un servidor remoto pero es vista lógicamente como un recurso local paracualquieraplicaciónquenecesiteutilizarla.

• Database‐as‐a‐service:Serviciodeaccesoabasesdedatosremotas,compartiéndolaconotrosusuariosypuestasadisposicióncomosifuesenlocales.

• Information‐as‐a‐service: Habilidad de consumir cualquier tipo de información atravésdeinterfacesbiendefinidas.

• Process‐as‐a‐service: Recurso remoto capaz de conectar otros recursos, comoserviciosydatos,paracrearprocesoscomplejosdenegocio.

• Application‐as‐a‐service:AplicacionespuestasadisposicióndelusuarioatravésdelaWeb, normalmente a través de navegadores. También es conocido como SaaS(SoftwareasaService).

• Platform‐as‐a‐service:Plataformaremotaqueincluyeserviciosparaeldesarrollodeaplicaciones, interfaces y bases de datos. Esta categoría es la utilizada para larealizacióndepartedeesteproyecto.

• Integration‐as‐a‐service: Servicios de integración capaces de integrar aplicaciones,mediarinterfacesycontrolarsecuenciasdeprocesos.

• Security‐as‐a‐service: Habilidad de proveer seguridad en Internet a través deserviciosdeidentificaciónyvalidación.

• Management‐as‐a‐service: Servicio de gestión de nubes. Tratan tipologías,virtualización,utilizaciónderecursosydisponibilidad.

• Testing‐as‐a‐service: Sistemas de pruebas de software y arquitecturas disponiblesenformadeserviciosremotos.

• Infrastructure‐as‐a‐service: Habilidad de acceder a recursos computacionalesremotos.Setieneacceso,normalmente,aunamáquinavirtualpropia.

Figura2.1.1Capasdeserviciosdelanube

Page 25: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

15

2.2.¿QuéesSOA?

Service Oriented Architecture es una arquitectura de sistemas con la cual se crean yutilizanprocesosdenegocioatravésdelautilizacióndeservicios.

Unservicioesuncomponentedesoftwareytienelassiguientepropiedades:

1. Estádefinidoporuna interfazquees independientede laplataformadesdedondeseutilice.

2. Esaccesibleatravésdeunared.

3. Lasoperacionesdefinidasenlainterfazllevanacabooperacionesdenegocioatravésdeobjetosdenegocio.

4. Las interfaces e implementaciones pueden ser extendidas en tiempo deejecución.

Estaarquitecturarequierequelosservicioscumplanlossiguientesprincipios:

• Contratos estandarizados: Los servicios deben tener contratos que de una formaestándar describan la funcionalidad, la representación de los datos y la política deservicio.

Figura2.2.1Zonadeafectacióndeloscontratos

• Acoplamientodébil:Parapodermaximizar lareutilización losserviciosestosdebenser creados conelobjetivodepoder interactuar concualquierotro servicio y vice‐versa.Esnecesariominimizarelniveldedependenciaentrecomponentes.

Figura2.2.2Zonadeafectacióndelacoplamiento

Page 26: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

16

• Abstracción de servicios no esenciales: Es necesario ocultar la complejidad de laimplementación y detalles específicos de los servicios como detalles deprogramación, sistemas operativos, funciones auxiliares y solo hacer visible lasfuncionesimprescindiblesparasuuso.

Figura2.2.3ZonadeAfectacióndelaabstracción

• Reutilización:Lareutilizaciónesunfactorclaveenlaarquitectura.Sedebencrearlos

serviciosparaquepuedanserutilizadosporotrosservicios.

• Autonomía: Representa el grado de independencia de la implementación de unservicio. Si otros servicios dependen de detalles de implementación y no de lainterfazsecrearáunaltoniveldedependencia.

• Minimización de estado: La escalabilidad depende, en gran medida, de que losservicios mantengan el mínimo estado posible, es decir, no mantener recursosocupadosmásalládesuutilización.

• Localizables: Debe existir un diccionario para poder descubrir y localizar serviciosexistentes.Debecontenerinformaciónsuficienteparaconseguiresteobjetivo.

Figura2.2.4Localizacióndeservicios

• Servicioscompuesto:Lacapacidadderesolverproblemascomplejosapartirserviciosqueresuelvenproblemasmáspequeños.

Figura2.2.5Composicióndeservicios

Page 27: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

17

2.3.Plataformadedesarrollo

Platform‐as‐a‐service,porun lado, indicaquese tratadeunaplataformaqueprovee lainfraestructuranecesariaparaeldesarrollodeaplicacionesdesoftwarey,porotrolado, lapalabra Service indica que esta infraestructura es accesible a través de internet y que sumodalidaddepagoesporuso. Sehanvalorado tresposiblesplataformaspertenecienteaestetipodeNubequesedescribenacontinuación.

2.3.1.GoogleAppEngine1

GoogleAppEnginepermitecrearaplicacioneswebenlosmismossistemasescalablesconlosque funcionan lasaplicacionesdeGoogle. Sepuedecrear,mantener y actualizarestasaplicaciones y aumentar el tráfico y las necesidades de almacenamiento de datos bajodemanda.

Google App Engine admite aplicaciones escritas en varios lenguajes de programación.GraciasalentornodetiempodeejecuciónJavadeAppEnginesepuedecrearunaaplicacióna través de tecnologías Java estándar, que incluyen JVM, servlets Java y el lenguaje deprogramaciónJavaocualquierotrolenguajequeutiliceunintérpreteocompiladorbasadoen JVMcomo, por ejemplo, JavaScript oRuby.AppEngine tambiénofreceunentornodetiempo de ejecución Python dedicado, que incluye un rápido interprete Python y labibliotecaestándarPython.LosentornosdetiempodeejecuciónJavayPythonsegeneranparagarantizarquetuaplicaciónseejecutadeformarápida,seguraysininterferenciasdeotrasaplicacionesenelsistema.

Con App Engine, sólo se paga lo que se utiliza. No existen costes de configuración nitarifas recurrentes. Los recursos que utiliza una aplicación, como por ejemplo elalmacenamientoyelanchodebanda,semidenporgigabytesysefacturansegúntarifas.Secontrola la cantidad máxima de recursos que consume cada aplicación, de modo quesiemprepermanezcandentrodecadapresupuesto.

AppEngineincluyelassiguientesfunciones:

• Servidor web dinámico, totalmente compatible con las tecnologías web máscomunes.

• Almacenamientopermanenteconfuncionesdeconsulta,ordenytransacciones.• Escaladoautomáticoybalanceodecarga.• APIparaautenticarusuariosyenviarcorreoelectrónicoatravésde lascuentas

deGoogle.• un completo entorno de desarrollo local que simula Google App Engine en el

equipolocal.• tareas programadas para activar eventos en momentos determinados y en

intervalosregulares.

Figura2.3.1.1LogotipoGoogleAppEngine

1Adaptadodesdehttp://code.google.com/intl/es/appengine/docs/whatisgoogleappengine.html

Page 28: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

18

2.3.2.AmazonEC22

Amazon Elastic Compute Cloud (Amazon EC2) es un servicio web que proporcionacapacidadinformáticacontamañomodificableenlanube.Sehadiseñadoconelfindequelainformáticawebresultemássencillaalosdesarrolladores.

La sencilla interfaz de servicios web de Amazon EC2 permite obtener y configurarcapacidad con una fricción mínima. Proporciona un control completo sobre sus recursosinformáticosypermiteejecutarseenelentornoinformáticoacreditadodeAmazon.AmazonEC2 reduce el tiempo necesario para obtener e iniciar nuevas instancias de servidor acuestión de minutos, lo que permite escalar con rapidez su capacidad (aumentarla oreducirla)cuandocambienlosrequisitosinformáticos.AmazonEC2permitepagarsóloporlacapacidad que realmente utilice. Amazon EC2 proporciona a los desarrolladores lasherramientasnecesariasparacrearaplicacionesresistentesaerroresyparaaislarsede loscasosdeerrormáscomunes.

AmazonEC2presentaunentornoinformáticovirtual,quepermiteutilizarinterfacesdeserviciowebparainiciarinstanciascondistintossistemasoperativos,cargarlasconsuentornodeaplicacionespersonalizadas,gestionarsuspermisosdeaccesoalaredyejecutarsuimagenutilizandolossistemasquedesee.ParautilizarAmazonEC2sesiguenlossiguientespasos:

• Seleccionarunaimagendeplantillapreconfiguradaparapasaraestaractivodeinmediato.ObiencrearunaAMI(AmazonMachineImage)quecontengasusaplicaciones,bibliotecas,datosyvaloresdeconfiguraciónasociados.

• ConfigurarlaseguridadyelaccesoaredensuinstanciadeAmazonEC2.• Seleccionarlostiposdeinstanciasysistemasoperativosquedeseey,acontinuación,

iniciar,finalizarysupervisartantasinstanciasdesuAMIcomoseanecesario,atravésdelasAPIdeserviciowebolavariedaddeherramientasdegestiónproporcionadas.

• Determinarsideseaunaejecuciónenvariaslocalizaciones,utilizarpuntosfinalesdeIPestáticosoadjuntaralmacenamientodebloquescontinuoasusinstancias.

• Pagarsóloporlosrecursosquerealmenteconsuma,comolashorasdeusodeinstanciasolatransferenciadedatos.

Figura2.3.2.1LogotipoAmazonWebServices

2Adaptadodesdehttp://aws.amazon.com/es/ec2/

Page 29: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

19

2.3.3.Force.com[8]

Force.comesdiferentedelasotrasplataformasporqueestáenfocadaaaplicacionesdenegocios. Force.com es parte de Salesforce.com que empezó como un CRM (CustomerRelationManagement).Force.com,noobstante,sehaalejadodelCRMparapoderofreceruna infraestructura completa para el desarrollo de cualquier aplicación de negocio quecombinalacapacidaddeconfiguraciónycodificación.EstainfraestructuraesofrecidacomoservicioatravésdeInternet.

SeenumeranacontinuaciónalgunadelascaracterísticasfundamentalesdeForce.com.

Multipropiedad

Multipropiedad es un concepto abstracto, pero representa un beneficio para losdesarrolladores. Los clientes acceden a una infraestructura compartida con metadatos ydatosalmacenadosenlamismabasededatoslógica.Lamultipropiedadimplica:

• Infraestructuracompartida:Todoslosclientescompartenlamismainfraestructura.• Versión única: Sólo existe una versión de Force.com. La misma plataforma es

utilizadaparacualquieraplicaciónyparacualquiernúmerodeusuarios.• Mejoras continuas a coste cero: Cuando Force.com es actualizado para incluir

mejorasoarreglos,estaacciónestransparenteparalosusuariosyseaprovechandeellainstantáneamente.

Basededatosrelacional

ElcorazóndeForce.comesunabasededatosrelacionalprovistacomoservicio.AcadaclienteopropietarioForce.comproveeunabasededatosqueestáintegradaconesrestodela plataforma. Se acaban las tareas de configuración, optimización y copias de seguridadnecesariasenotrasplataformas.

Metadatosdeclarativos

Casi todas las personalizaciones configuradas o codificadas en Force.com estándisponiblesatravésdecontratosdeaccesoenformatoXMLquepermitenelaccesoatravésde servicios web. Esto permite la configuración de entornos idénticos o integración consistemasdecontrol.

Lenguajedeprogramación

Force.com provee su propio lenguaje de programación, llamada Apex. Peste lenguajepermite al desarrollador interactuar con características de la plataforma, incluyendo lasinterfaces de usuario. Se parece al Java e incluye comandos de acceso a base de datos.Puedeserescritovíawebotravésdeunplug‐indeEclipse

Page 30: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

20

Force.comofrececuatrograndescategoríasdeservicios.

Basededatos

Force.com está construido alrededor de una base de datos relacional. Permite ladefinición de tablas personalizadas con hasta 500 campos. Cada campo contiene datosfuertemente tipados, puede contener reglas de validación y se guarda el histórico de loscambiosrealizados.

Se pueden crear esquemas de datos complejos relacionando tablas. Los datos ymetadatosestánprotegidosdeborradosaccidentalesmedianteelusodeunapapeleradereciclaje. Los datos pueden ser importados vía utilidades de la plataforma o a través deaccesovíaserviciosweb.

LógicadeNegocio

Apexesel lenguajeconelquesecrealógicadenegocioenForce.com.Sepuedencrearclaseseinterfaces.Soportaelmodelodeprogramaciónorientadoaobjetos.LafilosofíadedesarrollobasadoenpruebasestámuyintegradoaForce.com.Métodosdepruebaspuedenser automáticamente manejados por Force.com y se pueden obtener información derendimiento.

Interfacesdeusuario

Existendos formasde crear interfacesdeusuario:Plantillas yVisualforce. Lasplantillassoncreadasapartirdelosmodelosdedatos, incluyendolasvalidacionesy,atravésdeuneditor,sepuedemodificarlainterfaz.

Visualforcepermitealusuarioconstruirinterfacesdeusuariopersonalizadasatravésdelusodecomandosquepuedenserincluidosenunapáginawebpropia.

Integración

Force.com soporta la integración con un amplio abanico de tecnologías, la mayoríabasadosenprotocolosymensajesestándares:

• ApexWebServicespermitecontrolremotodedatos,metadatosyprocesosatravésdeserviciosweb.

• TodalalógicadenegocioprogramadaenApexpuedeserexpuestacomoservicioweb.

• Sepuedeaccederdesdelaplataformaaserviciosexternos.

LaplataformaForce.comhasidolaescogidaparaeldesarrollodepartedeesteproyectodebidoasuafinidadconlosobjetivosplanteados.

Figura2.3.3.1LogotipoForce.com

Page 31: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

21

ParteII

Serviciosdeclasificacióndeexperiencias

Page 32: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

22

Capítulo3

MODELADOYCLASIFICACIÓNDELASEMOCIONES

3.1.Introducción

“Cuandounclienteviveunaexperienciasublime,quiererepetir.Nuestrosclientesnosonsólo empresas o personas a las que vender, son a la vez, nuestros vendedores, nuestrosconsejeros,nuestrossocios.”,ColinShaw.

Lamayoríadeprocesosquelasorganizacionesusannoestándiseñadospensandoenelcliente. El foco de las empresas actuales debe estar en los clientes, no en la propiaorganización.Esteenfoquehacequelaempresatengaunfactordiferenciador,aumentandosusbeneficiosysuvalor.

Losclientesestáncadadíamáspreparadosycapacitadosyademásdisponendetodalainformación que deseen a un clic de distancia. Son clientesmuy sofisticados a los cuales,experienciasquecreamosdebensercadavezmásmemorables.Todoelloesválidotantoenla relación con clientes particulares como empresas (B2B). Al final, los contactos con laempresaclienteserealizanconpersonas.

Lagestióndelaexperienciaesunfactordeinnovaciónclaveenlaempresa.

Empresasdeéxitoya sebeneficiandepodergestionar lasexperienciasde sus clientes.Cadavezmásempresassedaráncuentade la importanciadeestagestiónycadavezserámás difícil desarrollar experiencias que las diferencie de las demás. Por ello, es muyimportanteobtenerinformaciónmuyprecisadelaexperienciaglobaldenuestroclientes.

Elobjetivoclaveesidentificarquéemocionesestamosprovocandoenunaexperienciayenquégrado.Necesitamosunmétodoparamedirymonitorizar la reacciónemocionaldenuestrosclientes.

3.2.Parteemocionaldelasexperiencias

Se hamodelado un sistema de cálculo de la parte emocional de la experiencia de unclienteapartirdeunmétodocreadoporColinShaw[1].Estesistemaproveeunaestimaciónfinanciera de la implicación de tener una experiencia emocional en particular. Ha sidodiseñadoparaserutilizadoenprocesosdenegocioysueficaciahasidotestadayprobada.

Unaexperiencia esuna interacciónentreunaorganización yun cliente. Es la sumadelrendimientodelosaspectosfísicosdelaorganización(precio,producto,localización,…),lossentidosestimuladosylasemocionesprovocadas.Todoellocontrastadoconlaexpectativadelclientedurantetodalainteracción.

Setratadeemociones:Lasemocionesmanejanelcomportamientohumano.

Page 33: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

23

Debemos empezar por entender el estado emocional de nuestros clientes y controlartantolaexperienciaensimismacómoloshechospreviosyposterioresquepuedanafectaralamisma.

Elestadoemocionaldeunclientevienedadopor:1. Rasgosinherentes:Elpropiocarácterdecadapersona.2. Humor:Estadosemocionalesduraderos.3. Emociones:Sentimientosquetienenlugarenuncortoperiododetiempo.

Figura3.2.1Factoresqueafectanalestadoemocional

Cadaexperienciatieneunaextensiónquevamásalládeellamisma.

Lasfasesquedefinenunaexperienciaentodasuextensiónson:

1. Hechosexternosquepuedanafectaralhumor2. Experienciaprevia: Influencias externasdenuestra experienciaquepuedenafectar

directamentealresultadodelamisma.3. LaExperiencia4. Experienciaposterior:Hechosnocontroladosquepuedenllegarahacerpartedela

experienciaglobal.Todaestainformaciónesrelevanteenelmomentodevalorarunaexperiencia,aunqueno

siempresedisponendeellaensuglobalidad.Para facilitar la clasificación se han segmentado las emociones en 4 cuadrantes (Fig.

3.2.2):

Figura3.2.2Cuadrantesemocionales

Page 34: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

24

5. CuadrantedeDestrucciónCuadrante formado por experiencias de clientes no satisfechos en general, es difícil

eliminar pero sí se debe controlar. Es necesario tomar acciones para transformar estosclientes insatisfechos a través de nuevas experiencias que le transmitan interés,mejora yrentabilidad.

Ejemplosdeexperienciasdestructivas:• Entregasnorealizadasatiempo,odeformaincompleta.• Procesosqueconllevanmuchomástiempodelqueelclienteesperaba.• Impotenciaantelafaltadeeficacia.• Faltadepersonasdecontactoapropiadas.• Inexistenciadeloquebuscaelcliente.• Sentirseignorado,abandonado.• Noentenderosatisfacerlasexpectativasfísicasyemocionalesdelcliente.• Traspasoconstantederesponsabilidades.• Involucraraclientesenprocesosquesólobeneficianlaempresa.• Nomantenercompromisos.• Deshonestidad.• Engaño.

6. CuadrantedeCaptación

Experienciasquehanprovocadounestímulopositivo, provocaroninterés.Laspersonasque vivieron esta experiencia son candidato a ser clientes, si ya no lo son, y ademásconvertirseenclientesfieles.

Paragenerarexperienciasdecaptaciónsedebe:• CrearNovedades.• Sorprender.• Hacerparticipantealclienteeneldesarrollodenuevosproductos.• Entenderelperfildelaaudiencia.• Provocarsentimientosdesuperación.• Cambiarlasexperienciasregularmente.• Controldeltiempo.• Personalquetransmitaenergía.• Transmitirsentidodevalorañadido.

7. CuadrantedeRecomendación

Experiencias que transmiten calidad, seguridad y valor. Transforman clientes puntualesenclientesfielesyquerepiten.

Ejemplosdeaccionesqueprovocanestasexperiencias:• Demostrarseguridad.• Escucharalcliente.• Anticiparsealasnecesidadesdelcliente.• Centrarlaatenciónenelcliente.• Cumplirloscompromisospactados.• Sertransparente.• Noabrumaralclientecondemasiadasexperienciasalavez.• Enfocarlasaccioneshacialasexpectativasdelcliente.• Captartodalaatenciónposible.• Incentivarlafidelidad.

Page 35: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

25

8. CuadrantedePromociónExperiencias que transforman clientes en promotores. Son aliados, fans. Recomiendan,

defiendenyayudanacrecer.Algunasaccionesnecesariasparalograrestasexperienciasson:• Crearrelacionesduraderasconelcliente.• Conoceremocionalmentealcliente.• Irmásalládelasexpectativasdelcliente.

3.3.Clasificacióndelasexperiencias

La compañías generan un elevadísimo número de experiencias diarias con los cliente.Estas experiencias son generadas por llamadas, correos electrónicos, documentos, etc.Todaslasexperienciaspuedenserrepresentadasporundocumento,yaseaelmismoemail,una transcripción de una llamada, una minuta de una reunión, etc. Por ello, se hadesarrollado una herramienta capaz de procesar estos documentos que contieneninformaciónnoestructuradayhacerunaclasificaciónautomáticaencontrandosignificadoalaspalabras.Lasventajasdeestaherramientasonelahorrodel tiemponecesariosparaelanálisismanualdelasexperienciasylaoptimizacióndelosprocesosdereacciónanteellas.Elobjetivoesclasificarlostextosdelosdocumentosenloscuatroscuadrantesemocionales.

Lossistemasdeclasificacióndetextosexistentessebasan,ensumayoría,enespaciosdevectores. Estos vectores representan a los documentos a través de las palabras quecontienen.Dadalaaltadimensionalidaddeestosvectores,seutilizanmétodosdereduccióndedimensionescomoLatentSemanticIndexingbasadoenSingleValueDecompositionparaello. Este método es parte del sistema de clasificación desarrollado. Se ha planteado unclasificadorgenéricoindependientedelorigenydeltipodeldocumento.

Para clasificar los textos ha sido necesario hacer un preproceso y realizar cambios derepresentaciónparafacilitarlaaplicacióndemétodosdeentrenamientoyclasificación.

3.3.1.Preprocesodelosdocumentos[23]

TextNormalizationElprimerpreprocesoque seha creadoha sidoparanormalizar los textos.Dadoel origenincierto de los documentos, debemos unificar codificación de carácteres, acentos,mayúsculas o minúsculas, posibles faltas de ortografía y contracciones de las palabrasutilizadas normalmente en correos electrónicos y mensajes sms. Este proceso se hadenominadoTextNormalization.Stop‐wordsRemovalDespués de normalizar el documento, el preproceso Stop‐words Removal elimina deldocumentosímbolos,letrassueltas,signosypalabrasquenoaportaninformaciónrelevanteal proceso de clasificación. Estos datos, que no aportan información, son enumeradospreviamentea la implementaciónyestán separadospor idioma.Paraesteproyecto sehapreparado el español y el inglés. Por ejemplo, se han creado enumeraciones depreposicionescandidatasaeliminarsedelosdocumentos:Prepositions_Es = {a, ante, bajo, cabe, con, contra, de, desde, en, entre, hacia, hasta, para, por, según, sin, so, sobre, tras, durante, mediante, pro, vía} Prepositions_En = {a, about, above, across, after, again, against,

Page 36: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

26

all, almost, alone, along, already, also, in, at, ago, before, between, by, during, from, to, till, until, past, since, within, among, around, behind, below, beside, close, down, front, of, inside, into, near, next, off, onto, opposite, out, outside, over, round, through, towards, under, up} StemmerSe unifican palabras que puedan tener elmismo significado. Se ha creado un preprocesollamado Stemmer: unificación de palabras de unamisma familia léxica o etimológica. Laspalabraspertenecientesaunamismafamilialéxicacompartenunmismolexemaoraíz,quelapartequelesdasignificado.Cadapalabrapuedecontenerprefijososufijos.Enestecasoloquerealmenteinteresaesquedarseconellexema.SehautilizadoparaelingléselPorterStemmer para los documentos en inglés y una adaptación para el español. La tabla 6.2.1muestraalgunosejemplos.

Figura3.3.1.1Raíces,morfemas,sufijos,prefijoseincrementos

SemanticRelationWordNet es una extensa base de datos léxica en inglés que agrupa substantivos, verbos,adjetivosyadverbiosenconjuntosdesinónimoscognitivos llamadossynsets. Atravésdeluso de la esta base de datos, se analizan las palabras para determinar su categoríamorfológica (substantivo, verbo, adjetivo o adverbio) y además, es posible realizar unanálisissemánticoparatractar:

Homónimos:palabrasquetienenelmismosignificandoperodistintaetimología,portanto,distintosignificado.

Polisemias:unamismapalabraosignolingüísticotienevariasacepciones.

Sinónimos: palabras iguales que tienen un significado similar o idéntico entre sí, ypertenecenalamismacategoríagramatical.

Hipónimos:palabrasqueposeentodoslosrasgossemánticos,osemas,deotramásgeneral,suhiperónimo,peroqueañadeensudefiniciónotrosrasgossemánticosqueladiferenciandelasegunda.

N‐GramsSehacreadounpreprocesoquecreaunarepresentacióndegramáticasN‐Gram.SecreanconjuntosdeNpalabras consecutivas formadasapartir dedeslizaruna ventana sobre laspalabrasdelosdocumentos.Ejemplo:

Page 37: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

27

Secuencia de palabras: N=2, texto =“es la parte de la palabra” (“es”,”la”),(“la”,”parte”),(“parte”,”de”),(“de”,“la”),(“la”,”palabra”).

Estassecuenciaspuedenagregarinformaciónrelevanteparalaclasificación.SummarizationEslatareaquetienecomoobjetivocrearunaversiónreducidadeltextooriginal.Trataconfrases completas y su espectro es todo el documento. Se ha implementado teniendo encuentalasemánticadelaspalabrasylaposicióndelasfrases.Atravésdeunavaloraciónporpesossepreservanlasfrasesquesuperenunciertoumbral.Estospesosvaloranelcontenidosemánticodelasfrases,sulocalizacióneneltexto,sureiteración,frasesexplicativas,…Segmentation(norealizado)El objetivo de esta tarea es poder segmentar los documentos para obtener frases concontenidossimilares.Lospasosquesesiguenson:

1. Divisióneltextoenfrases.2. Análisiscadafraseparaobtenerestructurasintácticaymorfológica.3. Resolucióndeanáforaspronominales.4. Cálculodesimilitudentrefrases.5. Segmentaciónyetiquetadodeltexto.

3.3.2.CambiodeRepresentación

Bag‐of‐WordsPara poder clasificar los documentos ha sido necesario obtener una representación de lainformación que permitiera realizar operaciones matemáticas necesarias para laclasificación. En la representación Bag‐of‐Words cada palabra está representada por unavariable separada que contiene un valor numérico. Se ha representado como unamatrizdondelasfilassonpalabrasylascolumnasdocumentos(verfig.3.3.2.1).

Tabla3.3.11ObtencióndelamatrizDocumento‐Palabra

Este valor representa la importancia relativa que tiene una palabra en un documentos ypuedeserlafrecuenciadeaparicióndecadapalabraeneltextoolafrecuencianormalizada:

Donde:

Page 38: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

28

tf(w)eslafrecuenciadecadapalabraenundocumento.df(w)eslafrecuenciadeunapalabraentodoslosdocumentos.Neselnúmerodedocumentos.FeatureSubsetSelectionLamisióndeesteprocesoesseleccionar lasmejorescaracterísticas,esdecir,aquellasquerealmente aporten información a la clasificación. Esta característica provee al sistema lacapacidaddeintroduccióndeconocimientoprevio.Sepuedencambiarlaimportanciadelaspalabrasconestafuncióncambiandolamatrizdocumentos‐palabras.LatentSemanticIndexing(USPatent4.839.853)Se ha utilizado Latent Semantic Indexing (LSI)[22] como técnica estadística para reducirdimensionesyencontrarestructurasocultasdecontenidosemánticodelosdocumentos.LSIesunatécnicadeprocesode lenguajenatural.Conellasehaanalizadolarelacionesentredocumentos y palabras que éstos contienen. El proceso previo a éste, llamado Bag‐of‐Words, crea una matriz de forma que las filas son las palabras y las columnas losdocumentos. Los valores de esta matriz, cómo se ha comentado anteriormente, son lasfrecuenciasdeaparición(normalizadasono)delaspalabrasenlosdocumentos.Estamatrizcreaelespaciosemánticooriginal.Esta matriz, dada la cantidad de posibles palabras que pueden ser utilizadas en losdocumentos,tieneuntamañodemasiadograndequehacelainviablesuutilizaciónparaelproceso de clasificación. LSI es capaz de encontrar una aproximación de menordimensionalidad. Esto lo consigue mediante Singular Value Decomposition (SVD). SVDpermite la modificación del espacio semántico de tal manera que refleja los principalespatrones asociativos de la información y descarta aquella que es redundante o pocoinfluyenteenlaclasificación.

Fig.3.3.12LatentSemanticAnalysis

Dada unamatriz X donde cada elemento (i,j) representa la frecuencia de aparición de lapalabraieneldocumentoj.ConelusodeSingleValueDecomposition[22]seconsigueunadescomposicióndeXtalqueUyVsonmatricesortogonalesyΣesunamatrizdiagonal:

Lascorrelacionesdepalabras ydedocumentos derivanen:

Page 39: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

29

Como y sondiagonales,Ucontienelosvectorespropiosde mientrasVlosde. y contienen los mismos valores propios, con lo que la descomposición

finalmenteresultaen:

donde sonvaloressingulares.Losvectorescolumna

ylosvectores son,asuvez,vectoressingulares.

SeseleccionaloskmayoresvaloressingularesyloscorrespondientesvectoressingularesdeU y V. Se consigue así, un aproximación a X de rango k con el mínimo error (Norma deFrobenius). Los vectores singulares seleccionados formarán un nuevo espacio semánticoqueaproximaXtalque

La matriz de vectores singulares Uk crea un espacio semántico con el cual se puedesegmentaryclasificarlaspalabras.PorotroladoVkpermitelasegmentaciónyclasificaciónde documentos. Para poder clasificar primero se debe proyectar el nuevo documento (opalabra)enelespaciosemántico

donde eselnuevodocumentoproyectadoy eslapalabraproyectada.

3.3.3.Clasificación

La clasificación que se ha realizado se hizo a partir de un conjunto de entrenamientosupervisado.Porello,sehautilizadounmétodoquecalcula,apartirdelascaracterísticasconocidas,laclasemássimilar(máscercana)enelespaciodecaracterísticas.Esdecir,setratadetenerunaformarápidadecalcularelcasomásparecido,porestarazónsehausadoelalgoritmodelvecinomáspróximo,enparticularelk‐NN(k‐nearestneighboralgorithm).Enestealgoritmocadaelementoesclasificadosegún la clasedesusk vecinosmáscercanosponderadaporelgradodesimilitudobtenido(verFig.3.3.3.1).

Fig.3.3.21k‐nearestNeighbor

Page 40: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

30

Sehautilizadosimilituddel cosenoparavalorarelgradodesimilitudentreelementosdelespacio de características. Dados dos vectores A y B, la similitud del coseno se definecomo:

Losvaloresdesimilitudpuedenvariarde‐1(completamenteopuesto)a1(exactamenteelmismo).Elvalorceroindicaindependenciaylosvaloresintermediariosgradosdesimilitudodiferencia.

Page 41: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

31

Capítulo4

Desarrollodelosserviciosdeclasificación

4.1.Introducción

Se ha desarrollado un sistema de clasificación de experiencias basado en una arquitecturaorientadaaservicios(SOA).SehautilizadoUMLparadiseñar lasoluciónSOAconelobjetivodegarantizarlaconsecucióndenuestrosrequerimientos.

La potencia de SOA reside en la habilidad de aumentar la agilidad empresarial mediante laintegraciónylareutilizacióndelosprocesosdenegocio.Estoseconsiguededosmaneras:porunlado estimulando la creación de soluciones basadas en servicios reutilizables que encapsulencapacidades funcionales ajenas a su implementación y por otro aportando herramientas quepuedangestionarrelacionesentrecapacidadesfuncionales[15].

El ciclo de vida de este proyecto se ha dividido en cuatro fases: Modelado, Ensamblado,DesplegueyGestión.Sehanmodeladolosprocesos,sehanensembladoloscomponentes,sehadesplegadolaaplicacióncompuestaysehagestionadosufuncionamiento.

Figura4.11MetodologíadedesarrolloSOAUna vez el modelo de negocio estaba implementado y desplegado, se ha podido cambiar laimplementacióndealgunadelastareasfácilmente.LaflexibilidadesunodelosbeneficiosclavesdeSOA.

ParadiseñarunasoluciónSOAsenecesita:

Establecerrequerimientosdenegocio

Identificarlosservicios.

Page 42: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

32

Diseñarlasinterfaces.

Decidircomoseránimplementados(IdentificarProveedoresdeservicios).

Componerlosserviciosquerepresentanalosprocesoscomplejosdenegocio.

Losperfileshanparticipadoenestafasedelproyectoson:

BusinessExecutive:Determinaobjetivosymetasdenegocio.

BusinessAnalist:Analizalosrequerimientosdenegocio.EnnuestrocasotenemoslafiguradeunespecialistaenTextMining.

Arquitectodesistemas:Diseñalaarquitecturadelasolución

Programador:Implementalasolución.

4.2.Modelado

Modelaresnecesarioparaunirlosrequerimientosinicialesdenegocioalasoluciónfinalbasadaenservicios.

El grado de abstracción con el que se ha trabajado en esta fase es grande para que se puedacentrar toda la atenciónen los serviciosdenegocio. Sehan formalizado los requerimientosdenegocio para el correcto desarrollo de los servicios con la intención alcanzar los objetivosdeseados.

El desarrollo basado en modelado ha ayudado a conseguir estos objetivos. Los modelospermitieron abstraer los detalles de la implementación y focalizar la atención en temas queatañenalasdecisionesarquitecturales.

El criterioque seha seguido cumple conunosde los principios fundamentalesde SOApara eldesarrollode soluciones SOA: separaciónde responsabilidades (concerns) y acoplamientodébil(loosecoupling).

Los “analistas de negocio” han sido los responsables por definir los requerimientosorganizacionalesyoperacionalesnecesariosparaconseguirlosobjetivosymetasdenegocio.Hasido necesario tener una visión empresarial. No ha sido necesario, en cambio, tenerconocimientos técnicos informáticos como reutilización, cohesión, acoplamiento de servicios,distribución,seguridad,persistencia,integridadoconcurrencia.

Se ha empezado con la descripción de las motivaciones y objetivos que se deseaban lograr.Después se han capturado los procesos que expresan los requerimientos organizacionales yoperacionales necesarios. Estas motivaciones y los procesos han establecido el contexto paraidentificarserviciosquesenecesitabancrearcumplirconlosrequerimientosdenegocio.

EsteprocesohasidolosuficientementecompletoydetalladocomoparaserutilizadocomobasedelSLA(ServiceLevelAgreement).

Page 43: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

33

RequerimientosdeNegocio:

Escenario: Desarrollo de un sistema capaz de clasificar experiencias a partir de textos quecontenganserviciosdenegocioreutilizables.

Motivaciones:

• Establecer unmedio común para que varias aplicaciones empresariales puedan valorarexperienciasdeclientes.

• Aumentar la satisfacción de los clientes con una reacción inmediata ante diferentesexperiencias.

• Fidelizarlosclientes.

• Convertirlosclientesennuestrospromotores.

Identificacióndelosservicios:

Sehanidentificadodosprocesos:elprocesodeentrenamientoyelprocesodeclasificación.Losdosestánformadosporserviciosindependientesqueenalgunoscasossonreutilizados.LafiguraFig.4.2.1semuestraelmodelocreadoparaelprocesodeentrenamiento.Sepuedeobservarquelos servicios han sido separados en cinco grupos:Word Level,Sentence Level,Document Level,LinkedDocumentCollection Level yApplication Level. Esta separaciónatiendea la lógicade losprocesosdetextmining.Ademásnosagrupaysimplificaeldesarrollodelosservicios.

ElprocesodeentrenamientoempiezaconunparámetrodeentradadetipoDocs.Setratadeunconjunto de documentos. Las tareas de Text Normalization, Stop‐words Removal, Stemmer,LexicalRelation,N‐grams,SummarizationySegmentationrecibenesteconjuntodedocumentos,lospreprocesaaniveldetextoyretornanelmismotipodedato.

Fig.4.2.1ModelodeProcesodeEntrenamiento

Page 44: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

34

LatareaBag‐of‐wordsencambio,recibeelparámetrodetipoDocsytransformaelconjuntodedocumentos en un dato de tipo BoW. Un dato de tipo tipo BoW contiene una matriz decaracterísticasextraídasdelosdocumentosyeldiccionariodepalabrasutilizado.FeatureSubsetSelection y Latent Semantic Indexing son utilizados para reducir la dimensión de la matriz decaracterísticas.TambiéntrabajanconeltipodedatoBoW.

Finalmente Train recibe el dato de tipo BoW (la matriz y el diccionario) y un dato de tipoGroundTruth(necesarioparaunaprendizajesupervisado).LosprocesaydevuelveundatodetipoClassificationKnowledgeque contiene toda la informaciónde entrenamiento necesaria para elposteriorprocesodeclasificación.

LafiguraFig.4.2.2nosmuestraelmodelodelprocesodeclasificación.Esteprocesoescapazdeclasificarunconjuntodedocumentos,porlocualaprovechamoseltipodedatoyacreadoenelprocesodeentrenamientoDocs.

El preproceso de los documentos, la creación de lamatriz de características y la reducción dedimensionessonserviciosreutilizadosdelprocesodeentrenamiento.

La tareaClassificationes la responsablederealizar laclasificaciónde losdocumentos.Utiliza lamatrizdecaracterísticasylainformacióndeentrenamientonecesaria(ClassificationKnowledge)yretorna un tipo de dato ClassificationResult que es una matriz con los resultados de laclasificación.

Fig.4.2.2ModelodelProcesodeClasificación

4.3.Ensamblado

Después de haber entendido los requerimientos de negocio se ha procedido al diseño de lasinterfacesydesarrollodelosserviciosqueatiendenaéstos.

Page 45: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

35

Se han creado implementaciones de servicios que cumplieran con los objetivos deseados yademásconunaarquitecturaquepermitieralareutilizaciónyagilidaddelosprocesosdenegocio.

En esta fase el arquitecto y el programador han tenido un papel fundamental. Han sido losresponsables por desarrollar los diferentes servicios para componer el proceso de negocio alcompleto.

A partir del Modelo de Procesos que fue creado en la fase anterior, se crea el Diagrama deEnsamblado.Estediagramacontienecomponentesquecorrespondenalosserviciosdelproceso.Cada componentes puede ser un servicio Web, un procesos BPEL, una tarea que requieraintervenciónhumana,unaregladenegocio,EJBs,POJOs,JMSsootrasaplicacionesa lasqueseaccede por medio de un conector o un ESB. Se pueden integrar aplicaciones de diferentesplataformas,tecnologíaylenguajesdeprogramación.EnnuestrocasotodoslosserviciosquesehancreadosonserviciosWeb.

Diseñodelasinterfaces:

El Modelo de Procesos, creado en la fase anterior, ha sido considerado un Contrato deRequerimiento de Servicios. Este modelo indica los grupos de servicios, las tareas que debenrealizary lasreglasdeinteracciónentreellos.Sehadesarrolladoslas interfacesapartirdeestecontrato. En la figura 4.3.1 se muestra el Contrato de Requerimiento de Servicios en UMLobtenidoapartirdelmodelo.

Fig.4.3.1ContratodeRequerimientodeServicios

Eltérmino<<serviceCollaboration>>indicaunacolaboraciónentreserviciosquecorrespondenalprocesodeentrenamiento.Estacolaboraciónenmarcauncontratoconlassiguientes“cláusulas”:

Motivodelacolaboración:procesarelentrenamiento.

Page 46: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

36

Participantes: Los cuatro servicios que participan (Word‐Level Parsing, Document‐LevelAnalysing,Linked‐Document‐Collection‐LevelCollectingyelpropioprocesoTraining).

Responsabilidades:Cadagrupoesresponsabledeunaseriedetareas.

Parsing:textNormalization,stopWordsRemoval,stemmer,lexicalRelation,nGrams.

Analysing:summarization,segmentation.

Collecting:bagOfWords,featureSubsetSelection,latentSemanticIndexing,clustering.

Interacción entre grupos: Establece la dependencia entre los grupos (Parsing AnalysingCollecting).

A partir del modelo del proceso hemos extraído la implementación de la composición de losservicios,esdecirlaversiónBPELdelprocesocómodepuedeveenlaFig.4.3.2

Fig.4.3.2ContratodeRequerimientodeServicios

Se ha dividido el problemaendiferentes unidades funcionales. Se hanutilizadopackages paraayudar a reducir la complejidad, establecer espacios de nombres, facilitar la reutilización ysepararlasfunciones.EnlaFig.4.3.3semuestraeldiagramadeunidadesfuncionales.

Page 47: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

37

Fig.4.3.3DiagramadeUnidadesFuncionales

Cuando se identificaron los servicios en la fase anterior no se han detallado los servicios nitampococómointeractúan.Sólosehahechounesquemadecómodeberíanrelacionar.

La figura Fig.4.3.4 muestra el Diagrama de Topología de Servicios. Representa las unidadesfuncionalesylosserviciosquefueronasignadosaestospackages.Elusodedependenciasenestediagramatienecomoobjetivoenseñarcómoserelacionanunosserviciosconotrosyesdegranimportanciaparaempezaraidentificarelusoyelacoplamientodediferentessistemasquedebentrabajarconjuntamente.

Fig.4.3.4DiagramadeTopologíadeServicios

Paracompletarlaidentificacióndelosservicios,lafigura4.3.5muestrauncomponenteabstractoque modela el contexto para el proceso de entrenamiento. Este diagrama muestra el usopotencialdecadaespecificacióndeservicioenuncontextoenparticular.Laspartessondetipoabstracto ya que son instancias de las especificaciones de servicios y no instancias de losproveedoresdeserviciosquelosimplementan.

Page 48: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

38

Fig.4.3.5DiagramaComponenteAbstracto

Especificacióndelosservicios:

Laespecificacióndeunserviciodebecontenertodalainformaciónqueunpotencialconsumidordebeconocerparadecidirsileinteresautilizarloycómodebehacerlo.Tambiéndebeincluirtodolo necesario para la implementación del servicio. Es un contrato entre el consumidor y elproveedordelservicio.

Se han elaborado las especificaicoens a partir de las interfaces del Diagrama de Topología deServicios(Fig.4.3.4).Estasespecificacionesproveenlasiguienteinformación:

• Elnombredelservicio,indicandoquehace.

• Las interfaces requeridas y expuestas, describiendo las capacidades funcionales delservicio.Cadacapacidadfuncionaldebeincluir:

Unnombre:normalmenteunverboqueindicaloquehace.

Datosdeentradaysalida,obligatoriosoopcionales.

Accionespreviasyposterioresalusodelservicio.

Excepcionesycondicionesdeerrorquepuedanserlanzadas.

• Protocolosdecomunicaciónnecesarios.

• Capacidadcomputacionalnecesariaparaconsumirelservicio

• Requerimientosexigidosenlaimplementación

• Calidaddelservicio:coste,disponibilidad,rendimiento,…

• Políticasdeuso:seguridadeintegridad.

Page 49: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

39

Lasespecificacionesdelosserviciosdeesteproyecto,altratarsedeunprototipo,sesimplificaronalasexigenciasdefinidasenelplandeviabilidad.Todoslosserviciosinvolucradoscontienenunaseriedefuncionalidadesquepuedenejecutarseopcionalmenteydeformaindependiente.

ServicioParsing:

ElservicioParsinghasidodefinidoenelpaqueteword.ComosepuedeobservarenlafiguraFig4.3.6proveecincooperaciones:

1. Normalizarlosdocumentos.

2. Eliminarsímbolosopalabrasquenotengansentidoparaelentrenamiento.

3. Eliminarraícesdelaspalabras.

4. Extraerinformaciónléxicadelaspalabras.

5. Creasconjuntosdepalabras.

Fig.4.3.6Especificación:Parsing

ServicioAnalysing:

ElservicioAnalysing,definidoenelpaquetedocumentestácompuestopordosoperaciones:unafuncionalidadcapazderesumirel textoyotracapazdesegmentarel textoenfrasesyeliminarredundancia.SudiagramasemuestraenlafiguraFig.4.3.7

Fig.4.3.7Especificación:Analysing

ServicioCollecting:

ElservicioCollectingesel responsabledetransformar losdocumentosenconocimientopara laclasificación.Estáformadoporlassiguientesoperaciones:

1. CreacióndeBag‐of‐Words

2. Seleccióndesubespaciodecaracterísticas.

Page 50: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

40

3. Reduccióndelamatrizpalabra‐documento.

4. Segmentacióndelespaciodecaracterísticas.

Fig.4.3.8Especificación:Collecting

ServicioTraining:

Estaeslaespecificacióndelservicioquedaentradaalprocesodeentrenamiento.Sólotieneunaoperación.

Fig.4.3.9Especificación:Training

ServicioClassifying:

Esta es la especificacióndel servicio queda entrada al procesode clasificación. Sólo tieneunaoperación.

Figura4.310Especificación:ClassifyingModelodeDatosdeServicios:

LosDatos de Servicios es la información que intercambian los consumidores y proveedores deservicios.Cómoseobservaen la figuraFig.4.3.11sehanutilizadoenestesistemacincoclasesdiferentes,todasetiquetadascomomensajes(<<message>> indica lautilizacióndeestetipodedatoparalacomunicaciónconyentrelosservicios).

Page 51: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

41

Fig.4.3.11ServiceDataModel

• Docs:Contieneelconjuntodedocumentosdetextoaanalizar.

• BoW:Contieneunalistadepalabrasyunamatriznuméricaasociadaaestaspalabrasylosdocumentos.

• ClassificationKnowledge:Contieneunalistadepalabrasyunamatriznuméricaasociadaaestaspalabrasylosdocumentosparalaposteriorclasificación.

• ClassificationResult:Matrizconlosresultadosdelaclasificación.

• GroundTruth:Listadelaclasificaciónrealdelconjuntodeentrenamiento.

ProveedoresdeServicios:

Un servicio define un conjunto de funcionalidades puestos a disposición por el proveedor deservicios. La siguiente tares que se ha realizado ha sido el determinar cuales eran estosproveedores de servicios. Podríamos haber implementado todo el sistema en un solo servicio.Pero de esta manera todos los clientes dependerían de un solo servicio y cualquier cambioafectaría a todos. También esta decisión podría tener efectos sobre el rendimiento, ladisponibilidadylaseguridaddelaaplicación.

Sehancreadocuatroproveedoresdeserviciosparaelsistemadevaloracióndeexperiencias.TrescorrespondientesalosserviciosdeParsing,AnalysingyCollecting.Cómopodemosobservarenlafigura Fig. 4.3.12 los tres proveedores proveen la implementación de las interfaces querepresentan.Norequieren,segúneldiseño,ningunaotraimplementaciónexternaparapoderseejecutar.

Page 52: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

42

Fig.4.3.12ServiceProviders

ElotroproveedordeserviciosproveelosserviciosdeTrainingyClassifying(verFig4.3.13).Esteproveedor contiene la implementación de los servicios de entrenamiento y clasificación yrequiere para su funcionamiento de implementaciones de los servicios deParsing,Analysing yCollectingvistosanteriormente.

Fig.4.3.13Text2EmotionServiceProvider

Implementar los servicios de esta manera nos permite flexibilizar la implementación y eldesplieguedeéstos,yaquecadaproveedordeserviciospuedeestarimplementadoendiferentesplataformasyendiferenteslugares.

Composicióndeservicios:

Unacolaboracióndeserviciossedefinecomounconjuntodeserviciosactuandoconjuntamentedeunamaneraacordadasegúnunaespecificacióndeproceso.

Paraellosehanensambladocomponentesapartirdelacomposicióndeserviciosconelobjetivodealcanzarlosrequerimientosoriginales.Conla“orquestación”deinstanciasdelosserviciosdeParsing, Analysing y Collecting se han creado componentes con los servicios de Training yClassifying.

Enlasespecificacionesdelosservicioslosserviciosdeentrenamientoyclasificacióncontienenlassiguientesoperaciones:

Training:+processTraining(documents:Docs,gt:GroundTruth):ClassificationKnowledge

Page 53: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

43

Classifying:+processClassifying(documents:Docs,ck:ClassificationKnowledge):ClassificationResult

EstasfuncionalidadessonofrecidasporelproveedordeserviciosText2Emotion.Text2Emotionesun componente que provee una interface por cada servicio. Cualquier interacción con estosserviciosserealizaatravésdesuspuertoscorrespondientes.

El último paso ha sido crear es Subsistema de Entrenamiento y el de Clasificación. EsteSubsistemautilizalosProveedoresdeServiciosquesehanimplementadoyensamblalaspartescreandounasoluciónlistaparaeldesplegueyejecución.

Estos Subsistemas consisten en instancias de componentes de los proveedores de serviciosText2Emotion, Word, Document y Collection. En la figura 4.3.14 se muestra el subsistema alcompleto.

Figura4.314SubsistemaText2Emotion

Page 54: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

44

4.4.Despliegue

Unavezmodeladosyensambladoslosservicios,elpasofinalhasidoeldespliegue.Estafase pone los servicios desarrollados a disposición de sus posibles clientes a través de unservidor de aplicaciones. En el momento de seleccionar el servidor de aplicaciones esimportanteconsiderar trescaracterísticasmuy importanteque influiránel funcionamientodelosservicios:

• Rendimiento

• Seguridad

• Escalabilidad

• Basadoenestándares

Tambiénsehanconsideradootrascapacidades:

• Capacidadparatratarcondatosyprocesos.

• Posibilidaddetrabajarconrecursosexternos.

• Capacidaddeadministración.

• Capacidaddecontrolarlaseguridad.

• Controldeversiones.

Se ha desplegado los servicios con Glassfish. Glassfish es un servidor de aplicacionescompatible con Java EE, de código abierto y estápreparadopara trabajar enentornosdeproducción. Este servidor de aplicaciones incluye toda la tecnología necesaria para eldesarrollodeestapartedeesteproyecto.

Como se muestra en la figura 4.4.1 se ha instanciado un dominio en donde estándesplegadoslosservicios.EstedominiorespondeaunadirecciónIPyunpuerto,esestecasoel8080.

Figura4.41Levantamientodelainstanciadelservidordeaplicaciones

Page 55: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

45

Laconsoladeadministraciónseaccedeatravésdecualquiernavegadoratravésdelpuerto4848.Conestaconsolapodemosadministrarusuarios,recursosyaplicacionesdesplegadas.

Figura4.42ConsoladelservidordeaplicacionesLafigura4.4.3muestraneldespliegueconéxitodelosservicios.Enestemomentoesservidoryaestáescuchandoposiblespeticionesdeaccesoaesteservicio.

Figura4.43DesplieguedelosserviciosText2Emotion

Accediendo a página http://localhost:8080/Text2EmiotionProject se pueden visualizar elserviciodesplegadoconsucontrato(ficherowsdl).Estecontratoseránecesarioparaquelasaplicacionescreadasposteriormentepuedanconoceryaccederaesteservicio.

Figura4.44Webdelserviciodesplegado

Page 56: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

46

ParteIII

Casosdeestudio

Page 57: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

47

Capítulo5

Caso1:Departamentocomercialdeunaindustriaquímica

En la última fase de este proyecto se ha desarrollado dos prototipos de solucionesadaptadasadosentornosreales:eldepartamentocomercialdeunaempresaquímicayunCommunityManagement basado en un portal de opiniones sobre hoteles. Ambas se handesarrollado con el uso de plataformas disponibles en Internet (cloud computing) eintegradasconaplicacionesorientadasaservicio(Text2Emotion).

5.1.Introducción

Se ha creado un nuevo entorno de trabajo para el departamento comercial de unaempresaquímica.Estaempresacuentaconlasiguienteestructuradepartamental:

• Operadores de telemarketing: realizan constantemente llamadas a posiblesnuevosclientes.Suargumentodeventaeslahistoriadelaempresa,suvariedadycalidaddeproductosylabuenarelacióncalidad‐precio.Elobjetivodelallamadaesdespertarelinterésdelosclientesyasípoderenviarlesinformacióndetallada,marcarvisitasconuncomercial,enviarmuestrasocotizacionesdeproductos,etc.

• Comerciales:estánrepartidosporzonasgeográficas.Sumisiónesvisitaraclientesyprovocarnuevasventas.

• Director Comercial: es el responsable de la organización y de los objetivos deldepartamentocomercial.Reportadirectamenteagerencia.

Actualmentelosoperadoresdetelemarketingsonlosresponsablesdevalorarsuspropiastareasyhacerelseguimientodeéstas,debidoalagrancantidaddellamadasqueserealizanaldía.TodaslasllamadassonregistradasenunsistemaCRM.

Lapropuestahasidooptimizarlatomadedecisionesmejorandoporunladoelentornodetrabajoyporelotro,conlautilizacióndelainteligenciaartificialyelprocesamientodellenguajenatural,laautomatizacióndelaclasificacióndelasexperienciascreadasatravésdelasaccionescomercialesdeestaempresa.

Se ha creado un prototipo de aplicación funcional en Force.com teniendo en cuentacualeseranlasnecesidadesdeestaempresa,quétiposdedatostratan,quéprocedimientosson necesarios, etc. Se ha aprovechado toda la infraestructura de la plataforma y se hadesarrollado sobre ella. Se ha integrado la solución text2emotion con la plataforma. Elobjetivohasidovalorarcadaexperienciay tomardecisionesyaccionesautomáticamente.Conesteprototiposepretende:

• Organizardemejorformalainformación.

Page 58: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

48

• Facilitarelaccesoalsistemaaoperadores,comercialesyresponsables.• Rebajarcostesdemantenimientodeequiposyprogramas.• Mejorarlaeficienciadelosprocesoscomerciales.• Aumentarlasventas.

5.2.Acciónyreacción:creandotareasapartirdevaloracionesdeexperiencias

Durante el levantamiento de datos que se ha realizado en la empresa, se han podidodistinguircincoeventosbásicosqueserealizaneneldepartamentocomercial:

• Llamadas:entrantesosalientes.• Visitas:concertadaopuertafría• Reuniones:presentaciónotrabajo.• Correoselectrónicos.• Faxes.

Cadaunadeestoscincoeventosrepresentaunpuntodecontactoconelcliente,yporlotanto,unaexperiencia.Sehaanalizadolainformacióncontenidaencadaunodeellosparaseleccionarcualerarelevanteparalaclasificación,laposteriortomadedecisiones.

Latomadedecisión,provocadaporunaexperiencia,esunatareacreadayasignadaaunapersonaautomáticamenteparaasegurarsuseguimiento.Estoserealizateniendoencuentalasiguienteinformación:

• Usuarioqueoriginólaexperiencia.• Clientequeviviólaexperiencia.• Tipodeexperiencia(llamada,email,fax,visitaoreunión).• Resultadodeclasificacióndelaexperiencia(Destrucción,Captación).

Apartirdeestainformaciónsepuedeautomatizarelseguimientoconociendo:

• Personaquedeberealizarelseguimiento.• Tipodetareaarealizar.• Elintervalodetiemporecomendadoparasurealización.

La creación de estas tareas no necesitan interacción del usuario. Se realizanautomáticamenteatravésdedisparadores.Cuandounusuariogeneraunnuevoevento,seejecutaundisparadorasociadoaestetipoderegistroquellamaalserviciodeclasificaciónde emociones text2emotion. Éste retorna el resultado de la clasificación y una rutinadesarrolladaenlaplataformaeslaencargadadecrearlanuevatareadeseguimiento.Todoestosehacedeformaasíncronaytransparenteparaelusuario.Enlafig.5.2.1semuestraunrecordatorioparalarealizacióndeunatarea.

Page 59: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

49

Figura5.21Recordatoriodetareaarealizar

5.3.CreacióndelentornodetrabajoenForce.com

5.3.1.Aplicación

Sehacreadounanuevaaplicaciónen laplataformaForce.com,conunaseriede fichaspara aportar la funcionalidad necesaria a la aplicación. Aunque la plataforma ya proveealgunas aplicaciones esto ha sido necesario para adaptarse a la forma de trabajo de laempresaencuestión.EnlaFig.5.3.1.1dedetalledeladefinicióndelaaplicación.

Figura5.3.11Definicióndeaplicación

Las fichas correspondena losdiferenteseventosque sedeben tenerencuentapara lagestióndelainformacióndeexperienciasconlosclientes.Tambiénsehanincluidoalgunasfichas para elmantenimiento de información auxiliar, pero necesaria para la operativa. Acada fichasevinculaunobjetopersonalizadoqueseexplicaacontinuación.La fig.5.3.1.2muestraladefinicióndelafichadeLlamadas.

Page 60: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

50

Figura5.3.12Definicióndeficha

Unavezgeneradalaaplicaciónysusfichas,sepuedevisualizarelaspectodelnuevoentornodetrabajoenlafig.5.3.1.3.

Figura5.3.13Aplicaciónfinal

Page 61: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

51

5.3.2.ObjetosPersonalizables

El siguiente paso ha sido la creación de objetos personalizados. Los objetospersonalizadossontablasdebasededatosquelepermitenalmacenardatosespecíficosenForce.com.Sehanutilizadoobjetospersonalizadosparaampliar las funcionesexistentesyparaañadirnuevafuncionalidaden laaplicación.Losobjetosquehansidocreadosson lossiguientes:

• Asunto:Tabladeposiblesasuntosatratar.

• EmailRecoleccióndecorreoselectrónicosrecibidos.

• EmpresaBasededatoscondatosfiscalesdelosclientes.

• FaxTabladeFaxesentrantes.

• LlamadaTablaconlasllamadasrealizadasysustranscripciones.

• PaísTabladepaíses

• ReuniónReunionesrealizadasconsusminutascorrespondientes.

• VisitaVisitasrealizasaclientesyresumendelasmismas.

Paracrearlosobjetosprimerosehadefinidolascaracterísticasgeneralesdecadaunodeellos(Fig5.3.2.1).

Figura5.3.21Definicióndellamada

El siguientepasoha sido indicar la informaciónque contiene esteobjeto. Esto campospuedenserdetipoprimitivoohacerreferenciaaotrosobjetos(Fig5.3.2.2).

Page 62: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

52

Figura5.3.22CamposdeLllamada

Por último, la vinculación de un desencadenador ha sido fundamental para lograr losobjetivosdeesteproyecto.LosdesencadenadoreshansidodesarrolladosenApexCodequeesun lenguajedeprogramaciónorientadoaobjetospropiode laplataformaForce.com.AtravésdeestecódigoseaccedealservicioexternodeclasificaciónText2Emotionysecreanlastareasdeseguimiento.

Figura5.3.23Desencadenadordellamada

5.3.3.InterfacesdeUsuario

Apartirdelosobjetospersonalizados,sehandiseñadolasinterfacesdeusuario,conherramientaspropiasdelaplataformayéstehasidoelresultado:

1. GestióndeLlamadas

Page 63: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

53

Figura5.3.31PantalladeLlamadas

2. GestióndeEmails

Figura5.3.32PantalladeEmails

Page 64: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

54

3. GestióndeVisitas

Figura5.3.33PantalladeVisita

4. GestióndeReuniones

Figura5.3.34PantalladeReuniones

Page 65: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

55

5. GestióndeFaxes

Figura5.3.35PantalladeFax

6. Seguimiento

Figura5.3.36PantalladeSeguimiento

5.3.4.Accesoaserviciosexternos

Por último, se ha configurado el entorno para el acceso a los servicios externos declasificacióndeexperiencias.AntesdequecualquierpáginadeForce.com,disparadoresdeApexocódigode JavaScriptpuedaaccederaun sitioexterno,dichositiodebe registrarsecomositioremotooelaccesonoserealizaríacorrectamente.EstaconfiguraciónincluyeelnombreylaURLdelsitioremoto(verFig5.3.4.1).

Porrazonesdeseguridad,serestringelospuertosdesalidaquepuedeespecificaraunodelossiguientes:

• 80:estepuertosóloaceptaconexionesHTTP.• 443:estepuertosóloaceptaconexionesHTTPS.• 1024–66535(incluido):estospuertosaceptanconexionesHTTPoHTTPS.

Page 66: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

56

Figura5.3.41Accesoasitioremoto

LadirecciónURLcorrespondealaIP(80.31.109.186)yelpuerto(8080)pordondesepuedeaccederalserviciotext2emotion.

Una vez configurado el acceso remoto, se ha importado el documento WSDL quecontienelainterfazabstractaatravésdelacualsepuedeconoceryaccederalosserviciosdeclasificacióndetext2Emotion.EsunficheroXMLydescribelaformadecomunicación,esdecir,losrequisitosdelprotocoloylosformatosdelosmensajesnecesariosparainteractuarcon los servicios disponibles. Las operaciones y mensajes que soporta se describen enabstractoyseligandespuésalprotocoloconcretoderedyalformatodelmensaje.

Sontres,apenas,lospasosnecesariosparaintegrarlosserviciosdeclasificación:

1. SeleccionarelficheroWSDL

Figura5.3.42Paso1:SeleccionarficheroWSDL

2. Analizaryvalidarelfichero.

Page 67: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

57

Figura5.3.43Paso2:AnálisisdelficheroWSDL

3. GenerarlaclaseApex.

Figura5.3.44Paso3:GeneracióndelasclasesApex

El resultado es la creación de clases Apex a través de las cuales se puede acceder deformatransparentealosserviciosexternosdetext2emotion.Estasclasessonutilizadasporlosdisparadores.Cuandosegeneraunnuevoregistro,yaseaunallamada,unfax,unemail,una reuniónouna visita, se ejecuta el disparador correspondienteque llamaa la funcióndisponibleenlainterfazdelservicioexterno,deformaasíncrona.Cuandoelservicioretornaelresultadodelaclasificación,segeneraentonceslatareadeseguimiento.

Existeunmonitorde losprocesosgeneradosdondesepuedevisualizarelestadode lastareas asíncronas (Fig. 5.3.4.5). También, en caso de error, se envía automáticamente uncorreoelectrónicoaladministradordelsistema.

Figura5.3.45SeguimientodeTrabajosdeApex

Finalmente, en la Fig. 5.3.4.6, se puede observar el resultado final: la generaciónautomáticadelatareadeseguimiento.

Page 68: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

58

Figura5.3.46Tareageneradaautomáticamente

5.4.Resultados

Parapoderevaluarlosresultadosobtenidos,primeroseharealizadounavaloracióndelaefectividaddelclasificadoryluegolarepercusióneconómicaquelasolucióncompletapuedeocasionarenlaempresa.

Efectividaddelclasificador:

Para realizar las pruebas del clasificador de ha recogido un total de 860 eventosregistradosenelsistemaCRMdelaempresa.Losdoseventosquemásmuestrastienensonllamadasy visitas. Sehan seleccionadoeventosquepudiesen representar lasexperienciasgeneradasysehandescartadoserroresyrepeticiones.ConlaayudadeldirectorcomercialsehacreadoelGroundTruth.Al tratarsedeaccionescomercialesdecaptacióndenuevosclienteslosdosresultadosposiblesdelaclasificaciónfueron:destrucciónocaptación.

Laspruebassehanrealizadomediantelaimplementación,comounservicio,delmodeloestadístico de validación cruzada k‐fold Cross Validation. La implementación dividealeatoriamentelasmuestrasenksubconjuntosconunaproporciónparecidadeelementosdecadaclase.Deloskconjuntos,unoesescogidocomoconjuntodetestylosk‐1restantesson lasmuestrasqueseránutilizadasparaelentrenamiento.Elprocesose repitekveces,unaporcadaconjuntodetest.Paraobtenerelresultadofinalseharealizadolamediadelerrorrelativoy ladesviaciónestándar.Laventajadeestemétodoesqueseutilizatodoelconjuntodemuestras y que cadamuestra se utiliza una sola vez. Ennuestro casohemosutilizadoconjuntosdetestde10elementos(k=10).

Losgradosdelibertadqueofrecenconlosservicios,yporlotanto,laposiblesvariacionesdelmétododeclasificaciónquesedisponeparaobtenerunresultadoaceptableson:

1. Listadepalabrasysímbolosquesedebeneliminar.2. Usoodescartedepalabrassegúnsucategoríamorfológica.3. Usodeconocimientoprevioparamanipularlaimportanciadeciertaspalabras.4. Utilizacióndesecuenciasdenpalabras.

Page 69: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

59

5. Variacióndepesossegúnlaposicióneneldocumento.6. Potenciaespectralenlareduccióndedimensiones.7. Númerodevecinosaserconsideradosparalaclasificación.

Despuésdehaberrealizadopruebasexhaustivasconvariacionesdetodasestasvariableselresultadoobtenidohasido:

Figura5.41Caso1:MatrizdeConfusión

Figura5.42Caso1:MatrizdeErrorRelativo

Figura5.43Caso1:MatrizdeDesviaciónestándar

Se puede observar que la clasificación es mejor en los eventos del cuadrante decaptación.Esoesdebidoaquelostextossonmásparecidosentresí.Encambiolostextosdeeventos que pertenecen al cuadrante de destrucción son menos homogéneos y seconfundenmás con los de captación. La desviación estándar, nos indica dispersión de losresultadosdelaclasificación,lacualcosanosindicaquelosresultadosdecadaiteraciónenelprocesodevalidaciónhavariado.Detodasformas,engeneral,losresultadossonbuenosdebido al grado de similitud entre los documentos. Además muchas veces los textos serepiten,loqueharíaaumentar,aúnmás,laefectividaddelaclasificación.

Paraanalizar larepercusiónde lautilizaciónde lasoluciónplanteadaseharealizadounanálisis de las acciones comerciales de dicha empresa y se ha contrastado los siguientesdatos:

1. Losoperadoresdetelemarketingrealizan,enmedia,de1000llamadasaltrimestre.2. Un30%delosreceptoresdeestasllamadasdemuestranalgúntipodeinterés.3. Un5%delosinteresadosacabanrealizandoalgúnpedido.4. Un40%delosclientesquedemostraroninteréstienenunseguimientocomercialno

adecuado.

Page 70: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

60

Figura5.44Efectividaddeprocesocomercial

Conlaayudadelasoluciónplanteadayateniéndosealosresultadosobtenidos:

1. El71%deloseventospertenecientesalcuadrantedecaptaciónsonbienclasificadosysegeneranaccionesdeseguimientosegúnlapolíticacomercialestablecida.

2. Calculado en base a los datos anteriores, se incrementa el numero de clientesinteresadosconunseguimientoadecuadoenun18%.Conloqueaumentamosenlamismaproporciónlaposibilidaddegenerarpedidos.

Figura5.45EfectividadestimadaconelusodeText2Emotion

Los resultados se consideran aceptables y pueden aportar ventajas la utilización de lasoluciónparalaempresa.

Page 71: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

61

Capítulo6

Caso2:CommunityManagement

6.1.Introducción

TripAdvisor®representalacomunidaddeviajesmásgrandedelmundo.Proporcionaasusmiembros recomendaciones para hoteles, complejos turísticos, hostales, vacaciones,paquetes de viajes, paquetes de vacaciones y guías de viajes. Los números quedescribenestacomunidadson:

1. Recibemásde40millonesdevisitasalmes.2. Tienemásde20millonesdemiembrosregistrados3. Poseeunabasededatosdemásde45millonesdecríticasyopiniones.

En este caso, se platea una solución para un grupo hotelero que quiera controlar lasatisfacción de sus clientes en internet. Para ello es necesario acceder a la informacióndesplegadaen lasredessociales,procesarla,analizarlayclasificarlapara laposterior tomadedecisión.

Sehacreadounnuevoentornodetrabajoparaelcontroldeloshotelesysusclientes.Eneste caso entra en juego un nuevo perfil: el community manager. Esta persona es laresponsablede la reputacióndel hotel en las redes sociales.Debeagradecer y fortalecervínculosconaquellosclientesquelesrecomiendanypromocionan,ytambién,deberescataraquellosclientesqueestánenelcuadrantededestrucción.

Dadoelvolumendeinformacióngeneradoenlasredessociales,es imposiblecontrolar,valoraryreaccionarantecadaopiniónocomentarioquesecreaenInternet.

Lapropuestahasidooptimizarlareacciónutilizando,porunlado,elentornodetrabajocreadoenlaplotaformayporelotro,laautomatizacióndelaclasificacióndelasopinionesycomentariosparadarrespuestasdelaformamásautomatizadaposible.

SehacreadounprototipodeaplicaciónfuncionalenForce.comutilizando,nuevamente,toda la infraestructura de la plataforma. Se ha aprovechado la anterior integración de lasolucióntext2emotionconlaplataforma.Conesteprototiposepretende:

• Organizardemejorformalainformación.• Análisisdelainformacióndisponibleenredessocialesentiempopseudo‐real.• Mejorarlaeficienciadelosprocesosdemarketing.• Aumentarlasatisfaccióndelosclientes.• Mejorarlareputacióndigital

Page 72: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

62

6.2.Acciónyreacción:creandotareasapartirdevaloracionesdeexperiencias

Tal y comoseha comentadoanteriormente,elcommunitymanager debe controlar lasopiniones,comentariosyvaloracionesqueserealizanenlasredessocialesparaasegurarlabuenareputacióndesuempresaenlascomunidadesonline.

En la comunidad con la que se ha trabajado, las personas que opinan son miembrosregistrados.TambiénpuedenestarvinculadosconotrasredessocialescomoFacebook,porlo tanto, pueden ser identificadas y registradas como contactos en la plataforma. Lasopiniones son introducidas en formato de texto. Primero se introduce una fraserepresentativayluegoelusuariopuededescribircondetallelaexperiencia.Tambiénvaloranelhotel,tantoanivelgeneral,comoenaspectosconcretosconunapuntuacióndel1al5.

Se ha utilizado, para la clasificación, el título y el texto detallado. Se han utilizado laspuntuacionespara crear elGroundTruth.Analizandoel conjuntodeentrenamiento sehahechocorresponderlaspuntuacionesconloscuadrantesemocionales:

• 1‐2puntos:Destrucción.• 3puntos:Captación.• 4puntos:Recomendación.• 5puntos:Promoción.

La respuesta propuesta, provocadapor una insercióndeunaopinión en la red, es unatareacreadayasignadaaunusuarioautomáticamenteparaasegurarsuseguimiento.Estoserealizateniendoencuentalasiguienteinformación:

• Hotel.• País• Categoría• Clientequeviviólaexperiencia.• Origen(TripAdvisor,Facebook,…).• Resultado de clasificación de la experiencia (Destrucción, Captación,

RecomendaciónoPromoción).

Apartirdeestainformaciónsepuedeautomatizarelseguimientoconociendo:

• Personaquedeberealizarelseguimiento(communitymanager).• Tipoderespuesta.• Respuestarecomendada.

La creación de estas tareas no necesitan interacción del usuario. Se realizanautomáticamente.Enciertosintervalosdetiemposeejecuta

Con tareasprogramadas y a travésde serviciosWeb, se extraede la red social nuevasopiniones,seutilizaelserviciodeclasificacióndeemocionestext2emotion.Ésteretornaelresultadode la clasificaciónyuna rutinadesarrolladaen laplataformaes laencargadadecrearlanuevatareadeseguimiento.Todoestosehacedeformaasíncronaytransparenteparaelusuario.

Page 73: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

63

6.3.CreacióndelentornodetrabajoenForce.com

6.3.1.Aplicación

Se ha creado otra aplicación en la plataforma Force.com llamada CommunityManagement. Las fichascorrespondenaobjetospersonalizadosde laproblemáticaquesetrata.ElentornodetrabajosemuestraenlaFig.6.3.1.1.

Figura6.3.11AplicaciónFinal

6.3.2.ObjetosPersonalizables

Losobjetoscreadossonlossiguientes:

• Hoteles:Datosdeloshotelesaloscualessevinculanlasopiniones.

• Opiniones:Tabla que contiene las opiniones descargadas de las redes sociales. Cuando seinsertaelregistroseclasificalaopiniónysecreaunatareapararespondereésta.

• Respuestas:Basederespuestasefectivamenterealizadasvinculadasaunaopinión.

• Definiciónderespuestas:Reglasdecreacióndetareasparadarrespuestas.

Page 74: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

64

6.3.3.InterfacesdeUsuario

Apartirdelosobjetospersonalizados,sehandiseñadonuevasinterfacesdeusuario,conherramientaspropiasdelaplataforma:

1. GestióndeHoteles

Figura6.3.31PantalladeHoteles

2. GestióndeOpiniones

Figura6.3.32PantalladeOpiniones

Page 75: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

65

3. GestióndeRespuestas

Figura6.3.33PantalladeRespuestas

4. GestióndeDefinicióndeRespuestas(reglas)

Figura6.3.34Pantalladedefiniciónderespuestas

Page 76: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

66

5. ProgramacióndeRecoleccióndeOpiniones

Figura6.3.35Pantalladeprogramacióndedescargas

6.3.4.Accesoaserviciosexternos

Delamismaformaqueenelcasoanterior,laplataformaForce.comaccedealosserviciosdeText2Emotionparapoderclasificarlasopiniones.ExisteundesencadenadorasociadoalacreacióndelosregistrosdeOpinionesqueseencargadeello.

Tambiénhayunnuevoaccesoremoto:losserviciosApideTripAdvisor.EstosserviciosestándisponiblessolamenteparaclientesdeTripAdvisorynosehapodidoteneraccesoaellosduranteesdesarrollodeesteproyecto.Aúnasí,sehanconfiguradolasinterfacesparaelaccesoaestosservicioscuandoestuviesendisponibles.Sehacreadoademásotroobjetoquecontrolalaprogramacióndelastareasderecoleccióndeopiniones.Sepuedeprogramar,paracadaredsocial,elintervaloenelquesedesearecolectarlosdatos.Unvezlatareaesejecutadaautomáticamente,segeneranlasopinionesyseinvocaalserviciodeclasificación.

6.4.Resultados

Las pruebas del clasificador se ha realizado con 400 opiniones, con valoracionesbalanceadas,extraídasdelportalTripAdvisor.Comosehacomentadoanteriormenteseharelacionadolasvaloracionesconloscuadrantesemocionales.Estasopinionesestánescritaseninglés.

Laspruebassehanrealizado,nuevamente,mediantelautilizacióndelmodeloestadísticodevalidacióncruzadak‐foldCrossValidationconconjuntosdetestde10elementos(k=10).

Los grados de libertad que ofrecen con los servicios y con los cuales se han realizadopruebasparaobtenerunbuenresultadosiguensiendo:

1. Listadepalabrasysímbolosquesedebeneliminar.

Page 77: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

67

2. Usoodescartedepalabrassegúnsucategoríamorfológica.3. Usodeconocimientoprevioparamanipularlaimportanciadeciertaspalabras.4. Utilizacióndesecuenciasdenpalabras.5. Variacióndepesossegúnlaposicióneneldocumento.6. Potenciaespectralenlareduccióndedimensiones.7. Númerodevecinosaserconsideradosparalaclasificación.

Despuésdehaberrealizadopruebasexhaustivasconvariacionesdetodasestasvariableselresultadoobtenidohasido:

Figura6.3.36Caso2:Matrizdeconfusión

Figura6.3.37Caso2:MatrizdeErrorRelativo

Figura6.3.38Caso2:MatrizdeDesviaciónEstándar

Los resultados no son tan buenos como en el caso anterior. Se puede observar que lasopinionespertenecientesaloscuadrantesRecomendaciónyPromociónseconfundenentresíperonoentrelosotros.Estoesaceptableyaquetantounocomootroestáformadoporbuenas opiniones. En cambio, los cuadrantes de Destrucción y Captación están másdistribuidos debido a la diversidad de textos que se ha tratado. Se plantea para futurasmejoras la utilización de un Support Vector Machine para mejorar los resultados declasificación.

Page 78: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

68

Conclusiones

Elhiloconductordeesteproyectohasidolacreacióndeunaaplicacióncapazdevalorarexperiencias. Para ello, primero se han creado los servicios que realizan la clasificación ydespuéslasaplicacionesdenegocioqueutilizanestosservicios.

Paralacreacióndelosserviciosdeclasificaciónsehautilizadolaarquitecturaorientadaaservicios. De esta forma se ha podido desarrollar servicios que pueden ser utilizados porcualquiertipodeaplicacióndesplegadaencualquierplataforma.Ademásestohaaportadootras ventajas como la reutilización de servicios: se han utilizado todos los servicios depreproceso y análisis de textos tanto para el proceso de entrenamiento como el declasificación.Porotroladoelusodeestaarquitecturahafacilitadotambiénlavariacióndelacomposición de los servicios para poder evaluar los resultados utilizando diferentesparámetrosyfunciones.

Todavíaenestaprimeraparte,cabevalorar losalgoritmosdeclasificación.Clasificar lasexperienciasemocionalmenteesmuydifícil.LacreacióndelGroundTruthyasuponíatodounretoyaquemuchastranscripcionesdellamadashacíandudaracercadelsentimientoquerealmenteestabasintiendolapersonaalotroladodelteléfono.Parapoderobtenermejoresresultadossedebeirmuchomásalládelosprocesosdetextminingconvencionales.Sehade entender sintácticamente y semánticamente los documentos para poder extraerresultados más fiables. Por último, los resultados obtenidos con el método k‐nearestneighbor podrían, posiblemente, ser mejorados con un Support Vector Machine.Estabafueradelalcancedeesteproyectoeldesarrollodeesteclasificadorperopodríaserunabuenaopción.

La segunda parte fue desarrollada íntegramente en la plataforma de desarrolloForce.com.Sehapodidocomprobarlafacilidaddeuso,lafiabilidadyescalabilidadqueestaplataforma ofrece en modo de Cloud Computing. Se ha podido integrar fácilmente losservicios de clasificación de experiencias y las dos aplicaciones creadas son capaces degestionar los eventos, clasificarlos emocionalmente y crear las tareas de seguimiento quefuesennecesarias.

Ha sidouna granexperiencia personal el poderhaber integradoenuna soluciónCloudComputing,ServiceOrientedArchitectureymétodosdeclasificacióndeinteligenciaartificialparacrearunaherramientadesoportequepuedeaportarmuchovalorañadidoaempresasquelapuedanutilizar.

Page 79: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

69

Bibliografía

[1]Shaw,Colin.TheDNAofCustomerExperience.PALGRAVEMACMILLAN,2007.

[2]Coussement,Kristof;VandenPoel,Disk.Improvingcustomercomplaintmanagementbyautomaticemailclassificationusinglinguisticfeaturesaspredictors.ScienceDirect,2007.

[3] Severt, Denver Eugene. The Customer’s Path to Loyalty: A parcial Test of theRelationshipsofPriorExperience,JusticeandCustomerSatisfaction.UMI,2002.

[4]Levine,Locke,Searls,Weinberger.TheCluetrainManifesto:TheendofBusinessasusual.1999,2001.

[5] B. Joseph Pine II, James H. Gilmore. Welcome to the Experience Economy. HarvardBusinessReview,1998.

[6]Tate,Rick,StroupJosh.TheServicePro:CreatingBetter,FasterandDifferentCustomerExperiences.HDRPress,2003.

[7]http://en.wikipedia.org/wiki/Customer_experience.CustomerExperience.

[8]media.techtarget.com/searchSOA/.../Force_com__CH01.pdf.IntroducingForce.com.

[9] http://aye.comp.nus.edu.sg/~qiu/NLPTools/JavaRAP.html. Resolution of AnaphoraProcedure.

[10]http://incubator.apache.org/opennlp/index.html.ApacheOpenNLP.

[11]http://www.rightnow.com/cx‐suite.php.RightNowCX.

[12]http://www.responsetek.com.CustomerExperienceManagementSoftware.

[13]http://www.crmag.it/News/36/CEM‐Customer‐Experience‐Management.aspx.IlCEM(CustomerExperienceManagement).

[14]http://www.data‐miners.com/companion/Chapter14‐Example2.ppt.DataMiningTechniquesforCRM.

[15]MartinKeen,GregAckerman,IslamAzaz,ManfredHaas,RichadJohnson,JeeWookKim,PaulRobertson.Patterns:SOAFoundation‐BusinessProcessManagementScenario.RedBooks,2006.

[16]Linthicum,David.CloudComputingandSOAConvergenceinYourEnterprise.Addison‐Wesley,2010.

[17]Force.comApexCodeDeveloper’sGuide.Salesforce,2010.

[18]WebServicesApiDeveloperGuide.Salesforce,2010.

[19]http://www.anderson.ucla.edu/faculty/jason.frand/teacher/technologies/palace/datamining.htm.WhatisDataMining?

[20]http://www.clarabridge.com.CustomerExperienceManagementSoftware

Page 80: 2 UN GESTOR DE EXPERIÈNCIES SOA. EMOCIONS … un gestor de experiÈncies soa. extracciÓ d’emocions per al suport a la gestiÓ de relaciÓ amb clients memòria del proj

70

[21]http://en.wikipedia.org/wiki/Latent_semantic_analysis.LatentSemanticAnalysis.

[22]ScottDeerwester,SusanT.Dumais,RichardHarshman.IndexingbyLatentSemanticAnalysis.1998

[23]MarkoGrobelnik,DunjaMladenic.TextMiningTutotial.J.StefanInstitute.