예제 #1
0
 def initialize() -> None:
     if (BookLinkToken.__m_termins is not None): 
         return
     BookLinkToken.__m_termins = TerminCollection()
     tt = Termin._new117("ТЕКСТ", BookLinkTyp.NAMETAIL)
     BookLinkToken.__m_termins.add(tt)
     tt = Termin._new117("ЭЛЕКТРОННЫЙ РЕСУРС", BookLinkTyp.ELECTRONRES)
     tt.addVariant("ЕЛЕКТРОННИЙ РЕСУРС", False)
     tt.addVariant("MODE OF ACCESS", False)
     tt.addVariant("URL", False)
     tt.addVariant("URLS", False)
     tt.addVariant("ELECTRONIC RESOURCE", False)
     tt.addVariant("ON LINE", False)
     tt.addVariant("ONLINE", False)
     BookLinkToken.__m_termins.add(tt)
     tt = Termin._new117("РЕЖИМ ДОСТУПА", BookLinkTyp.MISC)
     tt.addVariant("РЕЖИМ ДОСТУПУ", False)
     tt.addVariant("AVAILABLE", False)
     BookLinkToken.__m_termins.add(tt)
     tt = Termin._new117("МОНОГРАФИЯ", BookLinkTyp.TYPE)
     tt.addVariant("МОНОГРАФІЯ", False)
     BookLinkToken.__m_termins.add(tt)
     tt = Termin._new117("УЧЕБНОЕ ПОСОБИЕ", BookLinkTyp.TYPE)
     tt.addAbridge("УЧ.ПОСОБИЕ")
     tt.addAbridge("УЧЕБ.")
     tt.addAbridge("УЧЕБН.")
     tt.addVariant("УЧЕБНИК", False)
     tt.addVariant("ПОСОБИЕ", False)
     BookLinkToken.__m_termins.add(tt)
     tt = Termin._new118("НАВЧАЛЬНИЙ ПОСІБНИК", BookLinkTyp.TYPE, MorphLang.UA)
     tt.addAbridge("НАВЧ.ПОСІБНИК")
     tt.addAbridge("НАВЧ.ПОСІБ")
     tt.addVariant("ПІДРУЧНИК", False)
     tt.addVariant("ПІДРУЧ", False)
     BookLinkToken.__m_termins.add(tt)
     tt = Termin._new117("АВТОРЕФЕРАТ", BookLinkTyp.TYPE)
     tt.addAbridge("АВТОРЕФ.")
     BookLinkToken.__m_termins.add(tt)
     tt = Termin._new117("ДИССЕРТАЦИЯ", BookLinkTyp.TYPE)
     tt.addVariant("ДИСС", False)
     tt.addAbridge("ДИС.")
     tt.addVariant("ДИСЕРТАЦІЯ", False)
     tt.addVariant("DISSERTATION", False)
     BookLinkToken.__m_termins.add(tt)
     tt = Termin._new117("ДОКЛАД", BookLinkTyp.TYPE)
     tt.addVariant("ДОКЛ", False)
     tt.addAbridge("ДОКЛ.")
     tt.addVariant("ДОПОВІДЬ", False)
     BookLinkToken.__m_termins.add(tt)
     tt = Termin._new117("ПОД РЕДАКЦИЕЙ", BookLinkTyp.EDITORS)
     tt.addAbridge("ПОД РЕД")
     tt.addAbridge("ОТВ.РЕД")
     tt.addAbridge("ОТВ.РЕДАКТОР")
     tt.addVariant("ПОД ОБЩЕЙ РЕДАКЦИЕЙ", False)
     tt.addAbridge("ОТВ.РЕД")
     tt.addAbridge("ОТВ.РЕДАКТОР")
     tt.addAbridge("ПОД ОБЩ. РЕД")
     tt.addAbridge("ПОД ОБЩЕЙ РЕД")
     BookLinkToken.__m_termins.add(tt)
     tt = Termin._new118("ПІД РЕДАКЦІЄЮ", BookLinkTyp.EDITORS, MorphLang.UA)
     tt.addAbridge("ПІД РЕД")
     tt.addAbridge("ОТВ.РЕД")
     tt.addAbridge("ВІД. РЕДАКТОР")
     tt.addVariant("ЗА ЗАГ.РЕД", False)
     tt.addAbridge("ВІДПОВІДАЛЬНИЙ РЕДАКТОР")
     BookLinkToken.__m_termins.add(tt)
     tt = Termin._new117("СОСТАВИТЕЛЬ", BookLinkTyp.SOSTAVITEL)
     tt.addAbridge("СОСТ.")
     BookLinkToken.__m_termins.add(tt)
     tt = Termin._new118("УКЛАДАЧ", BookLinkTyp.SOSTAVITEL, MorphLang.UA)
     tt.addAbridge("УКЛ.")
     BookLinkToken.__m_termins.add(tt)
     for s in ["Политиздат", "Прогресс", "Мысль", "Просвещение", "Наука", "Физматлит", "Физматкнига", "Инфра-М", "Питер", "Интеллект", "Аспект пресс", "Аспект-пресс", "АСВ", "Радиотехника", "Радио и связь", "Лань", "Академия", "Академкнига", "URSS", "Академический проект", "БИНОМ", "БВХ", "Вильямс", "Владос", "Волтерс Клувер", "Wolters Kluwer", "Восток-Запад", "Высшая школа", "ГЕО", "Дашков и К", "Кнорус", "Когито-Центр", "КолосС", "Проспект", "РХД", "Статистика", "Финансы и статистика", "Флинта", "Юнити-дана"]: 
         BookLinkToken.__m_termins.add(Termin._new117(s.upper(), BookLinkTyp.PRESS))
     tt = Termin._new117("ИЗДАТЕЛЬСТВО", BookLinkTyp.PRESS)
     tt.addAbridge("ИЗ-ВО")
     tt.addAbridge("ИЗД-ВО")
     tt.addAbridge("ИЗДАТ-ВО")
     tt.addVariant("ISSN", False)
     tt.addVariant("PRESS", False)
     tt.addVariant("VERLAG", False)
     tt.addVariant("JOURNAL", False)
     BookLinkToken.__m_termins.add(tt)
