= Accurate Word Extraction from Documents with Complex Layouts = '''Type''': An interesting and practical bachelor thesis. You should have a basic understanding of Machine Learning and optionally Deep Learning. Programming language Python is preferred. '''Background info''': Many text documents are layout-based and contain text that can consists of many different fonts and can be arranged in any number of columns. Think of books, newspapers or scientific research papers. There are so called ''Manhattan'' layouts and ''non-Manhattan'' layouts. In Manhattan layouts, the shapes of columns are rectangular and aligned parallel to the page boundaries. In non-Manhattan layouts, the columns are of any shape and be aligned arbitrarily. Here are two examples: TODO '''Goal''': Extracting words column-wise from both, Manhattan layouts and non-Manhattan layouts; without mixing words from different columns. ''Challenge 1'': Layout-based documents (in particular: PDF documents) often provide the text only character-wise (but not word-wise). There are typically no whitespaces. Thus, the boundaries of words must be derived from e.g., analyzing the spacings between the characters. But the spacings can vary from line to line and even within a line there is no fixed rule to determine the extent of a word from the spacings alone. Here is an example: TODO ''Challenge 2'': Internally, layout-based documents can store the characters in an order interleaving between the columns. If the characters are processed in that order, extracting the words is obviously impossible. '''Subgoal 1''': Design, implement and train a machine learning model for fast ( ! ) column identification. Create large and meaningful training data. '''Subgoal 1''': Design, implement and train a language model for identifying words in each column, in combination with features like the spacings between characters or their fonts. Create large and meaningful training data.