Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Postřehy do textu
- * Úvod / Zadání
- * chatbot pro studenty Univerzity Palackého zvaný UPolák
- * získává data ze studijní agendy STAG
- * rozhraní postaveno na existující platformě FB Messenger
- * komunikace probíhá v přírozeném českém jazyce
- * text-based, domain specific, NLU (Nature Language Understanding) – zvládne porozumět, neobsahuje NLG (Natural Language Generative) model, odpovědi předdefinované
- * Proč chatbot?
- * charakteristiky rozhraní chatbota a způsob komunikace s ním
- * porovnání konverzačního rozhraní (conversational interface) s konvenčním grafickým rozhraním (graphical interface)
- * z jednoho místa lze dostat informaci odkudkoliv
- * porovnání s existujícím řešení UPlikace
- * Messenger Platform
- * stručný přehled existujících chatbot platforem
- * Proč Messenger?
- * přístup do platformy v rámci existujích řešení FB Messengeru (webové desktopové nebo nativní mobilní aplikace) – web, Android, iOS
- * řešení primárně mobilní
- * student tráví na FB spoustu času
- * lze předpokládat, že téměř všichni studenta mají FB resp. mají přímý přístup k mému chatbotu
- * nemusí stahovat žádnou jinou specializovanou aplikaci
- * schválení Facebookem
- * Jaké informace umí UPolák zjistit
- * přehled odpovědí na všechny podporované dotazy (počet zbývajících kreditů, rozvrh na dnešní den, jestli je sudý nebo lichý týden atd.)
- * etický chatbot (zachycení sprostých slov)
- * https://cs.wiktionary.org/wiki/Kategorie:Vulgárn%C3%AD_výrazy/čeština
- * Programátorská dokumentace
- * podobná jako v bakalářské práci?
- * zdokumentování a okomentování struktury složek, skriptů a funkcí
- * předhled použitých externích Node.js knihoven
- * Architektura Messenger aplikace
- * webview
- * formulář na příhlášení do STAG
- * help (seznam dostupných příkazů)
- * menu chatbota
- * STAG autentizace
- * account linking (spárování page-scoped ID se loginem do STAG) – možnost získání PSID přes
- * (nutné) uložení (AES šifry) hesla do databáze
- * fronta požadavků (při vícenásobné shodě jmen)
- * Architektura NLP klasifikátoru (popis a diagram)
- * tokenizace / lexikální analýza
- * vyhledáním hranice slova (koncový bod slova)
- * co jsou tokeny
- * použita slovní tokenizace, předpoklad jedné věty
- * white-space tokenizace nestačí
- * tečka jako konec věty vs. tečka jako separátor data, času nebo uvnitř zkratky
- * volitelná (podle způsobu použití) redukce slov
- * odstranění morfologických koncovek (stemming)
- * redukce slov na kmen, nikoliv kořen
- * výhody a nevýhody stemmingu
- * https://cs.wikipedia.org/wiki/Stematizace
- * lowercase
- * odstranění akcentu
- * odstranění stop slov (slova bez významu – spojky, citoslovce)
- * seznam stop slov
- * https://nlp.fi.muni.cz/cs/StopList
- * https://www.ranks.nl/stopwords/czech
- * odstranění interpunkce
- * klasifikace intentu
- * co je intent
- * jak je intent zadefinován a obsluhován v systému
- * Multinomial Naive Bayes
- * popis toerému
- * https://en.wikipedia.org/wiki/Naive_Bayes_classifier#Multinomial_naive_Bayes
- * https://medium.com/@gk_/how-chat-bots-work-dfff656a35e2
- * Given a set of sentences, each belonging to a class, and a new input sentence, we can count the occurrence of each word in each class, account for its commonality and assign each class a score. Factoring for commonality is important: matching the word “it” is considerably less meaningful than a match for the word “cheese”. The class with the highest score is the one most likely to belong to the input sentence. This is a slight oversimplification as words need to be reduced to their stems, but you get the basic idea.
- * Algorithm doesn’t account for what a sentence is not, it only counts what it is like
- * A naive Bayes classifier considers each of these features to contribute independently to the probability that this fruit is an apple, regardless of any possible correlations between the color, roundness, and diameter features.
- * commonality
- * P(word|class)=(word_count_in_class + 1)/(total_words_in_class+total_unique_words_in_all_classes(basically vocabulary of words in the entire training set))
- * model
- * trénování modelu
- * corpus words
- * class words
- * trénovací množina
- * popis aplikace teorému na zadefinovaných datech (trénovací množině)
- * https://chatbotslife.com/text-classification-using-algorithms-e4d50dcba45
- * žádná shoda řešena noMatch intentem
- * výhody
- * jednoduchá implementace
- * stačí malá trénovací množina
- * nevýhody
- * počítá pravděpodobnost shody s každým intentem, ale nepočítá s tím, jak moc se věta danému intentu nepodobá
- * vylepšení
- * generování validních slovních bigramů z tokenů
- * použití neuronové sítě
- * Vícevrstvý Průměrovaný Perceptron
- * popis činnosti
- * For every word in an input text, Morče selects one morphological interpretation from all possibilities. The algorithm is statistical, based on an idea of so-called "Averaged Perceptron" published by Michael Collins in 2002.
- * https://explosion.ai/blog/part-of-speech-pos-tagger-in-python#learning-the-weights
- * http://www.ciml.info/dl/v0_8/ciml-v0_8-ch03.pdf
- * https://svn.spraakdata.gu.se/repos/richard/pub/ml2014_web/m7.pdf
- * probabilistický model
- * co je (un)supervised learning
- * využívá morfologické struktury věty
- * formát vstupu (CoNLL)
- * výhoda oproti XML-like
- * popis sloupců
- * formát výstupu (JSON model neuronové sítě)
- * klasifikace slovních druhů
- * odstranění dvojsmyslů (disambiguation)
- * nelze mít pro všechna slova databázi s přiřazením jednoznačného slovního druhu, v některých případech se stejná slova můžou lišit slovním druhem v závislosti na pozici ve větě
- * některá některý mužský příjmení zní jako slovesa (např Vychodil) a všechna ženská příjmení zní jako přídavná jména (koncovka -ová), na začátku věty jsou vlastní jména?
- * použitý korpus
- * 10k vět z Leipzig Corpora otagovaná nástrojem MorphoDiTa
- * popis předpokládaných značek v korpusu
- * https://wiki.korpus.cz/doku.php/seznamy:tagy#popis_jednotlivych_pozic_znacky
- * použité rysy
- * popis významu použití jednotlivých rysů
- * klasifikace jmenných entit
- * použitý korpus
- * CNEC2, zřejmě jedinný dostupný v češtině
- * popis značek použitých v korpusu
- * http://ufal.mff.cuni.cz/~strakova/cnec2.0/ne-type-hierarchy.pdf
- * IOB formát tagů (B-P, I–P, O atd.) vs. použitý specifičtější
- * https://en.wikipedia.org/wiki/Inside–outside–beginning_(tagging)
- * použité rysy
- * normalizace časových výrazů
- * temporal tagging
- * nejednoznačnost např.: pátek (tento nebo příští)
- * dice-coeff
- Reference
- * MorhoDiTa
- * http://ufal.mff.cuni.cz/morphodita#bibtex_for_referencing
- * Leipzig Corpora Collection
- * http://wortschatz.uni-leipzig.de/en/download/
- * český korpus 10 tisíc vět z náhodných webů z roku 2014
- * ces-eu_web_2014_10K.tar.gz
- * CNEC 2 (not extended!)
- * http://home.zcu.cz/~konkol/cnec2.0.php
- * korpus 8 tisíc vět s ručně označkovanými jmennými entitami
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement