コード例 #1
0
 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);
 }
コード例 #2
0
 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);
 }
コード例 #3
0
 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);
 }
コード例 #4
0
 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);
         }
     }
 }
コード例 #5
0
        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;
        }
コード例 #6
0
        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);
        }
コード例 #7
0
 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);
 }
コード例 #8
0
 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
                 });
             }
         }
     }
 }