Full text
Ex acción de ecue dos de ídeos de
en e is as con pe sonas con p oblemas
de memo ia
T abajo de Fin de G ado
Cu so 2021–2022
Au o
Hugo Ga cía González
Di ec o
Albe o Díaz Es eban
G ado en Ingenie ía In o má ica
Facul ad de In o má ica
Uni e sidad Complu ense de Mad id
Memo y ex ac ion om ideo
in e iews wi h people wi h
memo y p oblems
T abajo de Fin de G ado en Ingenie ía In o má ica
Depa amen o de Ingenie ía de So wa e e In eligencia
A i icial
Au o
Hugo Ga cía González
Di ec o
Albe o Díaz Es eban
Con oca o ia: Sep iemb e 2022
Cali icación: 9
G ado en Ingenie ía In o má ica
Facul ad de In o má ica
Uni e sidad Complu ense de Mad id
23 de sep iemb e de 2022
Au o ización de di usión
El abajo i man e, ma iculado en el G ado en Ingenie ía en In o má ica
de la Facul ad de In o má ica, au o iza a la Uni e sidad Complu ense de
Mad id (UCM) a di undi y u iliza con ines académicos, no come ciales y
mencionando exp esamen e a su au o el p esen e T abajo Fin de G ado:
“Ex acción de ecue dos de ídeos de en e is as con pe sonas con p oble-
mas de memo ia”, ealizado du an e el cu so académico 2021-2022 bajo la
di ección de Albe o Diaz Es eban en el Depa amen o de Ingenie ía de So -
wa e e In eligencia A i icial, y a la Biblio eca de la UCM a deposi a lo en el
A chi o Ins i ucional E-P in s Complu ense con el obje o de inc emen a la
di usión, uso e impac o del abajo en In e ne y ga an iza su p ese ación
y acceso a la go plazo.
Hugo Ga cía González
23 de sep iemb e de 2022
Dedica o ia
Dedicado a aquellos que andu ie on an es de mí.
ii
Ag adecimien os
Ag adezco a Albe o po habe di igido es e abajo de o ma excelen e,
a la Uni e sidad Complu ense po la o mación que me ha dado pa a llega
has a aquí, y a mis pad es po su apoyo e in e és.
ix
4.2. Ob ención de la ansc ipción . . . . . . . . . . . . . . . . . . 17
4.3. Clasi icación de p egun as . . . . . . . . . . . . . . . . . . . . 18
4.4. Gene ación de g a os . . . . . . . . . . . . . . . . . . . . . . . 18
4.5. Almacenamien o en base de da os . . . . . . . . . . . . . . . . 21
4.6. Implemen ación con in e az g á ica . . . . . . . . . . . . . . . 23
4.7. Implemen ación en no ebook con Google Colab . . . . . . . . 25
5. Resul ados 27
5.1. Gene ación y almacenamien o de g a os . . . . . . . . . . . . 27
5.1.1. P egun a1 ........................ 28
5.1.2. P egun a2 ........................ 29
5.1.3. P egun a3 ........................ 30
5.1.4. P egun a4 ........................ 31
5.1.5. P egun a5 ........................ 32
5.1.6. P egun a6 ........................ 33
5.1.7. P egun a7 ........................ 34
5.1.8. P egun a8 ........................ 35
5.1.9. P egun a9 ........................ 36
5.1.10. G a o comple o . . . . . . . . . . . . . . . . . . . . . . 37
6. Conclusiones y abajo u u o 39
6.1. Conclusiones ........................... 39
6.2. T abajo u u o .......................... 40
6. Conclusions and u u e wo k 41
6.1. Conclusions............................ 41
6.2. Fu u ewo k............................ 42
Bibliog a ía 43
Índice de igu as
1.1. Rep esen ación isual de la ans o mación de en e is a a g a o 2
1.1. Visual ep esen a ion o he ans o ma ion om in e iew o
g aph ............................... 4
2.1. PipelineSpacy .......................... 6
2.2. Visualización de dependencias sin ác icas en Spacy . . . . . . 7
2.3. G a o gene ado po G a eno . . . . . . . . . . . . . . . . . . . 8
2.4. Compa ación modelos de almacenamien o . . . . . . . . . . . 9
2.5. Ejemplo de ansc ipción con sepa ación de hablan es, pun-
uación y é minos especí icos de dominio . . . . . . . . . . . 10
3.1. Diag ama Gan del abajo ealizado . . . . . . . . . . . . . 13
4.1. Diag ama del uncionamien o del Sis ema . . . . . . . . . . . 16
4.2. Con igu ación pipeline G a eno . . . . . . . . . . . . . . . . . 19
4.3. Consul as Cyphe ipo CREATE . . . . . . . . . . . . . . . . 22
4.4. Consul as Cyphe ipo MERGE . . . . . . . . . . . . . . . . . 22
4.5. Diag ama de secuencia del sis ema . . . . . . . . . . . . . . . 23
4.6. In e az g á ica mos ando los esul ados de una ansc ipción
au omá ica ............................ 24
4.7. In e az g á ica mos ando los esul ados de ex acción de g a-
os sob e una ansc ipción manual . . . . . . . . . . . . . . . 24
4.8. Celda con o mula io . . . . . . . . . . . . . . . . . . . . . . . 25
4.9. Celda con código ejecu ada con su ou pu . . . . . . . . . . . 26
x ii
5.1. Tex o y g a o p egun a 1 . . . . . . . . . . . . . . . . . . . . . 28
5.2. P opiedades nodo ipo echa . . . . . . . . . . . . . . . . . . . 28
5.3. Tex o y g a o p egun a 2 . . . . . . . . . . . . . . . . . . . . . 29
5.4. Tex o y g a o p egun a 3 . . . . . . . . . . . . . . . . . . . . . 30
5.5. Tex o y g a o p egun a 4 . . . . . . . . . . . . . . . . . . . . . 31
5.6. Tex o y g a o p egun a 5 . . . . . . . . . . . . . . . . . . . . . 32
5.7. Tex o y g a o p egun a 6 . . . . . . . . . . . . . . . . . . . . . 33
5.8. Tex o y g a o p egun a 7 . . . . . . . . . . . . . . . . . . . . . 34
5.9. Tex o y g a o p egun a 8 . . . . . . . . . . . . . . . . . . . . . 35
5.10. Tex o y g a o p egun a 9 . . . . . . . . . . . . . . . . . . . . . 36
5.11.G a ocomple o.......................... 37
Cap´
ı ulo 1
In oducción
“Sin memo ia no somos”
— Luis Rojas Ma cos
1.1. Mo i ación
Es e TFG o ma pa e del p oyec o CANTOR, el cual p opone el desa-
ollo de una he amien a de c eación de his o ias de ida haciendo uso de
écnicas de In eligencia A i icial. Es as his o ias de ida se gene an a pa i
de documen os del pacien e e in o mación ob enida en en e is as e apéu-
icas.
T abajos pasados han es udiado y diseñado sis emas en ocados a las dis-
in as pa es de dicho p oceso, como po ejemplo el almacenamien o de los
da os [1], ecopilación de da os de edes sociales [2], gene ación de p egun-
as [3], e ocación de ecue dos [4] y gene ación de esúmenes a pa i de
en e is a [5]. Pa iendo de ese úl imo, es e TFG se cen a en la ex acción
y a amien o de in o mación de las en e is as pa a ob ene un esul ado
es uc u ado que puede se u ilizado po o os p ocesos, po ejemplo, la ge-
ne ación de his o ias de ida.
La idea po la que nos decidimos ue usa un modelo de da os basado
en g a o semán ico. Pa a implemen a lo c eamos un sis ema que oma como
en ada una en e is a en o ma o de ídeo, audio o ansc ipción; p oce-
sa cada p egun a con su espues a ans o mándolos en g a os; y inalmen e
combina odos los g a os en un solo g a o semán ico que ep esen a el con e-
nido o al de la en e is a de o ma es uc u ada. La siguien e igu a mues a
un esquema concep ual del p oceso.
1
2Capí ulo 1. In oducción
Figu a 1.1: Rep esen ación isual de la ans o mación de en e is a a g a o
1.2. Obje i os
In es iga las he amien as de p ocesamien o de lenguaje na u al ac-
ualmen e disponibles pa a de e mina las posibilidades de es uc u a-
ción de la in o mación en o ma de g a o.
Implemen a un sis ema que es uc u e y almacene en o ma de g a o
la in o mación de una en e is a e apéu ica guiada en ídeo.
1.3. O ganización de la memo ia
Los con enidos de es e documen o se o ganizan de la siguien e mane a:
En el Capí ulo 1 se expone la mo i ación y los obje i os p opues os.
En el Capí ulo 2 se habla de las ecnologías y he amien as ac uales
ele an es pa a es e abajo.
En el Capí ulo 3 se habla de cómo se ha desa ollado es e abajo.
En el Capí ulo 4 se explica y se mues a en de alle los componen es
y el uncionamien o del sis ema c eado en es e abajo.
En el Capí ulo 5 se mues an los esul ados que p oduce el sis ema.
En el Capí ulo 6 se explican las conclusiones sacadas en la ealización
de es e abajo y las líneas de desa ollo u u as.
Chap e 1
In oduc ion
1.1. Mo i a ion
This end o deg ee p ojec o ms pa o he CANTOR p ojec , which
p oposes he de elopmen o a li e s o y c ea ion ool, making use o A i icial
In elligence echniques. Li e s o ies a e gene a ed ou o documen s om he
pa ien and in o ma ion ob ained om he apeu ic in e iews.
Pas wo ks ha e s udied and designed sys ems dedica ed o he di e en
pa s o said p ocess, such as he s o age o he da a [1], he ga he ing o
da a om social ne wo ks [2], gene a ion o ques ions [3], he ecollec ion o
memo ies [4] and he gene a ion o summa ies ou o in e iews [5]. Con in-
uing om he las one, his p ojec ocuses on he ex ac ion and p ocessing
o he in o ma ion in he in e iews, o ob ain a s uc u ed esul ha can
be used by o he p ocesses, o example he gene a ion o li e s o ies.
The idea we chose was o use a da a model based on a seman ic g aph. In
o de o implemen i we c ea ed a sys em ha akes an in e iew in ideo,
audio o ansc ip ion o ma as inpu ; hen p ocesses each ques ion and i s
answe ans o ming hem in o g aphs; and inally combines all he g aphs
in a single inal seman ic g aph which ep esen s he o al con en o he
in e iew in a s uc u ed o m. The ollowing igu e shows an ou line o he
p ocess.
3
4Chap e 1. In oduc ion
Figu e 1.1: Visual ep esen a ion o he ans o ma ion om in e iew o
g aph
1.2. Objec i es
In es iga e he language p ocessing ools cu en ly a ailable o de e -
mine he possibili ies o s uc u ing in o ma ion in o g aph o m.
Implemen a sys em capable o s uc u ing and s o ing as g aphs he
in o ma ion in a he apeu ic in e iew.
1.3. O ganiza ion o he documen
The con en s o his documen a e o ganized in he ollowing way:
In Chap e 1 he mo i a ion and objec i es a e p esen ed.
In Chap e 2 he ools and echnologies ele an o his p ojec a e
discussed.
In Chap e 3 he way his p ojec was de eloped is discussed.
In Chap e 4 he componen s and unc ioning o he sys em c ea ed
in his p ojec is explained and displayed in de ail.
In Chap e 5 he esul s p oduced by his sys em a e displayed.
In Chap e 6 he conclusions ob ained om ealizing his wo k and
he u u e lines o wo k a e discussed.
Cap´
ı ulo 2
Es ado de la cues ión
2.1. He amien as PLN
El PLN (P ocesamien o de Lenguaje Na u al) es un campo que combina
la in o má ica y la lingüís ica pa a en ende y p ocesa el signi icado de un
ex o de o ma au omá ica.
Ac ualmen e hay g an a iedad de he amien as PLN de código abie o.
Algunas de las más popula es son: Spacy, F eeling, NLTK y GATE. Spacy
es la que se ha elegido pa a la ealización de es e abajo.
En e las opciones p opie a ias es án las APIs de Google Cloud, IBM
Wa son, Mic oso Azu e y Amazon Comp ehend. Son muy buenos se icios,
pe o ienen la des en aja del cos e de uso y las limi aciones que ienen las
p uebas g a ui as a la ho a de man ene el sis ema a la go plazo.
2.2. Spacy
Spacy [6] es una biblio eca open sou ce de Py hon, diseñada pa a el desa-
ollo de aplicaciones de ex acción de in o mación y comp ensión de lenguaje
na u al. Sus pun os ue es son la sencillez de uso y elocidad de p ocesa-
mien o. Spacy o ece la uncionalidad al amen e in eg ada, documen ada en
de alle y ac ualizada con las úl imas ecnologías pa a alcanza los es ánda es
del es ado del a e ac ual.
El p ocesamien o de Spacy se o ganiza en la pipeline que se puede e en
la Figu a 2.1. Recibe ex o como en ada y p oduce una es uc u a Doc que
se ansmi e y modi ica de componen e a componen e has a llega al inal.
5
6Capí ulo 2. Es ado de la cues ión
Figu a 2.1: Pipeline Spacy
1
Los componen es son los siguien es:
Tokenize : El p ime componen e básico, que segmen a el ex o en To-
kens y c ea el Doc.
Tagge : Asigna el ipo de palab a (pa -o -speech ag) a los Tokens,
como sus an i o, e bo, ad e bio, e c.
DependencyPa se : es ablece las elaciones de dependencias sin ác icas
en e los Tokens, como obje o di ec o, complemen o, e c.
En i yRecognize : Reconoce y clasi ica en e los Tokens ipos de en i-
dades como luga es, pe sonas, o ganizaciones, e c.
Lemma ize : Asigna a los Tokens la o ma base de sus palab as.
Tex Ca ego ize : Asigna ca ego ía al Doc (documen o comple o).
Mo phologize : P edice ca ac e ís icas mo ológicas en los Tokens.
Sen enceRecognize : Reconoce los limi es de las ases.
Cus om: Componen e c eado po el usua io.
La es uc u a Doc esul an e almacena las ca ac e ís icas gene ales del
documen o y odos los Tokens con sus ca ac e ís icas indi iduales. Po úl-
imo, Spacy o ece la búsqueda de pa ones a pa i de eglas u ilizando el
Ma che , la compa ación de simili ud con o o Doc u ilizando el mé odo
simila i y y la se ialización pa a almacena los esul ados.
1Imagen ob enida de h ps://spacy.io/usage/p ocessing-pipelines
2.3. G a eno 7
Figu a 2.2: Visualización de dependencias sin ác icas en Spacy
La igu a 2.2 mues a un ejemplo de cómo Spacy es ablece las dependen-
cias sin ác icas a pa i de una ase. Los okens es an e ique ados po sus
ca ego ías g ama icales y en e ellos se conec an con lechas las dependencias
sin ác icas. Es a es una unción de g an impo ancia pa a es e abajo.
A pesa de se compa ible con 64 idiomas, el e dade o po encial de
Spacy iene en los pipelines p e-en enados disponibles pa a 19 idiomas, en e
ellos el español. Es os pipelines emplean modelos es adís icos de in o mación
e ique ada pa a hace p edicciones sob e el nue o ex o a p ocesa . El modelo
español es_co e_news_lg p esen a esul ados supe io es al 0.9 en odas las
e aluaciones de p ecisión, ecall y F-sco e de sus componen es 2.
2.3. G a eno
G a eno [7] es una biblio eca de Py hon open sou ce desa ollada en el
Depa amen o de Ingenie ía de So wa e e In eligencia A i icial de la Uni-
e sidad Complu ense de Mad id, dedicada a la ex acción de in o mación
semán ica en o ma de g a o a pa i de ex o. Es a he amien a es de g an
in e és pa a es e abajo, ya que conside amos que dicha ep esen ación es
una de las más adecuadas pa a es uc u a el ipo de in o mación que se
ansmi e en una en e is a.
2h ps://spacy.io/models/es#es_co e_news_lg
Cap´
ı ulo 4
Sis ema de ex acción y
almacenamien o de g a os
El sis ema desa ollado en es e TFG iene como p incipal unción es-
uc u a la in o mación exp esada en una en e is a en o ma de g a os y
almacena la en una base de da os.
Dado que el obje i o es p ocesa en e is as e apéu icas en las que el
e apeu a hace p egun as al pacien e, el sis ema es á diseñado pa a iden i ica
las p egun as y espues as de la en e is a a pa i de un guión de p egun as
p ede e minado.
De es a o ma se puede ajus a la es uc u ación en base al ipo de p e-
gun a, y además se puede man ene la elación en e la in o mación es uc-
u ada y la p egun a del guión a la que se co esponde.
La in o mación es uc u ada se almacena en una base de da os de g a os.
Allí se combinan los g a os indi iduales co espondien es a cada p egun a
del guión, combinando las pa es comunes pa a o ma un único g a o inal.
El esul ado inal es un g a o que ep esen a oda la in o mación de la
en e is a de mane a conec ada, sin epe iciones y clasi icada aco de a las
p egun as.
15
16 Capí ulo 4. Sis ema de ex acción y almacenamien o de g a os
4.1. Diseño gene al
Figu a 4.1: Diag ama del uncionamien o del Sis ema
El sis ema iene 4 pa es p incipales:
Ob ención de ansc ipción: La ansc ipción de la en e is a se
ob iene de mane a au omá ica a pa i de un ídeo o audio, o de mane a
manual po el usua io in oduciendo el ex o.
Clasi icación de p egun as: La ansc ipción se di ide en segmen os
que con ienen cada p egun a del guión con su espues a.
Gene ación de g a os: Cada segmen o se ans o ma en un g a o,
eniendo en cuen a el ipo de p egun a a la que se co esponde.
4.2. Ob ención de la ansc ipción 17
Almacenamien o en base de da os: Los g a os se linea izan a un
o ma o de consul a pa a se ag egados a la base de da os.
A con inuación se explica á más a ondo el uncionamien o de cada pa e.
4.2. Ob ención de la ansc ipción
Pa a gene a la ansc ipción de o ma au omá ica se u iliza la API de
Google Cloud Speech o Tex . Se acep an a chi os de ídeo y audio.
Si la en ada es un a chi o de ídeo, es necesa io ans o ma lo a un
a chi o de audio. El sis ema ealiza es e paso usando la biblio eca de Py hon
Mo iePy.
Siguiendo las ecomendaciones desc i as en [5], se ajus a la ecuencia del
audio a los angos de la oz humana, se pone el audio a un solo canal y se
no maliza.
Una ez el audio es á lis o, se p ocede a subi lo a Google Cloud S o a-
ge. Pa a au en ica se en la API, el sis ema con igu a la a iable de en o no
GOOGLE_APPLICATION_CREDENTIALS con el pa h a la cla e de cuen a de se -
icio. Una ez au en icado se sube el audio a un bucke de Google Cloud
S o age.
A con inuación se hace la pe ición a la API Speech o Tex . La pe ición
se o ma con la URI que ep esen a el audio en Google Cloud S o age y una
con igu ación. En es a con igu ación se especi ica el ipo de ansc ipción que
se desea lle a a cabo.
Con igu ación:
language_code = ’es-ES’ →idioma español
enable_speake _dia iza ion=T ue →sepa ación po hablan es
dia iza ion_speake _coun =2 →núme o de hablan es
enable_au oma ic_punc ua ion=T ue →pun uación au omá ica
En espues a a la pe ición, la API de uel e en o den odas las palab as
iden i icadas con su hablan e asociado. Con ellas el sis ema o ma las ases
de cada hablan e, comple ando la ansc ipción au omá ica.
La ansc ipción esul an e puede con ene algunos allos, especialmen e
debido a las di icul ades de econocimien o que p esen a la o ma de habla
de los pacien es de a anzada edad con demencia. Los allos más comunes
son la sepa ación inco ec a de ases en e los hablan es y la inco ec a
in e p e ación de palab as.
18 Capí ulo 4. Sis ema de ex acción y almacenamien o de g a os
Pa a e i a que es os allos se p opaguen a las siguien es ases del p oceso,
el sis ema pe mi e al usua io co egi los allos de la ansc ipción an es de
p ocesa la.
4.3. Clasi icación de p egun as
Pa a clasi ica las p egun as de la ansc ipción, el sis ema u iliza un
guión de p egun as que es ablece que p egun as debe busca y sus ipos. Es-
a in o mación se almacena en un a chi o JSON con el siguien e o ma o:
"p egun as": {
"¿Cómo e llamas?": 0,
"¿En qué año nacis e?": 1,
...}
El núme o ep esen a el ipo de p egun a. En el sis ema hay 3 ipos
de inidos:
0: G a o gene al, pa a las p egun as en las que se quie e es uc u a
oda la in o mación. Ejemplo: ¿Qué al ue u ju en ud, que a iciones
enías?
1: Fechas, pa a las p egun as en las que se busca una echa en pa i-
cula . Ejemplo: ¿En qué año nacis e?
2: Tex o, pa a las p egun as en las que se quie e almacena la es-
pues a sin modi ica . Ejemplo: ¿Recue da alguna anécdo a?
Una ez ca gado el a chi o JSON, el sis ema analiza pa a cada p egun a
del guión cuál es la línea de la ansc ipción más simila usando el medido
de simila idad de Spacy, y con esa in o mación o ma los segmen os. Un
segmen o aba ca desde su p opia p egun a has a el comienzo de la siguien e
(se en iende que en e dos p egun as consecu i as se halla la espues a a la
p ime a).
Cada segmen o inalizado se manda a p ocesa .
4.4. Gene ación de g a os
Pa a ans o ma ex o en g a os el sis ema u iliza una e sión modi icada
de la biblio eca G a eno.
4.4. Gene ación de g a os 19
Una de las modi icaciones ealizadas a G a eno ue co egi un p oblema
de e siones con la biblio eca in e na Ne wo kx. Ambas, la e sión ecomen-
dada po G a eno y la úl ima e sión p oducían e o es. Como solución se
op ó po ac ualiza el código de G a eno pa a que ue a compa ible con la
úl ima e sión de Ne wo kx, ya que e a un a eglo sencillo.
El es o de modi icaciones añaden uncionalidad al conjun o de ans-
o mado es pa a pode p ocesa mejo el lenguaje en español. Los ans-
o mado es nouns ykeep_deps ue on modi icados. Los ans o mado es
de e minan s,p onouns_es yomi ed_subjec ue on c eados. Más ade-
lan e se habla á sob e cada uno de ellos.
Como se ha comen ado p e iamen e en el Capí ulo 2, la gene ación de
g a os depende de la selección de ans o mado es y del á bol de depen-
dencias sin ác icas o iginal. El sis ema c ea el á bol sin ác ico usando el
ans o mado spacy_pa se. El es o de la pipeline se de ine en la siguien e
con igu ación:
ans o me s :
−pos_ex ac
−unique
−keep_deps
−nouns
−de e minan s
−p onouns_es
−omi ed_subjec
−adjec i es
−ad e bs
−nume als
−a _class
ans o me _a gs :
lang : es
unknown_dep_ ansla e : KEEP
dep_ ansla e :
dobj : THEME
i o b j : ARG
nsubj : AGENT
obj : OBJ
nmod : CONTEXT
ad cl : CONTEXT
nummod: NUMBER
csubj : OBJ
conj : UNION
Figu a 4.2: Con igu ación pipeline G a eno
20 Capí ulo 4. Sis ema de ex acción y almacenamien o de g a os
La pipeline comienza con pos_ex ac , ans o mado ecomendado
en la documen ación pa a inicia el p oceso. Pa a cada é mino del
á bol de dependencias semán icamen e ele an e (sus an i os, e bos,
adje i os, ad e bios) c ea un nodo en el g a o y les asigna las e ique as
de concep (concep o) y sempos (posición semán ica).
Ejemplos:
casa se ans o ma en el nodo (concep : casa, sempos: n)
oy se ans o ma en el nodo (concep : i , sempos: )
unique qui a los nodos del g a o epe idos.
keep_deps con ie e dependencias sin ác icas en a is as semán icas
usando el dicciona io de la sección de a gumen os dep_ ansla e. Es e
dicciona io solo p e ende mos a cómo se puede hace la aducción, y
po ello no hace una aducción exhaus i a de odas las dependencias
sin ác icas posibles. Po ello se ha modi icado el ans o mado pa a
que pueda c ea la a is a aun si la dependencia no se encuen a en
el dicciona io, señalado po el a gumen o unknown_dep_ ansla e =
KEEP.
Ejemplo:
La dependencia -nsubj- (suje o nominal) se ans o ma en en la a is a
<-AGENT- (agen e)
nouns añade e ique as de num (plu al o singula ) y p ope (p opio
o común) a los nodos sus an i os. En español es e ans o mado no
unciona, po lo que se modi icó el código pa a que pudie a de ec a si
el sus an i o e a p opio o no.
Ejemplos:
Con animales se añaden las e ique as num: p, p ope : alse
Con Juan se añaden las e ique as num: s, p ope : ue
de e minan s,p onouns_es yomi ed_subjec son ans o mado es
c eados en es e abajo. Buscan en el á bol de dependencias de e mi-
nan es posesi os en p ime a pe sona, p onomb es en p ime a pe sona
y e bos en p ime a pe sona, espec i amen e. Es os é minos suelen
ep esen a al pacien e en es e ipo de en e is a. Po eso pa a cada
uno de ellos se añade al g a o un nodo sus an i o ’Pacien e’y las a is as
co espondien es. De es a o ma se ecupe a la in o mación implíci a
del suje o omi ido.
Ejemplos:
mi abajo se ans o ma en (Pacien e) <-ATTR- ( abajo)
4.5. Almacenamien o en base de da os 21
yo juego se ans o ma en (Pacien e) <-AGENTE- (juga )
engo se ans o ma en (Pacien e) <-AGENTE- ( ene )
adjec i es,ad e bs ynume als añade a is as de ipo ATTR (a ibu o)
en e el nodo adje i o/ad e bio/núme o y el nodo sus an i o al que se
asocian.
Ejemplos:
cielo azul se ans o ma en (cielo) -ATTR-> (azul)
4 he manos se ans o ma en (he manos) -ATTR-> (4)
a _class añade la e ique a class a las a is as de ipo ATTR. Dicha
e ique a indica la clase de a ibu o del que se a a en base al hipe ó-
nimo de Wo dNe del nodo a ibu o. Po ejemplo, un hipe ónimo del
adje i o ojo es colo , y esa se ía la clase de una a is a que lo conec-
a a con un nodo sus an i o. Po o o lado, ambién añade la e ique a
synse a odos los nodos pa a gua da el hipe ónimo del concep o si
exis e.
Ejemplo:
(cielo) -ATTR-> (azul) se ans o ma en
(cielo) -ATTR, class: colo -> (azul)
Con es o se comple a la gene ación del g a o a pa i de ex o.
Con las p egun as de ipo Fecha se complemen a es e p oceso con el
buscado de pa ones de Spacy. G a eno ex ae el suje o y la acción de la
p egun a en un g a o, el buscado de pa ones encuen a en la espues a la
echa en la que se lle a a cabo la acción, y lo añade al g a o en un nodo de
ipo DATE.
Ejemplo:
2 de eb e o de 1956 se ans o ma en el nodo de ipo DATE
(day: 2 de eb e o, mon h: eb e o, yea : 1956)
Con las p egun as de ipo Tex o el g a o es un solo nodo de ipo TEXT
que con iene el ex o.
El siguien e paso es da a los g a os un o ma o adecuado pa a su alma-
cenamien o.
4.5. Almacenamien o en base de da os
Pa a almacena los g a os en una base de da os Neo4j el sis ema aduce
odos los g a os a consul as de lenguaje Cyphe .
22 Capí ulo 4. Sis ema de ex acción y almacenamien o de g a os
La biblio eca G a eno iene con el linea izado cyphe _c ea e que ans-
o ma los g a os a una consul a de ipo CREATE. Un ejemplo de consul as
p oducida:
CREATE (n :NOUN { concep : ’ F ase ’ , sempos : ’n ’ , _ emp_id : ’ 0 ’ } ) ;
CREATE (n :NOUN { concep : ’ ejemplo ’ , sempos : ’n ’ , _ emp_id : ’ 1 ’ } ) ;
MATCH (n {_ emp_id : ’0 ’ }) , (m {_ emp_id : ’1 ’}) CREATE (n) −[ :ATTR]−>(m) ;
MATCH (n) REMOVE n . _ emp_id ;
Figu a 4.3: Consul as Cyphe ipo CREATE
Es as consul as c ean en la base de da os los nodos del g a o con sus
e ique as y una ID empo al pa a después pode añadi las a is as. Una ez
se han añadido odos los elemen os se bo an las IDs empo ales.
En es e abajo es de in e és que en la base de da os se combinen los
nodos epe idos y además se añada la e ique a del núme o de p egun a que
se co esponde a cada g a o.
Con ese in se ha c eado un nue o linea izado cyphe _me ge basado en
el an e io con la di e encia de que c ea consul as de ipo MERGE y añade la
e ique a de núme o de p egun a. Un ejemplo de consul a p oducida:
MERGE (n :NOUN { concep : ’ F ase ’ , sempos : ’n ’ ) SET n : P3 , n . _ emp_id= ’0 ’;
MERGE (n :NOUN { concep : ’ ejemplo ’ , sempos : ’n ’ } ) SET n : P3 , n . _ emp_id= ’1 ’;
MATCH (n {_ emp_id : ’0 ’ }) , (m {_ emp_id : ’1 ’}) CREATE (n) −[ :ATTR]−>(m) ;
MATCH (n) REMOVE n . _ emp_id ;
Figu a 4.4: Consul as Cyphe ipo MERGE
Es as consul as hacen lo mismo que las an e io es, excep o que solo c ea
el nodo si aún no exis e, y después añade el ID empo al y la e ique a gene al
de núme o de p egun a PX (la X se sus i uye más adelan e po el núme o).
De es a o ma se consigue la combinación de g a os mencionada en la in o-
ducción de es e capí ulo.
Una ez el sis ema ha gene ado las consul as de odos los g a os co es-
pondien es a odos los segmen os de la en e is a, p ocede a manda los a la
base de da os. Pa a es ablece es a conexión se usa la biblio eca de Py hon de
neo4j. El sis ema necesi a ene usua io y con aseña pa a la au en icación;
y la URI de la base de da os.
El sis ema ambién puede mos a las consul as en pan alla en caso de
que el usua io no quie a o pueda conec a se a la base de da os.
4.6. Implemen ación con in e az g á ica 23
4.6. Implemen ación con in e az g á ica
Una de las implemen aciones del sis ema es un ejecu able de Py hon con
in e az g á ica. Las in e acciones en e los componen es se pueden e en el
diag ama de la igu a 4.5.
El usua io in e ac úa con main.py, el módulo que con iene la in e az g á-
ica c eada con la biblio eca PySimpleGUI. A su ez, main.py in e ac úa con
ansc ip ion.py pa a ansc ibi la en e is a, y con g aph_que ies.py
pa a ex ae y almacena los g a os. g aph_que ies_aux.py es un módulo
auxilia de g aph_que ies.py.
Figu a 4.5: Diag ama de secuencia del sis ema
El diseño de la in e az sigue un diseño in ui i o y sencillo. Todo el sis ema
se ope a desde una sola en ana. En la mi ad izquie da el usua io puede
ajus a los pa áme os del sis ema median e bo ones de adio, casillas de
e i icación, campos de ex o y selec o es de u as de a chi os. En la mi ad
de echa se e la salida y es ado del sis ema.
Las dos is as p incipales de la in e az g á ica se pueden e en las igu as
4.6 y 4.7. Apa e de la uncionalidad mos ada en las igu as, la in e az posee
ambién en anas eme gen es de ayuda y a iso de e o es.
30 Capí ulo 5. Resul ados
5.1.3. P egun a 3
¿De dónde son us pad es?
Mi pad e es de León. Mi mad e es de Valladolid.
Figu a 5.4: Tex o y g a o p egun a 3
En es e g a o se ep esen a la in o mación de p ocedencia de los pad es,
y su elación pad e-hijo con el pacien e median e a ibu os. Las dos ases
sepa adas de la espues a se unen en el g a o po su ca ac e ís ica común, el
nodo ”pacien e” que es a elacionado con el nodo ”mad e” y el nodo ”pad e”.
5.1. Gene ación y almacenamien o de g a os 31
5.1.4. P egun a 4
¿Tienes algún he mano?
Tengo un he mano mayo de 62 años, José.
Figu a 5.5: Tex o y g a o p egun a 4
Es e g a o ep esen a la in o mación sob e el he mano del pacien e. Su
nomb e, edad y elación con el pacien e se añaden en nodos como concep os
y se unen al ededo del nodo cen al "he mano".
Sin emba go hay dos edundancias. El nodo ” ene ” y sus a is as no apo -
an in o mación nue a, ya que la elación del he mano con el pacien e ya se
ep esen a con el nodo a ibu o. El nodo ”año” y ”62” se pod ían educi a
uno solo.
32 Capí ulo 5. Resul ados
5.1.5. P egun a 5
¿Que elación enías con u he mano?
Jugaba mucho con mi he mano en casa.
Figu a 5.6: Tex o y g a o p egun a 5
En es e g a o se ep esen a la in o mación sob e la elación del pacien e
con su he mano, que consis e en la acción de juga y su con ex o.
Una ez más, se p oduce una edundancia con el nodo ” ene ”, que se
pod ía educi pa a uni de o ma más di ec a el concep o de ” elación” con
el pacien e y su he mano.
5.1. Gene ación y almacenamien o de g a os 33
5.1.6. P egun a 6
¿Qué e gus aba cuando e as niño?
Me gus aban el ú bol y los comics.
Figu a 5.7: Tex o y g a o p egun a 6
En es e g a o se ep esen a la in o mación de los gus os del pacien e con
su con ex o empo al. Cuando e a niño le gus aban dos cosas: el ú bol y los
comics.
Esa conjunción no se ansmi e del odo bien al g a o, ya que el nodo
”comic” es a conec ado al nodo ” ú bol” con una a is a de ipo unión, cuando
debe ía es a unido al nodo ”gus a ”.
34 Capí ulo 5. Resul ados
5.1.7. P egun a 7
¿Cómo e an us acaciones?
En la acaciones iba al pueblo de mi pad e. En el pueblo
hacíamos excu siones po la mon aña.
Figu a 5.8: Tex o y g a o p egun a 7
En es e g a o se ep esen an la in o mación sob e las acaciones del pa-
cien e. Po un lado es á la acción de i al pueblo, y po o o la acción de
hace excu siones en la mon aña. Las dos acciones se ep esen an de o ma
adecuada in e conec adas en e sí en los nodos ”pueblo” y ”pacien e”.
5.1. Gene ación y almacenamien o de g a os 35
5.1.8. P egun a 8
¿Qué al el colegio?
Yo e a un poco ago, y en el colegio me abu ía un poco.
Figu a 5.9: Tex o y g a o p egun a 8
En es e g a o se ep esen a la expe iencia del pacien e en el colegio. Es á
la cualidad de ago en conjunción la acción de abu i se y su con ex o. En
es e caso la conjunción sí se ansmi e de o ma adecuada con la a is a de
ipo unión.
36 Capí ulo 5. Resul ados
5.1.9. P egun a 9
¿Cual e a u asigna u a a o i a del colegio?
Mi asigna u a a o i a e a ma emá icas. Yo siemp e he sido
bueno con las ma emá icas.
Figu a 5.10: Tex o y g a o p egun a 9
En es e g a o se ep esen a la in o mación elacionada a la asigna u a
a o i a del pacien e. Po un lado es a la asigna u a y sus ca ac e ís icas, y
po o o la cualidad del pacien e de se bueno en ma emá icas.
En el cen o se puede e una a is a de ipo a ibu o duplicada. Es una
edundancia, pues indi idualmen e son bidi eccionales.
5.1. Gene ación y almacenamien o de g a os 37
5.1.10. G a o comple o
Figu a 5.11: G a o comple o
Es e es el g a o comple o que con iene odos los subg a os an e io es. Los
colo es de los nodos son los mismos en odas las ilus aciones, y ep esen an
isualmen e su asociación con las p egun as. Se puede e cómo se conec an
en e sí y, dado que es o es una en e is a sob e un pacien e, odos ienen el
ínculo común en el nodo cen al ”pacien e”.
Es a in e conexión supone una educción conside able de nodos. Po se-
pa ado los subg a os suman en o al 49 nodos. En el g a o inal hay 38, un
22% menos.
Cap´
ı ulo 6
Conclusiones y abajo u u o
6.1. Conclusiones
Se ha cons uido un sis ema que pe mi e la ex acción, es uc u ación y
almacenamien o de in o mación a pa i de en e is as en o ma o de ídeo.
En él se combinan dis in as ecnologías de úl ima gene ación:
La ansc ipción au omá ica se ealiza median e la ecnología speech-
o- ex de Google.
La in o mación se es uc u a en g a os usando las biblio ecas de G a-
eno y Spacy.
El esul ado se almacena en una base de da os de g a os Neo4j.
El speech- o- ex de Google p oduce demasiadas imp ecisiones pa a la
a ea en cues ión. Es o se puede mejo a aumen ando la calidad del audio
de la en e is a pa a que las oces sean más cla as, pe o no se puede espe a
que la con e sación en e el pacien e y el doc o se desa olle con absolu a
cla idad. La au oma ización de es a pa e del p oceso sin allos equie e un
ni el de econocimien o in eligen e que a día de hoy no se ha alcanzado
con las he amien as g a ui as disponibles. Es po eso que de momen o la
ansc ipción au omá ica debe u iliza se como un complemen o pa a agiliza
el p oceso y no como un sus i u o.
G a eno ue c eado pa a p ocesa ex o en inglés, po lo que sin modi ica-
ciones solo puede p ocesa eglas sin ác icas básicas en español. Pa a supe a
es a limi ación es necesa io adap a las eglas g amá icas del español a los
ans o mado es de G a eno. En es e abajo se ha implemen ado el p oce-
samien o de suje os omi idos en e bos, de e minan es y p onomb es como
39