Ejemplo n.º 1
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
                 });
             }
         }
     }
 }