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)
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))
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))
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)
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))
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
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
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))
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)
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)
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))
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))
def createOntologyItem(self) -> 'IntOntologyItem': oi = IntOntologyItem(self) oi.termins.append(Termin(self.spelling)) return oi
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)
def create_ontology_item(self) -> 'IntOntologyItem': oi = IntOntologyItem(self) for v in self.__name_vars: oi.termins.append(Termin(v)) return oi
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