예제 #2
0
 def initialize() -> None:
     if (TitleItemToken.M_TERMINS is not None):
         return
     TitleItemToken.M_TERMINS = TerminCollection()
     for s in [
             "РАБОТА", "ДИССЕРТАЦИЯ", "ОТЧЕТ", "ОБЗОР", "ДИПЛОМ", "ПРОЕКТ",
             "СПРАВКА", "АВТОРЕФЕРАТ", "РЕФЕРАТ", "TECHNOLOGY ISSUES",
             "TECHNOLOGY COURSE", "УЧЕБНИК", "УЧЕБНОЕ ПОСОБИЕ"
     ]:
         TitleItemToken.M_TERMINS.add(
             Termin._new100(s, TitleItemToken.Types.TYP))
     for s in [
             "РОБОТА", "ДИСЕРТАЦІЯ", "ЗВІТ", "ОГЛЯД", "ДИПЛОМ", "ПРОЕКТ",
             "ДОВІДКА", "АВТОРЕФЕРАТ", "РЕФЕРАТ"
     ]:
         TitleItemToken.M_TERMINS.add(
             Termin._new388(s, MorphLang.UA, TitleItemToken.Types.TYP))
     for s in [
             "ДОПУСТИТЬ К ЗАЩИТА", "РЕКОМЕНДОВАТЬ К ЗАЩИТА", "ДОЛЖНОСТЬ",
             "ЦЕЛЬ РАБОТЫ", "НА ПРАВАХ РУКОПИСИ", "ПО ИЗДАНИЮ", "ПОЛУЧЕНО"
     ]:
         TitleItemToken.M_TERMINS.add(
             Termin._new100(s, TitleItemToken.Types.DUST))
     for s in [
             "ДОПУСТИТИ ДО ЗАХИСТУ", "РЕКОМЕНДУВАТИ ДО ЗАХИСТ", "ПОСАДА",
             "МЕТА РОБОТИ", "НА ПРАВАХ РУКОПИСУ", "ПО ВИДАННЮ", "ОТРИМАНО"
     ]:
         TitleItemToken.M_TERMINS.add(
             Termin._new388(s, MorphLang.UA, TitleItemToken.Types.DUST))
     for s in ["УТВЕРЖДАТЬ", "СОГЛАСЕН", "СТВЕРДЖУВАТИ", "ЗГОДЕН"]:
         TitleItemToken.M_TERMINS.add(
             Termin._new100(s, TitleItemToken.Types.ADOPT))
     for s in [
             "НАУЧНЫЙ РУКОВОДИТЕЛЬ", "РУКОВОДИТЕЛЬ РАБОТА",
             "НАУКОВИЙ КЕРІВНИК", "КЕРІВНИК РОБОТА"
     ]:
         TitleItemToken.M_TERMINS.add(
             Termin._new100(s, TitleItemToken.Types.BOSS))
     for s in [
             "НАУЧНЫЙ КОНСУЛЬТАНТ", "КОНСУЛЬТАНТ", "НАУКОВИЙ КОНСУЛЬТАНТ"
     ]:
         TitleItemToken.M_TERMINS.add(
             Termin._new100(s, TitleItemToken.Types.CONSULTANT))
     for s in [
             "РЕДАКТОР", "РЕДАКТОРСКАЯ ГРУППА", "РЕЦЕНЗЕНТ",
             "РЕДАКТОРСЬКА ГРУПА"
     ]:
         TitleItemToken.M_TERMINS.add(
             Termin._new100(s, TitleItemToken.Types.EDITOR))
     for s in ["ОФИЦИАЛЬНЫЙ ОППОНЕНТ", "ОППОНЕНТ", "ОФІЦІЙНИЙ ОПОНЕНТ"]:
         TitleItemToken.M_TERMINS.add(
             Termin._new100(s, TitleItemToken.Types.OPPONENT))
     for s in [
             "ИСПОЛНИТЕЛЬ", "ОТВЕТСТВЕННЫЙ ИСПОЛНИТЕЛЬ", "АВТОР",
             "ДИПЛОМНИК", "КОЛЛЕКТТИВ ИСПОЛНИТЕЛЕЙ", "ВЫПОЛНИТЬ",
             "ИСПОЛНИТЬ"
     ]:
         TitleItemToken.M_TERMINS.add(
             Termin._new100(s, TitleItemToken.Types.WORKER))
     for s in [
             "ВИКОНАВЕЦЬ", "ВІДПОВІДАЛЬНИЙ ВИКОНАВЕЦЬ", "АВТОР",
             "ДИПЛОМНИК", "КОЛЛЕКТТИВ ВИКОНАВЦІВ", "ВИКОНАТИ", "ВИКОНАТИ"
     ]:
         TitleItemToken.M_TERMINS.add(
             Termin._new388(s, MorphLang.UA, TitleItemToken.Types.WORKER))
     for s in ["КЛЮЧЕВЫЕ СЛОВА", "KEYWORDS", "КЛЮЧОВІ СЛОВА"]:
         TitleItemToken.M_TERMINS.add(
             Termin._new100(s, TitleItemToken.Types.KEYWORDS))
예제 #3
0
 def _initialize() -> None:
     if (NounPhraseItem.__m_std_adjectives is not None):
         return
     NounPhraseItem.__m_std_adjectives = TerminCollection()
     for s in ["СЕВЕРНЫЙ", "ЮЖНЫЙ", "ЗАПАДНЫЙ", "ВОСТОЧНЫЙ"]:
         NounPhraseItem.__m_std_adjectives.add(Termin(s))
