Esempio n. 1
0
    def test_find_agent_fond(self):
        txt = '''Одобрить предоставление безвозмездной финансовой помощи Фонду «Олимп» в размере 1500000 (один миллион пятьсот тысяч) рублей \
     для создания и организации работы интернет-платформы «Олимп» по поддержке стартапов в сфере взаимопомощи.
    Время подведения итогов голосования – 18 часов 00 минут.'''

        r = re.compile(r_quoted_name, re.MULTILINE)
        x = r.search(n(txt))
        self.assertEqual('Олимп', x['name'])

        r = re.compile(r_type_and_name, re.MULTILINE)
        x = r.search(n(txt))
        self.assertEqual('Фонду', x['type'])
        self.assertEqual('Олимп', x['name'])

        r = re.compile(complete_re_str_org, re.MULTILINE)
        x = r.search(n(txt))
        self.assertEqual('Фонду', x['type'])
        self.assertEqual('Олимп', x['name'])

        r = re.compile(complete_re_str, re.MULTILINE)
        x = r.search(n(txt))
        self.assertEqual('Фонду', x['type'])
        self.assertEqual('Олимп', x['name'])

        r = complete_re
        x = r.search(n(txt))
        self.assertEqual('Фонду', x['type'])
        self.assertEqual('Олимп', x['name'])

        tags: List[SemanticTag] = find_org_names(LegalDocument(txt).parse(),
                                                 decay_confidence=False)
        self._validate_org(tags, 1, ('Фонду', 'Олимп', None))
Esempio n. 2
0
    def test_find_agent_fond_2(self):
        txt = '''           основании Устава, с одной стороны, и Фонд «Благо», именуемое в дальнейшем «Благополучатель», в лице председателя'''

        r = re.compile(r_quoted_name, re.MULTILINE)
        x = r.search(n(txt))
        self.assertEqual('Благо', x['name'])

        r = re.compile(r_type_and_name, re.MULTILINE)
        x = r.search(n(txt))
        self.assertEqual('Фонд', x['type'])
        self.assertEqual('Благо', x['name'])

        r = re.compile(complete_re_str_org, re.MULTILINE)
        x = r.search(n(txt))
        self.assertEqual('Фонд', x['type'])
        self.assertEqual('Благо', x['name'])

        r = re.compile(complete_re_str, re.MULTILINE)
        x = r.search(n(txt))
        self.assertEqual('Фонд', x['type'])
        self.assertEqual('Благо', x['name'])

        r = complete_re
        x = r.search(n(txt))
        self.assertEqual('Фонд', x['type'])
        self.assertEqual('Благо', x['name'])

        tags: List[SemanticTag] = find_org_names(LegalDocument(txt).parse(),
                                                 decay_confidence=False)
        self._validate_org(tags, 1, ('Фонд', 'Благо', 'Благополучатель'))
Esempio n. 3
0
def _parse_contract(contract, row) -> ContractDocument:
  contract.agents_tags = find_org_names(contract)
  row[4:8] = [contract.tag_value('org.1.name'),
              contract.tag_value('org.1.alias'),
              contract.tag_value('org.2.name'),
              contract.tag_value('org.2.alias')]
  return contract
Esempio n. 4
0
    def test_org_dict_0_1(self):

        t0 = """Общество с ограниченной ответственностью «Газпромнефть-сахалин», в лице Генерального директора, Имя Имя Имя, действующего на основании Устава, именуемое в дальнейшем «Заказчик», и ЧАСТНОЕ""" \
             + _suffix
        tags: [SemanticTag] = find_org_names(LegalDocument(t0).parse())

        self._validate_org(tags, 1,
                           ('Общество с ограниченной ответственностью',
                            'Газпромнефть-Сахалин', 'Заказчик'))
