12. Przygotowanie publikacji naukowej [laboratoria]
\n",
"
Tomasz Ziętkiewicz (2021)
\n",
"
\n",
"\n",
"![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
]
},
{
"cell_type": "markdown",
"id": "a5f10a0e",
"metadata": {},
"source": [
"# Abstract\n",
"- Umiejętność pisania artykułu naukowego może okazać się przydatna dla osób zajmujących się uczeniem maszynowym.\n",
"- Zastosowanie klarownej struktury dokumentu ułatwia jego odbiór jak i tworzenie.\n",
"- LaTeX + Overleaf jaka narzędzia do składu artykułu"
]
},
{
"cell_type": "markdown",
"id": "35d3630d",
"metadata": {},
"source": [
"## Introduction\n",
"\n",
"- Uczenie maszynowe i jego zastosowania to prężnie rozwijająca się dziedzina nauki\n",
"- Żeby nadążyć za jej rozwojem musimy czytać artykuły naukowe\n",
"- A jeśli nasza praca ma charakter badawczy, to warto taki artykuł napisać i opublikować\n",
"- Nasz pracodawca może od nas tego wymagać lub przynajmniej zachęcać\n",
"- Dlatego zapoznamy się z:\n",
"1. Strukturą artykułu naukowego\n",
"2. Technicznymi aspektami jego tworzenia"
]
},
{
"cell_type": "markdown",
"id": "1033fc4d",
"metadata": {},
"source": [
"### Related work\n",
"\n",
"Jak napisać artykuł naukowy z dziedziny ML:\n",
"- http://www.isle.org/~langley/papers/craft.ml2k.pdf / https://icml.cc/Conferences/2002/craft.html\n",
"- https://www.researchgate.net/publication/337857231_How_to_Write_a_Machine_Learning_Paper_for_not_so_Dummies/comments\n",
"- https://towardsdatascience.com/writing-more-successful-machine-learning-research-papers-39863ca9ea90\n",
"- https://towardsdatascience.com/tips-for-reading-and-writing-an-ml-research-paper-a505863055cf\n",
"\n",
"Dobre wyjaśnienie struktury artykułu naukowego znajdziemy w napisanym po polsku artykule\n",
"- https://ekulczycki.pl/warsztat_badacza/struktura-artykulu-naukowego-uniwersalne-wytyczne-i-przydatne-wskazowki/"
]
},
{
"cell_type": "markdown",
"id": "2c7eb238",
"metadata": {},
"source": [
"## Methods"
]
},
{
"cell_type": "markdown",
"id": "changed-president",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"### Struktura artykułu naukowego\n",
"Struktura [(A)IMRaD](https://en.wikipedia.org/wiki/IMRAD):\n",
"\n",
"0. Abstrakt (**A**bstract) - Dlaczego, jak, \n",
"1. Wprowadzenie (**I**ntroduction) - \"Dlaczego?\"\n",
" \n",
" 1.1 Related work - \"Kontekst naukowy\"\n",
"2. Metody (**M**ethod) - \"Jak?\"\n",
"3. Wyniki (**R**esults) - \"Co?\"\n",
"4. Wnioski (**D**iscussion/Conclusions) - \"Interpretacja wyników\""
]
},
{
"cell_type": "markdown",
"id": "8cb9b025",
"metadata": {},
"source": [
""
]
},
{
"cell_type": "markdown",
"id": "d3e245eb",
"metadata": {},
"source": [
"#### Tytuł\n",
"- powinien odzwierciedlać treść artykułu ;)\n",
"- nie za długi (< 12 wyrazów)\n",
"- lepiej, żeby nie był pytaniem (patrz [Prawo nagłówków Betteridge'a](https://pl.wikipedia.org/wiki/Prawo_nag%C5%82%C3%B3wk%C3%B3w_Betteridge%E2%80%99a), choć [niekoniecznie](https://link.springer.com/article/10.1007/s11192-016-2030-2))\n",
"- dobry artykuł może mieć krótki, chwytliwy tytuł, szczególnie, jeśli autorzy mają renomę ;) Przykłady:\n",
" - [\"Attention Is All You Need\"](https://arxiv.org/abs/1706.03762)"
]
},
{
"cell_type": "markdown",
"id": "1f150ddb",
"metadata": {},
"source": [
"#### Abstrakt\n",
"\n",
"- stanowi samodzielną całość - powinien być zrozumiały bez reszty artykułu\n",
"- jest bardzo istotny - stanowi \"reklamówkę\" naszej pracy - ma zachęcić do lektury\n",
"- powinien zawierać wszystkie najważniejsz elementy artykułu i mieć podobną strukturę (IMRaD)"
]
},
{
"cell_type": "markdown",
"id": "6005b4bd",
"metadata": {},
"source": [
"#### Wprowadzenie\n",
" - Kontekst badań\n",
" - Motywacja\n",
" - Co chcemy właściwie zbadać - sformułowanie hipotezy badawczej"
]
},
{
"cell_type": "markdown",
"id": "1308de25",
"metadata": {},
"source": [
"#### Related work\n",
" - Kontekst naukowy\n",
" - Co zrobiono przed nami\n",
" - Musimy się do tego odnieść w dalszej części i zaznaczyć co nasze badania wnoszą nowego do dziedziny\n",
" - Cytujemy najważniejsze prace\n",
" - Najlepiej zaczącć szeroko i w przeszłości i stopniowo przechodzili do coraz nowszych i bardziej szczegółowych badań, bliżej związanych z tematyką poruszaną w naszym artykule."
]
},
{
"cell_type": "markdown",
"id": "b6cf4464",
"metadata": {},
"source": [
"#### Metody\n",
"- Jak przeprowadziliśmy nasze badania/eksperymenty\n",
"- Informacje tu zawarte w powinny umożliwić zreprodukowanie naszych wyników innym badaczom\n",
"- Opisujemy:\n",
" - Dane\n",
" - Algorytmy/architekturę\n",
" - możemy, choć nie musimy, podać techniczne szczegóły dotyczące implementacji, np. użyty framework. Zazwyczaj jednak kwestie techniczne nie są istotne i możemy od nich abstachować a na potrzeby reprodukowalności wyników najlepiej po prostu opublikować kod źródłowy/dane i wspomnieć o tym w artykule\n",
" - Procedurę ewaluacji/testowania\n",
"- Warto na naszych dancyh przetestować metodą bazową (\"baseline\") - np. obecny SOTA (\"State of the art\"), żeby potem móc do niej porównać nasze rozwiązanie."
]
},
{
"cell_type": "markdown",
"id": "5aee7988",
"metadata": {},
"source": [
"#### Wyniki\n",
"- Jakie wyniki otrzymaliśmy\n",
"- Powstrzymajmy się z ich interpretacją\n",
"- Możemy dokonywać porównań, ale z opiniami w stylu \"Nasze podejście deklasuje obecny SOTA\" (State Of The Art) poczekajmy do następnej sekcji"
]
},
{
"cell_type": "markdown",
"id": "7be88b24",
"metadata": {},
"source": [
"#### Konkluzje\n",
"- Interpretacja wyników\n",
"- Jakie jest ich znaczenie?\n",
"- Jak prezentują się w szerszym kontekście\n",
"- Tak jak we wprowaszeniu przechodzimy od ogółu do szczegółu (zawężamy perspektywę), tutaj postępujemy odwrotnie - zaczynając od szczegółowej interpretacji przechodzimy do znaczenia wyników w szerszym kontekście"
]
},
{
"cell_type": "markdown",
"id": "4753cf22",
"metadata": {},
"source": [
"### Latex\n",
"\n",
"- LaTeX (wym. *Latech*) to system składu tekstu\n",
"- Najbardziej popularny w dziedzinach technicznych\n",
"- https://www.latex-project.org//\n",
"- Podejście [WYSIWYM](https://pl.wikipedia.org/wiki/WYSIWYM)(\"What you see is what you mean\") w przeciwieństwie do WYSIWIG (What you see is what you get - przykład: Word).\n",
"- Piszemy tekst ze znacznikami, kompilujemy, dostajemy gotowy dokument, np. pdf\n",
"- Stosowany powszechnie do pisania publikacji naukowych (artykułów, książek jak i rozpraw nukowych)\n",
"- Pozwala łatwo zmienić styl/szablon\n",
"- W założeniu, podczas pisania skupiamy się na treści i strukturze a LaTeX sam zatroszczy się o wygląd\n",
"- Przystępna dokumentacja: https://www.overleaf.com/learn/latex/Learn_LaTeX_in_30_minutes"
]
},
{
"cell_type": "markdown",
"id": "918e3b39",
"metadata": {},
"source": [
"### Struktura\n",
"```latex\n",
"\n",
"\\documentclass[conference]{IEEEtran}\n",
"%\\documentclass[a4paper]{IEEEconf}\n",
"\n",
"\\usepackage[]{graphicx}\n",
"% to typeset algorithms\n",
"\\usepackage{algorithmic}\n",
"\\usepackage{algorithm}\n",
"% to typeset code fragments\n",
"\\usepackage{listings}\n",
"% to make an accent \\k be available\n",
"\\usepackage[OT4,T1]{fontenc}\n",
"% provides various features to facilitate writing math formulas and to improve the typographical quality of their output.\n",
"\\usepackage[cmex10]{amsmath}\n",
"\\interdisplaylinepenalty=2500\n",
"% por urls typesetting and breaking\n",
"\\usepackage{url}\n",
"% for vertical merging table cells\n",
"\\usepackage{multirow}\n",
"% \\usepackage[utf8]{inputenc}\n",
"\n",
"\n",
"\\title{Research paper structure in LaTeX}\n",
"\n",
"\n",
"%\\author{}\n",
"\\name{Tomasz Ziętkiewicz}\n",
"\n",
"\n",
"\\begin{document}\n",
"\\maketitle\n",
"% \n",
"\\begin{abstract}\n",
"This paper is an example of a paper structure in \\LaTeX\n",
"\\end{abstract}\n",
"\n",
"\\noindent\\textbf{Index Terms}: speech recognition, error correction, post-processing, post-editing, natural language processing\n",
"\n",
"\n",
"\\section{Introduction}\n",
"Introductions has always been very important parts of scientific papers...\n",
"\n",
"\\section{Related work} \\label{sec:related}\n",
"Tips on writing research papers can be found in \\cite{howtowrite}\n",
"\n",
"\n",
"\\section{Data} \\label{sec:data}\n",
"Data is prepared using our novel data pipeline presented on figure \\ref{fig:data-piepline}\n",
"\n",
"\\begin{figure}[htbp]\n",
" \\centering\n",
" \\label{fig:data-pipeline}\n",
" \\includegraphics[scale=0.6]{data-pipeline.pdf}\n",
" \\caption{Data preparation pipeline}\n",
"\\end{figure}\n",
"\n",
"\n",
"Data statistics are shown in Table \\ref{tab:data}.\n",
"Data sets were randomly divided into training, development, and test subsets in a proportion 8:1:1.\n",
"\n",
"\t\\begin{table}\n",
"\t \\caption{Datasets statistics }\n",
" \\label{tab:data}\n",
" \\centering\n",
"\t\t\\begin{tabular}{|l|r|r|r|r|r|}\n",
" \t\t\\hline\n",
" \t\tLanguage & \\textbf{de-DE} & \\textbf{es-ES} & \\textbf{fr-FR} \\\\\n",
" \t\t\\hline\n",
" \t\tSentences & $12 242$ & $16 905$ & $7180$ \\\\\n",
" \t\tTokens & $37 955$ & $55 567$ & $28 004$ \\\\\n",
" \t\t\\hline\n",
"\t\t\\end{tabular}\n",
"\t\t\\end{table}\n",
"\n",
"\\section{Method} \\label{sec:method}\n",
"The proposed method consists of ...\n",
"\n",
"\\subsection{Data preparation}\n",
"To train the model, a lot of data is needed...\n",
"\n",
"\\subsection{Architecture}\n",
"\n",
"\n",
"\\section{Results} \\label{sec:results}\n",
"Table \\ref{tab:results} presents averaged results.\n",
"The metric used is computes as follows:\n",
"\\begin{equation}\n",
" RMSE = \\sqrt{\\frac{1}{n}\\Sigma_{i=1}^{n}{\\Big(\\frac{d_i -f_i}{\\sigma_i}\\Big)^2}}\n",
"\\end{equation} \n",
"where ...\n",
"\n",
" \\begin{table}\n",
"\t\t\\begin{tabular}{|l|c|c|c|c|c|}\n",
" \\hline \n",
" & Train & Test & Dev & - & Eval\\\\ \n",
" \\hline \n",
" Raw ASR 1best & 9.59 & 12.08 & 12.39 & 45.64 & 27.6\\\\ \n",
" \\hline \n",
" lattice oracle WER & 3.75 & 4.72 & 4.93 & 30.71 & 17.7\\\\ \n",
" \\hline \n",
" Edit operation tagger (from 1best) & - & 10.7 & - & - & 24.7\\\\ \n",
" \\hline \n",
" Absolute WER Reduction & - & $11.42\\%$ & - & - & $10.50\\%$ \\\\ \n",
" \\hline \n",
" Relative WER Reduction & - & $11.42\\%$ & - & - & $10.50\\%$ \\\\ \n",
" \\hline \n",
"\t\t\\end{tabular}\n",
" \\label{tab:results}\n",
"\t\t\\caption{Word Error Rates for input data and the proposed system.}\n",
"\t\\end{table}\n",
"\n",
"\n",
"\\section{Conclusions} \\label{sec:conclusions}\n",
"We presented a new approach to ASR errors correction problem. As demonstrated using three independent datasets, correction models trained using this approach are effective even for relatively small training datasets. The method allows to precisely control which errors should be included in the model and which of the included ones should be corrected at the inference time. The evaluations performed on the models show that they can significantly improve the ASR results by reducing the WER by more than $20\\%$. All of the models presented offer very good inference latency, making them suitable for use with streaming ASR systems. \n",
"\n",
"The presented method is well suited for industrial applications where the ability to precisely control how the error correction model works, as well as small latency, are crucial. \n",
"\n",
"%\\section{Acknowledgements}\n",
"\n",
"\n",
"\\bibliographystyle{IEEEtran}\n",
"\n",
"\\bibliography{bibliography}\n",
"\n",
"\\end{document}\n",
"\n",
"```"
]
},
{
"cell_type": "markdown",
"id": "3ea5c879",
"metadata": {},
"source": [
"```bibtex\n",
"\n",
"@book{Hastie2009,\n",
"\ttitle={The Elements of Statistical Learning: Data Mining, Inference, and Prediction},\n",
"\tauthor={Hastie, Trevor and Tibshirani, Robert and Friedman, Jerome},\n",
"\tyear={2009},\n",
"\tpublisher={Springer},\n",
"\taddress = {New York, NY},\n",
"\tedition = {2nd}\n",
"}\n",
"\n",
"@article{Byon2013,\n",
"title = {Wind turbine operations and maintenance: A tractable approximation of dynamic decision-making},\n",
"author = {Byon, E.},\n",
"journal = { IIE Transactions},\n",
"volume = {45},\n",
"number = {11},\n",
"pages = {1188--1201},\n",
"year = {2013}\n",
"}\n",
"\n",
"@inproceedings{Breunig2000,\n",
" title={{LOF}: Identifying density-based local outliers},\n",
" author={Breunig, M. M. and Kriegel, H.-P. and Ng, R. T. and Sander, J.},\n",
" booktitle={Proceedings of the 2000 ACM SIGMOD International Conference on Management of Data},\n",
" pages={93--104},\n",
" year={2000},\n",
" organization={ACM}\n",
"}\n",
"\n",
"@incollection{Yang2010,\n",
" author = \"Yang, J. AND Huang, T. S.\",\n",
" title = \"Image super-resolution: {H}istorical overview and future challenges\",\n",
" booktitle = \"Super-Resolution Imaging\",\n",
" editor = \"Milanfar, Peyman\",\n",
" pages =\"3--35\",\n",
" publisher = \"Chapman \\& Hall/CRC Press\",\n",
" address = {Boca Raton, FL},\n",
" year = \"2010\"\n",
"}\n",
"```"
]
},
{
"cell_type": "markdown",
"id": "pressing-european",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Overleaf \n",
" - Overlaf to serwis/aplikacja webowa umożliwiająca edycję i kompilację dokumentów Latexa on-line, w przeglądarce\n",
" - https://www.overleaf.com/\n",
" - Działa od ręki, bez potrzeby konfiguracji, instalacji pakietów itp.\n",
" - podgląd gotowego dokumentu, automatyczna kompilacja\n",
" - edytor z uzupełnianiem składni\n",
" - intagracja z Git/GitHub"
]
},
{
"cell_type": "markdown",
"id": "e1822b3c",
"metadata": {},
"source": [
"### JupyterBook\n",
"https://jupyterbook.org/en/stable/intro.html\n"
]
},
{
"cell_type": "markdown",
"id": "ceef2f3f",
"metadata": {},
"source": [
"### The Turing Way\n",
"*The Turing Way handbook to reproducible, ethical and collaborative data science*\n",
"\n",
"https://the-turing-way.netlify.app/welcome.html"
]
},
{
"cell_type": "markdown",
"id": "informational-writer",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Conclusions\n",
"### Zadanie [30pkt]\n",
"1. Wybierz konferencję naukową z dziedziny ML/AI/Computer Science\n",
"2. Używając szablonu Latex udostępnionego przez organizatorów konferencji, stwórz szkic artykułu naukowego opisującego wyniki eksperymentów ML, które przeprowadziłaś/eś w trakcie zajęć.\n",
"3. Napisz artykuł używając Overleaf. Udostępnij w [arkuszu z zapisami](https://uam.sharepoint.com/:x:/r/sites/2022SL06-DIUMUI0LABInynieriauczeniamaszynowego-Grupa11/Shared%20Documents/General/Zapisy%20zbiory%20danych.xlsx?d=wb3e003a2d1364e88871c4bf951f13e88&csf=1&web=1&e=cXzeeV) link udostępniający dokument ([jak stworzyć taki link](https://www.overleaf.com/learn/how-to/What_is_Link_Sharing%3F))\n",
"4. Artykuł musi zawierać co najmniej:\n",
" - 6 niepustych sekcji (abstract, introduction, related work, method, results, conclusions)\n",
" - jedną tabelkę (np. opisującą dane lub wyniki)\n",
" - jedną ilustrację (np. jakiś wykres, który tworzyli Państwo na zajęciach)\n",
" - 5 cytowań (można np. zacytować artykuły opisujące użytą metodę, zbiory danych, narzędzia. Zazwyczaj popularne biblioteki, datasety podają w README jak należy je cytować)\n",
" - 1 wzór matematyczny\n",
"5. Artykuł powinien być zgodny z wytycznymi konferencji dotyczącymi formy artykułów (oczywiście poza liczbą stron)\n",
" \n",
"\n",
"Zapewne w napisanym artykule nie opiszą państwo niczego nowatorskiego i wartego publikacji - tutaj udajemy, że zastosowaliśmy metodę po raz pierwszy, osiągnęliśmy nieosiągalne dotąd wyniki itp. Liczy się forma i struktura pracy. Można dodać komentarz wyjaśniający prawdziwy cel artykuły w sekcji/przypisie \"Disclaimer\", żeby nikt Państwa nie posądzał o pisanie nieprawdy.\n",
" "
]
},
{
"cell_type": "markdown",
"id": "challenging-student",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"![Tajny język naukowców](https://i1.kwejk.pl/k/obrazki/2017/10/2b48483a6c4f274aa276732e41f856af.jpg)"
]
}
],
"metadata": {
"celltoolbar": "Slideshow",
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.4"
}
},
"nbformat": 4,
"nbformat_minor": 5
}