• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python terms.Terms类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中regparser.layer.terms.Terms的典型用法代码示例。如果您正苦于以下问题:Python Terms类的具体用法?Python Terms怎么用?Python Terms使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Terms类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: test_look_for_defs

    def test_look_for_defs(self, node_definitions):
        """We should be walking through the tree to find terms. Test this by
        documenting which nodes are touched. We should be _ignoring_ certain
        subtrees (notable, any which aren't associated w/ regtext)"""
        node_definitions.side_effect = lambda n, _: ([], [n.label_id()])
        t = Terms(None)

        root = Node(label=['111'], children=[
            Node(label=['111', 'Subpart'], node_type=Node.EMPTYPART, children=[
                Node(label=['111', '1'], children=[
                    Node(label=['111', '1', 'a']),
                    Node(label=['111', '1', 'b']),
                    Node(label=['111', '1', 'c'])]),
                Node(label=['111', '2'], children=[
                    Node(label=['111', '2', 'p1'], node_type=Node.EXTRACT,
                         children=[Node(label=['111', '2', 'p1', 'p1'])])
                ])]),
            Node(label=['111', 'A'], node_type=Node.APPENDIX, children=[
                Node(label=['111', 'A', '1'], node_type=Node.APPENDIX)])])
        t.look_for_defs(root)
        six.assertCountEqual(
            self,
            t.scoped_terms['EXCLUDED'],
            # note the absence of APPENDIX, and anything below an EXTRACT
            ['111', '111-Subpart', '111-1', '111-1-a', '111-1-b', '111-1-c',
             '111-2'])
开发者ID:anthonygarvan,项目名称:regulations-parser,代码行数:26,代码来源:layer_terms_tests.py


示例2: test_process

 def test_process(self):
     """The process() method should both find terms in the requested node
     and order them by term name"""
     t = Terms(Node(children=[
         Node("ABC5", children=[Node("child")], label=['ref1']),
         Node("AABBCC5", label=['ref2']),
         Node("ABC3", label=['ref3']),
         Node("AAA3", label=['ref4']),
         Node("ABCABC3", label=['ref5']),
         Node("ABCOTHER", label=['ref6']),
         Node("ZZZOTHER", label=['ref7']),
     ]))
     t.scoped_terms = {
         ("101", "22", "b", "2", "ii"): [
             Ref("abc", "ref1", 1),
             Ref("aabbcc", "ref2", 2)],
         ("101", "22", "b"): [
             Ref("abc", "ref3", 3),
             Ref("aaa", "ref4", 4),
             Ref("abcabc", "ref5", 5)],
         ("101", "22", "b", "2", "iii"): [
             Ref("abc", "ref6", 6),
             Ref("zzz", "ref7", 7)]}
     #   Check that the return value is correct
     layer_el = t.process(Node(
         "This has abc, aabbcc, aaa, abcabc, and zzz",
         label=["101", "22", "b", "2", "ii"]))
     self.assertEqual(
         [el['ref'] for el in layer_el],
         ['aaa:ref4', 'aabbcc:ref2', 'abc:ref1', 'abcabc:ref5'])
开发者ID:anthonygarvan,项目名称:regulations-parser,代码行数:30,代码来源:layer_terms_tests.py


示例3: test_node_definitions

 def test_node_definitions(self):
     t = Terms(None)
     text1 = u'This has a “worD” and then more'
     text2 = u'I have “anotheR word” term and “moree”'
     text3 = u'This has no defs'
     text3a = u'But the child “DoeS sEe”?'
     text3bi = u'As do “subchildren”'
     text3biA = u'Also has no terms'
     text3bii = u'Has no terms'
     text3c = u'Also has no terms'
     tree = Node(children=[ 
         Node(text1, label=['aaa']),
         Node(text2, label=['bbb']),
         Node(text3, children=[ 
             Node(text3a, label=['ccc']),
             Node(children=[ 
                 Node(text3bi, [Node(text3biA)], ['ddd']),
                 Node(text3bii)
             ]),
             Node(text3c)
         ])
     ])
     defs, excluded = t.node_definitions(tree)
     self.assertEqual(5, len(defs))
     self.assertTrue(Ref('word', 'aaa', (12,16)) in defs)
     self.assertTrue(Ref('another word', 'bbb', (8,20)) in defs)
     self.assertTrue(Ref('moree', 'bbb', (32,37)) in defs)
     self.assertTrue(Ref('does see', 'ccc', (15,23)) in defs)
     self.assertTrue(Ref('subchildren', 'ddd', (7,18)) in defs)
开发者ID:dclegalhackers,项目名称:regulations-parser,代码行数:29,代码来源:layer_terms_tests.py


示例4: test_excluded_offsets_blacklist

 def test_excluded_offsets_blacklist(self):
     t = Terms(None)
     t.scoped_terms['_'] = [Ref('bourgeois', '12-Q-2', 0)]
     settings.IGNORE_DEFINITIONS_IN['ALL'] = ['bourgeois pig']
     excluded = t.excluded_offsets(Node('You are a bourgeois pig!',
                                        label=['12', '3']))
     self.assertEqual([(10, 23)], excluded)
开发者ID:anthonygarvan,项目名称:regulations-parser,代码行数:7,代码来源:layer_terms_tests.py


示例5: test_calculate_offsets_exclusions

 def test_calculate_offsets_exclusions(self):
     applicable_terms = [('act', 'a')]
     text = "This text defines the 'fudge act'"
     t = Terms(None)
     self.assertEqual([], 
             t.calculate_offsets(text, applicable_terms, [(23,32)]))
     self.assertEqual([('act', 'a', [(29,32)])],
             t.calculate_offsets(text, applicable_terms, [(1,5)]))
开发者ID:dclegalhackers,项目名称:regulations-parser,代码行数:8,代码来源:layer_terms_tests.py


示例6: test_calculate_offsets_word_part

 def test_calculate_offsets_word_part(self):
     """If a defined term is part of another word, don't include it"""
     applicable_terms = [('act', 'a')]
     text = "I am about to act on this transaction."
     t = Terms(None)
     matches = t.calculate_offsets(text, applicable_terms)
     self.assertEqual(1, len(matches))
     self.assertEqual(1, len(matches[0][2]))
开发者ID:khandelwal,项目名称:regulations-parser,代码行数:8,代码来源:layer_terms_tests.py


示例7: test_calculate_offsets_overlap

 def test_calculate_offsets_overlap(self):
     applicable_terms = [('mad cow disease', 'mc'), ('goes mad', 'gm')]
     text = 'There goes mad cow disease'
     t = Terms(None)
     matches = t.calculate_offsets(text, applicable_terms)
     self.assertEqual(1, len(matches))
     _, ref, offsets = matches[0]
     self.assertEqual('mc', ref)
     self.assertEqual('mad cow disease', text[offsets[0][0]:offsets[0][1]])
开发者ID:khandelwal,项目名称:regulations-parser,代码行数:9,代码来源:layer_terms_tests.py


示例8: test_calculate_offsets_lexical_container

 def test_calculate_offsets_lexical_container(self):
     applicable_terms = [('access device', 'a'), ('device', 'd')]
     text = "This access device is fantastic!"
     t = Terms(None)
     matches = t.calculate_offsets(text, applicable_terms)
     self.assertEqual(1, len(matches))
     _, ref, offsets = matches[0]
     self.assertEqual('a', ref)
     self.assertEqual([(5, 18)], offsets)
开发者ID:khandelwal,项目名称:regulations-parser,代码行数:9,代码来源:layer_terms_tests.py


示例9: test_node_definitions_needs_term

 def test_node_definitions_needs_term(self):
     t = Terms(None)
     stack = ParentStack()
     stack.add(0, Node('Definitions', label=['9999']))
     node = Node(u"However, for purposes of rescission under §§ 1111.15 "
                 + u"and 1111.13, and for purposes of §§ 1111.12(a)(1), "
                 + u"and 1111.46(d)(4), the term means all calendar "
                 + u"days...")
     self.assertEqual(([], []), t.node_definitions(node, stack))
开发者ID:khandelwal,项目名称:regulations-parser,代码行数:9,代码来源:layer_terms_tests.py


示例10: test_pre_process_defined_twice

    def test_pre_process_defined_twice(self):
        tree = Node(u"The term “lol” means laugh out loud. "
                    + u"How do you pronounce “lol”, though?",
                    label=['1212', '5'])
        t = Terms(tree)
        t.pre_process()

        self.assertEqual(t.layer['referenced']['lol:1212-5']['position'],
                         (10, 13))
开发者ID:khandelwal,项目名称:regulations-parser,代码行数:9,代码来源:layer_terms_tests.py


