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}
|