예제 #4
0
 def initialize() -> None:
     if (DateItemToken.M_NEW_AGE is not None):
         return
     DateItemToken.M_NEW_AGE = TerminCollection()
     tt = Termin._new676("НОВАЯ ЭРА", MorphLang.RU, True, "НОВОЙ ЭРЫ")
     tt.addVariant("НАША ЭРА", True)
     tt.addAbridge("Н.Э.")
     DateItemToken.M_NEW_AGE.add(tt)
     tt = Termin._new676("НОВА ЕРА", MorphLang.UA, True, "НОВОЇ ЕРИ")
     tt.addVariant("НАША ЕРА", True)
     tt.addAbridge("Н.Е.")
     DateItemToken.M_NEW_AGE.add(tt)
     tt = Termin("РОЖДЕСТВО ХРИСТОВО", MorphLang.RU, True)
     tt.addAbridge("Р.Х.")
     DateItemToken.M_NEW_AGE.add(tt)
     tt = Termin("РІЗДВА ХРИСТОВОГО", MorphLang.UA, True)
     tt.addAbridge("Р.Х.")
     DateItemToken.M_NEW_AGE.add(tt)
     DateItemToken.M_SEASONS = TerminCollection()
     DateItemToken.M_SEASONS.add(
         Termin._new678("ЗИМА", MorphLang.RU, True, DatePointerType.WINTER))
     DateItemToken.M_SEASONS.add(
         Termin._new678("WINTER", MorphLang.EN, True,
                        DatePointerType.WINTER))
     t = Termin._new678("ВЕСНА", MorphLang.RU, True, DatePointerType.SPRING)
     t.addVariant("ПРОВЕСНА", True)
     DateItemToken.M_SEASONS.add(t)
     DateItemToken.M_SEASONS.add(
         Termin._new678("SPRING", MorphLang.EN, True,
                        DatePointerType.SPRING))
     t = Termin._new678("ЛЕТО", MorphLang.RU, True, DatePointerType.SUMMER)
     DateItemToken.M_SEASONS.add(t)
     t = Termin._new678("ЛІТО", MorphLang.UA, True, DatePointerType.SUMMER)
     DateItemToken.M_SEASONS.add(t)
     t = Termin._new678("ОСЕНЬ", MorphLang.RU, True, DatePointerType.AUTUMN)
     DateItemToken.M_SEASONS.add(t)
     t = Termin._new678("AUTUMN", MorphLang.EN, True,
                        DatePointerType.AUTUMN)
     DateItemToken.M_SEASONS.add(t)
     t = Termin._new678("ОСІНЬ", MorphLang.UA, True, DatePointerType.AUTUMN)
     DateItemToken.M_SEASONS.add(t)
     DateItemToken.M_MONTHES = TerminCollection()
     months = [
         "ЯНВАРЬ", "ФЕВРАЛЬ", "МАРТ", "АПРЕЛЬ", "МАЙ", "ИЮНЬ", "ИЮЛЬ",
         "АВГУСТ", "СЕНТЯБРЬ", "ОКТЯБРЬ", "НОЯБРЬ", "ДЕКАБРЬ"
     ]
     i = 0
     while i < len(months):
         t = Termin._new678(months[i], MorphLang.RU, True, i + 1)
         DateItemToken.M_MONTHES.add(t)
         i += 1
     months = [
         "СІЧЕНЬ", "ЛЮТИЙ", "БЕРЕЗЕНЬ", "КВІТЕНЬ", "ТРАВЕНЬ", "ЧЕРВЕНЬ",
         "ЛИПЕНЬ", "СЕРПЕНЬ", "ВЕРЕСЕНЬ", "ЖОВТЕНЬ", "ЛИСТОПАД", "ГРУДЕНЬ"
     ]
     i = 0
     while i < len(months):
         t = Termin._new678(months[i], MorphLang.UA, True, i + 1)
         DateItemToken.M_MONTHES.add(t)
         i += 1
     months = [
         "JANUARY", "FEBRUARY", "MARCH", "APRIL", "MAY", "JUNE", "JULY",
         "AUGUST", "SEPTEMBER", "OCTOBER", "NOVEMBER", "DECEMBER"
     ]
     i = 0
     while i < len(months):
         t = Termin._new678(months[i], MorphLang.EN, True, i + 1)
         DateItemToken.M_MONTHES.add(t)
         i += 1
     months = [
         "GENNAIO", "FEBBRAIO", "MARZO", "APRILE", "MAGGIO", "GUINGO",
         "LUGLIO", "AGOSTO", "SETTEMBRE", "OTTOBRE", "NOVEMBRE", "DICEMBRE"
     ]
     i = 0
     while i < len(months):
         t = Termin._new678(months[i], MorphLang.IT, True, i + 1)
         DateItemToken.M_MONTHES.add(t)
         i += 1
     for m in [
             "ЯНВ", "ФЕВ", "ФЕВР", "МАР", "АПР", "ИЮН", "ИЮЛ", "АВГ", "СЕН",
             "СЕНТ", "ОКТ", "НОЯ", "НОЯБ", "ДЕК", "JAN", "FEB", "MAR",
             "APR", "JUN", "JUL", "AUG", "SEP", "SEPT", "OCT", "NOV", "DEC"
     ]:
         for ttt in DateItemToken.M_MONTHES.termins:
             if (ttt.terms[0].canonical_text.startswith(m)):
                 ttt.addAbridge(m)
                 DateItemToken.M_MONTHES.reindex(ttt)
                 break
     for m in ["OF"]:
         DateItemToken.M_MONTHES.add(Termin(m, MorphLang.EN, True))
     DateItemToken.M_EMPTY_WORDS = dict()
     DateItemToken.M_EMPTY_WORDS["IN"] = MorphLang.EN
     DateItemToken.M_EMPTY_WORDS["SINCE"] = MorphLang.EN
     DateItemToken.M_EMPTY_WORDS["THE"] = MorphLang.EN
     DateItemToken.M_EMPTY_WORDS["NEL"] = MorphLang.IT
     DateItemToken.M_EMPTY_WORDS["DEL"] = MorphLang.IT
     DateItemToken.M_EMPTY_WORDS["IL"] = MorphLang.IT
     DateItemToken.DAYS_OF_WEEK = TerminCollection()
     te = Termin._new678("SUNDAY", MorphLang.EN, True, 7)
     te.addAbridge("SUN")
     te.addVariant("ВОСКРЕСЕНЬЕ", True)
     te.addVariant("ВОСКРЕСЕНИЕ", True)
     te.addAbridge("ВС")
     te.addVariant("НЕДІЛЯ", True)
     DateItemToken.DAYS_OF_WEEK.add(te)
     te = Termin._new678("MONDAY", MorphLang.EN, True, 1)
     te.addAbridge("MON")
     te.addVariant("ПОНЕДЕЛЬНИК", True)
     te.addAbridge("ПОН")
     te.addVariant("ПОНЕДІЛОК", True)
     DateItemToken.DAYS_OF_WEEK.add(te)
     te = Termin._new678("TUESDAY", MorphLang.EN, True, 2)
     te.addAbridge("TUE")
     te.addVariant("ВТОРНИК", True)
     te.addAbridge("ВТ")
     te.addVariant("ВІВТОРОК", True)
     DateItemToken.DAYS_OF_WEEK.add(te)
     te = Termin._new678("WEDNESDAY", MorphLang.EN, True, 3)
     te.addAbridge("WED")
     te.addVariant("СРЕДА", True)
     te.addAbridge("СР")
     te.addVariant("СЕРЕДА", True)
     DateItemToken.DAYS_OF_WEEK.add(te)
     te = Termin._new678("THURSDAY", MorphLang.EN, True, 4)
     te.addAbridge("THU")
     te.addVariant("ЧЕТВЕРГ", True)
     te.addAbridge("ЧТ")
     te.addVariant("ЧЕТВЕР", True)
     DateItemToken.DAYS_OF_WEEK.add(te)
     te = Termin._new678("FRIDAY", MorphLang.EN, True, 5)
     te.addAbridge("FRI")
     te.addVariant("ПЯТНИЦА", True)
     te.addAbridge("ПТ")
     te.addVariant("ПЯТНИЦЯ", True)
     DateItemToken.DAYS_OF_WEEK.add(te)
     te = Termin._new678("SATURDAY", MorphLang.EN, True, 6)
     te.addAbridge("SAT")
     te.addVariant("СУББОТА", True)
     te.addAbridge("СБ")
     te.addVariant("СУБОТА", True)
     DateItemToken.DAYS_OF_WEEK.add(te)
예제 #5
0
 def initialize() -> None:
     if (ParenthesisToken.__m_termins is not None):
         return
     ParenthesisToken.__m_termins = TerminCollection()
     for s in ["ИТАК", "СЛЕДОВАТЕЛЬНО", "ТАКИМ ОБРАЗОМ"]:
         ParenthesisToken.__m_termins.add(Termin(s, MorphLang.RU, True))
