コード例 #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."
コード例 #2
0
ファイル: test_taggers.py プロジェクト: zolekode/textblob-de
 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])
コード例 #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."
コード例 #4
0
ファイル: test_taggers.py プロジェクト: zolekode/textblob-de
 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], ".")
コード例 #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']
コード例 #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', '.'
        ])
コード例 #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)
コード例 #8
0
 def test_parse_nltk_tok_result_string(self):
     parser = PatternParser(tokenizer=NLTKPunktTokenizer(), lemmata=False)
     assert_equal(parser.parse(self.text), self.expected)
コード例 #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', '.'])
コード例 #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)
コード例 #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)
コード例 #12
0
 def test_lemmatize_nltk_tok(self):
     _lemmatizer = PatternParserLemmatizer(tokenizer=NLTKPunktTokenizer())
     lemmata = _lemmatizer.lemmatize(self.text)
     assert_equal(lemmata, self.expected_lemmata)