Ejemplo n.º 1
0
 def setUp(self):
     self.tokenizer = NLTKPunktTokenizer()
     self.text = "Heute ist der 3. Mai 2014 und Dr. Meier feiert seinen 43. " \
         "Geburtstag. Ich muss unbedingt daran denken, Mehl, usw. für " \
         "einen Kuchen einzukaufen. Aber leider habe ich nur noch " \
         "EUR 3.50 in meiner Brieftasche."
     self.snt1 = "Heute ist der 3. Mai 2014 und Dr. Meier feiert seinen 43. " \
         "Geburtstag."
Ejemplo n.º 2
0
 def test_tag_nltk_tok(self):
     _tagger = PatternTagger(tokenizer=NLTKPunktTokenizer())
     tags = _tagger.tag(self.text)
     logging.debug("tags: {0}".format(tags))
     words = ["Das", "ist", "ein", "schönes", "Auto"]
     for i, word_tag in enumerate(tags):
         assert_equal(word_tag[0], words[i])
Ejemplo n.º 3
0
 def setUp(self):
     self.tokenizer = NLTKPunktTokenizer()
     self.text = "Heute ist der 3. Mai 2014 und Dr. Meier feiert seinen 43. " \
         "Geburtstag. Ich muss unbedingt daran denken, Mehl, usw. für " \
         "einen Kuchen einzukaufen. Aber leider habe ich nur noch " \
         "EUR 3.50 in meiner Brieftasche."
     self.snt1 = "Heute ist der 3. Mai 2014 und Dr. Meier feiert seinen 43. " \
         "Geburtstag."
Ejemplo n.º 4
0
 def test_tag_blob_nltk_tok_include_punc(self):
     blob = TextBlob(self.text, tokenizer=NLTKPunktTokenizer(),
                     pos_tagger=PatternTagger(include_punc=True))
     tags = blob.tags
     logging.debug("tags: {0}".format(tags))
     words = ["Das", "ist", "ein", "schönes", "Auto", "."]
     for i, word_tag in enumerate(tags):
         assert_equal(word_tag[0], words[i])
     assert_equal(tags[-1][0], ".")
Ejemplo n.º 5
0
    def setUp(self):
        self.extractor = PatternParserNPExtractor(
            tokenizer=NLTKPunktTokenizer())
        self.text = "Peter hat ein schönes Auto. Er wohnt in Zürich. " \
                    "Seine zwei Katzen heissen Tim und Struppi."

        self.parsed_sentences_expected = [
            'Peter/NNP/B-NP/O hat/VB/B-VP/O ein/DT/B-NP/O '
            'schönes/JJ/I-NP/O Auto/NN/I-NP/O ././O/O',
            'Er/PRP/B-NP/O wohnt/NN/I-NP/O in/IN/B-PP/B-PNP '
            'Zürich/NNP/B-NP/I-PNP ././O/O', 'Seine/PRP$/B-NP/O '
            'zwei/CD/I-NP/O Katzen/NNS/I-NP/O heissen/VB/B-VP/O '
            'Tim/NNP/B-NP/O und/CC/I-NP/O Struppi/NNP/I-NP/O ././O/O']
