Offizielle Kursbeschreibung:
Wie funktioniert Sprachtechnologie? Wie erkennt der Rechner Wortarten? Wie können wir Synonyme zur semantischen Suche ausnutzen? Wie arbeitet automatische Übersetzung? Tas Thema dieser Vorlesungen sind Algorithmen, wie sie in sprachtechnologischen Komponenten verwendet werden. Dies beinhaltet Methoden des maschinellen Lernens, Datenstrukturen zum Speichen und Manipulieren von Strings, und Anwendungen wie Frage-Antwort-Systeme oder Maschinelle Übersetzung. Die begleitende Übung bietet neben praktischen Erfahrungen mit sprachverarbeitender Software ein tiefes Verständnis der zugrundeliegenden Algorithmen.

Lehrinhalte:

  • Recap: Chomsky Hierarchy: Formal Languages and Automata
  • Morphology with Finite State Transducers and Compact Patricia Tries
  • N-gram models: Entropy, Perplexity, Maximum Likelihood, Back-off and Smoothing
  • Sequence Tagging: Markov Models, HMMs, CRFs
  • Context-free Grammars, Push-down automaton and PCFGs
  • Parsing algorithms: Top-down, Bottom-up, Shift-Reduce
  • Machine Translation: Alignment, Decoding, Phrase-based SMT
  • Graph representations and Graph algorithms for NLP: Word Sense Induction, Textrank
  • Topic Modeling: Gibbs Sampling, Model estimation, Inference
  • Machine Learning for NLP: Topic Modeling and Gibbs Sampling

Literatur:

  • Ausgewählte Kapitel aus Jurafsky, D. and Martin, J. H. (2009): Speech and Language Processing. An Introduction to Natural Language Processing, Computational Linguistics and Speech Recognition. Second Edition. Pearson: New Jersey
  • Ausgewählte Kapitel aus Manning, C. D. and Schütze, H. (1999): Foundations of Statistical Natural Language Processing. MIT Press: Cambridge, Massachusetts
  • Ausgewählte Kapitel aus Carstensen, K.U., Ebert, Ch., Endriss, C., Jekat, S., Klabunde, R. and Langer, H. (Editors) (2004): Computerlinguistik und Sprachtechnologie. Eine Einführung. 2. Auflage. Spektrum: Heidelberg 
  • Literatur für speziellere Themen wird in der Vorlesung bekanntgegeben

Voraussetzungen:
Grundlagen der Informatik I+II, empfohlen: Grundlagen der Sprachtechnologie, NLP4Web


In dieser Veranstaltung werden Sie das anwenden, was Sie in der Vorlesung Rechnerorganisation oder Technikal Grundlagen der Digital Informatik gelernt haben. Dazu werden Sie auch mit einem kommerziellen MIPS Prozessor arbeiten und das Umgehen mit Ein- und Ausgabe Geräte lernen. Die Veranstaltung enthält wochentliche Vorlesungen und acht Labs. Sie werden die Xilinx Vivado CAD Software und das Nexys 4 DDR Board, das ein Artix-7 FPGA enthält, benutzen. Die Vivado Software ist ein kommerzielles Software-Paket, das ebenso von Hardware-Entwickler benutzt wird.

In this lab course, we implement a realistic tool that will allow us to reliably detect leakage of private information on Android smartphones. The lab will cover the following topics:

  • introduction to Android and to the programming of Android apps,
  • possible privacy threats due to the execution of apps,
  • detection of possible information leaks using information flow analysis techniques,
  • static and dynamic security analysis,
  • proof-carrying code,
  • independent development of apps and security analysis of these apps in small teams,
  • independent extension of an existing framework for analyzing the security of apps in small teams.

Lexical-Semantic Methods for Language Understanding

Organization

 

  • Lecture: Thursday 09:50 - 11:30, Room  S202/C120
  • Practice class: Thursday from 11:40 - 13:20,  Room S202 D017

The learning material is available from the Moodle eLeaning platform.
The required passcode will be distributed during the lecture.

The first lecture will be on April 14 and the first meeting of the practice class is scheduled for April 21, 2016.

Exam

  • Date/Time: Thursday, 21 July 2016 09:30-12:00
  • Room: S101/A01

Teaching Staff

  • Prof. Dr. Iryna Gurevych
  • Dr. Judith Eckle-Kohler (no fixed office hour, please just ask for an appointment per mail)
  • Dr. Hatem Mousselly Sergieh (no fixed office hour, please just ask for an appointment per mail)
  • Pedro Santos (no fixed office hour, please just ask for an appointment per mail)

Please contact Hatem Mousselly Sergieh or Pedro Santos for any organizational issues.

Course Content