예제 #6
0
 def process(self, kit: 'AnalysisKit') -> None:
     ad = kit.get_analyzer_data(self)
     models = TerminCollection()
     objs_by_model = dict()
     obj_by_names = TerminCollection()
     t = kit.first_token
     first_pass3428 = True
     while True:
         if first_pass3428: first_pass3428 = False
         else: t = t.next0_
         if (not (t is not None)): break
         its = WeaponItemToken.try_parse_list(t, 10)
         if (its is None):
             continue
         rts = self.__try_attach(its, False)
         if (rts is not None):
             for rt in rts:
                 rt.referent = ad.register_referent(rt.referent)
                 kit.embed_token(rt)
                 t = (rt)
                 for s in rt.referent.slots:
                     if (s.type_name == WeaponReferent.ATTR_MODEL):
                         mod = str(s.value)
                         for k in range(2):
                             if (not str.isdigit(mod[0])):
                                 li = []
                                 wrapli2804 = RefOutArgWrapper(None)
                                 inoutres2805 = Utils.tryGetValue(
                                     objs_by_model, mod, wrapli2804)
                                 li = wrapli2804.value
                                 if (not inoutres2805):
                                     li = list()
                                     objs_by_model[mod] = li
                                 if (not rt.referent in li):
                                     li.append(rt.referent)
                                 models.add_string(mod, li, None, False)
                             if (k > 0):
                                 break
                             brand = rt.referent.get_string_value(
                                 WeaponReferent.ATTR_BRAND)
                             if (brand is None):
                                 break
                             mod = "{0} {1}".format(brand, mod)
                     elif (s.type_name == WeaponReferent.ATTR_NAME):
                         obj_by_names.add(
                             Termin._new100(str(s.value), rt.referent))
     if (len(objs_by_model) == 0 and len(obj_by_names.termins) == 0):
         return
     t = kit.first_token
     first_pass3429 = True
     while True:
         if first_pass3429: first_pass3429 = False
         else: t = t.next0_
         if (not (t is not None)): break
         br = BracketHelper.try_parse(t, BracketParseAttr.NO, 10)
         if (br is not None):
             toks = obj_by_names.try_parse(t.next0_, TerminParseAttr.NO)
             if (toks is not None
                     and toks.end_token.next0_ == br.end_token):
                 rt0 = ReferentToken(
                     Utils.asObjectOrNull(toks.termin.tag, Referent),
                     br.begin_token, br.end_token)
                 kit.embed_token(rt0)
                 t = (rt0)
                 continue
         if (not (isinstance(t, TextToken))):
             continue
         if (not t.chars.is_letter):
             continue
         tok = models.try_parse(t, TerminParseAttr.NO)
         if (tok is None):
             if (not t.chars.is_all_lower):
                 tok = obj_by_names.try_parse(t, TerminParseAttr.NO)
             if (tok is None):
                 continue
         if (not tok.is_whitespace_after):
             if (tok.end_token.next0_ is None
                     or not tok.end_token.next0_.is_char_of(",.)")):
                 if (not BracketHelper.is_bracket(tok.end_token.next0_,
                                                  False)):
                     continue
         tr = None
         li = Utils.asObjectOrNull(tok.termin.tag, list)
         if (li is not None and len(li) == 1):
             tr = li[0]
         else:
             tr = (Utils.asObjectOrNull(tok.termin.tag, Referent))
         if (tr is not None):
             tit = WeaponItemToken.try_parse(tok.begin_token.previous, None,
                                             False, True)
             if (tit is not None and tit.typ == WeaponItemToken.Typs.BRAND):
                 tr.add_slot(WeaponReferent.ATTR_BRAND, tit.value, False, 0)
                 tok.begin_token = tit.begin_token
             rt0 = ReferentToken(tr, tok.begin_token, tok.end_token)
             kit.embed_token(rt0)
             t = (rt0)
             continue
예제 #7
0
 def process(self, kit: 'AnalysisKit') -> None:
     ad = kit.get_analyzer_data(self)
     addunits = None
     if (kit.ontology is not None):
         addunits = TerminCollection()
         for r in kit.ontology.items:
             uu = Utils.asObjectOrNull(r.referent, UnitReferent)
             if (uu is None):
                 continue
             if (uu._m_unit is not None):
                 continue
             for s in uu.slots:
                 if (s.type_name == UnitReferent.ATTR_NAME
                         or s.type_name == UnitReferent.ATTR_FULLNAME):
                     addunits.add(
                         Termin._new100(Utils.asObjectOrNull(s.value, str),
                                        uu))
     t = kit.first_token
     first_pass3309 = True
     while True:
         if first_pass3309: first_pass3309 = False
         else: t = t.next0_
         if (not (t is not None)): break
         mt = MeasureToken.try_parse_minimal(t, addunits, False)
         if (mt is None):
             mt = MeasureToken.try_parse(t, addunits, True, False, False,
                                         False)
         if (mt is None):
             continue
         rts = mt.create_refenets_tokens_with_register(ad, True)
         if (rts is None):
             continue
         i = 0
         while i < len(rts):
             rt = rts[i]
             t.kit.embed_token(rt)
             t = (rt)
             j = i + 1
             while j < len(rts):
                 if (rts[j].begin_token == rt.begin_token):
                     rts[j].begin_token = t
                 if (rts[j].end_token == rt.end_token):
                     rts[j].end_token = t
                 j += 1
             i += 1
     if (kit.ontology is not None):
         for e0_ in ad.referents:
             u = Utils.asObjectOrNull(e0_, UnitReferent)
             if (u is None):
                 continue
             for r in kit.ontology.items:
                 uu = Utils.asObjectOrNull(r.referent, UnitReferent)
                 if (uu is None):
                     continue
                 ok = False
                 for s in uu.slots:
                     if (s.type_name == UnitReferent.ATTR_NAME
                             or s.type_name == UnitReferent.ATTR_FULLNAME):
                         if (u.find_slot(None, s.value, True) is not None):
                             ok = True
                             break
                 if (ok):
                     u.ontology_items = list()
                     u.ontology_items.append(r)
                     break
예제 #8
0
 def initialize() -> None:
     OrgItemNameToken.__m_std_tails = TerminCollection()
     OrgItemNameToken.__m_std_names = TerminCollection()
     OrgItemNameToken.__m_vervot_words = TerminCollection()
     t = Termin("INCORPORATED")
     t.addAbridge("INC.")
     OrgItemNameToken.__m_std_tails.add(t)
     t = Termin("CORPORATION")
     t.addAbridge("CORP.")
     OrgItemNameToken.__m_std_tails.add(t)
     t = Termin("LIMITED")
     t.addAbridge("LTD.")
     OrgItemNameToken.__m_std_tails.add(t)
     t = Termin("AG")
     OrgItemNameToken.__m_std_tails.add(t)
     t = Termin("GMBH")
     OrgItemNameToken.__m_std_tails.add(t)
     for s in [
             "ЗАКАЗЧИК", "ИСПОЛНИТЕЛЬ", "РАЗРАБОТЧИК", "БЕНЕФИЦИАР",
             "ПОЛУЧАТЕЛЬ", "ОТПРАВИТЕЛЬ", "ИЗГОТОВИТЕЛЬ", "ПРОИЗВОДИТЕЛЬ",
             "ПОСТАВЩИК", "АБОНЕНТ", "КЛИЕНТ", "ВКЛАДЧИК", "СУБЪЕКТ",
             "ПРОДАВЕЦ", "ПОКУПАТЕЛЬ", "АРЕНДОДАТЕЛЬ", "АРЕНДАТОР",
             "СУБАРЕНДАТОР", "НАЙМОДАТЕЛЬ", "НАНИМАТЕЛЬ", "АГЕНТ",
             "ПРИНЦИПАЛ", "ПРОДАВЕЦ", "ПОСТАВЩИК", "ПОДРЯДЧИК",
             "СУБПОДРЯДЧИК"
     ]:
         OrgItemNameToken.__m_std_tails.add(Termin._new117(s, s))
     for s in [
             "ЗАМОВНИК", "ВИКОНАВЕЦЬ", "РОЗРОБНИК", "БЕНЕФІЦІАР",
             "ОДЕРЖУВАЧ", "ВІДПРАВНИК", "ВИРОБНИК", "ВИРОБНИК",
             "ПОСТАЧАЛЬНИК", "АБОНЕНТ", "КЛІЄНТ", "ВКЛАДНИК", "СУБ'ЄКТ",
             "ПРОДАВЕЦЬ", "ПОКУПЕЦЬ", "ОРЕНДОДАВЕЦЬ", "ОРЕНДАР",
             "СУБОРЕНДАР", "НАЙМОДАВЕЦЬ", "НАЙМАЧ", "АГЕНТ", "ПРИНЦИПАЛ",
             "ПРОДАВЕЦЬ", "ПОСТАЧАЛЬНИК", "ПІДРЯДНИК", "СУБПІДРЯДНИК"
     ]:
         OrgItemNameToken.__m_std_tails.add(
             Termin._new455(s, MorphLang.UA, s))
     t = Termin("РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ")
     t.addAbridge("РАЗРАБОТКИ ПО")
     OrgItemNameToken.__m_std_names.add(t)
     for s in ["СПЕЦИАЛЬНОСТЬ", "ДИАГНОЗ"]:
         OrgItemNameToken.__m_vervot_words.add(Termin(s))
     for s in ["СПЕЦІАЛЬНІСТЬ", "ДІАГНОЗ"]:
         OrgItemNameToken.__m_vervot_words.add(Termin(s, MorphLang.UA))
     OrgItemNameToken.__m_std_nouns = TerminCollection()
     for k in range(2):
         name = ("NameNouns_ru.dat" if k == 0 else "NameNouns_ua.dat")
         dat = EpNerOrgInternalResourceHelper.getBytes(name)
         if (dat is None):
             raise Utils.newException(
                 "Can't file resource file {0} in Organization analyzer".
                 format(name), None)
         str0_ = OrgItemTypeToken._deflate(dat).decode("UTF-8", 'ignore')
         for line0 in Utils.splitString(str0_, '\n', False):
             line = line0.strip()
             if (Utils.isNullOrEmpty(line)):
                 continue
             if (k == 0):
                 OrgItemNameToken.__m_std_nouns.add(Termin(line))
             else:
                 OrgItemNameToken.__m_std_nouns.add(
                     Termin._new872(line, MorphLang.UA))