Esempio n. 5
0
    def test_org_dict_4_2(self):
        t = n(
            """Государственное автономное  учреждение дополнительного профессионального образования Свердловской области «Армавирский учебно-технический центр»,  на основании Лицензии на право осуществления образовательной деятельности в лице директора  Птицына Евгения Георгиевича, действующего на основании Устава, с одной стороны, """
        )

        tags: List[SemanticTag] = find_org_names(LegalDocument(t).parse())
        self._validate_org(tags, 1,
                           ('Государственное автономное учреждение',
                            'Армавирский учебно-технический центр', None))
Esempio n. 6
0
    def test_org_dict_3_1(self):

        t = n("""
    Федеральное государственное бюджетное образовательное учреждение высшего образования «Государственный университет» (ФГБОУ ВО «ГУ»), именуемое в дальнейшем «Исполнитель», в лице ____________________ Сергеева
    """)

        tags: List[SemanticTag] = find_org_names(LegalDocument(t).parse())
        self._validate_org(tags, 1, (
            'Федеральное государственное бюджетное образовательное учреждение высшего образования',
            'Государственный университет', 'Исполнитель'))
Esempio n. 7
0
    def test_org_dict_2(self):

        t = n("""
    ООО «Газпромнефть-Региональные продажи» в дальнейшем «БлаготворЮтель», с другой стороны
    """)

        tags: List[SemanticTag] = find_org_names(LegalDocument(t).parse())
        self._validate_org(
            tags, 1, ('Общество с ограниченной ответственностью',
                      'Газпромнефть-Региональные продажи', 'БлаготворЮтель'))
Esempio n. 8
0
    def test_org_dict_4_1(self):

        t = n(
            """Автономная некоммерческая организация дополнительного профессионального образования «ООО»,  \
      именуемое далее Исполнитель, в лице Директора Уткиной Е.В., действующей на основании Устава, с одной стороны,"""
        )

        tags: List[SemanticTag] = find_org_names(LegalDocument(t).parse())
        self._validate_org(
            tags, 1,
            ('Автономная некоммерческая организация', 'ООО', 'Исполнитель'))
Esempio n. 9
0
    def test_find_ip3(self):

        t = n("""
    Сибирь , и ИП Лужин В. В., именуемый в дальнейшем « Исполнитель » , \
    с другой стороны , именуемые в дальнейшем совместно « Стороны » , а по отдельности - « Сторона » , заключили настоящий договор о нижеследующем : 
    """)

        tags: [SemanticTag] = find_org_names(LegalDocument(t).parse())
        self._validate_org(
            tags, 1,
            ('Индивидуальный предприниматель', 'Лужин В. В.', 'Исполнитель'))
Esempio n. 10
0
    def test_org_dict_1(self):

        t = n(
            "ООО «Газпромнефть-Региональные продажи», в лице начальника управления по связям с общественностью "
            "Иванова Семена Евгеньевича, действующего на основании Доверенности в дальнейшем «Благотворитель», "
            "с другой стороны заключили настоящий Договор о нижеследующем: \n")

        tags: List[SemanticTag] = find_org_names(LegalDocument(t).parse())

        self._validate_org(
            tags, 1, ('Общество с ограниченной ответственностью',
                      'Газпромнефть-Региональные продажи', 'Благотворитель'))