Ejemplo n.º 6
0
class TestNLTKPunktTokenizer(unittest.TestCase):
    def setUp(self):
        self.tokenizer = NLTKPunktTokenizer()
        self.text = "Heute ist der 3. Mai 2014 und Dr. Meier feiert seinen 43. " \
            "Geburtstag. Ich muss unbedingt daran denken, Mehl, usw. für " \
            "einen Kuchen einzukaufen. Aber leider habe ich nur noch " \
            "EUR 3.50 in meiner Brieftasche."
        self.snt1 = "Heute ist der 3. Mai 2014 und Dr. Meier feiert seinen 43. " \
            "Geburtstag."

    def tearDown(self):
        pass

    def test_tokenize(self):
        assert_equal(self.tokenizer.tokenize(self.text), [
            'Heute', 'ist', 'der', '3.', 'Mai', '2014', 'und', 'Dr.', 'Meier',
            'feiert', 'seinen', '43.', 'Geburtstag', '.', 'Ich', 'muss',
            'unbedingt', 'daran', 'denken', ',', 'Mehl', ',', 'usw.', 'für',
            'einen', 'Kuchen', 'einzukaufen', '.', 'Aber', 'leider', 'habe',
            'ich', 'nur', 'noch', 'EUR', '3.50', 'in', 'meiner', 'Brieftasche',
            '.'
        ])

    def test_exclude_punc(self):
        assert_equal(self.tokenizer.tokenize(self.text, include_punc=False), [
            'Heute', 'ist', 'der', '3', 'Mai', '2014', 'und', 'Dr', 'Meier',
            'feiert', 'seinen', '43', 'Geburtstag', 'Ich', 'muss', 'unbedingt',
            'daran', 'denken', 'Mehl', 'usw', 'für', 'einen', 'Kuchen',
            'einzukaufen', 'Aber', 'leider', 'habe', 'ich', 'nur', 'noch',
            'EUR', '3.50', 'in', 'meiner', 'Brieftasche'
        ])

    def test_tokenize_nested(self):
        assert_equal(
            self.tokenizer.tokenize(self.text, nested=True),
            [[
                'Heute', 'ist', 'der', '3.', 'Mai', '2014', 'und', 'Dr.',
                'Meier', 'feiert', 'seinen', '43.', 'Geburtstag', '.'
            ],
             [
                 'Ich', 'muss', 'unbedingt', 'daran', 'denken', ',', 'Mehl',
                 ',', 'usw.', 'für', 'einen', 'Kuchen', 'einzukaufen', '.'
             ],
             [
                 'Aber', 'leider', 'habe', 'ich', 'nur', 'noch', 'EUR', '3.50',
                 'in', 'meiner', 'Brieftasche', '.'
             ]])

    def test_itokenize(self):
        gen = self.tokenizer.itokenize(self.text)
        assert_true(is_generator(gen))
        assert_equal(next(gen), 'Heute')
        assert_equal(next(gen), 'ist')

    def test_sent_tokenize(self):
        assert_equal(self.tokenizer.sent_tokenize(self.text), [
            'Heute ist der 3. Mai 2014 und Dr. Meier feiert seinen 43. Geburtstag.',
            'Ich muss unbedingt daran denken, Mehl, usw. für einen Kuchen einzukaufen.',
            'Aber leider habe ich nur noch EUR 3.50 in meiner Brieftasche.'
        ])

    def test_word_tokenize(self):
        tokens = self.tokenizer.word_tokenize(self.snt1)
        assert_equal(tokens, [
            'Heute', 'ist', 'der', '3.', 'Mai', '2014', 'und', 'Dr.', 'Meier',
            'feiert', 'seinen', '43.', 'Geburtstag', '.'
        ])
Ejemplo n.º 7
0
 def test_parse_nltk_tok_show_lemmata(self):
     parser = PatternParser(tokenizer=NLTKPunktTokenizer(), lemmata=True)
     assert_equal(parser.parse(self.text), self.expected_with_lemmata)
Ejemplo n.º 8
0
 def test_parse_nltk_tok_result_string(self):
     parser = PatternParser(tokenizer=NLTKPunktTokenizer(), lemmata=False)
     assert_equal(parser.parse(self.text), self.expected)