예제 #9
0
 def _initialize() -> None:
     if (NumbersWithUnitToken.M_TERMINS is not None):
         return
     NumbersWithUnitToken.M_TERMINS = TerminCollection()
     t = Termin._new117("НЕ МЕНЕЕ", NumbersWithUnitToken.DiapTyp.GE)
     t.addVariant("НЕ МЕНЬШЕ", False)
     t.addVariant("НЕ КОРОЧЕ", False)
     t.addVariant("НЕ МЕДЛЕННЕЕ", False)
     t.addVariant("НЕ НИЖЕ", False)
     t.addVariant("НЕ МЕНЕ", False)
     NumbersWithUnitToken.M_TERMINS.add(t)
     t = Termin._new117("МЕНЕЕ", NumbersWithUnitToken.DiapTyp.LS)
     t.addVariant("МЕНЬШЕ", False)
     t.addVariant("МЕНЕ", False)
     t.addVariant("КОРОЧЕ", False)
     t.addVariant("МЕДЛЕННЕЕ", False)
     t.addVariant("НИЖЕ", False)
     NumbersWithUnitToken.M_TERMINS.add(t)
     t = Termin._new117("НЕ БОЛЕЕ", NumbersWithUnitToken.DiapTyp.LE)
     t.addVariant("НЕ БОЛЬШЕ", False)
     t.addVariant("НЕ БОЛЕ", False)
     t.addVariant("НЕ ДЛИННЕЕ", False)
     t.addVariant("НЕ БЫСТРЕЕ", False)
     t.addVariant("НЕ ВЫШЕ", False)
     NumbersWithUnitToken.M_TERMINS.add(t)
     t = Termin._new117("БОЛЕЕ", NumbersWithUnitToken.DiapTyp.GT)
     t.addVariant("БОЛЬШЕ", False)
     t.addVariant("ДЛИННЕЕ", False)
     t.addVariant("БЫСТРЕЕ", False)
     t.addVariant("БОЛЕ", False)
     t.addVariant("ГЛУБЖЕ", False)
     t.addVariant("ВЫШЕ", False)
     t.addVariant("СВЫШЕ", False)
     NumbersWithUnitToken.M_TERMINS.add(t)
     t = Termin._new117("ОТ", NumbersWithUnitToken.DiapTyp.FROM)
     t.addVariant("С", False)
     t.addVariant("C", False)
     t.addVariant("НАЧИНАЯ С", False)
     t.addVariant("НАЧИНАЯ ОТ", False)
     NumbersWithUnitToken.M_TERMINS.add(t)
     t = Termin._new117("ДО", NumbersWithUnitToken.DiapTyp.TO)
     t.addVariant("ПО", False)
     t.addVariant("ЗАКАНЧИВАЯ", False)
     NumbersWithUnitToken.M_TERMINS.add(t)
     t = Termin._new117("НЕ ХУЖЕ", NumbersWithUnitToken.DiapTyp.UNDEFINED)
     NumbersWithUnitToken.M_TERMINS.add(t)
     NumbersWithUnitToken.M_SPEC = TerminCollection()
     t = Termin._new119("ПОЛЛИТРА", .5, "литр")
     t.addVariant("ПОЛУЛИТРА", False)
     NumbersWithUnitToken.M_SPEC.add(t)
     t = Termin._new119("ПОЛКИЛО", .5, "килограмм")
     t.addVariant("ПОЛКИЛОГРАММА", False)
     NumbersWithUnitToken.M_SPEC.add(t)
     t = Termin._new119("ПОЛМЕТРА", .5, "метр")
     t.addVariant("ПОЛУМЕТРА", False)
     NumbersWithUnitToken.M_SPEC.add(t)
     t = Termin._new119("ПОЛТОННЫ", .5, "тонна")
     t.addVariant("ПОЛУТОННЫ", False)
     NumbersWithUnitToken.M_SPEC.add(t)
     NumbersWithUnitToken.M_SPEC.add(t)