Esempio n. 11
0
    def test_org_dict_0(self):

        t1 = 'ЧАСТНОЕ УЧРЕЖДЕНИЕ ДОПОЛНИТЕЛЬНОГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ " БИЗНЕС ШКОЛА - СЕМИНАРЫ", ' \
             'действующее на ' \
             'основании лицензии №_____от _______., именуемое в дальнейшем «Исполнитель», ' \
             'в лице ___________ Имя Имя Имя,  ' \
             'действующего на основании Устава, и Имя Имя Имя, именуемая в дальнейшем «Слушатель», в дальнейшем совместно ' \
             'именуемые «Стороны», а по отдельности – «Сторона», заключили настоящий Договор об оказании образовательных ' \
             'услуг (далее – «Договор»)  о нижеследующем:'

        t1 = n(t1)
        # r = re.compile(r_types, re.MULTILINE)
        r = complete_re_ignore_case
        x = r.search(t1)
        print('===r_alias_prefix=', x['r_alias_prefix'])
        print('===r_quoted_name=', x['r_quoted_name'])
        print('===r_quoted_name_alias=', x['r_quoted_name_alias'])

        tags: List[SemanticTag] = find_org_names(LegalDocument(t1).parse())

        self._validate_org(tags, 1, (
            'ЧАСТНОЕ УЧРЕЖДЕНИЕ ДОПОЛНИТЕЛЬНОГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ',
            'БИЗНЕС ШКОЛА-СЕМИНАРЫ', 'Исполнитель'))

        t = 'Общество с ограниченной ответственностью «Газпромнефть-сахалин», в лице Генерального директора, ' \
            'Имя Имя Имя, действующего на основании Устава, именуемое в дальнейшем «Заказчик», ' \
            'и ЧАСТНОЕ УЧРЕЖДЕНИЕ ДОПОЛНИТЕЛЬНОГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ " БИЗНЕС ШКОЛА - СЕМИНАРЫ", действующее ' \
            'на основании лицензии №_____от _______., именуемое в дальнейшем «Исполнитель», в лице ___________ Имя Имя Имя, ' \
            'действующего на основании Устава, и Имя Имя Имя, именуемая в дальнейшем «Слушатель», в дальнейшем совместно ' \
            'именуемые «Стороны», а по отдельности – «Сторона», заключили ' \
            'настоящий Договор об оказании образовательных услуг (далее – «Договор») о нижеследующем:'

        tags: List[SemanticTag] = find_org_names(LegalDocument(t).parse())

        self._validate_org(tags, 2,
                           ('Общество с ограниченной ответственностью',
                            'Газпромнефть-Сахалин', 'Заказчик'))
        self._validate_org(tags, 1, (
            'ЧАСТНОЕ УЧРЕЖДЕНИЕ ДОПОЛНИТЕЛЬНОГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ',
            'БИЗНЕС ШКОЛА-СЕМИНАРЫ', 'Исполнитель'))
Esempio n. 12
0
    def test_find_agents_person(self):
        doc_text = """Общество с ограниченной ответственностью «Кишки Бога» (ООО «Кишки Бога»), именуемое в дальнейшем «Заказчик», \
    в лице генерального директора Шприца Александра Устыныча, действующего на основании Устава, с одной \
    стороны, и Базедов Болезнь Бледнович, являющийся гражданином Российской Федерации, действующий \
    от собственного имени, именуемый в дальнейшем «Исполнитель», с другой стороны, совместно \
    именуемые «Стороны», и каждая в отдельности «Сторона», заключили настоящий """

        tags: List[SemanticTag] = find_org_names(
            LegalDocument(doc_text).parse())
        self._validate_org(tags, 2,
                           ('Общество с ограниченной ответственностью',
                            'Кишки Бога', 'Заказчик'))
        self._validate_org(tags, 1,
                           (None, 'Базедов Болезнь Бледнович', 'Исполнитель'))
Esempio n. 13
0
    def test_find_agent_MPZ(self):
        txt = '''
      2016 год.
     Акционерное общество “Газпромнефть - МНПЗ” (АО “ГПН-МНПЗ”), именуемое в дальнейшем «Организацией» водопроводно-канализационного хозяйства'''

        txt = n(txt)

        x = re.compile(r_type_and_name, re.MULTILINE).search(n(txt))
        self.assertEqual('Акционерное общество', x['type'])
        self.assertEqual('Газпромнефть - МНПЗ', x['name'])

        tags: List[SemanticTag] = find_org_names(LegalDocument(txt).parse())
        self._validate_org(
            tags, 1,
            ('Акционерное общество', 'Газпромнефть-МНПЗ', 'Организацией'))