Algorithms for analyzing the meaning of words in documents are of crucial importance for a wide range of applications including information retrieval, automatic summarization, or automatic keyphrase extraction. The lecture puts a special focus on the semantic resources used to provide knowledge for these algorithms. Besides classical semantic wordnets like Princeton WordNet, the lecture also introduces Web 2.0 resources like Wikipedia and Wiktionary, Knowledge bases and emerging vectorial resources based on neural language models, such as word embeddings.

  • Introduction to Natural Language Processing and Lexical-Semantics
  • Lexical-Semantic Resources: WordNet, Wikipedia, Wiktionary
  • Standardizing resources
  • Lexical-semantic methods: Text Similarity,Word Sense Disambiguation
  • Vector Space Models of Word Meaning
  • Word and Sense Embeddings
  • Applications of Embeddings
  • Introduction to knowledge bases (Wikidata, Freebased, DBPedia)
  • Automatic Knowledge Base Construction
  • Knowledge Base Embeddings

Core Literature

  • Daniel Jurafsky, James H. Martin. Speech and Language Processing (2nd Edition). Prentice Hall. ISBN-13: 978-0131873216
  • Ruslan Mitkov (Ed.). The Oxford Handbook of Computational Linguistics. Oxford University Press. 2005. ISBN-13: 978-0199276349

Other Relevant Literature

  • Kai-Uwe Carstensen, Christian Ebert, Cornelia Endriss, Susanne Jekat, Ralf Klabunde, Computerlinguistik und Sprachtechnologie. Eine Einführung, Heidelberg: Spektrum-Verlag, März 2004. (2. Auflage) ISBN 3827414075
  • D.A. Cruse. Lexical Semantics. Cambridge University Press, 1986. ISBN 0-521-27643-8

The course Network Security covers the principles and practice of computer and telecommunication network security with particular emphasis on Internet security. After transferring the fundamentals of IT security and cryptography to the networking domain, we follow a top-down approach to network security. Starting with the application layer, the course provides a detailed discussion of network security principles and protocols. In addition to well known mechanisms, recent developments in the area of network security (e.g., peer-to-peer security, mobile network security, etc.) will be thoroughly examined. Further static course information can be found on the SEEMOO homepage.

In diesem Praktikum erstellen die Student_innen mittels des Animal-Systems zwei eigene "Generatoren", die anhand von Nutzereingaben das Verhalten von Algorithmen visualisieren oder animieren. Es werden gute Java-Kenntnisse und die Bereitschaft zur Einarbeitung in das System vorausgesetzt.

The course deals with cutting edge development topics in the area of network security with particular focus on mobile networked systems. Beside a general overview it provides a deep insight into a special development topic. The topics are selected according to the specific working areas of the participating researchers and convey technical and basic scientific competences.

The course Secure Mobile Systems covers the theory and application of information security in mobile, wireless systems. 

In this seminar we will discuss research articles on different aspects of side-channel attacks on software as well as countermeasures against them. Exemplary topics include:

  • side-channel attacks on cryptographic software,

  • side-channel attacks on web applications,

  • side-channel attacks on operating systems,

  • side-channel attacks on mobile devices,

  • side-channel attacks in the cloud.

Side channels are unintended indirect flows of information revealed by physical executions of a computer program. Examples of side channels include program's running time, cache behavior, power consumption, electromagnetic or acoustic emanation, etc. Such unintended flows of information can be correlated to secrets e.g., private cryptographic keys, and this makes side channels a severe security vulnerability. During a side-channel attack the hacker collects the information revealed through side channels, carefully analyzes this information, and recovers the secrets from it. Due to improvements in security protection mechanisms traditional security vulnerabilities like programming bugs are getting harder to exploit, and that is why side channels are becoming now more and more attractive to hackers.

The Seminar as well as the Advanced Seminar on Networking, Security, Mobility, and Wireless Communications cover current research in the given topic areas. Under supervision of the tutors, the seminar includes studying, critically analyzing and discussing, summarizing, and presenting selected research articles. Deliverables are a short presentation, a final presentation, and a seminar paper. The Advanced Seminar additionally emphasizes on the entire research process.

Course Contents

A software composition paradigm determines how to first divide (decompose, structure) a programming problem into smaller problems. A programming language follows one or multiple paradigms to provide the suitable abstractions to represent these problems and implement their solutions as a program. This course starts by looking at object-oriented composition. We examine its underlying concepts, and identify strengths and weaknesses. We then examine additional and alternative composition methodologies, including mixins, traits, aspects, features and deltas. We discuss mutual incompatibilities, pros and cons, and look at current language implementations of the various mechanisms.

Course Objectives

The main objective is to obtain an overview of the state of the art in software composition. This is achieved by examining established concepts such as object orientation, and by looking beyond the mainstream at more recent research and developments in this field. Moreover, the student will train his ability to optimally structure a programming problem and design an efficient solution.

Course Prerequisites

Familiarity with the object-oriented programming paradigm, as is taught in a typical Bachelors-level Computer Science curriculum. The student should have a healthy interest in software design, programming and programming languages. The more languages the student has been confronted with before, the more he or she will appreciate this course.