예제 #10
0
 def _initialize() -> None:
     if (NamedItemToken.__m_types is not None): 
         return
     NamedItemToken.__m_types = TerminCollection()
     NamedItemToken.__m_names = TerminCollection()
     t = None
     for s in ["ПЛАНЕТА", "ЗВЕЗДА", "КОМЕТА", "МЕТЕОРИТ", "СОЗВЕЗДИЕ", "ГАЛАКТИКА"]: 
         t = Termin()
         t.init_by_normal_text(s, None)
         t.tag = NamedEntityKind.PLANET
         NamedItemToken.__m_types.add(t)
     for s in ["СОЛНЦЕ", "МЕРКУРИЙ", "ВЕНЕРА", "ЗЕМЛЯ", "МАРС", "ЮПИТЕР", "САТУРН", "УРАН", "НЕПТУН", "ПЛУТОН", "ЛУНА", "ДЕЙМОС", "ФОБОС", "Ио", "Ганимед", "Каллисто"]: 
         t = Termin()
         t.init_by_normal_text(s.upper(), None)
         t.tag = NamedEntityKind.PLANET
         NamedItemToken.__m_names.add(t)
     for s in ["РЕКА", "ОЗЕРО", "МОРЕ", "ОКЕАН", "ЗАЛИВ", "ПРОЛИВ", "ПОБЕРЕЖЬЕ", "КОНТИНЕНТ", "ОСТРОВ", "ПОЛУОСТРОВ", "МЫС", "ГОРА", "ГОРНЫЙ ХРЕБЕТ", "ПЕРЕВАЛ", "ЛЕС", "САД", "ЗАПОВЕДНИК", "ЗАКАЗНИК", "ДОЛИНА", "УЩЕЛЬЕ", "РАВНИНА", "БЕРЕГ"]: 
         t = Termin()
         t.init_by_normal_text(s, None)
         t.tag = NamedEntityKind.LOCATION
         NamedItemToken.__m_types.add(t)
     for s in ["ТИХИЙ", "АТЛАНТИЧЕСКИЙ", "ИНДИЙСКИЙ", "СЕВЕРО-ЛЕДОВИТЫЙ"]: 
         t = Termin()
         t.init_by_normal_text(s, None)
         t.tag = NamedEntityKind.LOCATION
         t.tag2 = ("океан")
         NamedItemToken.__m_names.add(t)
     for s in ["ЕВРАЗИЯ", "АФРИКА", "АМЕРИКА", "АВСТРАЛИЯ", "АНТАРКТИДА"]: 
         t = Termin()
         t.init_by_normal_text(s, None)
         t.tag = NamedEntityKind.LOCATION
         t.tag2 = ("континент")
         NamedItemToken.__m_names.add(t)
     for s in ["ВОЛГА", "НЕВА", "АМУР", "ОБЪ", "АНГАРА", "ЛЕНА", "ИРТЫШ", "ДНЕПР", "ДОН", "ДНЕСТР", "РЕЙН", "АМУДАРЬЯ", "СЫРДАРЬЯ", "ТИГР", "ЕВФРАТ", "ИОРДАН", "МИССИСИПИ", "АМАЗОНКА", "ТЕМЗА", "СЕНА", "НИЛ", "ЯНЦЗЫ", "ХУАНХЭ", "ПАРАНА", "МЕКОНГ", "МАККЕНЗИ", "НИГЕР", "ЕНИСЕЙ", "МУРРЕЙ", "САЛУИН", "ИНД", "РИО-ГРАНДЕ", "БРАХМАПУТРА", "ДАРЛИНГ", "ДУНАЙ", "ЮКОН", "ГАНГ", "МАРРАМБИДЖИ", "ЗАМБЕЗИ", "ТОКАНТИС", "ОРИНОКО", "СИЦЗЯН", "КОЛЫМА", "КАМА", "ОКА", "ЭЛЬЮА", "ВИСЛА", "ДАУГАВА", "ЗАПАДНАЯ ДВИНА", "НЕМАН", "МЕЗЕНЬ", "КУБАНЬ", "ЮЖНЫЙ БУГ"]: 
         t = Termin()
         t.init_by_normal_text(s, None)
         t.tag = NamedEntityKind.LOCATION
         t.tag2 = ("река")
         NamedItemToken.__m_names.add(t)
     for s in ["ЕВРОПА", "АЗИЯ", "АРКТИКА", "КАВКАЗ", "ПРИБАЛТИКА", "СИБИРЬ", "ЗАПОЛЯРЬЕ", "ЧУКОТКА", "ПРИБАЛТИКА", "БАЛКАНЫ", "СКАНДИНАВИЯ", "ОКЕАНИЯ", "АЛЯСКА", "УРАЛ", "ПОВОЛЖЬЕ", "ПРИМОРЬЕ", "КУРИЛЫ", "ТИБЕТ", "ГИМАЛАИ", "АЛЬПЫ", "САХАРА", "ГОБИ", "СИНАЙ", "БАЙКОНУР", "ЧЕРНОБЫЛЬ", "САДОВОЕ КОЛЬЦО", "СТАРЫЙ ГОРОД"]: 
         t = Termin()
         t.init_by_normal_text(s, None)
         t.tag = NamedEntityKind.LOCATION
         NamedItemToken.__m_names.add(t)
     for s in ["ПАМЯТНИК", "МОНУМЕНТ", "МЕМОРИАЛ", "БЮСТ", "ОБЕЛИСК"]: 
         t = Termin()
         t.init_by_normal_text(s, None)
         t.tag = NamedEntityKind.MONUMENT
         NamedItemToken.__m_types.add(t)
     for s in ["ДВОРЕЦ", "КРЕМЛЬ", "ЗАМОК", "УСАДЬБА", "ДОМ", "ЗДАНИЕ", "ШТАБ-КВАРТИРА", "ЖЕЛЕЗНОДОРОЖНЫЙ ВОКЗАЛ", "ВОКЗАЛ", "АВТОВОКЗАЛ", "АЭРОПОРТ", "АЭРОДРОМ"]: 
         t = Termin()
         t.init_by_normal_text(s, None)
         t.tag = NamedEntityKind.BUILDING
         NamedItemToken.__m_types.add(t)
     for s in ["КРЕМЛЬ", "КАПИТОЛИЙ", "БЕЛЫЙ ДОМ"]: 
         t = Termin()
         t.init_by_normal_text(s, None)
         t.tag = NamedEntityKind.BUILDING
         NamedItemToken.__m_names.add(t)
     t = Termin._new100("МЕЖДУНАРОДНАЯ КОСМИЧЕСКАЯ СТАНЦИЯ", NamedEntityKind.BUILDING)
     t.acronym = "МКС"
     NamedItemToken.__m_names.add(t)
예제 #11
0
 def initialize() -> None:
     if (InstrToken.__m_ontology is not None): 
         return
     InstrToken.__m_ontology = TerminCollection()
     t = None
     t = Termin("МЕСТО ПЕЧАТИ")
     t.add_abridge("М.П.")
     t.add_abridge("M.П.")
     InstrToken.__m_ontology.add(t)
     t = Termin("МІСЦЕ ПЕЧАТКИ", MorphLang.UA)
     t.add_abridge("М.П.")
     t.add_abridge("M.П.")
     InstrToken.__m_ontology.add(t)
     t = Termin("ПОДПИСЬ")
     InstrToken.__m_ontology.add(t)
     t = Termin("ПІДПИС", MorphLang.UA)
     InstrToken.__m_ontology.add(t)
     t = Termin._new95("ФАМИЛИЯ ИМЯ ОТЧЕСТВО", "ФИО")
     t.add_abridge("Ф.И.О.")
     InstrToken.__m_ontology.add(t)
     t = Termin._new1510("ПРІЗВИЩЕ ІМЯ ПО БАТЬКОВІ", MorphLang.UA, "ФИО")
     InstrToken.__m_ontology.add(t)
     t = Termin("ФАМИЛИЯ")
     t.add_abridge("ФАМ.")
     InstrToken.__m_ontology.add(t)
     t = Termin("ПРІЗВИЩЕ", MorphLang.UA)
     t.add_abridge("ФАМ.")
     InstrToken.__m_ontology.add(t)
     InstrToken.__m_ontology.add(Termin("ИМЯ"))
     InstrToken.__m_ontology.add(Termin("ІМЯ", MorphLang.UA))
