Presentation
|
@ -0,0 +1,35 @@
|
||||||
|
(TeX-add-style-hook
|
||||||
|
"presentation"
|
||||||
|
(lambda ()
|
||||||
|
(TeX-add-to-alist 'LaTeX-provided-class-options
|
||||||
|
'(("beamer" "presentation")))
|
||||||
|
(TeX-add-to-alist 'LaTeX-provided-package-options
|
||||||
|
'(("inputenc" "utf8") ("fontenc" "T1") ("ulem" "normalem")))
|
||||||
|
(add-to-list 'LaTeX-verbatim-environments-local "semiverbatim")
|
||||||
|
(add-to-list 'LaTeX-verbatim-macros-with-braces-local "href")
|
||||||
|
(add-to-list 'LaTeX-verbatim-macros-with-braces-local "hyperref")
|
||||||
|
(add-to-list 'LaTeX-verbatim-macros-with-braces-local "hyperimage")
|
||||||
|
(add-to-list 'LaTeX-verbatim-macros-with-braces-local "hyperbaseurl")
|
||||||
|
(add-to-list 'LaTeX-verbatim-macros-with-braces-local "nolinkurl")
|
||||||
|
(add-to-list 'LaTeX-verbatim-macros-with-braces-local "url")
|
||||||
|
(add-to-list 'LaTeX-verbatim-macros-with-braces-local "path")
|
||||||
|
(add-to-list 'LaTeX-verbatim-macros-with-delims-local "path")
|
||||||
|
(TeX-run-style-hooks
|
||||||
|
"latex2e"
|
||||||
|
"beamer"
|
||||||
|
"beamer10"
|
||||||
|
"inputenc"
|
||||||
|
"fontenc"
|
||||||
|
"graphicx"
|
||||||
|
"grffile"
|
||||||
|
"longtable"
|
||||||
|
"wrapfig"
|
||||||
|
"rotating"
|
||||||
|
"ulem"
|
||||||
|
"amsmath"
|
||||||
|
"textcomp"
|
||||||
|
"amssymb"
|
||||||
|
"capt-of"
|
||||||
|
"hyperref"))
|
||||||
|
:latex)
|
||||||
|
|
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 65 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 40 KiB |
|
@ -0,0 +1,123 @@
|
||||||
|
#+TITLE: Telegram bidezko galdera-erantzun sistema
|
||||||
|
|
||||||
|
* Sarrera
|
||||||
|
Hemengo hau, Sare Errekurrenteetan oinarritutako sistema bat, filmetako
|
||||||
|
azpitituluetaz baliatuz, Telegramen elkarriketak izateko ahalbidetzea helburu
|
||||||
|
duen lan bat da.
|
||||||
|
|
||||||
|
* Erlazionatutako lanak
|
||||||
|
lanaren oinarria, hau da, eskolako materiala, bestelako artikuluak
|
||||||
|
|
||||||
|
Lan hau seq2seq sare neuronalen arkitektura motan oinarrituta dago. Eredu hau
|
||||||
|
kodetzaile eta deskodetzaile batzuez balieatzen da emaitza bat itzultzeko.
|
||||||
|
|
||||||
|
Eredu mota hau Google-n hasi zen erabiltzen lehen aldiz 2014-an (Sutskever et al.).
|
||||||
|
|
||||||
|
[[file:Screenshot-2020-05-11.png]]
|
||||||
|
[[file:Screenshot-2020-05-11-2.png]]
|
||||||
|
|
||||||
|
Eskoletako materialetatik hartutako irudi hauetan ikusten den bezala, sarrera
|
||||||
|
kodeazaileari ematen zaio eta hitz bakoitza aurrekoarekin lotuta kodetzen joaten
|
||||||
|
da, ondoren, emaitza dekodetzaileari eskaintzeko bestelako hitz batzuk lortuz.
|
||||||
|
* Sistema
|
||||||
|
Sistema honek aipatutako seq2seq eredua erabiltzen du, baina, dekodetzailearen
|
||||||
|
helburua, kasu honetan, erantzun bat itzultzea da.
|
||||||
|
|
||||||
|
Horretarako, GRU sare neuronal errrekurrente eredua erabili da kodetzaile eta
|
||||||
|
dekodetzaile bat egiteko. Gainera, atentzio sistema bat erabili da.
|
||||||
|
|
||||||
|
[[file:Screenshot-2020-05-11-1.png]]
|
||||||
|
|
||||||
|
Sistema hau Jon Anderrek eskainitako eta *spro/practical-pytorch* biltegian
|
||||||
|
oinarritutako kodean dago oinarrituta. Aipatutako, ezaugarri guztiak dagoeneko
|
||||||
|
oinarrizko sistema honek bazituen. Ordea, beste zenbat aldaketa egin dizkiot
|
||||||
|
emaitzak hobetzeko.
|
||||||
|
|
||||||
|
** Hobekuntzak
|
||||||
|
*** Erantzun motzen aurkako neurriak
|
||||||
|
Sistema honek ematen zituen emaitzak oso laburrak ziren, beti Bai/Ez erantzuten
|
||||||
|
baitzuen, seguruenik elkerrizketetan gehien azaltzen diren hitzak direlako.
|
||||||
|
|
||||||
|
Ondorioz, Brevity Penalization (BP) balio baten bidez baldintzatu dut galera
|
||||||
|
funtzioa. Ordea, BP huts bat erabilita, eredua beti emaitza luzeenak saiatzen da
|
||||||
|
ematen, eta horrek oso emaitza txarrak sortzea eragiten du.
|
||||||
|
|
||||||
|
Horregatik, BP balioa Rayleigh distribuzioko kurba batean aplikatzen da,
|
||||||
|
erantzun zuzenaren luzera helburu izan ordez, luzera hori baino balio pixka bat
|
||||||
|
txikiagoa izan dezan.
|
||||||
|
|
||||||
|
[[file:Figure_1.png]]
|
||||||
|
|
||||||
|
*** Tokenizatzailea
|
||||||
|
Oinarrizko ereduan tokenizatzailea, ingelesezkoa zen, ordea, euskarazko
|
||||||
|
azpitituluak nahi genituen erabili entrenamendurako, ondorioz, SpaCy-k
|
||||||
|
eskainitako euskarazko tokenizatzaile oso sinple bat erabili da.
|
||||||
|
* Telegram zerbitzura txertapena
|
||||||
|
Ez dut arazorik izan. https://github.com/python-telegram-bot/python-telegram-bot
|
||||||
|
API-aren inplementazioa erabili dut.
|
||||||
|
* Datuak
|
||||||
|
Entrenamendurako erabilitako datuak OpenSubtitles datubaseko euskarazko
|
||||||
|
azpitituluak erabili dira. Baina azpititulu hauek zarataz daude beteta.
|
||||||
|
Ondorioz, lehenik, garbiketa bat egin da.
|
||||||
|
|
||||||
|
** Hasiera bateko garbiketa
|
||||||
|
Hasieran, helburu bakarra elkarrizketetan jartzen diren hasierako "-"
|
||||||
|
karaktereak ezabatzea zen, ondorioz agindu oso sinple bat erabiltzea pentsatu
|
||||||
|
nuen:
|
||||||
|
#+BEGIN_SRC sh
|
||||||
|
sed -E 's|^- ?||' < eu.txt | paste - -
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
Baina gero konturatu nintzen, azpitituluetan zegoen zarata askoz ere larriagoa
|
||||||
|
zela eta Shell gidoia handitzen joan nintzen orain erabiltzen dudana arte.
|
||||||
|
|
||||||
|
** Garbiketa
|
||||||
|
Ondorengoa da egindako garbiketa:
|
||||||
|
- Lerroen hasierako "-" karaktereak ezabatu.
|
||||||
|
- " karaktereaz hasten diren lerroak batu esaldi berberekoak
|
||||||
|
direlako adierazten delako.
|
||||||
|
- Batu komaz bukatzen diren lerroak, esaldi berberekoak direlako.
|
||||||
|
*** Adibideak
|
||||||
|
#+BEGIN_SRC
|
||||||
|
"Gaur pergaminoa aurkitu dut Karswellek emandako egitarauaren barruan".
|
||||||
|
"Sinbolo errunikoak zeuzkan marraztuta".
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
#+BEGIN_SRC
|
||||||
|
-Zu ez zaude ezkonduta?
|
||||||
|
-Ez.
|
||||||
|
-Ama!
|
||||||
|
-Izozkia gustatzen zaizu?
|
||||||
|
-Bai, asko.
|
||||||
|
-Zatoz.
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
#+BEGIN_SRC
|
||||||
|
Egon pixka batean, mamarroa oraintxe dator eta, bere aiztoa eta guzti,
|
||||||
|
zu txiki-txiki egiteko.
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
* Emaitzak
|
||||||
|
** Onak
|
||||||
|
[[file:bot/Screenshot-2020-05-11-4.png]]
|
||||||
|
[[file:bot/Screenshot-2020-05-11-6.png]]
|
||||||
|
[[file:bot/Screenshot-2020-05-11-7.png]]
|
||||||
|
[[file:bot/Screenshot-2020-05-11-8.png]]
|
||||||
|
[[file:bot/Screenshot-2020-05-11-9.png]]
|
||||||
|
|
||||||
|
** Txarrak
|
||||||
|
[[file:bot/Screenshot-2020-05-11-5.png]]
|
||||||
|
[[file:bot/Screenshot-2020-05-11-10.png]]
|
||||||
|
[[file:bot/Screenshot-2020-05-11-11.png]]
|
||||||
|
[[file:bot/Screenshot-2020-05-11-12.png]]
|
||||||
|
* Analisia
|
||||||
|
Orokorrean, agurrei ondo erantzuten die, baina bestelako galderei Bai edo Ez
|
||||||
|
erantzuten du ia beti, eta beste zenbaitetan ez daki zer erantzun.
|
||||||
|
* Ondorioak
|
||||||
|
Transformer bat erabili badirudiela emaitz ahobeagoak ematen dituela.
|
||||||
|
|
||||||
|
Kontuan dago hartu beharra, azpitituluen datubasearen kalitatea sekulako
|
||||||
|
botila-lepoa eragiten duela.
|
||||||
|
|
||||||
|
* Erreferentziak
|
||||||
|
- Sutskever, Ilya; Vinyals, Oriol; Le, Quoc Viet (2014). "Sequence to sequence learning with neural networks"
|
|
@ -0,0 +1,103 @@
|
||||||
|
Telegram bidezko galdera-erantzun sistema
|
||||||
|
\
|
||||||
|
Egilea: Iñigo Ortega
|
||||||
|
Tutorea: Jon Ander Campos
|
||||||
|
|
||||||
|
Sarrera
|
||||||
|
|
||||||
|
Erlazionatutako lanak
|
||||||
|
|
||||||
|
@Screenshot-2020-05-11.png
|
||||||
|
|
||||||
|
@Screenshot-2020-05-11-2.png
|
||||||
|
|
||||||
|
Sistema
|
||||||
|
|
||||||
|
seq2seq
|
||||||
|
\
|
||||||
|
Kodetzaile-dekodetzaile: GRU
|
||||||
|
|
||||||
|
@Screenshot-2020-05-11-1.png
|
||||||
|
|
||||||
|
spro/practical-pytorch
|
||||||
|
|
||||||
|
Hobekuntzak
|
||||||
|
|
||||||
|
Erantzun motzen aurkako neurriak
|
||||||
|
|
||||||
|
Bai/Ez
|
||||||
|
|
||||||
|
Brevity Penalization (BP)
|
||||||
|
|
||||||
|
Brevity Penalization (BP) → Emaitza oso luzeak eta zentzugabeak
|
||||||
|
|
||||||
|
Rayleigh distribuzioa
|
||||||
|
|
||||||
|
@800px-Rayleigh_distributionPDF.svg.png
|
||||||
|
|
||||||
|
@Figure_1.png
|
||||||
|
|
||||||
|
Tokenizatzailea
|
||||||
|
|
||||||
|
SpaCy
|
||||||
|
|
||||||
|
Datuak
|
||||||
|
|
||||||
|
OpenSubtitles
|
||||||
|
|
||||||
|
Zarataz beteta → Garbiketa
|
||||||
|
|
||||||
|
Hasierako Garbiketa
|
||||||
|
|
||||||
|
sed -E 's|^- ?||' < eu.txt | paste - -
|
||||||
|
|
||||||
|
Bukaerako
|
||||||
|
|
||||||
|
1. Lerroen hasierako "-" karaktereak ezabatu.
|
||||||
|
\
|
||||||
|
2. " karaktereaz hasten diren lerroak batu
|
||||||
|
esaldi berberekoak direlako adierazten delako.
|
||||||
|
\
|
||||||
|
3. Batu komaz bukatzen diren lerroak,
|
||||||
|
esaldi berberekoak direlako.
|
||||||
|
|
||||||
|
"Gaur pergaminoa aurkitu dut Karswellek emandako egitarauaren barruan".
|
||||||
|
"Sinbolo errunikoak zeuzkan marraztuta".
|
||||||
|
|
||||||
|
-Zu ez zaude ezkonduta?
|
||||||
|
-Ez.
|
||||||
|
-Ama!
|
||||||
|
-Izozkia gustatzen zaizu?
|
||||||
|
-Bai, asko.
|
||||||
|
-Zatoz.
|
||||||
|
|
||||||
|
Egon pixka batean, mamarroa oraintxe dator eta, bere aiztoa eta guzti,
|
||||||
|
zu txiki-txiki egiteko.
|
||||||
|
|
||||||
|
Emaitzak
|
||||||
|
|
||||||
|
Onak
|
||||||
|
|
||||||
|
@bot/Screenshot-2020-05-11-4.png
|
||||||
|
|
||||||
|
@bot/Screenshot-2020-05-11-6.png
|
||||||
|
|
||||||
|
@bot/Screenshot-2020-05-11-7.png
|
||||||
|
|
||||||
|
@bot/Screenshot-2020-05-11-8.png
|
||||||
|
|
||||||
|
@bot/Screenshot-2020-05-11-9.png
|
||||||
|
|
||||||
|
Txarrak
|
||||||
|
|
||||||
|
@bot/Screenshot-2020-05-11-5.png
|
||||||
|
|
||||||
|
@bot/Screenshot-2020-05-11-10.png
|
||||||
|
|
||||||
|
@bot/Screenshot-2020-05-11-11.png
|
||||||
|
|
||||||
|
@bot/Screenshot-2020-05-11-12.png
|
||||||
|
|
||||||
|
Ondorioak
|
||||||
|
|
||||||
|
Galderarik?
|
|
@ -0,0 +1,74 @@
|
||||||
|
% Created 2020-05-11 Mon 12:21
|
||||||
|
% Intended LaTeX compiler: pdflatex
|
||||||
|
\documentclass[presentation]{beamer}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage{grffile}
|
||||||
|
\usepackage{longtable}
|
||||||
|
\usepackage{wrapfig}
|
||||||
|
\usepackage{rotating}
|
||||||
|
\usepackage[normalem]{ulem}
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{textcomp}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{capt-of}
|
||||||
|
\usepackage{hyperref}
|
||||||
|
\usetheme{default}
|
||||||
|
\author{inigoortega}
|
||||||
|
\date{\today}
|
||||||
|
\title{Telegram bidezko galdera-erantzun sistema}
|
||||||
|
\hypersetup{
|
||||||
|
pdfauthor={inigoortega},
|
||||||
|
pdftitle={Telegram bidezko galdera-erantzun sistema},
|
||||||
|
pdfkeywords={},
|
||||||
|
pdfsubject={},
|
||||||
|
pdfcreator={Emacs 26.3 (Org mode 9.4)},
|
||||||
|
pdflang={English}}
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\maketitle
|
||||||
|
\begin{frame}{Outline}
|
||||||
|
\tableofcontents
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{frame}[label={sec:org087afd5}]{Sarrera}
|
||||||
|
\end{frame}
|
||||||
|
\begin{frame}[label={sec:org66e98ba}]{Erlazionatutako lanak}
|
||||||
|
lanaren oinarria, hau da, eskolako materiala, bestelako artikuluak
|
||||||
|
|
||||||
|
Lan hau seq2seq sare neuronalen arkitektura motan oinarrituta dago. Eredu hau
|
||||||
|
kodetzaile eta deskodetzaile batean oinarrituta dago. Sarrera kodeazaileari
|
||||||
|
ematen zaio eta hitz bakoitza aurrekoarekin lotuta kodetzen joaten da, ondoren,
|
||||||
|
emaitza dekodetzaileari eskaintzeko bestelako hitz batzuk lortuz.
|
||||||
|
\begin{center}
|
||||||
|
\includegraphics[width=.9\linewidth]{Screenshot-2020-05-11.png}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\includegraphics[width=.9\linewidth]{Screenshot-2020-05-11-1.png}
|
||||||
|
\end{center}
|
||||||
|
\end{frame}
|
||||||
|
\begin{frame}[label={sec:orge030511}]{sistema}
|
||||||
|
erabilitiako sistema, eta egindako hobekuntzak, baleude
|
||||||
|
\end{frame}
|
||||||
|
\begin{frame}[label={sec:orgb0455b4}]{datuak}
|
||||||
|
erabili diren corpus eta datuak
|
||||||
|
\end{frame}
|
||||||
|
\begin{frame}[label={sec:orge89c315}]{emaitzak}
|
||||||
|
esperimentuen emaitzak
|
||||||
|
\end{frame}
|
||||||
|
\begin{frame}[label={sec:orgcf80885}]{analisia}
|
||||||
|
emaitzen analisia
|
||||||
|
\end{frame}
|
||||||
|
\begin{frame}[label={sec:org1537621}]{ondorioak}
|
||||||
|
\end{frame}
|
||||||
|
\begin{frame}[label={sec:orgec9c5d3}]{erreferentziak}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Sutskever, Ilya; Vinyals, Oriol; Le, Quoc Viet (2014). ``Sequence to sequence learning with neural networks''
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
\begin{frame}[label={sec:orgd4fdd15}]{eranskinak (adibidez lanaren baitan datuak sortzen badira)}
|
||||||
|
\end{frame}
|
||||||
|
\end{document}
|