示例11: test_node_defintions_act

    def test_node_defintions_act(self):
        t = Terms(None)
        stack = ParentStack()
        stack.add(0, Node('Definitions', label=['9999']))

        node = Node(u'“Act” means something else entirely')
        included, excluded = t.node_definitions(node, stack)
        self.assertEqual(1, len(included))
        self.assertEqual([], excluded)
开发者ID:anthonygarvan,项目名称:regulations-parser,代码行数:9,代码来源:layer_terms_tests.py


示例12: test_pre_process

    def test_pre_process(self):
        noname_subpart = Node('', label=['88', 'Subpart'],
            node_type=Node.EMPTYPART, children=[
                Node(u"Definition. For the purposes of this part, "
                     + u"“abcd” is an alphabet", label=['88', '1'])])
        xqxq_subpart = Node('', title='Subpart XQXQ: The unreadable',
            label=['88', 'Subpart', 'XQXQ'], node_type=Node.SUBPART,
            children=[
                Node(label=['88', '2'], children=[
                    Node(label=['88', '2', 'a'],
                         text="Definitions come later for the purposes of "
                              + "this section ", children=[
                            Node(u"“AXAX” means axe-cop",
                                 label=['88', '2', 'a', '1'])]),
                    Node(label=['88', '2', 'b'], children=[
                        Node(label=['88', '2', 'b', 'i'], children=[
                            Node(label=['88', '2', 'b', 'i', 'A'],
                                 text=u"Definition. “Awesome sauce” means "
                                      +"great for the purposes of this "
                                      + "paragraph",)])])])])
        tree = Node(label=['88'], children=[noname_subpart, xqxq_subpart])
        t = Terms(tree)
        t.pre_process()

        self.assertTrue(('88',) in t.scoped_terms)
        self.assertEqual([Ref('abcd', '88-1', (44,48))], 
                t.scoped_terms[('88',)])
        self.assertTrue(('88','2') in t.scoped_terms)
        self.assertEqual([Ref('axax', '88-2-a-1', (1,5))], 
            t.scoped_terms[('88','2')])
        self.assertTrue(('88','2','b','i','A') in t.scoped_terms)
        self.assertEqual([Ref('awesome sauce', '88-2-b-i-A', (13,26))], 
                t.scoped_terms[('88','2','b','i','A')])

        #   Check subparts are correct
        self.assertEqual({None: ['1'], 'XQXQ': ['2']}, dict(t.subpart_map))

        # Finally, make sure the references are added
        referenced = t.layer['referenced']
        self.assertTrue('abcd:88-1' in referenced)
        self.assertEqual('abcd', referenced['abcd:88-1']['term'])
        self.assertEqual('88-1', referenced['abcd:88-1']['reference'])
        self.assertEqual((44,48), referenced['abcd:88-1']['position'])

        self.assertTrue('axax:88-2-a-1' in referenced)
        self.assertEqual('axax', referenced['axax:88-2-a-1']['term'])
        self.assertEqual('88-2-a-1', referenced['axax:88-2-a-1']['reference'])
        self.assertEqual((1,5), referenced['axax:88-2-a-1']['position'])

        self.assertTrue('awesome sauce:88-2-b-i-A' in referenced)
        self.assertEqual('awesome sauce', 
            referenced['awesome sauce:88-2-b-i-A']['term'])
        self.assertEqual('88-2-b-i-A', 
            referenced['awesome sauce:88-2-b-i-A']['reference'])
        self.assertEqual((13,26), 
            referenced['awesome sauce:88-2-b-i-A']['position'])
开发者ID:dclegalhackers,项目名称:regulations-parser,代码行数:56,代码来源:layer_terms_tests.py


示例13: test_calculate_offsets

 def test_calculate_offsets(self):
     applicable_terms = [('rock band', 'a'), ('band', 'b'), ('drum', 'c'),
                         ('other thing', 'd')]
     text = "I am in a rock band. That's a band with a drum, a rock drum."
     t = Terms(None)
     matches = t.calculate_offsets(text, applicable_terms)
     self.assertItemsEqual(matches, [
         ('rock band', 'a', [(10, 19)]),
         ('band', 'b', [(30, 34)]),
         ('drum', 'c', [(42, 46), (55, 59)])])
开发者ID:cmc333333,项目名称:regulations-parser,代码行数:10,代码来源:layer_terms_tests.py