Esempio n. 14
0
    def test_org_dict_0_2(self):

        t0 = """, и 
    Общество с ограниченной ответственностью «Частная охранная \
    организация «СТАР» (ООО «ЧОО «СТАР») (Лицензия, серия ЧО № _________, регист\
    рационный № ___ от ___________., на осуществление частной охранной деятельности, \
    выдана ГУ МВД России по г. Санкт-Петербургу и Ленинградской области, предоставлена\
     на срок до _________ года), именуемое в дальнейшем «Исполнитель», в лице _______________ Гончаров\
     а Геннадия Федоровича, действующего на основании Устава, с другой стороны """

        tags: [SemanticTag] = find_org_names(LegalDocument(t0).parse())

        self._validate_org(
            tags, 1, ('Общество с ограниченной ответственностью',
                      'Частная охранная организация «СТАР»', 'Исполнитель'))
Esempio n. 15
0
    def test_org_dict(self):

        t = """
    Муниципальное бюджетное учреждение города Москвы «Радуга» именуемый в дальнейшем
    «Благополучатель», в лице директора Соляной Марины Александровны, действующая на основании
    Устава, с одной стороны, и 
    
    ООО «Газпромнефть-Региональные продажи» в лице начальника управления по связям с общественностью Иванова Семена Евгеньевича, действующего на основании Доверенности в дальнейшем «Благотворитель», с другой стороны заключили настоящий Договор о нижеследующем:
    """ + _suffix

        tags: List[SemanticTag] = find_org_names(LegalDocument(t).parse())
        self._validate_org(tags, 2, ('Муниципальное бюджетное учреждение',
                                     'Радуга', 'Благополучатель'))
        self._validate_org(
            tags, 1, ('Общество с ограниченной ответственностью',
                      'Газпромнефть-Региональные продажи', 'Благотворитель'))
Esempio n. 16
0
    def test_find_agents_chu(self):
        t = 'ДОГОВОР НА ОКАЗАНИЕ ОБРАЗОВАТЕЛЬНЫХ УСЛУГ № 1449\nГород Москва\t03.10.2016\nОбщество с ограниченной ' \
            'ответственностью «Радость-Радость», в лице Генерального директора, Александра Александра Александра, действу' \
            'ющего на основании Устава, именуемое ' \
            'в дальнейшем «Заказчик», и ЧАСТНОЕ УЧРЕЖДЕНИЕ ДОПОЛНИТЕЛЬНОГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ " БИЗНЕС ШКОЛА - СЕМИНАРЫ", действующее ' \
            'на основании лицензии №_____от _______., именуемое в ' \
            'дальнейшем «Исполнитель», в лице ___________ Александры Александры Александры, ' \
            'действующего на основании Устава, и '

        tags: List[SemanticTag] = find_org_names(ContractDocument(t).parse())
        self._validate_org(tags, 2,
                           ('Общество с ограниченной ответственностью',
                            'Радость-Радость', 'Заказчик'))
        self._validate_org(tags, 1, (
            'ЧАСТНОЕ УЧРЕЖДЕНИЕ ДОПОЛНИТЕЛЬНОГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ',
            'БИЗНЕС ШКОЛА-СЕМИНАРЫ', 'Исполнитель'))
Esempio n. 17
0
    def test_find_agents_1(self):
        doc_text = """Акционерное общество «Газпромнефть - мобильная карта» (АО «ГВК»), именуемое в \
    дальнейшем «Благотворитель», в лице заместителя генерального директора по персоналу и \
    организационному развитию Неизвестного И.И., действующего на основании на основании Доверенности № Д-17 от 29.01.2018г, \
    с одной стороны, и Фонд поддержки социальных инициатив «Интерстеларные пущи», именуемый в дальнейшем «Благополучатель», \
    в лице Генерального директора ____________________действующего на основании Устава, с другой стороны, \
    именуемые совместно «Стороны», а по отдельности «Сторона», заключили настоящий Договор о нижеследующем:
    """

        tags: List[SemanticTag] = find_org_names(
            LegalDocument(doc_text).parse())
        self._validate_org(tags, 1,
                           ('Акционерное общество',
                            'Газпромнефть-Мобильная карта', 'Благотворитель'))
        self._validate_org(tags, 2, ('Фонд поддержки социальных инициатив',
                                     'Интерстеларные пущи', 'Благополучатель'))
