2479
Comment:
|
3005
|
Deletions are marked like this. | Additions are marked like this. |
Line 7: | Line 7: |
{{attachment:manhattan-layout.jpg||height=400}} {{attachment:non-manhattan-layout.jpg||width=300}} TODO: Explain the figure. |
{{attachment:manhattan-layout.jpg||height=400,align=bottom}} and {{attachment:non-manhattan-layout.jpg||height=400,align=bottom}} |
Line 11: | Line 10: |
'''Goal''': Extracting words column-wise from both, Manhattan layouts and non-Manhattan layouts; without mixing words from different columns. | The left document shows a Manhattan-layout, the right document a non-Manhattan-layout. Even the distinction of text from different columns might be easy for human readers, it is not for computers, in particular in case of non-Manhattan layouts.<<BR>><<BR>> |
Line 13: | Line 12: |
''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: | '''Goal''': Extracting words column-wise from both, Manhattan layouts and non-Manhattan layouts, using machine learning techniques; 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 further 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: |
Line 18: | Line 19: |
However, they should be extracted as the two words ''"serif font"''. | |
Line 21: | Line 23: |
'''Subgoal 1''': Design, implement and train a machine learning model for fast ( ! ) column identification. Create large and meaningful training data. TODO | '''Subgoal 1''': Design, implement and train a (supervised) machine learning model for a fast ( ! ) identification of columns. This implies to create large and diverse training data. |
Line 23: | Line 25: |
'''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. TODO | '''Subgoal 2''': Design, implement and train a language model in order to identify the words contained in each column, based on the characters themselves and further features like the spacings between characters or their fonts. This implies again to create large and diverse training data. '''Subgoal 3''': A thorough evaluation of both approaches. |
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 consist of different fonts and can be arranged in multiple columns. Think of books, newspapers or scientific research papers. There are so called Manhattan layouts and non-Manhattan layouts. In Manhattan layouts, all columns are rectangular and aligned parallel to the page borders. In non-Manhattan layouts, the columns are of no fixed shape and can be aligned arbitrarily. Here are two examples:
and
The left document shows a Manhattan-layout, the right document a non-Manhattan-layout. Even the distinction of text from different columns might be easy for human readers, it is not for computers, in particular in case of non-Manhattan layouts.
Goal: Extracting words column-wise from both, Manhattan layouts and non-Manhattan layouts, using machine learning techniques; 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 further 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:
The blue boxes are the bounding boxes of the characters. Note the small spacings between most of the characters and in particular, the direct adjacency of the two f's (between which there is actually a word boundary). Based on the spacings alone, the characters might be extracted as the following six words: "s e r iffo n t". However, they should be extracted as the two words "serif font".
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 correctly is obviously impossible.
Subgoal 1: Design, implement and train a (supervised) machine learning model for a fast ( ! ) identification of columns. This implies to create large and diverse training data.
Subgoal 2: Design, implement and train a language model in order to identify the words contained in each column, based on the characters themselves and further features like the spacings between characters or their fonts. This implies again to create large and diverse training data.
Subgoal 3: A thorough evaluation of both approaches.