tsproisl / SoMaJo

A tokenizer and sentence splitter for German and English web and social media texts.
GNU General Public License v3.0
135 stars 21 forks source link

Sentence Splitter does not work #1

Closed rroderich closed 6 years ago

rroderich commented 6 years ago

=== CODE === sentence_splitter = SentenceSplitter() sentences = sentence_splitter.split(text)

=== RESULT ===

text = ' Der Text ist unter der Lizenz „Creative Commons Attribution/Share Alike“ verfügbar; Informationen zu den Urhebern und zum Lizenzstatus eingebundener Mediendateien (etwa Bilder oder Videos) können im Regelfall durch Anklicken dieser abgerufen werden. Möglicherweise unterliegen die Inhalte jeweils zusätzlichen Bedingungen. Durch die Nutzung dieser Website erklären Sie sich mit den Nutzungsbedingungen und der Datenschutzrichtlinie einverstanden. Wikipedia® ist eine eingetragene Marke der Wikimedia Foundation Inc.'

sentences = [' Der Text ist unter der Lizenz „Creative Commons Attribution/Share Alike“ verfügbar; Informationen zu den Urhebern und zum Lizenzstatus eingebundener Mediendateien (etwa Bilder oder Videos) können im Regelfall durch Anklicken dieser abgerufen werden. Möglicherweise unterliegen die Inhalte jeweils zusätzlichen Bedingungen. Durch die Nutzung dieser Website erklären Sie sich mit den Nutzungsbedingungen und der Datenschutzrichtlinie einverstanden. Wikipedia® ist eine eingetragene Marke der Wikimedia Foundation Inc.']

tsproisl commented 6 years ago

The sentence splitter operates on tokenized text (= a list of tokens), for example on the output of the tokenize method. I updated the README to make this a bit clearer. Here is a minimal working example with your text:

from somajo import Tokenizer, SentenceSplitter
tokenizer = Tokenizer()
sentence_splitter = SentenceSplitter()
text = """Der Text ist unter der Lizenz „Creative Commons Attribution/Share
          Alike“ verfügbar; Informationen zu den Urhebern und zum
          Lizenzstatus eingebundener Mediendateien (etwa Bilder oder
          Videos) können im Regelfall durch Anklicken dieser abgerufen
          werden. Möglicherweise unterliegen die Inhalte jeweils
          zusätzlichen Bedingungen. Durch die Nutzung dieser Website
          erklären Sie sich mit den Nutzungsbedingungen und der
          Datenschutzrichtlinie einverstanden. Wikipedia® ist eine
          eingetragene Marke der Wikimedia Foundation Inc."""
tokens = tokenizer.tokenize(text)
sentences = sentence_splitter.split(tokens)

The value of sentences is:

[['Der', 'Text', 'ist', 'unter', 'der', 'Lizenz', '„', 'Creative', 'Commons', 'Attribution', '/', 'Share', 'Alike', '“', 'verfügbar', ';', 'Informationen', 'zu', 'den', 'Urhebern', 'und', 'zum', 'Lizenzstatus', 'eingebundener', 'Mediendateien', '(', 'etwa', 'Bilder', 'oder', 'Videos', ')', 'können', 'im', 'Regelfall', 'durch', 'Anklicken', 'dieser', 'abgerufen', 'werden', '.'],
 ['Möglicherweise', 'unterliegen', 'die', 'Inhalte', 'jeweils', 'zusätzlichen', 'Bedingungen', '.'],
 ['Durch', 'die', 'Nutzung', 'dieser', 'Website', 'erklären', 'Sie', 'sich', 'mit', 'den', 'Nutzungsbedingungen', 'und', 'der', 'Datenschutzrichtlinie', 'einverstanden', '.'],
 ['Wikipedia®', 'ist', 'eine', 'eingetragene', 'Marke', 'der', 'Wikimedia', 'Foundation', 'Inc.']]