Esempio n. 18
0
    def test_org_dict_3(self):

        t = n("""
    Муниципальное бюджетное учреждение города Москвы «Радуга» именуемый в дальнейшем
    «Благополучатель», в лице директора Соляной Марины Александровны, действующая на основании
    Устава, с одной стороны, и ООО «Газпромнефть-Региональные продажи», аааааааа аааа в дальнейшем «Благотворитель», с другой стороны заключили настоящий Договор о
    нижеследующем:
    """)

        tags: [SemanticTag] = find_org_names(LegalDocument(t).parse(),
                                             decay_confidence=False)
        self._validate_org(tags, 2, ('Муниципальное бюджетное учреждение',
                                     'Радуга', 'Благополучатель'))
        self._validate_org(
            tags, 1, ('Общество с ограниченной ответственностью',
                      'Газпромнефть-Региональные продажи', 'Благотворитель'))
Esempio n. 19
0
    def test_find_agent_no_comma(self):
        txt_full = 'Акционерное Общество «Газпромнефть – Терминал» именуемое в дальнейшем «Продавец», в лице генерального ' \
                   'директора, действующего на основании Устава, с одной стороны, и ООО «Ромашка», именуемое в ' \
                   'дальнейшем «Покупатель», в лице Петрова П.П., действующего на основании Устава, с другой стороны, совместно ' \
                   'именуемые «Стороны», а по отдельности - «Сторона», заключили настоящий договор (далее по тексту – ' \
                   'Договор) о нижеследующем:'
        doc = LegalDocument(txt_full).parse()
        print(doc.text)

        txt = txt_full[150:]

        r = re.compile(r_quoted_name, re.MULTILINE)
        normalized_txt = n(txt)
        x = r.search(normalized_txt)
        self.assertEqual('Ромашка', x['name'])

        r = re.compile(r_type_and_name, re.MULTILINE)
        x = r.search(normalized_txt)
        self.assertEqual('ООО', x['type'])
        self.assertEqual('Ромашка', x['name'])

        r = re.compile(complete_re_str_org, re.MULTILINE)
        x = r.search(normalized_txt)
        self.assertEqual('ООО', x['type'])
        self.assertEqual('Ромашка', x['name'])

        r = re.compile(complete_re_str, re.MULTILINE)
        x = r.search(normalized_txt)
        self.assertEqual('ООО', x['type'])
        self.assertEqual('Ромашка', x['name'])
        self.assertEqual('Покупатель', x['alias'])
        print('r_alias_prefix=', x['r_alias_prefix'])
        print('_alias_ext=', x['_alias_ext'])

        r = complete_re
        x = r.search(normalized_txt)
        self.assertEqual('ООО', x['type'])
        self.assertEqual('Ромашка', x['name'])

        tags: List[SemanticTag] = find_org_names(doc, decay_confidence=False)
        self._validate_org(
            tags, 1,
            ('Акционерное общество', 'Газпромнефть-Терминал', 'Продавец'))
        self._validate_org(tags, 2,
                           ('Общество с ограниченной ответственностью',
                            'Ромашка', 'Покупатель'))
Esempio n. 20
0
    def test_find_agent_0(self):
        txt = '''
    , и
    Общество с ограниченной ответственностью «Научно-производственная компания «НефтеБурГаз», в лице Генерального директора Рожкова Александра Владимировича, действующего на основании Устава, именуемое в дальнейшем «Подрядчик»,
    '''

        r = re.compile(r_type_and_name, re.MULTILINE)

        x = r.search(n(txt))
        self.assertEqual('Общество с ограниченной ответственностью', x['type'])
        self.assertEqual('Научно-производственная компания «НефтеБурГаз',
                         x['name'])

        tags: List[SemanticTag] = find_org_names(LegalDocument(txt).parse())
        self._validate_org(
            tags, 1,
            ('Общество с ограниченной ответственностью',
             'Научно-производственная компания «НефтеБурГаз»', 'Подрядчик'))