示例14: test_excluded_offsets

 def test_excluded_offsets(self):
     t = Terms(None)
     t.scoped_terms['_'] = [
         Ref('term', 'lablab', (4, 6)), Ref('other', 'lablab', (8, 9)),
         Ref('more', 'nonnon', (1, 8))
     ]
     self.assertEqual([(4, 6), (8, 9)],
                      t.excluded_offsets('lablab', 'Some text'))
     self.assertEqual([(1, 8)], t.excluded_offsets('nonnon', 'Other'))
     self.assertEqual([], t.excluded_offsets('ababab', 'Ab ab ab'))
开发者ID:khandelwal,项目名称:regulations-parser,代码行数:10,代码来源:layer_terms_tests.py


示例15: test_node_definitions_exclusion

 def test_node_definitions_exclusion(self):
     t = Terms(None)
     node = Node('',[
         Node(u'“Bologna” is a type of deli meat',
             label=['1']),
         Node(u'Let us not forget that the term “bologna” does not ' +
             'include turtle meat', label=['2'])
     ])
     included, excluded = t.node_definitions(node)
     self.assertEqual([Ref('bologna', '1', (1,8))], included)
     self.assertEqual([Ref('bologna', '2', (33,40))], excluded)
开发者ID:dclegalhackers,项目名称:regulations-parser,代码行数:11,代码来源:layer_terms_tests.py


示例16: test_node_defintions_act

    def test_node_defintions_act(self):
        t = Terms(None)
        node = Node(u'“Act” means some reference to 99 U.S.C. 1234')
        included, excluded = t.node_definitions(node)
        self.assertEqual([], included)
        self.assertEqual(1, len(excluded))

        node = Node(u'“Act” means something else entirely')
        included, excluded = t.node_definitions(node)
        self.assertEqual(1, len(included))
        self.assertEqual([], excluded)
开发者ID:dclegalhackers,项目名称:regulations-parser,代码行数:11,代码来源:layer_terms_tests.py


示例17: test_excluded_offsets_blacklist_word_boundaries

 def test_excluded_offsets_blacklist_word_boundaries(self):
     """If an exclusion begins/ends with word characters, the searching
     regex should make sure to only match on word boundaries"""
     settings.IGNORE_DEFINITIONS_IN['ALL'] = ['shed act', '(phrase)']
     t = Terms(None)
     t.scoped_terms['_'] = [Ref('act', '28-6-d', 0)]
     excluded = t.excluded_offsets(Node("That's a watershed act",
                                        label=['28', '9']))
     self.assertEqual([], excluded)
     excluded = t.excluded_offsets(Node("This has a '(phrase)' in it",
                                        label=['28', '9']))
     self.assertNotEqual([], excluded)
开发者ID:anthonygarvan,项目名称:regulations-parser,代码行数:12,代码来源:layer_terms_tests.py


示例18: test_excluded_offsets_blacklist_per_reg

    def test_excluded_offsets_blacklist_per_reg(self):
        t = Terms(None)

        t.scoped_terms['_'] = [
            Ref('bourgeois', '12-Q-2', 0),
            Ref('consumer', '12-Q-3', 0)]

        settings.IGNORE_DEFINITIONS_IN['ALL'] = ['bourgeois pig']
        settings.IGNORE_DEFINITIONS_IN['12'] = ['consumer price index']
        excluded = t.excluded_offsets(
            Node('There is a consumer price index', label=['12', '2']))
        self.assertEqual([(11, 31)], excluded)
开发者ID:anthonygarvan,项目名称:regulations-parser,代码行数:12,代码来源:layer_terms_tests.py