예제 #12
0
 def initialize() -> None:
     if (BusinessFactItem.__m_base_onto is not None):
         return
     BusinessFactItem.__m_base_onto = TerminCollection()
     for s in [
             "КУПИТЬ", "ПОКУПАТЬ", "ПРИОБРЕТАТЬ", "ПРИОБРЕСТИ", "ПОКУПКА",
             "ПРИОБРЕТЕНИЕ"
     ]:
         BusinessFactItem.__m_base_onto.add(
             Termin._new117(s, BusinessFactKind.GET))
     for s in [
             "КУПИТИ", "КУПУВАТИ", "КУПУВАТИ", "ПРИДБАТИ", "ПОКУПКА",
             "ПРИДБАННЯ"
     ]:
         BusinessFactItem.__m_base_onto.add(
             Termin._new118(s, BusinessFactKind.GET, MorphLang.UA))
     for s in ["ПРОДАТЬ", "ПРОДАВАТЬ", "ПРОДАЖА"]:
         BusinessFactItem.__m_base_onto.add(
             Termin._new117(s, BusinessFactKind.SELL))
     for s in ["ПРОДАТИ", "ПРОДАВАТИ", "ПРОДАЖ"]:
         BusinessFactItem.__m_base_onto.add(
             Termin._new118(s, BusinessFactKind.SELL, MorphLang.UA))
     for s in ["ФИНАНСИРОВАТЬ", "СПОНСИРОВАТЬ", "ПРОФИНАНСИРОВАТЬ"]:
         BusinessFactItem.__m_base_onto.add(
             Termin._new117(s, BusinessFactKind.FINANCE))
     for s in ["ФІНАНСУВАТИ", "СПОНСОРУВАТИ", "ПРОФІНАНСУВАТИ"]:
         BusinessFactItem.__m_base_onto.add(
             Termin._new118(s, BusinessFactKind.FINANCE, MorphLang.UA))
     for s in [
             "ВЛАДЕТЬ", "РАСПОРЯЖАТЬСЯ", "КОНТРОЛИРОВАТЬ", "ПРИНАДЛЕЖАТЬ",
             "СТАТЬ ВЛАДЕЛЬЦЕМ", "КОНСОЛИДИРОВАТЬ"
     ]:
         BusinessFactItem.__m_base_onto.add(
             Termin._new117(s, BusinessFactKind.HAVE))
     for s in [
             "ВОЛОДІТИ", "РОЗПОРЯДЖАТИСЯ", "КОНТРОЛЮВАТИ", "НАЛЕЖАТИ",
             "СТАТИ ВЛАСНИКОМ", "КОНСОЛІДУВАТИ"
     ]:
         BusinessFactItem.__m_base_onto.add(
             Termin._new118(s, BusinessFactKind.HAVE, MorphLang.UA))
     for s in [
             "ПРИНАДЛЕЖАЩИЙ", "КОНТРОЛИРУЕМЫЙ", "ВЛАДЕЕМЫЙ",
             "ПЕРЕЙТИ ПОД КОНТРОЛЬ"
     ]:
         BusinessFactItem.__m_base_onto.add(
             Termin._new119(s, BusinessFactKind.HAVE, s))
     for s in [
             "НАЛЕЖНИЙ", "КОНТРОЛЬОВАНИЙ", "ВЛАДЕЕМЫЙ",
             "ПЕРЕЙТИ ПІД КОНТРОЛЬ"
     ]:
         BusinessFactItem.__m_base_onto.add(
             Termin._new415(s, BusinessFactKind.HAVE, s, MorphLang.UA))
     for s in [
             "ЗАКРЫТЬ СДЕЛКУ", "СОВЕРШИТЬ СДЕЛКУ", "ЗАВЕРШИТЬ СДЕЛКУ",
             "ЗАКЛЮЧИТЬ"
     ]:
         BusinessFactItem.__m_base_onto.add(
             Termin._new117(s, BusinessFactKind.UNDEFINED))
     for s in [
             "ЗАКРИТИ ОПЕРАЦІЮ", "ЗДІЙСНИТИ ОПЕРАЦІЮ", "ЗАВЕРШИТИ ОПЕРАЦІЮ",
             "УКЛАСТИ"
     ]:
         BusinessFactItem.__m_base_onto.add(
             Termin._new118(s, BusinessFactKind.UNDEFINED, MorphLang.UA))
     for s in ["ДОХОД", "ПРИБЫЛЬ", "ВЫРУЧКА"]:
         BusinessFactItem.__m_base_onto.add(
             Termin._new117(s, BusinessFactKind.PROFIT))
     for s in ["ДОХІД", "ПРИБУТОК", "ВИРУЧКА"]:
         BusinessFactItem.__m_base_onto.add(
             Termin._new118(s, BusinessFactKind.PROFIT, MorphLang.UA))
     for s in ["УБЫТОК"]:
         BusinessFactItem.__m_base_onto.add(
             Termin._new117(s, BusinessFactKind.DAMAGES))
     for s in ["ЗБИТОК"]:
         BusinessFactItem.__m_base_onto.add(
             Termin._new118(s, BusinessFactKind.DAMAGES, MorphLang.UA))
     for s in ["СОГЛАШЕНИЕ", "ДОГОВОР"]:
         BusinessFactItem.__m_base_onto.add(
             Termin._new117(s, BusinessFactKind.AGREEMENT))
     for s in ["УГОДА", "ДОГОВІР"]:
         BusinessFactItem.__m_base_onto.add(
             Termin._new118(s, BusinessFactKind.AGREEMENT, MorphLang.UA))
     for s in ["ИСК", "СУДЕБНЫЙ ИСК"]:
         BusinessFactItem.__m_base_onto.add(
             Termin._new117(s, BusinessFactKind.LAWSUIT))
     for s in ["ПОЗОВ", "СУДОВИЙ ПОЗОВ"]:
         BusinessFactItem.__m_base_onto.add(
             Termin._new118(s, BusinessFactKind.LAWSUIT, MorphLang.UA))
     for s in [
             "ДОЧЕРНЕЕ ПРЕДПРИЯТИЕ", "ДОЧЕРНЕЕ ПОДРАЗДЕЛЕНИЕ",
             "ДОЧЕРНЯЯ КОМПАНИЯ"
     ]:
         BusinessFactItem.__m_base_onto.add(
             Termin._new117(s, BusinessFactKind.SUBSIDIARY))
     for s in [
             "ДОЧІРНЄ ПІДПРИЄМСТВО", "ДОЧІРНІЙ ПІДРОЗДІЛ",
             "ДОЧІРНЯ КОМПАНІЯ"
     ]:
         BusinessFactItem.__m_base_onto.add(
             Termin._new118(s, BusinessFactKind.SUBSIDIARY, MorphLang.UA))
예제 #13
0
 def createOntologyItem(self) -> 'IntOntologyItem':
     oi = IntOntologyItem(self)
     oi.termins.append(Termin(self.spelling))
     return oi
예제 #14
0
 def initialize() -> None:
     if (PhoneItemToken.M_PHONE_TERMINS is not None):
         return
     PhoneItemToken.M_PHONE_TERMINS = TerminCollection()
     t = Termin("ТЕЛЕФОН", MorphLang.RU, True)
     t.addAbridge("ТЕЛ.")
     t.addAbridge("TEL.")
     t.addAbridge("Т-Н")
     t.addAbridge("Т.")
     t.addAbridge("T.")
     t.addAbridge("TEL.EXT.")
     t.addVariant("ТЛФ", False)
     t.addVariant("ТЛФН", False)
     t.addAbridge("Т/Ф")
     PhoneItemToken.M_PHONE_TERMINS.add(t)
     t = Termin._new2483("МОБИЛЬНЫЙ", MorphLang.RU, True, PhoneKind.MOBILE)
     t.addAbridge("МОБ.")
     t.addAbridge("Т.М.")
     t.addAbridge("М.Т.")
     t.addAbridge("М.")
     PhoneItemToken.M_PHONE_TERMINS.add(t)
     t = Termin._new2483("СОТОВЫЙ", MorphLang.RU, True, PhoneKind.MOBILE)
     t.addAbridge("СОТ.")
     t.addAbridge("CELL.")
     PhoneItemToken.M_PHONE_TERMINS.add(t)
     t = Termin._new2483("РАБОЧИЙ", MorphLang.RU, True, PhoneKind.WORK)
     t.addAbridge("РАБ.")
     t.addAbridge("Т.Р.")
     t.addAbridge("Р.Т.")
     PhoneItemToken.M_PHONE_TERMINS.add(t)
     t = Termin("ГОРОДСКОЙ", MorphLang.RU, True)
     t.addAbridge("ГОР.")
     t.addAbridge("Г.Т.")
     PhoneItemToken.M_PHONE_TERMINS.add(t)
     t = Termin._new2483("ДОМАШНИЙ", MorphLang.RU, True, PhoneKind.HOME)
     t.addAbridge("ДОМ.")
     PhoneItemToken.M_PHONE_TERMINS.add(t)
     t = Termin("КОНТАКТНЫЙ", MorphLang.RU, True)
     PhoneItemToken.M_PHONE_TERMINS.add(t)
     t = Termin("МНОГОКАНАЛЬНЫЙ", MorphLang.RU, True)
     PhoneItemToken.M_PHONE_TERMINS.add(t)
     t = Termin._new2483("ФАКС", MorphLang.RU, True, PhoneKind.FAX)
     t.addAbridge("Ф.")
     t.addAbridge("Т/ФАКС")
     t.addAbridge("ТЕЛ/ФАКС")
     PhoneItemToken.M_PHONE_TERMINS.add(t)
     t = Termin("ЗВОНИТЬ", MorphLang.RU, True)
     PhoneItemToken.M_PHONE_TERMINS.add(t)
     t = Termin._new2483("ПРИЕМНАЯ", MorphLang.RU, True, PhoneKind.WORK)
     PhoneItemToken.M_PHONE_TERMINS.add(t)
     t = Termin("PHONE", MorphLang.EN, True)
     t.addAbridge("PH.")
     t.addVariant("TELEFON", True)
     PhoneItemToken.M_PHONE_TERMINS.add(t)
     t = Termin._new2483("DIRECT LINE", MorphLang.EN, True, PhoneKind.WORK)
     t.addVariant("DIRECT LINES", True)
     PhoneItemToken.M_PHONE_TERMINS.add(t)
     t = Termin._new2483("MOBILE", MorphLang.EN, True, PhoneKind.MOBILE)
     t.addAbridge("MOB.")
     t.addVariant("MOBIL", True)
     t.addAbridge("M.")
     PhoneItemToken.M_PHONE_TERMINS.add(t)
     t = Termin._new2483("FAX", MorphLang.EN, True, PhoneKind.FAX)
     t.addAbridge("F.")
     PhoneItemToken.M_PHONE_TERMINS.add(t)
     t = Termin._new2483("HOME", MorphLang.EN, True, PhoneKind.HOME)
     PhoneItemToken.M_PHONE_TERMINS.add(t)
     t = Termin("CALL", MorphLang.EN, True)
     t.addVariant("SEDIU", True)
     PhoneItemToken.M_PHONE_TERMINS.add(t)
     t = Termin("ДОПОЛНИТЕЛЬНЫЙ", MorphLang.RU, True)
     t.tag = (t)
     t.addAbridge("ДОП.")
     t.addAbridge("EXT.")
     PhoneItemToken.M_PHONE_TERMINS.add(t)
     t = Termin("ДОБАВОЧНЫЙ", MorphLang.RU, True)
     t.tag = (t)
     t.addAbridge("ДОБ.")
     t.addAbridge("Д.")
     PhoneItemToken.M_PHONE_TERMINS.add(t)
     t = Termin("ВНУТРЕННИЙ", MorphLang.RU, True)
     t.tag = (t)
     t.addAbridge("ВНУТР.")
     t.addAbridge("ВН.")
     t.addAbridge("ВНТ.")
     t.addAbridge("Т.ВН.")
     PhoneItemToken.M_PHONE_TERMINS.add(t)
     t = Termin("TONE MODE", MorphLang.EN, True)
     t.tag = (t)
     PhoneItemToken.M_PHONE_TERMINS.add(t)
     t = Termin("TONE", MorphLang.EN, True)
     t.tag = (t)
     PhoneItemToken.M_PHONE_TERMINS.add(t)
     t = Termin("ADDITIONAL", MorphLang.EN, True)
     t.addAbridge("ADD.")
     t.tag = (t)
     t.addVariant("INTERNAL", True)
     t.addAbridge("INT.")
     PhoneItemToken.M_PHONE_TERMINS.add(t)
예제 #15
0
 def create_ontology_item(self) -> 'IntOntologyItem':
     oi = IntOntologyItem(self)
     for v in self.__name_vars:
         oi.termins.append(Termin(v))
     return oi
예제 #16
0
 def initialize() -> None:
     if (OrgGlobal.GLOBAL_ORGS is not None):
         return
     OrgGlobal.GLOBAL_ORGS = IntOntologyCollection()
     with ProcessorService.createEmptyProcessor() as geo_proc:
         geo_proc.addAnalyzer(GeoAnalyzer())
         geos = dict()
         for k in range(3):
             lang = (MorphLang.RU if k == 0 else
                     (MorphLang.EN if k == 1 else MorphLang.UA))
             name = ("Orgs_ru.dat" if k == 0 else
                     ("Orgs_en.dat" if k == 1 else "Orgs_ua.dat"))
             dat = EpNerOrgInternalResourceHelper.getBytes(name)
             if (dat is None):
                 raise Utils.newException(
                     "Can't file resource file {0} in Organization analyzer"
                     .format(name), None)
             with io.BytesIO(OrgItemTypeToken._deflate(dat)) as tmp:
                 tmp.seek(0, io.SEEK_SET)
                 xml0_ = None  # new XmlDocument
                 xml0_ = xml.etree.ElementTree.parse(tmp)
                 for x in xml0_.getroot():
                     org0_ = OrganizationReferent()
                     abbr = None
                     for xx in x:
                         if (xx.tag == "typ"):
                             org0_.addSlot(OrganizationReferent.ATTR_TYPE,
                                           Utils.getXmlInnerText(xx), False,
                                           0)
                         elif (xx.tag == "nam"):
                             org0_.addSlot(OrganizationReferent.ATTR_NAME,
                                           Utils.getXmlInnerText(xx), False,
                                           0)
                         elif (xx.tag == "epo"):
                             org0_.addSlot(OrganizationReferent.ATTR_EPONYM,
                                           Utils.getXmlInnerText(xx), False,
                                           0)
                         elif (xx.tag == "prof"):
                             org0_.addSlot(
                                 OrganizationReferent.ATTR_PROFILE,
                                 Utils.getXmlInnerText(xx), False, 0)
                         elif (xx.tag == "abbr"):
                             abbr = Utils.getXmlInnerText(xx)
                         elif (xx.tag == "geo"):
                             wrapgeo1644 = RefOutArgWrapper(None)
                             inoutres1645 = Utils.tryGetValue(
                                 geos, Utils.getXmlInnerText(xx),
                                 wrapgeo1644)
                             geo_ = wrapgeo1644.value
                             if (not inoutres1645):
                                 ar = geo_proc.process(
                                     SourceOfAnalysis(
                                         Utils.getXmlInnerText(xx)), None,
                                     lang)
                                 if (ar is not None
                                         and len(ar.entities) == 1
                                         and (isinstance(
                                             ar.entities[0], GeoReferent))):
                                     geo_ = (Utils.asObjectOrNull(
                                         ar.entities[0], GeoReferent))
                                     geos[Utils.getXmlInnerText(xx)] = geo_
                                 else:
                                     pass
                             if (geo_ is not None):
                                 org0_.addSlot(
                                     OrganizationReferent.ATTR_GEO, geo_,
                                     False, 0)
                     oi = org0_.createOntologyItemEx(2, True, True)
                     if (oi is None):
                         continue
                     if (abbr is not None):
                         oi.termins.append(Termin(abbr, None, True))
                     if (k == 2):
                         OrgGlobal.GLOBAL_ORGS_UA.addItem(oi)
                     else:
                         OrgGlobal.GLOBAL_ORGS.addItem(oi)
     return