Esempio n. 21
0
    def test_find_agents_personz_2(self):
        t0 = """Общество с ограниченной ответственностью «Кишки Бога» (ООО «Кишки Бога»), именуемое в дальнейшем «Заказчик», \
    в лице генерального директора Шприца Александра Устыныча, действующего на основании Устава, с одной \
    стороны, и Базедов Недуг Бледнович, являющийся гражданином Российской Федерации, действующий \
    от собственного имени, именуемый в дальнейшем «Исполнитель», с другой стороны, совместно \
    именуемые «Стороны», и каждая в отдельности «Сторона», заключили настоящий """

        # r = re.compile(complete_re_str, re.MULTILINE)
        # x = r.search(t0)
        # for t in x.groups():
        #   print(t)
        # self.assertEqual('Базедов Недуг Бледнович', x['human_name'])

        tags: List[SemanticTag] = find_org_names(LegalDocument(t0).parse())
        self._validate_org(tags, 2,
                           ('Общество с ограниченной ответственностью',
                            'Кишки Бога', 'Заказчик'))
        self._validate_org(tags, 1,
                           (None, 'Базедов Недуг Бледнович', 'Исполнитель'))
Esempio n. 22
0
def find_charter_org(charter: LegalDocument) -> [SemanticTag]:
    """
  TODO: see also find_protocol_org
  :param charter:
  :return:
  """
    ret = []
    x: [SemanticTag] = find_org_names(
        charter[0:HyperParameters.protocol_caption_max_size_words],
        max_names=1)
    nm = SemanticTag.find_by_kind(x, 'org-1-name')
    if nm is not None:
        ret.append(nm)
    else:
        charter.warn(ParserWarnings.org_name_not_found)

    tp = SemanticTag.find_by_kind(x, 'org-1-type')
    if tp is not None:
        ret.append(tp)
    else:
        charter.warn(ParserWarnings.org_type_not_found)

    return ret
Esempio n. 23
0
    def test_find_agent_ao(self):
        txt = '''Акционерное Общество «Газпромнефть – Терминал» именуемое в дальнейшем «Продавец», \
      в лице генерального директора, действующего на основании Устава, с одной стороны, и ООО «Ромашка»'''

        r = re.compile(r_quoted_name, re.MULTILINE)
        x = r.search(n(txt))
        self.assertEqual('Газпромнефть – Терминал', x['name'])

        r = re.compile(r_type_and_name, re.MULTILINE)
        x = r.search(n(txt))
        self.assertEqual('Акционерное Общество', x['type'])
        self.assertEqual('Газпромнефть – Терминал', x['name'])

        r = re.compile(complete_re_str_org, re.MULTILINE)
        x = r.search(n(txt))
        self.assertEqual('Акционерное Общество', x['type'])
        self.assertEqual('Газпромнефть – Терминал', x['name'])

        r = re.compile(complete_re_str, re.MULTILINE)
        x = r.search(n(txt))
        self.assertEqual('Акционерное Общество', x['type'])
        self.assertEqual('Газпромнефть – Терминал', x['name'])

        print('r_alias_prefix=', x['r_alias_prefix'])
        print('_alias_ext=', x['_alias_ext'])

        r = complete_re
        x = r.search(n(txt))
        self.assertEqual('Акционерное Общество', x['type'])
        self.assertEqual('Газпромнефть – Терминал', x['name'])

        tags: List[SemanticTag] = find_org_names(LegalDocument(txt).parse(),
                                                 decay_confidence=False)
        self._validate_org(
            tags, 1,
            ('Акционерное общество', 'Газпромнефть-Терминал', 'Продавец'))