示例19: test_determine_scope

    def test_determine_scope(self):
        stack = ParentStack()
        t = Terms(None)

        stack.add(0, Node(label=['1000']))
        stack.add(1, Node(label=['1000', '1']))

        # Defaults to the entire reg
        self.assertEqual([('1000',)], t.determine_scope(stack))

        stack.add(1, Node('For the purposes of this part, blah blah',
                          label=['1001', '2']))
        self.assertEqual([('1001',), ('1001', Node.INTERP_MARK)],
                         t.determine_scope(stack))

        t.subpart_map = {
            'SubPart 1': ['A', '3'],
            'Other': []
        }
        stack.add(1, Node(label=['1000', '3']))
        stack.add(2, Node('For the purposes of this subpart, yada yada',
                          label=['1000', '3', 'c']))
        self.assertEqual([('1000', 'A'), ('1000', '3'),
                          ('1000', 'A', Node.INTERP_MARK),
                          ('1000', '3', Node.INTERP_MARK)],
                         t.determine_scope(stack))

        stack.add(2, Node('For the purposes of this section, blah blah',
                          label=['1000', '3', 'd']))
        self.assertEqual([('1000', '3'), ('1000', '3', Node.INTERP_MARK)],
                         t.determine_scope(stack))

        stack.add(3, Node('For the purposes of this paragraph, blah blah',
                          label=['1000', '3', 'd', '5']))
        self.assertEqual([('1000', '3', 'd', '5'),
                          ('1000', '3', 'd', '5', Node.INTERP_MARK)],
                         t.determine_scope(stack))

        stack.add(3, Node(label=['1002', '3', 'd', '6']))
        self.assertEqual([('1000', '3'), ('1000', '3', Node.INTERP_MARK)],
                         t.determine_scope(stack))
        stack.add(4, Node(u'For the purposes of this § 1000.3(d)(6)(i), blah',
                          label=['1000', '3', 'd', '6', 'i']))
        self.assertEqual([('1000', '3', 'd', '6', 'i'),
                          ('1000', '3', 'd', '6', 'i', Node.INTERP_MARK)],
                         t.determine_scope(stack))

        stack.add(4, Node(u'For the purposes of § 1000.3, blah',
                          label=['1000', '3', 'd', '6', 'ii']))
        self.assertEqual([('1000', '3'),
                          ('1000', '3', Node.INTERP_MARK)],
                         t.determine_scope(stack))
开发者ID:khandelwal,项目名称:regulations-parser,代码行数:52,代码来源:layer_terms_tests.py


示例20: test_pre_process

    def test_pre_process(self):
        settings.SUBPART_STARTS = {'2': 'XQXQ'}
        tree = Node(children=[
            Node(u"Definition. For the purposes of this part, “abcd” is "
                + "an alphabet", label=['88', '1']),
            Node(children=[
                Node("Definitions come later for the purposes of this "
                    + "section ", children=[
                        Node(u"“AXAX” means axe-cop", label=["88","2","a","1"])
                    ],
                    label=["88","2","a"]),
                Node(children=[Node(children=[Node(
                    u"Definition. “Awesome sauce” means great for the " +
                    "purposes of this paragraph", 
                    label=["88","2","b","i","A"])])])
            ], label=['88','2'])
        ])
        t = Terms(tree)
        t.pre_process()

        self.assertTrue(('88',) in t.scoped_terms)
        self.assertEqual([Ref('abcd', '88-1', (44,48))], 
                t.scoped_terms[('88',)])
        self.assertTrue(('88','2') in t.scoped_terms)
        self.assertEqual([Ref('axax', '88-2-a-1', (1,5))], 
            t.scoped_terms[('88','2')])
        self.assertTrue(('88','2','b','i','A') in t.scoped_terms)
        self.assertEqual([Ref('awesome sauce', '88-2-b-i-A', (13,26))], 
                t.scoped_terms[('88','2','b','i','A')])

        #   Check subparts are correct
        self.assertEqual({None: ['1'], 'XQXQ': ['2']}, dict(t.subpart_map))

        # Finally, make sure the references are added
        referenced = t.layer['referenced']
        self.assertTrue('abcd:88-1' in referenced)
        self.assertEqual('abcd', referenced['abcd:88-1']['term'])
        self.assertEqual('88-1', referenced['abcd:88-1']['reference'])
        self.assertEqual((44,48), referenced['abcd:88-1']['position'])

        self.assertTrue('axax:88-2-a-1' in referenced)
        self.assertEqual('axax', referenced['axax:88-2-a-1']['term'])
        self.assertEqual('88-2-a-1', referenced['axax:88-2-a-1']['reference'])
        self.assertEqual((1,5), referenced['axax:88-2-a-1']['position'])

        self.assertTrue('awesome sauce:88-2-b-i-A' in referenced)
        self.assertEqual('awesome sauce', 
            referenced['awesome sauce:88-2-b-i-A']['term'])
        self.assertEqual('88-2-b-i-A', 
            referenced['awesome sauce:88-2-b-i-A']['reference'])
        self.assertEqual((13,26), 
            referenced['awesome sauce:88-2-b-i-A']['position'])
开发者ID:dezzie,项目名称:regulations-parser,代码行数:52,代码来源:layer_terms.py



注:本文中的regparser.layer.terms.Terms类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python build.process_amendments函数代码示例发布时间:2022-05-26
下一篇:
Python terms.ParentStack类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap