public static void Initialize() { if (m_Ontology != null) { return; } m_Ontology = new Pullenti.Ner.Core.TerminCollection(); Pullenti.Ner.Core.Termin t; t = new Pullenti.Ner.Core.Termin("BANK"); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("Public Limited Company".ToUpper()) { Acronym = "PLC" }; t.AddAbridge("P.L.C."); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("Limited Liability Company".ToUpper()) { Acronym = "LLC" }; t.AddAbridge("L.L.C."); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("Limited Liability Partnership".ToUpper()) { Acronym = "LLP" }; t.AddAbridge("L.L.P."); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("Limited Liability Limited Partnership".ToUpper()) { Acronym = "LLLP" }; t.AddAbridge("L.L.L.P."); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("Limited Duration Company".ToUpper()) { Acronym = "LDC" }; t.AddAbridge("L.D.C."); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("International Business Company".ToUpper()) { Acronym = "IBC" }; t.AddAbridge("I.B.S."); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("Joint stock company".ToUpper()) { Acronym = "JSC" }; t.AddAbridge("J.S.C."); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("Open Joint stock company".ToUpper()) { Acronym = "OJSC" }; t.AddAbridge("O.J.S.C."); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("Sosiedad Anonima".ToUpper()) { Acronym = "SA" }; t.AddVariant("Sociedad Anonima".ToUpper(), false); t.AddAbridge("S.A."); t.AddVariant("SPA", false); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("Société en commandite".ToUpper()) { Acronym = "SC" }; t.AddAbridge("S.C."); t.AddVariant("SCS", false); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("Societas Europaea".ToUpper()) { Acronym = "SE" }; t.AddAbridge("S.E."); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("Società in accomandita".ToUpper()) { Acronym = "SAS" }; m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("Société en commandite par actions".ToUpper()) { Acronym = "SCA" }; t.AddAbridge("S.C.A."); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("Société en nom collectif".ToUpper()) { Acronym = "SNC" }; t.AddVariant("Società in nome collettivo".ToUpper(), false); t.AddAbridge("S.N.C."); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("General Partnership".ToUpper()) { Acronym = "GP" }; t.AddVariant("General Partners", false); t.AddAbridge("G.P."); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("Limited Partnership".ToUpper()) { Acronym = "LP" }; t.AddAbridge("L.P."); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("Kommanditaktiengesellschaft".ToUpper()) { Acronym = "KGAA" }; t.AddVariant("KOMMAG", false); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("Societe a Responsidilite Limitee".ToUpper()) { Acronym = "SRL" }; t.AddAbridge("S.A.R.L."); t.AddAbridge("S.R.L."); t.AddVariant("SARL", false); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("Società a garanzia limitata".ToUpper()) { Acronym = "SAGL" }; t.AddAbridge("S.A.G.L."); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("Società limitata".ToUpper()) { Acronym = "SL" }; t.AddAbridge("S.L."); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("Vennootschap Met Beperkte Aansparkelij kheid".ToUpper()) { Acronym = "BV" }; m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("Vennootschap Met Beperkte Aansparkelij".ToUpper()) { Acronym = "AVV" }; m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("Naamlose Vennootschap".ToUpper()) { Acronym = "NV" }; t.AddAbridge("N.V."); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("Gesellschaft mit beschrakter Haftung".ToUpper()) { Acronym = "GMBH" }; t.AddVariant("ГМБХ", false); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("Aktiengesellschaft".ToUpper()) { Acronym = "AG" }; m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("International Company".ToUpper()) { Acronym = "IC" }; t.AddAbridge("I.C."); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("And Company".ToUpper()); t.AddVariant("& Company", false); t.AddVariant("& Co", false); t.AddVariant("& Company", false); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("Kollektivgesellschaft".ToUpper()) { Acronym = "KG" }; t.AddAbridge("K.G."); t.AddVariant("OHG", false); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("Kommanditgesellschaft".ToUpper()) { Acronym = "KG" }; t.AddVariant("KOMMG", false); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("LIMITED"); t.AddAbridge("LTD"); t.AddVariant("LTD", false); t.AddVariant("ЛИМИТЕД", false); t.AddVariant("ЛТД", false); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("PRIVATE LIMITED"); t.AddVariant("PTE LTD", false); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("INCORPORATED"); t.AddAbridge("INC"); t.AddVariant("INC", false); t.AddVariant("ИНКОРПОРЕЙТЕД", false); t.AddVariant("ИНК", false); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("CORPORATION"); t.AddVariant("CO", false); t.AddVariant("СО", false); t.AddVariant("КОРПОРЕЙШН", false); t.AddVariant("КОРПОРЕЙШЕН", false); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("COMPANY"); m_Ontology.Add(t); }
public static void Initialize() { if (m_Termins != null) { return; } m_Termins = new Pullenti.Ner.Core.TerminCollection(); Pullenti.Ner.Core.Termin tt; tt = new Pullenti.Ner.Core.Termin("ТЕКСТ") { Tag = BookLinkTyp.NameTail }; m_Termins.Add(tt); tt = new Pullenti.Ner.Core.Termin("ЭЛЕКТРОННЫЙ РЕСУРС") { Tag = 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); m_Termins.Add(tt); tt = new Pullenti.Ner.Core.Termin("РЕЖИМ ДОСТУПА") { Tag = BookLinkTyp.Misc }; tt.AddVariant("РЕЖИМ ДОСТУПУ", false); tt.AddVariant("AVAILABLE", false); m_Termins.Add(tt); tt = new Pullenti.Ner.Core.Termin("МОНОГРАФИЯ") { Tag = BookLinkTyp.Type }; tt.AddVariant("МОНОГРАФІЯ", false); m_Termins.Add(tt); tt = new Pullenti.Ner.Core.Termin("УЧЕБНОЕ ПОСОБИЕ") { Tag = BookLinkTyp.Type }; tt.AddAbridge("УЧ.ПОСОБИЕ"); tt.AddAbridge("УЧЕБ."); tt.AddAbridge("УЧЕБН."); tt.AddVariant("УЧЕБНИК", false); tt.AddVariant("ПОСОБИЕ", false); m_Termins.Add(tt); tt = new Pullenti.Ner.Core.Termin("НАВЧАЛЬНИЙ ПОСІБНИК") { Tag = BookLinkTyp.Type, Lang = Pullenti.Morph.MorphLang.UA }; tt.AddAbridge("НАВЧ.ПОСІБНИК"); tt.AddAbridge("НАВЧ.ПОСІБ"); tt.AddVariant("ПІДРУЧНИК", false); tt.AddVariant("ПІДРУЧ", false); m_Termins.Add(tt); tt = new Pullenti.Ner.Core.Termin("АВТОРЕФЕРАТ") { Tag = BookLinkTyp.Type }; tt.AddAbridge("АВТОРЕФ."); m_Termins.Add(tt); tt = new Pullenti.Ner.Core.Termin("ДИССЕРТАЦИЯ") { Tag = BookLinkTyp.Type }; tt.AddVariant("ДИСС", false); tt.AddAbridge("ДИС."); tt.AddVariant("ДИСЕРТАЦІЯ", false); tt.AddVariant("DISSERTATION", false); m_Termins.Add(tt); tt = new Pullenti.Ner.Core.Termin("ДОКЛАД") { Tag = BookLinkTyp.Type }; tt.AddVariant("ДОКЛ", false); tt.AddAbridge("ДОКЛ."); tt.AddVariant("ДОПОВІДЬ", false); m_Termins.Add(tt); tt = new Pullenti.Ner.Core.Termin("ПОД РЕДАКЦИЕЙ") { Tag = BookLinkTyp.Editors }; tt.AddAbridge("ПОД РЕД"); tt.AddAbridge("ОТВ.РЕД"); tt.AddAbridge("ОТВ.РЕДАКТОР"); tt.AddVariant("ПОД ОБЩЕЙ РЕДАКЦИЕЙ", false); tt.AddAbridge("ОТВ.РЕД"); tt.AddAbridge("ОТВ.РЕДАКТОР"); tt.AddAbridge("ПОД ОБЩ. РЕД"); tt.AddAbridge("ПОД ОБЩЕЙ РЕД"); m_Termins.Add(tt); tt = new Pullenti.Ner.Core.Termin("ПІД РЕДАКЦІЄЮ") { Tag = BookLinkTyp.Editors, Lang = Pullenti.Morph.MorphLang.UA }; tt.AddAbridge("ПІД РЕД"); tt.AddAbridge("ОТВ.РЕД"); tt.AddAbridge("ВІД. РЕДАКТОР"); tt.AddVariant("ЗА ЗАГ.РЕД", false); tt.AddAbridge("ВІДПОВІДАЛЬНИЙ РЕДАКТОР"); m_Termins.Add(tt); tt = new Pullenti.Ner.Core.Termin("СОСТАВИТЕЛЬ") { Tag = BookLinkTyp.Sostavitel }; tt.AddAbridge("СОСТ."); m_Termins.Add(tt); tt = new Pullenti.Ner.Core.Termin("УКЛАДАЧ") { Tag = BookLinkTyp.Sostavitel, Lang = Pullenti.Morph.MorphLang.UA }; tt.AddAbridge("УКЛ."); m_Termins.Add(tt); foreach (string s in new string[] { "Политиздат", "Прогресс", "Мысль", "Просвещение", "Наука", "Физматлит", "Физматкнига", "Инфра-М", "Питер", "Интеллект", "Аспект пресс", "Аспект-пресс", "АСВ", "Радиотехника", "Радио и связь", "Лань", "Академия", "Академкнига", "URSS", "Академический проект", "БИНОМ", "БВХ", "Вильямс", "Владос", "Волтерс Клувер", "Wolters Kluwer", "Восток-Запад", "Высшая школа", "ГЕО", "Дашков и К", "Кнорус", "Когито-Центр", "КолосС", "Проспект", "РХД", "Статистика", "Финансы и статистика", "Флинта", "Юнити-дана" }) { m_Termins.Add(new Pullenti.Ner.Core.Termin(s.ToUpper()) { Tag = BookLinkTyp.Press }); } tt = new Pullenti.Ner.Core.Termin("ИЗДАТЕЛЬСТВО") { Tag = BookLinkTyp.Press }; tt.AddAbridge("ИЗ-ВО"); tt.AddAbridge("ИЗД-ВО"); tt.AddAbridge("ИЗДАТ-ВО"); tt.AddVariant("ISSN", false); tt.AddVariant("PRESS", false); tt.AddVariant("VERLAG", false); tt.AddVariant("JOURNAL", false); m_Termins.Add(tt); }
public static void Initialize() { if (m_Ontology != null) { return; } m_Ontology = new Pullenti.Ner.Core.TerminCollection(); Pullenti.Ner.Core.Termin t; t = new Pullenti.Ner.Core.Termin("ПАСПОРТ") { Tag = Typs.Keyword }; t.AddVariant("ПАССПОРТ", false); t.AddVariant("ПАСПОРТНЫЕ ДАННЫЕ", false); t.AddVariant("ВНУТРЕННИЙ ПАСПОРТ", false); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("ЗАГРАНИЧНЫЙ ПАСПОРТ") { Tag = Typs.Keyword }; t.AddVariant("ЗАГРАНПАСПОРТ", false); t.AddAbridge("ЗАГРАН. ПАСПОРТ"); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("УДОСТОВЕРЕНИЕ ЛИЧНОСТИ") { Tag = Typs.Keyword }; t.AddVariant("УДОСТОВЕРЕНИЕ ЛИЧНОСТИ ОФИЦЕРА", false); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("СВИДЕТЕЛЬСТВО О ГОСУДАРСТВЕННОЙ РЕГИСТРАЦИИ ФИЗИЧЕСКОГО ЛИЦА В КАЧЕСТВЕ ИНДИВИДУАЛЬНОГО ПРЕДПРИНИМАТЕЛЯ") { Tag = Typs.Keyword }; t.AddVariant("СВИДЕТЕЛЬСТВО О ГОСУДАРСТВЕННОЙ РЕГИСТРАЦИИ ФИЗИЧЕСКОГО ЛИЦА В КАЧЕСТВЕ ИП", false); t.AddVariant("СВИДЕТЕЛЬСТВО О ГОСРЕГИСТРАЦИИ ФИЗЛИЦА В КАЧЕСТВЕ ИП", false); t.AddVariant("СВИДЕТЕЛЬСТВО ГОСУДАРСТВЕННОЙ РЕГИСТРАЦИИ", false); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("ВОДИТЕЛЬСКОЕ УДОСТОВЕРЕНИЕ") { Tag = Typs.Keyword }; m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("ЛИЦЕНЗИЯ") { Tag = Typs.Keyword }; m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("СЕРИЯ") { Tag = Typs.Seria }; t.AddAbridge("СЕР."); t.AddVariant("СЕРИ", false); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("НОМЕР") { Tag = Typs.Number }; t.AddAbridge("НОМ."); t.AddAbridge("Н-Р"); t.AddVariant("№", false); t.AddVariant("N", false); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("ВЫДАТЬ") { Tag = Typs.Vidan }; t.AddVariant("ВЫДАВАТЬ", false); t.AddVariant("ДАТА ВЫДАЧИ", false); t.AddVariant("ДАТА РЕГИСТРАЦИИ", false); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("КОД ПОДРАЗДЕЛЕНИЯ") { Tag = Typs.Code }; t.AddAbridge("К/П"); t.AddAbridge("К.П."); m_Ontology.Add(t); t = new Pullenti.Ner.Core.Termin("РЕГИСТРАЦИЯ") { Tag = Typs.Address }; t.AddVariant("ЗАРЕГИСТРИРОВАН", false); t.AddVariant("АДРЕС РЕГИСТРАЦИИ", false); t.AddVariant("ЗАРЕГИСТРИРОВАННЫЙ", false); t.AddAbridge("ПРОПИСАН"); t.AddVariant("АДРЕС ПРОПИСКИ", false); t.AddVariant("АДРЕС ПО ПРОПИСКЕ", false); m_Ontology.Add(t); }
internal static void Initialize() { if (m_Postfixes != null) { return; } Pullenti.Ner.Core.Termin t; m_Postfixes = new Pullenti.Ner.Core.TerminCollection(); t = new Pullenti.Ner.Core.Termin("КВАДРАТНЫЙ МЕТР", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "кв.м.", Tag = Pullenti.Ner.Core.NumberExType.Meter2 }; t.AddAbridge("КВ.МЕТР"); t.AddAbridge("КВ.МЕТРА"); t.AddAbridge("КВ.М."); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("КВАДРАТНИЙ МЕТР", Pullenti.Morph.MorphLang.UA, true) { CanonicText = "КВ.М.", Tag = Pullenti.Ner.Core.NumberExType.Meter2 }; t.AddAbridge("КВ.МЕТР"); t.AddAbridge("КВ.МЕТРА"); t.AddAbridge("КВ.М."); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("КВАДРАТНЫЙ КИЛОМЕТР", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "кв.км.", Tag = Pullenti.Ner.Core.NumberExType.Kilometer2 }; t.AddVariant("КВАДРАТНИЙ КІЛОМЕТР", true); t.AddAbridge("КВ.КМ."); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("ГЕКТАР", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "га", Tag = Pullenti.Ner.Core.NumberExType.Gektar }; t.AddAbridge("ГА"); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("АР", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "ар", Tag = Pullenti.Ner.Core.NumberExType.Ar }; t.AddVariant("СОТКА", true); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("КУБИЧЕСКИЙ МЕТР", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "куб.м.", Tag = Pullenti.Ner.Core.NumberExType.Meter3 }; t.AddVariant("КУБІЧНИЙ МЕТР", true); t.AddAbridge("КУБ.МЕТР"); t.AddAbridge("КУБ.М."); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("МЕТР", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "м.", Tag = Pullenti.Ner.Core.NumberExType.Meter }; t.AddAbridge("М."); t.AddAbridge("M."); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("МЕТРОВЫЙ", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "м.", Tag = Pullenti.Ner.Core.NumberExType.Meter }; t.AddVariant("МЕТРОВИЙ", true); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("МИЛЛИМЕТР", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "мм.", Tag = Pullenti.Ner.Core.NumberExType.Millimeter }; t.AddAbridge("ММ"); t.AddAbridge("MM"); t.AddVariant("МІЛІМЕТР", true); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("МИЛЛИМЕТРОВЫЙ", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "мм.", Tag = Pullenti.Ner.Core.NumberExType.Millimeter }; t.AddVariant("МІЛІМЕТРОВИЙ", true); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("САНТИМЕТР", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "см.", Tag = Pullenti.Ner.Core.NumberExType.Santimeter }; t.AddAbridge("СМ"); t.AddAbridge("CM"); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("САНТИМЕТРОВЫЙ", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "см.", Tag = Pullenti.Ner.Core.NumberExType.Santimeter }; t.AddVariant("САНТИМЕТРОВИЙ", true); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("КВАДРАТНЫЙ САНТИМЕТР", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "кв.см.", Tag = Pullenti.Ner.Core.NumberExType.Santimeter2 }; t.AddVariant("КВАДРАТНИЙ САНТИМЕТР", true); t.AddAbridge("КВ.СМ."); t.AddAbridge("СМ.КВ."); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("КУБИЧЕСКИЙ САНТИМЕТР", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "куб.см.", Tag = Pullenti.Ner.Core.NumberExType.Santimeter3 }; t.AddVariant("КУБІЧНИЙ САНТИМЕТР", true); t.AddAbridge("КУБ.САНТИМЕТР"); t.AddAbridge("КУБ.СМ."); t.AddAbridge("СМ.КУБ."); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("КИЛОМЕТР", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "км.", Tag = Pullenti.Ner.Core.NumberExType.Kilometer }; t.AddAbridge("КМ"); t.AddAbridge("KM"); t.AddVariant("КІЛОМЕТР", true); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("КИЛОМЕТРОВЫЙ", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "км.", Tag = Pullenti.Ner.Core.NumberExType.Kilometer }; t.AddVariant("КІЛОМЕТРОВИЙ", true); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("МИЛЯ", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "миль", Tag = Pullenti.Ner.Core.NumberExType.Kilometer }; m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("ГРАММ", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "гр.", Tag = Pullenti.Ner.Core.NumberExType.Gramm }; t.AddAbridge("ГР"); t.AddAbridge("Г"); t.AddVariant("ГРАМ", true); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("ГРАММОВЫЙ", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "гр.", Tag = Pullenti.Ner.Core.NumberExType.Gramm }; m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("КИЛОГРАММ", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "кг.", Tag = Pullenti.Ner.Core.NumberExType.Kilogram }; t.AddAbridge("КГ"); t.AddVariant("КІЛОГРАМ", true); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("КИЛОГРАММОВЫЙ", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "кг.", Tag = Pullenti.Ner.Core.NumberExType.Kilogram }; t.AddVariant("КІЛОГРАМОВИЙ", true); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("МИЛЛИГРАММ", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "мг.", Tag = Pullenti.Ner.Core.NumberExType.Milligram }; t.AddAbridge("МГ"); t.AddVariant("МІЛІГРАМ", true); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("МИЛЛИГРАММОВЫЙ", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "мг.", Tag = Pullenti.Ner.Core.NumberExType.Milligram }; t.AddVariant("МИЛЛИГРАМОВЫЙ", true); t.AddVariant("МІЛІГРАМОВИЙ", true); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("ТОННА", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "т.", Tag = Pullenti.Ner.Core.NumberExType.Tonna }; t.AddAbridge("Т"); t.AddAbridge("T"); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("ТОННЫЙ", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "т.", Tag = Pullenti.Ner.Core.NumberExType.Tonna }; t.AddVariant("ТОННИЙ", true); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("ЛИТР", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "л.", Tag = Pullenti.Ner.Core.NumberExType.Litr }; t.AddAbridge("Л"); t.AddVariant("ЛІТР", true); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("ЛИТРОВЫЙ", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "л.", Tag = Pullenti.Ner.Core.NumberExType.Litr }; t.AddVariant("ЛІТРОВИЙ", true); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("МИЛЛИЛИТР", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "мл.", Tag = Pullenti.Ner.Core.NumberExType.Millilitr }; t.AddAbridge("МЛ"); t.AddVariant("МІЛІЛІТР", true); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("МИЛЛИЛИТРОВЫЙ", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "мл.", Tag = Pullenti.Ner.Core.NumberExType.Millilitr }; t.AddVariant("МІЛІЛІТРОВИЙ", true); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("ЧАС", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "ч.", Tag = Pullenti.Ner.Core.NumberExType.Hour }; t.AddAbridge("Ч."); t.AddVariant("ГОДИНА", true); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("МИНУТА", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "мин.", Tag = Pullenti.Ner.Core.NumberExType.Minute }; t.AddAbridge("МИН."); t.AddVariant("ХВИЛИНА", true); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("СЕКУНДА", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "сек.", Tag = Pullenti.Ner.Core.NumberExType.Second }; t.AddAbridge("СЕК."); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("ГОД", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "г.", Tag = Pullenti.Ner.Core.NumberExType.Year }; t.AddAbridge("Г."); t.AddAbridge("ЛЕТ"); t.AddVariant("ЛЕТНИЙ", true); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("МЕСЯЦ", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "мес.", Tag = Pullenti.Ner.Core.NumberExType.Month }; t.AddAbridge("МЕС."); t.AddVariant("МЕСЯЧНЫЙ", true); t.AddVariant("КАЛЕНДАРНЫЙ МЕСЯЦ", true); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("ДЕНЬ", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "дн.", Tag = Pullenti.Ner.Core.NumberExType.Day }; t.AddAbridge("ДН."); t.AddVariant("ДНЕВНЫЙ", true); t.AddVariant("СУТКИ", true); t.AddVariant("СУТОЧНЫЙ", true); t.AddVariant("КАЛЕНДАРНЫЙ ДЕНЬ", true); t.AddVariant("РАБОЧИЙ ДЕНЬ", true); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("НЕДЕЛЯ", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "нед.", Tag = Pullenti.Ner.Core.NumberExType.Week }; t.AddVariant("НЕДЕЛЬНЫЙ", true); t.AddVariant("КАЛЕНДАРНАЯ НЕДЕЛЯ", false); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("ПРОЦЕНТ", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "%", Tag = Pullenti.Ner.Core.NumberExType.Percent }; t.AddVariant("%", false); t.AddVariant("ПРОЦ", true); t.AddAbridge("ПРОЦ."); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("ШТУКА", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "шт.", Tag = Pullenti.Ner.Core.NumberExType.Shuk }; t.AddVariant("ШТ", false); t.AddAbridge("ШТ."); t.AddAbridge("ШТ-К"); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("УПАКОВКА", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "уп.", Tag = Pullenti.Ner.Core.NumberExType.Upak }; t.AddVariant("УПАК", true); t.AddVariant("УП", true); t.AddAbridge("УПАК."); t.AddAbridge("УП."); t.AddAbridge("УП-КА"); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("РУЛОН", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "рулон", Tag = Pullenti.Ner.Core.NumberExType.Rulon }; t.AddVariant("РУЛ", true); t.AddAbridge("РУЛ."); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("НАБОР", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "набор", Tag = Pullenti.Ner.Core.NumberExType.Nabor }; t.AddVariant("НАБ", true); t.AddAbridge("НАБ."); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("КОМПЛЕКТ", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "компл.", Tag = Pullenti.Ner.Core.NumberExType.Komplekt }; t.AddVariant("КОМПЛ", true); t.AddAbridge("КОМПЛ."); m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("ПАРА", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "пар", Tag = Pullenti.Ner.Core.NumberExType.Para }; m_Postfixes.Add(t); t = new Pullenti.Ner.Core.Termin("ФЛАКОН", Pullenti.Morph.MorphLang.RU, true) { CanonicText = "флак.", Tag = Pullenti.Ner.Core.NumberExType.Flakon }; t.AddVariant("ФЛ", true); t.AddAbridge("ФЛ."); t.AddVariant("ФЛАК", true); t.AddAbridge("ФЛАК."); m_Postfixes.Add(t); foreach (Pullenti.Ner.Core.Termin te in m_Postfixes.Termins) { Pullenti.Ner.Core.NumberExType ty = (Pullenti.Ner.Core.NumberExType)te.Tag; if (!m_NormalsTyps.ContainsKey(ty)) { m_NormalsTyps.Add(ty, te.CanonicText); } } m_SmallMoney = new Pullenti.Ner.Core.TerminCollection(); t = new Pullenti.Ner.Core.Termin("УСЛОВНАЯ ЕДИНИЦА") { CanonicText = "УЕ", Tag = Pullenti.Ner.Core.NumberExType.Money }; t.AddAbridge("У.Е."); t.AddAbridge("У.E."); t.AddAbridge("Y.Е."); t.AddAbridge("Y.E."); m_Postfixes.Add(t); for (int k = 0; k < 3; k++) { string str = ResourceHelper.GetString((k == 0 ? "Money.csv" : (k == 1 ? "MoneyUA.csv" : "MoneyEN.csv"))); if (str == null) { continue; } Pullenti.Morph.MorphLang lang = (k == 0 ? Pullenti.Morph.MorphLang.RU : (k == 1 ? Pullenti.Morph.MorphLang.UA : Pullenti.Morph.MorphLang.EN)); if (str == null) { continue; } foreach (string line0 in str.Split('\n')) { string line = line0.Trim(); if (string.IsNullOrEmpty(line)) { continue; } string[] parts = line.ToUpper().Split(';'); if (parts == null || parts.Length != 5) { continue; } if (string.IsNullOrEmpty(parts[1]) || string.IsNullOrEmpty(parts[2])) { continue; } t = new Pullenti.Ner.Core.Termin(); t.InitByNormalText(parts[1], lang); t.CanonicText = parts[2]; t.Acronym = parts[2]; t.Tag = Pullenti.Ner.Core.NumberExType.Money; foreach (string p in parts[0].Split(',')) { if (p != parts[1]) { Pullenti.Ner.Core.Termin t0 = new Pullenti.Ner.Core.Termin(); t0.InitByNormalText(p, null); t.AddVariantTerm(t0); } } if (parts[1] == "РУБЛЬ") { t.AddAbridge("РУБ."); } else if (parts[1] == "ГРИВНЯ" || parts[1] == "ГРИВНА") { t.AddAbridge("ГРН."); } else if (parts[1] == "ДОЛЛАР") { t.AddAbridge("ДОЛ."); t.AddAbridge("ДОЛЛ."); } else if (parts[1] == "ДОЛАР") { t.AddAbridge("ДОЛ."); } else if (parts[1] == "ИЕНА") { t.AddVariant("ЙЕНА", false); } m_Postfixes.Add(t); if (string.IsNullOrEmpty(parts[3])) { continue; } int num = 0; int i = parts[3].IndexOf(' '); if (i < 2) { continue; } if (!int.TryParse(parts[3].Substring(0, i), out num)) { continue; } string vv = parts[3].Substring(i).Trim(); t = new Pullenti.Ner.Core.Termin(); t.InitByNormalText(parts[4], lang); t.Tag = num; if (vv != parts[4]) { Pullenti.Ner.Core.Termin t0 = new Pullenti.Ner.Core.Termin(); t0.InitByNormalText(vv, null); t.AddVariantTerm(t0); } if (parts[4] == "КОПЕЙКА" || parts[4] == "КОПІЙКА") { t.AddAbridge("КОП."); } m_SmallMoney.Add(t); } } }
public static void Initialize() { if (m_Inited) { return; } m_Inited = true; Units = new List <Unit>(); Termins = new Pullenti.Ner.Core.TerminCollection(); m_KindsKeywords = new Dictionary <Pullenti.Ner.Measure.MeasureKind, List <string> >(); m_KindsKeywords.Add(Pullenti.Ner.Measure.MeasureKind.Speed, new List <string>(new string[] { "СКОРОСТЬ", "SPEED", "ШВИДКІСТЬ" })); Pullenti.Ner.Core.Termin.AssignAllTextsAsNormal = true; Unit u; Unit uu; Pullenti.Ner.Core.Termin t; u = new Unit("м", "m", "метр", "meter") { Kind = Pullenti.Ner.Measure.MeasureKind.Length }; u.Keywords.AddRange(new string[] { "ДЛИНА", "ДЛИННА", "ШИРИНА", "ГЛУБИНА", "ВЫСОТА", "РАЗМЕР", "ГАБАРИТ", "РАССТОЯНИЕ", "РАДИУС", "ПЕРИМЕТР", "ДИАМЕТР", "ТОЛЩИНА", "ПОДАЧА", "НАПОР", "ДАЛЬНОСТЬ", "ТИПОРАЗМЕР", "КАЛИБР", "LENGTH", "WIDTH", "DEPTH", "HEIGHT", "SIZE", "ENVELOPE", "DISTANCE", "RADIUS", "PERIMETER", "DIAMETER", "FLOW", "PRESSURE", "CALIBER", "ДОВЖИНА", "ШИРИНА", "ГЛИБИНА", "ВИСОТА", "РОЗМІР", "ГАБАРИТ", "ВІДСТАНЬ", "РАДІУС", "ДІАМЕТР", "НАТИСК", "КАЛІБР" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("МЕТР") { Tag = u }; t.AddVariant("МЕТРОВЫЙ", false); t.AddVariant("МЕТРОВИЙ", false); t.AddVariant("METER", false); t.AddAbridge("М."); t.AddAbridge("M."); Termins.Add(t); foreach (UnitsFactors f in new UnitsFactors[] { UnitsFactors.Kilo, UnitsFactors.Deci, UnitsFactors.Centi, UnitsFactors.Milli, UnitsFactors.Micro, UnitsFactors.Nano }) { _addFactor(f, u, "М.", "M.", "МЕТР;МЕТРОВЫЙ", "МЕТР;МЕТРОВИЙ", "METER;METRE"); } uu = new Unit("миль", "mile", "морская миля", "mile") { Kind = Pullenti.Ner.Measure.MeasureKind.Length }; uu.BaseUnit = u; uu.BaseMultiplier = 1852; Units.Add(uu); t = new Pullenti.Ner.Core.Termin("МИЛЯ") { Tag = uu }; t.AddVariant("МОРСКАЯ МИЛЯ", false); t.AddAbridge("NMI"); t.AddVariant("MILE", false); t.AddVariant("NAUTICAL MILE", false); Termins.Add(t); uu = new Unit("фут", "ft", "фут", "foot") { BaseUnit = u, BaseMultiplier = 0.304799472, Kind = Pullenti.Ner.Measure.MeasureKind.Length }; Units.Add(uu); t = new Pullenti.Ner.Core.Termin("ФУТ") { Tag = uu }; t.AddAbridge("FT."); t.AddVariant("FOOT", false); Termins.Add(t); uu = new Unit("дюйм", "in", "дюйм", "inch") { BaseUnit = u, BaseMultiplier = 0.0254, Kind = Pullenti.Ner.Measure.MeasureKind.Length }; Units.Add(uu); t = new Pullenti.Ner.Core.Termin("ДЮЙМ") { Tag = uu }; t.AddAbridge("IN"); t.AddVariant("INCH", false); Termins.Add(t); u = new Unit("ар", "are", "ар", "are") { Kind = Pullenti.Ner.Measure.MeasureKind.Area }; u.Keywords.AddRange(new string[] { "ПЛОЩАДЬ", "ПРОЩИНА", "AREA", "SQWARE", "SPACE" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("АР") { Tag = u }; t.AddVariant("ARE", false); t.AddVariant("СОТКА", false); Termins.Add(t); uu = new Unit("га", "ga", "гектар", "hectare") { Kind = Pullenti.Ner.Measure.MeasureKind.Area }; uu.BaseUnit = u; uu.BaseMultiplier = 100; Units.Add(uu); t = new Pullenti.Ner.Core.Termin("ГЕКТАР") { Tag = uu }; t.AddVariant("HECTARE", false); t.AddAbridge("ГА"); t.AddAbridge("GA"); Termins.Add(t); u = new Unit("г", "g", "грамм", "gram") { Kind = Pullenti.Ner.Measure.MeasureKind.Weight }; u.Keywords.AddRange(new string[] { "ВЕС", "ТЯЖЕСТЬ", "НЕТТО", "БРУТТО", "МАССА", "НАГРУЗКА", "ЗАГРУЗКА", "УПАКОВКА", "WEIGHT", "NET", "GROSS", "MASS", "ВАГА", "ТЯЖКІСТЬ", "МАСА" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("ГРАММ") { Tag = u }; t.AddAbridge("Г."); t.AddAbridge("ГР."); t.AddAbridge("G."); t.AddAbridge("GR."); t.AddVariant("ГРАММОВЫЙ", false); t.AddVariant("ГРАММНЫЙ", false); t.AddVariant("ГРАМОВИЙ", false); t.AddVariant("GRAM", false); t.AddVariant("GRAMME", false); Termins.Add(t); foreach (UnitsFactors f in new UnitsFactors[] { UnitsFactors.Kilo, UnitsFactors.Milli }) { _addFactor(f, u, "Г.;ГР;", "G.;GR.", "ГРАМ;ГРАММ;ГРАММНЫЙ", "ГРАМ;ГРАМОВИЙ", "GRAM;GRAMME"); } uu = new Unit("ц", "centner", "центнер", "centner") { BaseUnit = u, BaseMultiplier = 100000, Kind = Pullenti.Ner.Measure.MeasureKind.Weight }; Units.Add(uu); t = new Pullenti.Ner.Core.Termin("ЦЕНТНЕР") { Tag = uu }; t.AddVariant("CENTNER", false); t.AddVariant("QUINTAL", false); t.AddAbridge("Ц."); Termins.Add(t); uu = new Unit("т", "t", "тонна", "tonne") { BaseUnit = u, BaseMultiplier = 1000000, Kind = Pullenti.Ner.Measure.MeasureKind.Weight }; Units.Add(uu); t = new Pullenti.Ner.Core.Termin("ТОННА") { Tag = uu }; t.AddVariant("TONNE", false); t.AddVariant("TON", false); t.AddAbridge("Т."); t.AddAbridge("T."); Termins.Add(t); _addFactor(UnitsFactors.Mega, uu, "Т", "T", "ТОННА;ТОННЫЙ", "ТОННА;ТОННИЙ", "TONNE;TON"); u = new Unit("л", "l", "литр", "liter") { Kind = Pullenti.Ner.Measure.MeasureKind.Volume }; u.Keywords.AddRange(new string[] { "ОБЪЕМ", "ЕМКОСТЬ", "ВМЕСТИМОСЬ", "ОБСЯГ", "ЄМНІСТЬ", "МІСТКІСТЬ", "VOLUME", "CAPACITY" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("ЛИТР") { Tag = u }; t.AddAbridge("Л."); t.AddAbridge("L."); t.AddVariant("LITER", false); t.AddVariant("LITRE", false); t.AddVariant("ЛІТР", false); t.AddVariant("ЛІТРОВИЙ", false); Termins.Add(t); foreach (UnitsFactors f in new UnitsFactors[] { UnitsFactors.Milli, UnitsFactors.Centi }) { _addFactor(f, u, "Л.", "L.", "ЛИТР;ЛИТРОВЫЙ", "ЛІТР;ЛІТРОВИЙ", "LITER;LITRE"); } uu = new Unit("галлон", "gallon", "галлон", "gallon") { BaseUnit = u, BaseMultiplier = 4.5461, Kind = Pullenti.Ner.Measure.MeasureKind.Volume }; Units.Add(uu); t = new Pullenti.Ner.Core.Termin("ГАЛЛОН") { Tag = u }; t.AddVariant("ГАЛОН", false); t.AddVariant("GALLON", false); t.AddAbridge("ГАЛ"); Termins.Add(t); uu = new Unit("баррель", "bbls", "баррель нефти", "barrel") { BaseUnit = u, BaseMultiplier = 158.987, Kind = Pullenti.Ner.Measure.MeasureKind.Volume }; Units.Add(uu); t = new Pullenti.Ner.Core.Termin("БАРРЕЛЬ") { Tag = uu }; t.AddAbridge("BBLS"); t.AddVariant("БАРРЕЛЬ НЕФТИ", false); t.AddVariant("BARRREL", false); Termins.Add(t); uSec = (u = new Unit("сек", "sec", "секунда", "second") { Kind = Pullenti.Ner.Measure.MeasureKind.Time }); u.Keywords.AddRange(new string[] { "ВРЕМЯ", "ПРОДОЛЖИТЕЛЬНОСТЬ", "ЗАДЕРЖКА", "ДЛИТЕЛЬНОСТЬ", "ДОЛГОТА", "TIME", "DURATION", "DELAY", "ЧАС", "ТРИВАЛІСТЬ", "ЗАТРИМКА" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("СЕКУНДА") { Tag = u }; t.AddAbridge("С."); t.AddAbridge("C."); t.AddAbridge("СЕК"); t.AddAbridge("СЕК"); t.AddAbridge("S."); t.AddAbridge("SEC"); t.AddVariant("СЕКУНДНЫЙ", false); t.AddVariant("СЕКУНДНИЙ", false); t.AddVariant("SECOND", false); Termins.Add(t); foreach (UnitsFactors f in new UnitsFactors[] { UnitsFactors.Milli, UnitsFactors.Micro }) { _addFactor(f, u, "С.;СЕК", "C;S.;SEC;", "СЕКУНДА;СЕКУНДНЫЙ", "СЕКУНДА;СЕКУНДНИЙ", "SECOND"); } uMinute = (uu = new Unit("мин", "min", "минута", "minute") { Kind = Pullenti.Ner.Measure.MeasureKind.Time }); uu.BaseUnit = u; uu.BaseMultiplier = 60; Units.Add(uu); t = new Pullenti.Ner.Core.Termin("МИНУТА") { Tag = uu }; t.AddAbridge("МИН."); t.AddAbridge("MIN."); t.AddVariant("МИНУТНЫЙ", false); t.AddVariant("ХВИЛИННИЙ", false); t.AddVariant("ХВИЛИНА", false); t.AddVariant("МІНУТА", false); t.AddVariant("MINUTE", false); Termins.Add(t); u = uu; uHour = (uu = new Unit("ч", "h", "час", "hour") { BaseUnit = u, BaseMultiplier = 60, Kind = Pullenti.Ner.Measure.MeasureKind.Time }); Units.Add(uu); t = new Pullenti.Ner.Core.Termin("ЧАС") { Tag = uu }; t.AddAbridge("Ч."); t.AddAbridge("H."); t.AddVariant("ЧАСОВОЙ", false); t.AddVariant("HOUR", false); t.AddVariant("ГОДИННИЙ", false); t.AddVariant("ГОДИНА", false); Termins.Add(t); u = new Unit("дн", "d", "день", "day") { Kind = Pullenti.Ner.Measure.MeasureKind.Time }; u.Keywords.AddRange(uSec.Keywords); u.Keywords.AddRange(new string[] { "ПОСТАВКА", "СРОК", "РАБОТА", "ЗАВЕРШЕНИЕ" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("ДЕНЬ") { Tag = u }; t.AddAbridge("ДН."); t.AddAbridge("Д."); t.AddVariant("DAY", false); Termins.Add(t); uu = new Unit("сут", "d", "сутки", "day") { Kind = Pullenti.Ner.Measure.MeasureKind.Time }; uu.Keywords.AddRange(uu.Keywords); Units.Add(uu); t = new Pullenti.Ner.Core.Termin("СУТКИ") { Tag = uu }; t.AddAbridge("СУТ."); t.AddVariant("DAY", false); Termins.Add(t); uu = new Unit("нед", "week", "неделя", "week") { BaseUnit = u, BaseMultiplier = 7, Kind = Pullenti.Ner.Measure.MeasureKind.Time }; Units.Add(uu); t = new Pullenti.Ner.Core.Termin("НЕДЕЛЯ") { Tag = uu }; t.AddAbridge("НЕД"); t.AddVariant("WEEK", false); t.AddVariant("ТИЖДЕНЬ", false); Termins.Add(t); uu = new Unit("мес", "mon", "месяц", "month") { BaseUnit = u, BaseMultiplier = 30, Kind = Pullenti.Ner.Measure.MeasureKind.Time }; Units.Add(uu); t = new Pullenti.Ner.Core.Termin("МЕСЯЦ") { Tag = uu }; t.AddAbridge("МЕС"); t.AddAbridge("MON"); t.AddVariant("MONTH", false); t.AddVariant("МІСЯЦЬ", false); Termins.Add(t); uu = new Unit("г", "year", "год", "year") { BaseUnit = u, BaseMultiplier = 365, Kind = Pullenti.Ner.Measure.MeasureKind.Time }; Units.Add(uu); t = new Pullenti.Ner.Core.Termin("ГОД") { Tag = uu }; t.AddAbridge("Г."); t.AddAbridge("ГД"); t.AddVariant("YEAR", false); t.AddVariant("РІК", false); t.AddVariant("ЛЕТ", false); Termins.Add(t); uGradus = new Unit("°", "°", "градус", "degree"); uGradus.Keywords.AddRange(new string[] { "ТЕМПЕРАТУРА", "ШИРОТА", "ДОЛГОТА", "АЗИМУТ", "ДОВГОТА", "TEMPERATURE", "LATITUDE", "LONGITUDE", "AZIMUTH" }); Units.Add(uGradus); t = new Pullenti.Ner.Core.Termin("ГРАДУС") { Tag = uGradus }; t.AddVariant("DEGREE", false); Termins.Add(t); uGradusC = new Unit("°C", "°C", "градус Цельсия", "celsius degree") { Kind = Pullenti.Ner.Measure.MeasureKind.Temperature }; uGradusC.Keywords.Add("ТЕМПЕРАТУРА"); uGradus.Keywords.Add("TEMPERATURE"); uGradus.Psevdo.Add(uGradusC); Units.Add(uGradusC); t = new Pullenti.Ner.Core.Termin("ГРАДУС ЦЕЛЬСИЯ") { Tag = uGradusC }; t.AddVariant("ГРАДУС ПО ЦЕЛЬСИЮ", false); t.AddVariant("CELSIUS DEGREE", false); Termins.Add(t); uGradusF = new Unit("°F", "°F", "градус Фаренгейта", "Fahrenheit degree") { Kind = Pullenti.Ner.Measure.MeasureKind.Temperature }; uGradusF.Keywords = uGradusC.Keywords; uGradus.Psevdo.Add(uGradusF); Units.Add(uGradusF); t = new Pullenti.Ner.Core.Termin("ГРАДУС ФАРЕНГЕЙТА") { Tag = uGradusF }; t.AddVariant("ГРАДУС ПО ФАРЕНГЕЙТУ", false); t.AddVariant("FAHRENHEIT DEGREE", false); Termins.Add(t); uPercent = new Unit("%", "%", "процент", "percent") { Kind = Pullenti.Ner.Measure.MeasureKind.Percent }; Units.Add(uPercent); t = new Pullenti.Ner.Core.Termin("ПРОЦЕНТ") { Tag = uPercent }; t.AddVariant("ПРОЦ", false); t.AddVariant("PERC", false); t.AddVariant("PERCENT", false); Termins.Add(t); uAlco = new Unit("%(об)", "%(vol)", "объёмный процент", "volume percent"); uAlco.Keywords.AddRange(new string[] { "КРЕПОСТЬ", "АЛКОГОЛЬ", "ALCOHOL", "СПИРТ", "АЛКОГОЛЬНЫЙ", "SPIRIT" }); uPercent.Psevdo.Add(uAlco); uGradus.Psevdo.Add(uAlco); Units.Add(uAlco); t = new Pullenti.Ner.Core.Termin("ОБЪЕМНЫЙ ПРОЦЕНТ") { Tag = uAlco }; t.AddVariant("ГРАДУС", false); Termins.Add(t); u = new Unit("об", "rev", "оборот", "revolution"); uGradus.Keywords.AddRange(new string[] { "ЧАСТОТА", "ВРАЩЕНИЕ", "ВРАЩАТЕЛЬНЫЙ", "СКОРОСТЬ", "ОБОРОТ", "FREQUENCY", "ROTATION", "ROTATIONAL", "SPEED", "ОБЕРТАННЯ", "ОБЕРТАЛЬНИЙ" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("ОБОРОТ") { Tag = u }; t.AddAbridge("ОБ."); t.AddAbridge("ROT."); t.AddAbridge("REV."); t.AddVariant("ROTATION", false); t.AddVariant("REVOLUTION", false); Termins.Add(t); u = new Unit("В", "V", "вольт", "volt"); u.Keywords.AddRange(new string[] { "ЭЛЕКТРИЧЕСКИЙ", "ПОТЕНЦИАЛ", "НАПРЯЖЕНИЕ", "ЭЛЕКТРОДВИЖУЩИЙ", "ПИТАНИЕ", "ТОК", "ПОСТОЯННЫЙ", "ПЕРЕМЕННЫЙ", "ЕЛЕКТРИЧНИЙ", "ПОТЕНЦІАЛ", "НАПРУГА", "ЕЛЕКТРОРУШІЙНОЇ", "ХАРЧУВАННЯ", "СТРУМ", "ПОСТІЙНИЙ", "ЗМІННИЙ", "ELECTRIC", "POTENTIAL", "TENSION", "ELECTROMOTIVE", "FOOD", "CURRENT", "CONSTANT", "VARIABLE" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("ВОЛЬТ") { Tag = u }; t.AddVariant("VOLT", false); t.AddAbridge("V"); t.AddAbridge("В."); t.AddAbridge("B."); t.AddVariant("VAC", false); Termins.Add(t); foreach (UnitsFactors f in new UnitsFactors[] { UnitsFactors.Kilo, UnitsFactors.Mega, UnitsFactors.Milli, UnitsFactors.Milli, UnitsFactors.Micro }) { _addFactor(f, u, "В.", "V.", "ВОЛЬТ;ВОЛЬТНЫЙ", "ВОЛЬТ;ВОЛЬТНІ", "VOLT"); } u = new Unit("Вт", "W", "ватт", "watt"); u.Keywords.AddRange(new string[] { "МОЩНОСТЬ", "ЭНЕРГИЯ", "ПОТОК", "ИЗЛУЧЕНИЕ", "ЭНЕРГОПОТРЕБЛЕНИЕ", "ПОТУЖНІСТЬ", "ЕНЕРГІЯ", "ПОТІК", "ВИПРОМІНЮВАННЯ", "POWER", "ENERGY", "FLOW", "RADIATION" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("ВАТТ") { Tag = u }; t.AddAbridge("Вт"); t.AddAbridge("W"); t.AddVariant("WATT", false); Termins.Add(t); foreach (UnitsFactors f in new UnitsFactors[] { UnitsFactors.Kilo, UnitsFactors.Mega, UnitsFactors.Giga, UnitsFactors.Milli }) { _addFactor(f, u, "ВТ.", "W.", "ВАТТ;ВАТТНЫЙ", "ВАТ;ВАТНИЙ", "WATT;WATTS"); } uu = new Unit("л.с.", "hp", "лошадиная сила", "horsepower") { BaseUnit = u, BaseMultiplier = 735.49875 }; Units.Add(uu); t = new Pullenti.Ner.Core.Termin("ЛОШАДИНАЯ СИЛА") { Tag = uu }; t.AddAbridge("Л.С."); t.AddAbridge("ЛОШ.С."); t.AddAbridge("ЛОШ.СИЛА"); t.AddAbridge("HP"); t.AddAbridge("PS"); t.AddAbridge("SV"); t.AddVariant("HORSEPOWER", false); Termins.Add(t); u = new Unit("Дж", "J", "джоуль", "joule"); u.Keywords.AddRange(new string[] { "РАБОТА", "ЭНЕРГИЯ", "ТЕПЛОТА", "ТЕПЛОВОЙ", "ТЕПЛОВЫДЕЛЕНИЕ", "МОЩНОСТЬ", "ХОЛОДИЛЬНЫЙ" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("ДЖОУЛЬ") { Tag = u }; t.AddAbridge("ДЖ"); t.AddAbridge("J"); t.AddVariant("JOULE", false); Termins.Add(t); foreach (UnitsFactors f in new UnitsFactors[] { UnitsFactors.Kilo, UnitsFactors.Mega, UnitsFactors.Giga, UnitsFactors.Tera, UnitsFactors.Milli }) { _addFactor(f, u, "ДЖ.", "J.", "ДЖОУЛЬ", "ДЖОУЛЬ", "JOULE"); } uu = new Unit("БТЕ", "BTU", "британская терминальная единица", "british terminal unit"); uu.Keywords = u.Keywords; Units.Add(uu); t = new Pullenti.Ner.Core.Termin("БРИТАНСКАЯ ТЕРМИНАЛЬНАЯ ЕДИНИЦА") { Tag = uu }; t.AddAbridge("БТЕ"); t.AddAbridge("BTU"); t.AddVariant("BRITISH TERMINAL UNIT", false); Termins.Add(t); u = new Unit("К", "K", "кельвин", "kelvin"); u.Keywords.AddRange(uGradusC.Keywords); Units.Add(u); t = new Pullenti.Ner.Core.Termin("КЕЛЬВИН") { Tag = u }; t.AddAbridge("К."); t.AddAbridge("K."); t.AddVariant("KELVIN", false); t.AddVariant("КЕЛЬВІН", false); Termins.Add(t); foreach (UnitsFactors f in new UnitsFactors[] { UnitsFactors.Kilo, UnitsFactors.Mega, UnitsFactors.Giga, UnitsFactors.Milli }) { _addFactor(f, u, "К.", "K.", "КЕЛЬВИН", "КЕЛЬВІН", "KELVIN"); } u = new Unit("Гц", "Hz", "герц", "herz"); u.Keywords.AddRange(new string[] { "ЧАСТОТА", "ЧАСТОТНЫЙ", "ПЕРИОДИЧНОСТЬ", "ПИТАНИЕ", "ЧАСТОТНИЙ", "ПЕРІОДИЧНІСТЬ", "FREQUENCY" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("ГЕРЦ") { Tag = u }; t.AddAbridge("HZ"); t.AddAbridge("ГЦ"); t.AddVariant("ГЕРЦОВЫЙ", false); t.AddVariant("ГЕРЦОВИЙ", false); t.AddVariant("HERZ", false); Termins.Add(t); foreach (UnitsFactors f in new UnitsFactors[] { UnitsFactors.Kilo, UnitsFactors.Mega, UnitsFactors.Giga, UnitsFactors.Micro }) { _addFactor(f, u, "ГЦ.", "W.", "ГЕРЦ;ГЕРЦОВЫЙ", "ГЕРЦ;ГЕРЦОВИЙ", "HERZ"); } uOm = (u = new Unit("Ом", "Ω", "Ом", "Ohm")); u.Keywords.AddRange(new string[] { "СОПРОТИВЛЕНИЕ", "РЕЗИСТОР", "РЕЗИСТНЫЙ", "ИМПЕДАНС", "РЕЗИСТОРНЫЙ", "ОПІР", "РЕЗИСТИВНИЙ", "ІМПЕДАНС", "RESISTANCE", "RESISTOR", "RESISTIVE", "IMPEDANCE" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("ОМ") { Tag = uOm }; t.AddVariant("OHM", false); Termins.Add(t); foreach (UnitsFactors f in new UnitsFactors[] { UnitsFactors.Kilo, UnitsFactors.Mega, UnitsFactors.Giga, UnitsFactors.Micro, UnitsFactors.Milli }) { _addFactor(f, u, "ОМ", "Ω", "ОМ", "ОМ", "OHM"); } u = new Unit("А", "A", "ампер", "ampere"); u.Keywords.AddRange(new string[] { "ТОК", "СИЛА", "ЭЛЕКТРИЧЕСКИЙ", "ЭЛЕКТРИЧЕСТВО", "МАГНИТ", "МАГНИТОДВИЖУЩИЙ", "ПОТРЕБЛЕНИЕ", "CURRENT", "POWER", "ELECTRICAL", "ELECTRICITY", "MAGNET", "MAGNETOMOTIVE", "CONSUMPTION", "СТРУМ", "ЕЛЕКТРИЧНИЙ", "ЕЛЕКТРИКА", "МАГНІТ", "МАГНИТОДВИЖУЩИЙ", "СПОЖИВАННЯ" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("АМПЕР") { Tag = u }; t.AddAbridge("A"); t.AddAbridge("А"); t.AddVariant("АМПЕРНЫЙ", false); t.AddVariant("AMP", false); t.AddVariant("AMPERE", false); Termins.Add(t); uu = new Unit("Ач", "Ah", "ампер-час", "ampere-hour") { BaseUnit = u, MultUnit = uHour }; uu.Keywords.AddRange(new string[] { "ЗАРЯД", "АККУМУЛЯТОР", "АККУМУЛЯТОРНЫЙ", "ЗАРЯДКА", "БАТАРЕЯ", "CHARGE", "BATTERY", "CHARGING", "АКУМУЛЯТОР", "АКУМУЛЯТОРНИЙ" }); Units.Add(uu); t = new Pullenti.Ner.Core.Termin("АМПЕР ЧАС") { Tag = uu }; t.AddAbridge("АЧ"); t.AddAbridge("AH"); t.AddVariant("AMPERE HOUR", false); t.AddVariant("АМПЕРЧАС", false); Termins.Add(t); foreach (UnitsFactors f in new UnitsFactors[] { UnitsFactors.Kilo, UnitsFactors.Mega, UnitsFactors.Giga, UnitsFactors.Micro, UnitsFactors.Milli }) { Unit u1 = _addFactor(f, u, "А", "A", "АМПЕР;АМПЕРНЫЙ", "АМПЕР;АМПЕРНИЙ", "AMPERE;AMP"); Unit uu1 = _addFactor(f, uu, "АЧ", "AH", "АМПЕР ЧАС", "АМПЕР ЧАС", "AMPERE HOUR"); uu1.BaseUnit = u1; uu1.MultUnit = uHour; } uu = new Unit("ВА", "VA", "вольт-ампер", "volt-ampere"); uu.MultUnit = u; uu.BaseUnit = FindUnit("V", UnitsFactors.No); uu.Keywords.AddRange(new string[] { "ТОК", "СИЛА", "МОЩНОСТЬ", "ЭЛЕКТРИЧЕСКИЙ", "ПЕРЕМЕННЫЙ" }); Units.Add(uu); t = new Pullenti.Ner.Core.Termin("ВОЛЬТ-АМПЕР") { Tag = uu }; t.AddAbridge("BA"); t.AddAbridge("BA"); t.AddVariant("VA", false); Termins.Add(t); foreach (UnitsFactors f in new UnitsFactors[] { UnitsFactors.Kilo, UnitsFactors.Mega, UnitsFactors.Giga, UnitsFactors.Micro, UnitsFactors.Milli }) { Unit u1 = _addFactor(f, uu, "ВА;BA", "VA", "ВОЛЬТ-АМПЕР", "ВОЛЬТ-АМПЕР", "VOLT-AMPERE"); } u = new Unit("лк", "lx", "люкс", "lux"); u.Keywords.AddRange(new string[] { "СВЕТ", "ОСВЕЩЕННОСТЬ", "ILLUMINANCE", "СВІТЛО", " ОСВІТЛЕНІСТЬ" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("ЛЮКС") { Tag = u }; t.AddAbridge("ЛК"); t.AddAbridge("LX"); t.AddVariant("LUX", false); Termins.Add(t); foreach (UnitsFactors f in new UnitsFactors[] { UnitsFactors.Kilo, UnitsFactors.Mega, UnitsFactors.Giga, UnitsFactors.Deci, UnitsFactors.Centi, UnitsFactors.Micro, UnitsFactors.Milli, UnitsFactors.Nano }) { Unit u1 = _addFactor(f, u, "ЛК", "LX", "ЛЮКС", "ЛЮКС", "LUX"); } u = new Unit("Б", "B", "белл", "bell"); u.Keywords.AddRange(new string[] { "ЗВУК", "ЗВУКОВОЙ", "ШУМ", "ШУМОВОЙ", "ГРОМКОСТЬ", "ГРОМКИЙ", "СИГНАЛ", "УСИЛЕНИЕ", "ЗАТУХАНИЕ", "ГАРМОНИЧЕСКИЙ", "ПОДАВЛЕНИЕ", "ЗВУКОВИЙ", "ШУМОВИЙ", "ГУЧНІСТЬ", "ГУЧНИЙ", "ПОСИЛЕННЯ", "ЗАГАСАННЯ", "ГАРМОНІЙНИЙ", "ПРИДУШЕННЯ", "SOUND", "NOISE", "VOLUME", "LOUD", "SIGNAL", "STRENGTHENING", "ATTENUATION", "HARMONIC", "SUPPRESSION" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("БЕЛЛ") { Tag = u }; t.AddAbridge("Б."); t.AddAbridge("B."); t.AddAbridge("В."); t.AddVariant("БЕЛ", false); t.AddVariant("BELL", false); Termins.Add(t); _addFactor(UnitsFactors.Deci, u, "Б", "B", "БЕЛЛ;БЕЛ", "БЕЛЛ;БЕЛ", "BELL"); u = new Unit("дБи", "dBi", "коэффициент усиления антенны", "dBi"); u.Keywords.AddRange(new string[] { "УСИЛЕНИЕ", "АНТЕННА", "АНТЕНА", "ПОСИЛЕННЯ", "GAIN", "ANTENNA" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("DBI") { Tag = u }; t.AddVariant("ДБИ", false); Termins.Add(t); u = new Unit("дБм", "dBm", "опорная мощность", "dBm"); u.Keywords.AddRange(new string[] { "МОЩНОСТЬ" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("DBM") { Tag = u }; t.AddVariant("ДБМ", false); t.AddVariant("ДВМ", false); Termins.Add(t); u = new Unit("Ф", "F", "фарад", "farad"); u.Keywords.AddRange(new string[] { "ЕМКОСТЬ", "ЭЛЕКТРИЧНСКИЙ", "КОНДЕНСАТОР" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("ФАРАД") { Tag = u }; t.AddAbridge("Ф."); t.AddAbridge("ФА"); t.AddAbridge("F"); t.AddVariant("FARAD", false); Termins.Add(t); foreach (UnitsFactors f in new UnitsFactors[] { UnitsFactors.Kilo, UnitsFactors.Micro, UnitsFactors.Milli, UnitsFactors.Nano, UnitsFactors.Pico }) { _addFactor(f, u, "Ф.;ФА.", "F", "ФАРАД", "ФАРАД", "FARAD"); } u = new Unit("Н", "N", "ньютон", "newton"); u.Keywords.AddRange(new string[] { "СИЛА", "МОМЕНТ", "НАГРУЗКА" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("НЬЮТОН") { Tag = u }; t.AddAbridge("Н."); t.AddAbridge("H."); t.AddAbridge("N."); t.AddVariant("NEWTON", false); Termins.Add(t); foreach (UnitsFactors f in new UnitsFactors[] { UnitsFactors.Mega, UnitsFactors.Kilo, UnitsFactors.Micro, UnitsFactors.Milli }) { _addFactor(f, u, "Н.", "N.", "НЬЮТОН", "НЬЮТОН", "NEWTON"); } u = new Unit("моль", "mol", "моль", "mol"); u.Keywords.AddRange(new string[] { "МОЛЕКУЛА", "МОЛЕКУЛЯРНЫЙ", "КОЛИЧЕСТВО", "ВЕЩЕСТВО" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("МОЛЬ") { Tag = u }; t.AddAbridge("МЛЬ"); t.AddVariant("МОЛ", false); t.AddVariant("MOL", false); t.AddVariant("ГРАММ МОЛЕКУЛА", false); Termins.Add(t); foreach (UnitsFactors f in new UnitsFactors[] { UnitsFactors.Mega, UnitsFactors.Kilo, UnitsFactors.Micro, UnitsFactors.Milli, UnitsFactors.Nano }) { _addFactor(f, u, "МЛЬ", "MOL", "МОЛЬ", "МОЛЬ", "MOL"); } u = new Unit("Бк", "Bq", "беккерель", "becquerel"); u.Keywords.AddRange(new string[] { "АКТИВНОСТЬ", "РАДИОАКТИВНЫЙ", "ИЗЛУЧЕНИЕ", "ИСТОЧНИК" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("БЕККЕРЕЛЬ") { Tag = u }; t.AddAbridge("БК."); t.AddVariant("BQ.", false); t.AddVariant("БЕК", false); t.AddVariant("БЕКЕРЕЛЬ", false); t.AddVariant("BECQUEREL", false); Termins.Add(t); foreach (UnitsFactors f in new UnitsFactors[] { UnitsFactors.Mega, UnitsFactors.Kilo, UnitsFactors.Micro, UnitsFactors.Milli, UnitsFactors.Nano }) { _addFactor(f, u, "БК.", "BQ.", "БЕККЕРЕЛЬ;БЕК", "БЕКЕРЕЛЬ", "BECQUEREL"); } u = new Unit("См", "S", "сименс", "siemens"); u.Keywords.AddRange(new string[] { "ПРОВОДИМОСТЬ", "ЭЛЕКТРИЧЕСКИЙ", "ПРОВОДНИК" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("СИМЕНС") { Tag = u }; t.AddAbridge("СМ."); t.AddAbridge("CM."); t.AddVariant("S.", false); t.AddVariant("SIEMENS", false); t.AddVariant("СІМЕНС", false); Termins.Add(t); foreach (UnitsFactors f in new UnitsFactors[] { UnitsFactors.Mega, UnitsFactors.Kilo, UnitsFactors.Micro, UnitsFactors.Milli, UnitsFactors.Nano }) { _addFactor(f, u, "СМ.", "S.", "СИМЕНС", "СІМЕНС", "SIEMENS"); } u = new Unit("кд", "cd", "кандела", "candela"); u.Keywords.AddRange(new string[] { "СВЕТ", "СВЕТОВОЙ", "ПОТОК", "ИСТОЧНИК" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("КАНДЕЛА") { Tag = u }; t.AddAbridge("КД."); t.AddVariant("CD.", false); t.AddVariant("КАНДЕЛА", false); t.AddVariant("CANDELA", false); Termins.Add(t); u = new Unit("Па", "Pa", "паскаль", "pascal"); u.Keywords.AddRange(new string[] { "ДАВЛЕНИЕ", "НАПРЯЖЕНИЕ", "ТЯЖЕСТЬ", "PRESSURE", "STRESS", "ТИСК", "НАПРУГА" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("ПАСКАЛЬ") { Tag = u }; t.AddAbridge("ПА"); t.AddAbridge("РА"); t.AddVariant("PA", false); t.AddVariant("PASCAL", false); Termins.Add(t); foreach (UnitsFactors f in new UnitsFactors[] { UnitsFactors.Kilo, UnitsFactors.Mega, UnitsFactors.Giga, UnitsFactors.Micro, UnitsFactors.Milli }) { _addFactor(f, u, "ПА", "PA", "ПАСКАЛЬ", "ПАСКАЛЬ", "PASCAL"); } uu = new Unit("бар", "bar", "бар", "bar") { BaseUnit = u, BaseMultiplier = 100000 }; Units.Add(uu); t = new Pullenti.Ner.Core.Termin("БАР") { Tag = uu }; t.AddVariant("BAR", false); Termins.Add(t); uu = new Unit("мм.рт.ст.", "mm Hg", "миллиметр ртутного столба", "millimeter of mercury") { BaseUnit = u, BaseMultiplier = 133.332 }; Units.Add(uu); t = new Pullenti.Ner.Core.Termin("МИЛЛИМЕТР РТУТНОГО СТОЛБА") { Tag = uu }; t.AddAbridge("ММ.РТ.СТ."); t.AddAbridge("MM.PT.CT"); t.AddAbridge("MM HG"); t.AddVariant("MMGH", false); t.AddVariant("ТОРР", false); t.AddVariant("TORR", false); t.AddVariant("MILLIMETER OF MERCURY", false); Termins.Add(t); u = new Unit("бит", "bit", "бит", "bit"); u.Keywords.AddRange(new string[] { "ОБЪЕМ", "РАЗМЕР", "ПАМЯТЬ", "ЕМКОСТЬ", "ПЕРЕДАЧА", "ПРИЕМ", "ОТПРАВКА", "ОП", "ДИСК", "НАКОПИТЕЛЬ", "КЭШ", "ОБСЯГ", "РОЗМІР", "ВІДПРАВЛЕННЯ", "VOLUME", "SIZE", "MEMORY", "TRANSFER", "SEND", "RECEPTION", "RAM", "DISK", "HDD", "RAM", "ROM", "CD-ROM", "CASHE" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("БИТ") { Tag = u }; t.AddVariant("BIT", false); Termins.Add(t); foreach (UnitsFactors f in new UnitsFactors[] { UnitsFactors.Kilo, UnitsFactors.Mega, UnitsFactors.Giga, UnitsFactors.Tera }) { _addFactor(f, u, "БИТ", "BIT", "БИТ", "БИТ", "BIT"); } uu = new Unit("б", "b", "байт", "byte"); uu.Keywords = u.Keywords; Units.Add(uu); t = new Pullenti.Ner.Core.Termin("БАЙТ") { Tag = uu }; t.AddVariant("BYTE", false); t.AddAbridge("B."); t.AddAbridge("Б."); t.AddAbridge("В."); Termins.Add(t); foreach (UnitsFactors f in new UnitsFactors[] { UnitsFactors.Kilo, UnitsFactors.Mega, UnitsFactors.Giga, UnitsFactors.Tera }) { _addFactor(f, uu, "Б.", "B.", "БАЙТ", "БАЙТ", "BYTE"); } u = new Unit("бод", "Bd", "бод", "baud"); u.Keywords.AddRange(new string[] { "СКОРОСТЬ", "ПЕРЕДАЧА", "ПРИЕМ", "ДАННЫЕ", "ОТПРАВКА" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("БОД") { Tag = u }; t.AddAbridge("BD"); t.AddVariant("BAUD", false); Termins.Add(t); foreach (UnitsFactors f in new UnitsFactors[] { UnitsFactors.Kilo, UnitsFactors.Mega, UnitsFactors.Giga, UnitsFactors.Tera }) { _addFactor(f, uu, "БОД", "BD.", "БОД", "БОД", "BAUD"); } u = new Unit("гс", "gf", "грамм-сила", "gram-force"); u.Keywords.AddRange(new string[] { "СИЛА", "ДАВЛЕНИЕ" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("ГРАММ СИЛА") { Tag = u }; t.AddAbridge("ГС"); t.AddVariant("POND", false); t.AddVariant("ГРАМ СИЛА", false); t.AddAbridge("GP."); t.AddVariant("GRAM POND", false); t.AddVariant("GRAM FORCE", false); Termins.Add(t); uu = new Unit("кгс", "kgf", "килограмм-сила", "kilogram-force") { BaseUnit = u, BaseMultiplier = 1000 }; Units.Add(uu); t = new Pullenti.Ner.Core.Termin("КИЛОГРАММ СИЛА") { Tag = uu }; t.AddAbridge("КГС"); t.AddVariant("KILOPOND", false); t.AddVariant("КІЛОГРАМ СИЛА", false); t.AddAbridge("KP."); t.AddVariant("KILOGRAM POND", false); Termins.Add(t); u = new Unit("dpi", "точек на дюйм", "dpi", "dots per inch"); u.Keywords.AddRange(new string[] { "РАЗРЕШЕНИЕ", "ЭКРАН", "МОНИТОР" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("DOTS PER INCH") { Tag = u }; t.AddVariant("DPI", false); Termins.Add(t); u = new Unit("IP", "IP", "IP", "IP") { Kind = Pullenti.Ner.Measure.MeasureKind.Ip }; u.Keywords.AddRange(new string[] { "ЗАЩИТА", "КЛАСС ЗАЩИТЫ", "PROTECTION", "PROTACTION RATING" }); Units.Add(u); t = new Pullenti.Ner.Core.Termin("IP") { Tag = u }; Termins.Add(t); Pullenti.Ner.Core.Termin.AssignAllTextsAsNormal = false; }
static Unit _addFactor(UnitsFactors f, Unit u0, string abbrCyr, string abbrLat, string namesRu, string namesUa, string namesEn) { string prefCyr = null; string prefLat = null; string prefRu = null; string prefUa = null; string prefEn = null; double mult = (double)1; switch (f) { case UnitsFactors.Centi: prefCyr = "С"; prefLat = "C"; prefRu = "САНТИ"; prefUa = "САНТИ"; prefEn = "CENTI"; mult = 0.1; break; case UnitsFactors.Deci: prefCyr = "Д"; prefLat = "D"; prefRu = "ДЕЦИ"; prefUa = "ДЕЦИ"; prefEn = "DECI"; mult = 0.01; break; case UnitsFactors.Giga: prefCyr = "Г"; prefLat = "G"; prefRu = "ГИГА"; prefUa = "ГІГА"; prefEn = "GIGA"; mult = 1000000000; break; case UnitsFactors.Kilo: prefCyr = "К"; prefLat = "K"; prefRu = "КИЛО"; prefUa = "КІЛО"; prefEn = "KILO"; mult = 1000; break; case UnitsFactors.Mega: prefCyr = "М"; prefLat = "M"; prefRu = "МЕГА"; prefUa = "МЕГА"; prefEn = "MEGA"; mult = 1000000; break; case UnitsFactors.Micro: prefCyr = "МК"; prefLat = "MK"; prefRu = "МИКРО"; prefUa = "МІКРО"; prefEn = "MICRO"; mult = 0.0001; break; case UnitsFactors.Milli: prefCyr = "М"; prefLat = "M"; prefRu = "МИЛЛИ"; prefUa = "МІЛІ"; prefEn = "MILLI"; mult = 0.001; break; case UnitsFactors.Nano: prefCyr = "Н"; prefLat = "N"; prefRu = "НАНО"; prefUa = "НАНО"; prefEn = "NANO"; mult = 0.0000000001; break; case UnitsFactors.Pico: prefCyr = "П"; prefLat = "P"; prefRu = "ПИКО"; prefUa = "ПІКО"; prefEn = "PICO"; mult = 0.0000000000001; break; case UnitsFactors.Tera: prefCyr = "Т"; prefLat = "T"; prefRu = "ТЕРА"; prefUa = "ТЕРА"; prefEn = "TERA"; mult = 1000000000000; break; } Unit u = new Unit(prefCyr.ToLower() + u0.NameCyr, prefLat.ToLower() + u0.NameLat, prefRu.ToLower() + u0.FullnameCyr, prefEn.ToLower() + u0.FullnameLat) { Factor = f, BaseMultiplier = mult, BaseUnit = u0, Kind = u0.Kind, Keywords = u0.Keywords }; if (f == UnitsFactors.Mega || f == UnitsFactors.Tera || f == UnitsFactors.Giga) { u.NameCyr = prefCyr + u0.NameCyr; u.NameLat = prefLat + u0.NameLat; } Units.Add(u); string[] nams = namesRu.Split(';'); Pullenti.Ner.Core.Termin t = new Pullenti.Ner.Core.Termin(prefRu + nams[0]) { Tag = u }; for (int i = 1; i < nams.Length; i++) { if (!string.IsNullOrEmpty(nams[i])) { t.AddVariant(prefRu + nams[i], false); } } foreach (string n in nams) { if (!string.IsNullOrEmpty(n)) { t.AddVariant(prefCyr + n, false); } } foreach (string n in namesUa.Split(';')) { if (!string.IsNullOrEmpty(n)) { t.AddVariant(prefUa + n, false); t.AddVariant(prefCyr + n, false); } } foreach (string n in namesEn.Split(';')) { if (!string.IsNullOrEmpty(n)) { t.AddVariant(prefEn + n, false); t.AddVariant(prefLat + n, false); } } foreach (string n in abbrCyr.Split(';')) { if (!string.IsNullOrEmpty(n)) { t.AddAbridge(prefCyr + n); } } foreach (string n in abbrLat.Split(';')) { if (!string.IsNullOrEmpty(n)) { t.AddAbridge(prefLat + n); } } Termins.Add(t); return(u); }
public static void Initialize() { if (m_PhoneTermins != null) { return; } m_PhoneTermins = new Pullenti.Ner.Core.TerminCollection(); Pullenti.Ner.Core.Termin t; t = new Pullenti.Ner.Core.Termin("ТЕЛЕФОН", Pullenti.Morph.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("Т/Ф"); m_PhoneTermins.Add(t); t = new Pullenti.Ner.Core.Termin("МОБИЛЬНЫЙ", Pullenti.Morph.MorphLang.RU, true) { Tag2 = Pullenti.Ner.Phone.PhoneKind.Mobile }; t.AddAbridge("МОБ."); t.AddAbridge("Т.М."); t.AddAbridge("М.Т."); t.AddAbridge("М."); m_PhoneTermins.Add(t); t = new Pullenti.Ner.Core.Termin("СОТОВЫЙ", Pullenti.Morph.MorphLang.RU, true) { Tag2 = Pullenti.Ner.Phone.PhoneKind.Mobile }; t.AddAbridge("СОТ."); t.AddAbridge("CELL."); m_PhoneTermins.Add(t); t = new Pullenti.Ner.Core.Termin("РАБОЧИЙ", Pullenti.Morph.MorphLang.RU, true) { Tag2 = Pullenti.Ner.Phone.PhoneKind.Work }; t.AddAbridge("РАБ."); t.AddAbridge("Т.Р."); t.AddAbridge("Р.Т."); m_PhoneTermins.Add(t); t = new Pullenti.Ner.Core.Termin("ГОРОДСКОЙ", Pullenti.Morph.MorphLang.RU, true); t.AddAbridge("ГОР."); t.AddAbridge("Г.Т."); m_PhoneTermins.Add(t); t = new Pullenti.Ner.Core.Termin("ДОМАШНИЙ", Pullenti.Morph.MorphLang.RU, true) { Tag2 = Pullenti.Ner.Phone.PhoneKind.Home }; t.AddAbridge("ДОМ."); m_PhoneTermins.Add(t); t = new Pullenti.Ner.Core.Termin("КОНТАКТНЫЙ", Pullenti.Morph.MorphLang.RU, true); t.AddVariant("КОНТАКТНЫЕ ДАННЫЕ", false); m_PhoneTermins.Add(t); t = new Pullenti.Ner.Core.Termin("МНОГОКАНАЛЬНЫЙ", Pullenti.Morph.MorphLang.RU, true); m_PhoneTermins.Add(t); t = new Pullenti.Ner.Core.Termin("ФАКС", Pullenti.Morph.MorphLang.RU, true) { Tag2 = Pullenti.Ner.Phone.PhoneKind.Fax }; t.AddAbridge("Ф."); t.AddAbridge("Т/ФАКС"); t.AddAbridge("ТЕЛ/ФАКС"); m_PhoneTermins.Add(t); t = new Pullenti.Ner.Core.Termin("ЗВОНИТЬ", Pullenti.Morph.MorphLang.RU, true); m_PhoneTermins.Add(t); t = new Pullenti.Ner.Core.Termin("ПРИЕМНАЯ", Pullenti.Morph.MorphLang.RU, true) { Tag2 = Pullenti.Ner.Phone.PhoneKind.Work }; m_PhoneTermins.Add(t); t = new Pullenti.Ner.Core.Termin("PHONE", Pullenti.Morph.MorphLang.EN, true); t.AddAbridge("PH."); t.AddVariant("TELEFON", true); m_PhoneTermins.Add(t); t = new Pullenti.Ner.Core.Termin("DIRECT LINE", Pullenti.Morph.MorphLang.EN, true) { Tag2 = Pullenti.Ner.Phone.PhoneKind.Work }; t.AddVariant("DIRECT LINES", true); m_PhoneTermins.Add(t); t = new Pullenti.Ner.Core.Termin("MOBILE", Pullenti.Morph.MorphLang.EN, true) { Tag2 = Pullenti.Ner.Phone.PhoneKind.Mobile }; t.AddAbridge("MOB."); t.AddVariant("MOBIL", true); t.AddAbridge("M."); m_PhoneTermins.Add(t); t = new Pullenti.Ner.Core.Termin("FAX", Pullenti.Morph.MorphLang.EN, true) { Tag2 = Pullenti.Ner.Phone.PhoneKind.Fax }; t.AddAbridge("F."); m_PhoneTermins.Add(t); t = new Pullenti.Ner.Core.Termin("HOME", Pullenti.Morph.MorphLang.EN, true) { Tag2 = Pullenti.Ner.Phone.PhoneKind.Home }; m_PhoneTermins.Add(t); t = new Pullenti.Ner.Core.Termin("CALL", Pullenti.Morph.MorphLang.EN, true); t.AddVariant("SEDIU", true); m_PhoneTermins.Add(t); t = new Pullenti.Ner.Core.Termin("ДОПОЛНИТЕЛЬНЫЙ", Pullenti.Morph.MorphLang.RU, true); t.Tag = t; t.AddAbridge("ДОП."); t.AddAbridge("EXT."); m_PhoneTermins.Add(t); t = new Pullenti.Ner.Core.Termin("ДОБАВОЧНЫЙ", Pullenti.Morph.MorphLang.RU, true); t.Tag = t; t.AddAbridge("ДОБ."); t.AddAbridge("Д."); m_PhoneTermins.Add(t); t = new Pullenti.Ner.Core.Termin("ВНУТРЕННИЙ", Pullenti.Morph.MorphLang.RU, true); t.Tag = t; t.AddAbridge("ВНУТР."); t.AddAbridge("ВН."); t.AddAbridge("ВНТ."); t.AddAbridge("Т.ВН."); m_PhoneTermins.Add(t); t = new Pullenti.Ner.Core.Termin("TONE MODE", Pullenti.Morph.MorphLang.EN, true); t.Tag = t; m_PhoneTermins.Add(t); t = new Pullenti.Ner.Core.Termin("TONE", Pullenti.Morph.MorphLang.EN, true); t.Tag = t; m_PhoneTermins.Add(t); t = new Pullenti.Ner.Core.Termin("ADDITIONAL", Pullenti.Morph.MorphLang.EN, true); t.AddAbridge("ADD."); t.Tag = t; t.AddVariant("INTERNAL", true); t.AddAbridge("INT."); m_PhoneTermins.Add(t); }
public static void Initialize() { m_StdTails = new Pullenti.Ner.Core.TerminCollection(); m_StdNames = new Pullenti.Ner.Core.TerminCollection(); m_VervotWords = new Pullenti.Ner.Core.TerminCollection(); Pullenti.Ner.Core.Termin t; t = new Pullenti.Ner.Core.Termin("INCORPORATED"); t.AddAbridge("INC."); m_StdTails.Add(t); t = new Pullenti.Ner.Core.Termin("CORPORATION"); t.AddAbridge("CORP."); m_StdTails.Add(t); t = new Pullenti.Ner.Core.Termin("LIMITED"); t.AddAbridge("LTD."); m_StdTails.Add(t); t = new Pullenti.Ner.Core.Termin("AG"); m_StdTails.Add(t); t = new Pullenti.Ner.Core.Termin("GMBH"); m_StdTails.Add(t); foreach (string s in new string[] { "ЗАКАЗЧИК", "ИСПОЛНИТЕЛЬ", "РАЗРАБОТЧИК", "БЕНЕФИЦИАР", "ПОЛУЧАТЕЛЬ", "ОТПРАВИТЕЛЬ", "ИЗГОТОВИТЕЛЬ", "ПРОИЗВОДИТЕЛЬ", "ПОСТАВЩИК", "АБОНЕНТ", "КЛИЕНТ", "ВКЛАДЧИК", "СУБЪЕКТ", "ПРОДАВЕЦ", "ПОКУПАТЕЛЬ", "АРЕНДОДАТЕЛЬ", "АРЕНДАТОР", "СУБАРЕНДАТОР", "НАЙМОДАТЕЛЬ", "НАНИМАТЕЛЬ", "АГЕНТ", "ПРИНЦИПАЛ", "ПРОДАВЕЦ", "ПОСТАВЩИК", "ПОДРЯДЧИК", "СУБПОДРЯДЧИК" }) { m_StdTails.Add(new Pullenti.Ner.Core.Termin(s) { Tag = s }); } foreach (string s in new string[] { "ЗАМОВНИК", "ВИКОНАВЕЦЬ", "РОЗРОБНИК", "БЕНЕФІЦІАР", "ОДЕРЖУВАЧ", "ВІДПРАВНИК", "ВИРОБНИК", "ВИРОБНИК", "ПОСТАЧАЛЬНИК", "АБОНЕНТ", "КЛІЄНТ", "ВКЛАДНИК", "СУБ'ЄКТ", "ПРОДАВЕЦЬ", "ПОКУПЕЦЬ", "ОРЕНДОДАВЕЦЬ", "ОРЕНДАР", "СУБОРЕНДАР", "НАЙМОДАВЕЦЬ", "НАЙМАЧ", "АГЕНТ", "ПРИНЦИПАЛ", "ПРОДАВЕЦЬ", "ПОСТАЧАЛЬНИК", "ПІДРЯДНИК", "СУБПІДРЯДНИК" }) { m_StdTails.Add(new Pullenti.Ner.Core.Termin(s, Pullenti.Morph.MorphLang.UA) { Tag = s }); } t = new Pullenti.Ner.Core.Termin("РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ"); t.AddAbridge("РАЗРАБОТКИ ПО"); m_StdNames.Add(t); foreach (string s in new string[] { "СПЕЦИАЛЬНОСТЬ", "ДИАГНОЗ" }) { m_VervotWords.Add(new Pullenti.Ner.Core.Termin(s)); } foreach (string s in new string[] { "СПЕЦІАЛЬНІСТЬ", "ДІАГНОЗ" }) { m_VervotWords.Add(new Pullenti.Ner.Core.Termin(s, Pullenti.Morph.MorphLang.UA)); } m_StdNouns = new Pullenti.Ner.Core.TerminCollection(); for (int k = 0; k < 2; k++) { string name = (k == 0 ? "NameNouns_ru.dat" : "NameNouns_ua.dat"); byte[] dat = ResourceHelper.GetBytes(name); if (dat == null) { throw new Exception(string.Format("Can't file resource file {0} in Organization analyzer", name)); } string str = Encoding.UTF8.GetString(OrgItemTypeToken.Deflate(dat)); foreach (string line0 in str.Split('\n')) { string line = line0.Trim(); if (string.IsNullOrEmpty(line)) { continue; } if (k == 0) { m_StdNouns.Add(new Pullenti.Ner.Core.Termin(line)); } else { m_StdNouns.Add(new Pullenti.Ner.Core.Termin(line) { Lang = Pullenti.Morph.MorphLang.UA }); } } } }