Ejemplo n.º 9
0
class TestNLTKPunktTokenizer(unittest.TestCase):

    def setUp(self):
        self.tokenizer = NLTKPunktTokenizer()
        self.text = "Heute ist der 3. Mai 2014 und Dr. Meier feiert seinen 43. " \
            "Geburtstag. Ich muss unbedingt daran denken, Mehl, usw. für " \
            "einen Kuchen einzukaufen. Aber leider habe ich nur noch " \
            "EUR 3.50 in meiner Brieftasche."
        self.snt1 = "Heute ist der 3. Mai 2014 und Dr. Meier feiert seinen 43. " \
            "Geburtstag."

    def tearDown(self):
        pass

    def test_tokenize(self):
        assert_equal(self.tokenizer.tokenize(self.text),
                     ['Heute',
                      'ist',
                      'der',
                      '3.',
                      'Mai',
                      '2014',
                      'und',
                      'Dr.',
                      'Meier',
                      'feiert',
                      'seinen',
                      '43.',
                      'Geburtstag',
                      '.',
                      'Ich',
                      'muss',
                      'unbedingt',
                      'daran',
                      'denken',
                      ',',
                      'Mehl',
                      ',',
                      'usw.',
                      'für',
                      'einen',
                      'Kuchen',
                      'einzukaufen',
                      '.',
                      'Aber',
                      'leider',
                      'habe',
                      'ich',
                      'nur',
                      'noch',
                      'EUR',
                      '3.50',
                      'in',
                      'meiner',
                      'Brieftasche',
                      '.'])

    def test_exclude_punc(self):
        assert_equal(self.tokenizer.tokenize(self.text,
                                             include_punc=False),
                     ['Heute',
                      'ist',
                      'der',
                      '3',
                      'Mai',
                      '2014',
                      'und',
                      'Dr',
                      'Meier',
                      'feiert',
                      'seinen',
                      '43',
                      'Geburtstag',
                      'Ich',
                      'muss',
                      'unbedingt',
                      'daran',
                      'denken',
                      'Mehl',
                      'usw',
                      'für',
                      'einen',
                      'Kuchen',
                      'einzukaufen',
                      'Aber',
                      'leider',
                      'habe',
                      'ich',
                      'nur',
                      'noch',
                      'EUR',
                      '3.50',
                      'in',
                      'meiner',
                      'Brieftasche'])

    def test_tokenize_nested(self):
        assert_equal(self.tokenizer.tokenize(self.text,
                                             nested=True),
                     [['Heute',
                       'ist',
                       'der',
                       '3.',
                       'Mai',
                       '2014',
                       'und',
                       'Dr.',
                       'Meier',
                       'feiert',
                       'seinen',
                       '43.',
                       'Geburtstag',
                       '.'],
                      ['Ich',
                       'muss',
                       'unbedingt',
                       'daran',
                       'denken',
                       ',',
                       'Mehl',
                       ',',
                       'usw.',
                       'für',
                       'einen',
                       'Kuchen',
                       'einzukaufen',
                       '.'],
                      ['Aber',
                       'leider',
                       'habe',
                       'ich',
                       'nur',
                       'noch',
                       'EUR',
                       '3.50',
                       'in',
                       'meiner',
                       'Brieftasche',
                       '.']])

    def test_itokenize(self):
        gen = self.tokenizer.itokenize(self.text)
        assert_true(is_generator(gen))
        assert_equal(next(gen), 'Heute')
        assert_equal(next(gen), 'ist')

    def test_sent_tokenize(self):
        assert_equal(
            self.tokenizer.sent_tokenize(
                self.text),
            [
                'Heute ist der 3. Mai 2014 und Dr. Meier feiert seinen 43. Geburtstag.',
                'Ich muss unbedingt daran denken, Mehl, usw. für einen Kuchen einzukaufen.',
                'Aber leider habe ich nur noch EUR 3.50 in meiner Brieftasche.'])

    def test_word_tokenize(self):
        tokens = self.tokenizer.word_tokenize(self.snt1)
        assert_equal(tokens, ['Heute', 'ist', 'der', '3.', 'Mai', '2014',
                              'und', 'Dr.', 'Meier', 'feiert', 'seinen', '43.',
                              'Geburtstag', '.'])
Ejemplo n.º 10
0
 def test_blob_analyze_nltk_tok(self):
     _analyzer = DeAnalyzer(tokenizer=NLTKPunktTokenizer())
     pos_blob = TextBlob(self.pos2, analyzer=_analyzer)
     assert_true(pos_blob.sentiment[0] > 0.0)
     neg_blob = TextBlob(self.neg2, analyzer=_analyzer)
     assert_true(neg_blob.sentiment[0] < 0.0)
Ejemplo n.º 11
0
 def test_analyze_nltk_tok(self):
     _analyzer = DeAnalyzer(tokenizer=NLTKPunktTokenizer())
     pos_sentiment = _analyzer.analyze(self.pos1)
     assert_true(pos_sentiment[0] > 0.0)
     neg_sentiment = _analyzer.analyze(self.neg1)
     assert_true(neg_sentiment[0] < 0.0)
Ejemplo n.º 12
0
 def test_lemmatize_nltk_tok(self):
     _lemmatizer = PatternParserLemmatizer(tokenizer=NLTKPunktTokenizer())
     lemmata = _lemmatizer.lemmatize(self.text)
     assert_equal(lemmata, self.expected_lemmata)