Example #1
0
 def test_no_verbs_in_sentence(self):
     chunk0 = Chunk([Morph(surface='名前', base='名前', pos='名詞', pos1='一般'),
                     Morph(surface='は', base='は', pos='助詞', pos1='係助詞')],
                    dst=1)
     chunk1 = Chunk([Morph(surface='無い', base='無い', pos='形容詞', pos1='自立')],
                    dst=-1, srcs=[0])
     sentence = [chunk0, chunk1]
     case_patterns = extract_case_patterns(sentence)
     self.assertEqual(case_patterns, [])
Example #2
0
 def test_one_verb_one_particle_in_sentence(self):
     chunk0 = Chunk([Morph(surface='もの', base='もの', pos='名詞', pos1='非自立'),
                     Morph(surface='を', base='を', pos='助詞', pos1='格助詞')],
                    dst=1)
     chunk1 = Chunk([Morph(surface='見た', base='見る', pos='動詞', pos1='自立'),
                     Morph(surface='た', base='た', pos='助動詞', pos1='*')],
                    dst=-1, srcs=[0])
     sentence = [chunk0, chunk1]
     case_patterns = extract_case_patterns(sentence)
     self.assertEqual(case_patterns, ['見る\tを'])
Example #3
0
 def test_no_verbs_in_sentence(self):
     chunk0 = Chunk([
         Morph(surface='名前', base='名前', pos='名詞', pos1='一般'),
         Morph(surface='は', base='は', pos='助詞', pos1='係助詞')
     ],
                    dst=1)
     chunk1 = Chunk([Morph(surface='無い', base='無い', pos='形容詞', pos1='自立')],
                    dst=-1,
                    srcs=[0])
     sentence = [chunk0, chunk1]
     case_patterns = extract_case_patterns(sentence)
     self.assertEqual(case_patterns, [])
Example #4
0
 def test_one_verb_one_particle_in_sentence(self):
     chunk0 = Chunk([
         Morph(surface='もの', base='もの', pos='名詞', pos1='非自立'),
         Morph(surface='を', base='を', pos='助詞', pos1='格助詞')
     ],
                    dst=1)
     chunk1 = Chunk([
         Morph(surface='見た', base='見る', pos='動詞', pos1='自立'),
         Morph(surface='た', base='た', pos='助動詞', pos1='*')
     ],
                    dst=-1,
                    srcs=[0])
     sentence = [chunk0, chunk1]
     case_patterns = extract_case_patterns(sentence)
     self.assertEqual(case_patterns, ['見る\tを'])
Example #5
0
 def test_two_case_patterns_in_sentence(self):
     chunk0 = Chunk([Morph(surface='我輩', base='我輩', pos='名詞', pos1='代名詞'),
                     Morph(surface='は', base='は', pos='助詞', pos1='係助詞')],
                    dst=5)
     chunk1 = Chunk([Morph(surface='ここ', base='ここ', pos='名詞', pos1='代名詞'),
                     Morph(surface='で', base='で', pos='助詞', pos1='格助詞')],
                    dst=2)
     chunk2 = Chunk([Morph(surface='始め', base='始める', pos='動詞', pos1='自立'),
                     Morph(surface='て', base='て', pos='助詞', pos1='接続助詞')],
                    dst=3, srcs=[1])
     chunk3 = Chunk([Morph(surface='人間', base='人間', pos='名詞', pos1='一般'),
                     Morph(surface='という', base='という', pos='助詞', pos1='格助詞')],
                    dst=4, srcs=[2])
     chunk4 = Chunk([Morph(surface='もの', base='もの', pos='名詞', pos1='非自立'),
                     Morph(surface='を', base='を', pos='助詞', pos1='格助詞')],
                    dst=5, srcs=[3])
     chunk5 = Chunk([Morph(surface='見た', base='見る', pos='動詞', pos1='自立'),
                     Morph(surface='た', base='た', pos='助動詞', pos1='*')],
                    dst=-1, srcs=[0, 4])
     sentence = [chunk0, chunk1, chunk2, chunk3, chunk4, chunk5]
     case_patterns = extract_case_patterns(sentence)
     self.assertEqual(case_patterns, ['始める\tで', '見る\tは を'])
Example #6
0
 def test_two_case_patterns_in_sentence(self):
     chunk0 = Chunk([
         Morph(surface='我輩', base='我輩', pos='名詞', pos1='代名詞'),
         Morph(surface='は', base='は', pos='助詞', pos1='係助詞')
     ],
                    dst=5)
     chunk1 = Chunk([
         Morph(surface='ここ', base='ここ', pos='名詞', pos1='代名詞'),
         Morph(surface='で', base='で', pos='助詞', pos1='格助詞')
     ],
                    dst=2)
     chunk2 = Chunk([
         Morph(surface='始め', base='始める', pos='動詞', pos1='自立'),
         Morph(surface='て', base='て', pos='助詞', pos1='接続助詞')
     ],
                    dst=3,
                    srcs=[1])
     chunk3 = Chunk([
         Morph(surface='人間', base='人間', pos='名詞', pos1='一般'),
         Morph(surface='という', base='という', pos='助詞', pos1='格助詞')
     ],
                    dst=4,
                    srcs=[2])
     chunk4 = Chunk([
         Morph(surface='もの', base='もの', pos='名詞', pos1='非自立'),
         Morph(surface='を', base='を', pos='助詞', pos1='格助詞')
     ],
                    dst=5,
                    srcs=[3])
     chunk5 = Chunk([
         Morph(surface='見た', base='見る', pos='動詞', pos1='自立'),
         Morph(surface='た', base='た', pos='助動詞', pos1='*')
     ],
                    dst=-1,
                    srcs=[0, 4])
     sentence = [chunk0, chunk1, chunk2, chunk3, chunk4, chunk5]
     case_patterns = extract_case_patterns(sentence)
     self.assertEqual(case_patterns, ['始める\tで', '見る\tは を'])
Example #7
0
File: 45.py Project: tkyf/nlp100
def main():
    sentences = read_and_make_chunks()
    for sentence in sentences:
        case_patterns = extract_case_patterns(sentence)
        if case_patterns:
            print('\n'.join(case_patterns))
Example #8
0
def main():
    sentences = read_and_make_chunks()
    for sentence in sentences:
        case_patterns = extract_case_patterns(sentence)
        if case_patterns:
            print('\n'.join(case_patterns))