示例#1
0
        /// <summary>
        /// Поиск наименования объекта действия (актора)
        /// </summary>
        /// <param name="clausesTree"></param>
        /// <param name="sent"></param>
        /// <returns></returns>
        public void searchActor()
        {
            LongOperationAttribut actor = new LongOperationAttribut();

            for (int i = 0; i < clausesTree.rels.Count; i++)
            {
                try
                {
                    //(new Rules.Actor.PODL).check(clausesTree, i, sent, stats, actor);
                }
                catch (Exception ex)
                {
                    log += ex.Message + "\r\n";
                }

                /*
                 * if (clausesTree.rels[i].Name == "ПРИЛ-СУЩ")//составной
                 * {
                 *  actor.addEAttr(sent.get_Word(clausesTree.rels[i].SourceItemNo).WordStr + " V " +
                 *      sent.get_Word(clausesTree.rels[i].SourceItemNo).WordStr);
                 * }
                 * if (clausesTree.rels[i].Name == "СУЩ-ЧИСЛ")//уточнить, точно ли числительное попадает в оператор
                 * {
                 *  actor.addEAttr(sent.get_Word(clausesTree.rels[i].SourceItemNo).WordStr,
                 *      sent.get_Word(clausesTree.rels[i].TargetItemNo).WordStr);
                 * }
                 * //по Им падежу
                 * if (clausesTree.rels[i].Name == "ГЕНИТ_ИГ")//составной
                 * {
                 *  actor.addEAttr(sent.get_Word(clausesTree.rels[i].SourceItemNo).WordStr + " V " +
                 *      sent.get_Word(clausesTree.rels[i].SourceItemNo).WordStr);
                 * }
                 * if (clausesTree.rels[i].Name == "ОДНОР_ИГ")
                 * {
                 *  actor.addEAttr(sent.get_Word(clausesTree.rels[i].SourceItemNo).WordStr, sent.get_Word(clausesTree.rels[i].TargetItemNo).WordStr);
                 * }
                 * if (clausesTree.rels[i].Name == "ПРИЧ_СУЩ")
                 * {
                 *  actor.addEAttr(sent.get_Word(clausesTree.rels[i].SourceItemNo).WordStr, sent.get_Word(clausesTree.rels[i].TargetItemNo).WordStr);
                 * }
                 * if (clausesTree.rels[i].Name == "Р_С_ОДНОР_СУЩ")
                 * {
                 *  actor.addEAttr(sent.get_Word(clausesTree.rels[i].SourceItemNo).WordStr, sent.get_Word(clausesTree.rels[i].TargetItemNo).WordStr);
                 * }
                 * if (clausesTree.rels[i].Name == "Р_С_ОДНОР_МС")
                 * {
                 *  actor.addEAttr(sent.get_Word(clausesTree.rels[i].SourceItemNo).WordStr, sent.get_Word(clausesTree.rels[i].TargetItemNo).WordStr);
                 * }
                 * if (clausesTree.rels[i].Name == "ПРИЛ_ПОСТПОЗ")
                 * {
                 *  actor.addEAttr(sent.get_Word(clausesTree.rels[i].SourceItemNo).WordStr, sent.get_Word(clausesTree.rels[i].TargetItemNo).WordStr);
                 * }
                 * //по Им падежу
                 * if (clausesTree.rels[i].Name == "СУЩ_ОБС_ПРИЛ")
                 * {
                 *  actor.addEAttr(sent.get_Word(clausesTree.rels[i].SourceItemNo).WordStr, sent.get_Word(clausesTree.rels[i].TargetItemNo).WordStr);
                 * }*/
            }
            ep.actor = actor;
        }
示例#2
0
        /// <summary>
        /// Поиск наименования действия
        /// </summary>
        /// <param name="clausesTree"></param>
        /// <param name="sent"></param>
        /// <returns></returns>
        public void searchAction()
        {
            LongOperationAttribut action = new LongOperationAttribut();

            for (int i = 0; i < clausesTree.rels.Count; i++)
            {
                try
                {
                    // (new Rules.Action.PODL).check(clausesTree, i, sent, stats, action);
                    //(new Rules.Action.PRIAM_DOP).check(clausesTree, i, sent, stats, action);
                }
                catch (Exception ex)
                {
                    log += ex.Message + "\r\n";
                }

                /*
                 * if (clausesTree.rels[i].Name == "НАРЕЧ_ГЛАГОЛ")
                 * {
                 *  action.addElementaryAttribut(sent.get_Word(clausesTree.rels[i].SourceItemNo).WordStr, "");
                 *  markedWords.Add(clausesTree.rels[i].SourceItemNo, "Action");
                 * }
                 * if (clausesTree.rels[i].Name == "ПЕР_ГЛАГ_ИНФ")//составной
                 * {
                 *  ElementaryAttribut a1 =
                 *      new ElementaryAttribut("",sent.get_Word(clausesTree.rels[i].SourceItemNo).WordStr);
                 *  ElementaryAttribut a2 =
                 *      new ElementaryAttribut("",sent.get_Word(clausesTree.rels[i].TargetItemNo).WordStr);
                 *  action.addBreaksOfAttributs(a1, a2, "+");
                 *  markedWords.Add(clausesTree.rels[i].SourceItemNo, "Action");
                 *  markedWords.Add(clausesTree.rels[i].TargetItemNo, "Action");
                 * }
                 * if (clausesTree.rels[i].Name == "ОДНОР_ИНФ")//составной
                 * {
                 *  action.addEAttr(sent.get_Word(clausesTree.rels[i].TargetItemNo).WordStr, "AND");
                 * }*/
            }
            ep.action = action;
        }
示例#3
0
        /// <summary>
        /// Поиск объекта, над которым выполняется действие
        /// </summary>
        /// <param name="clausesTree"></param>
        /// <param name="sent"></param>
        /// <returns></returns>
        public void searchObjectForAction()
        {
            LongOperationAttribut OFA = new LongOperationAttribut();

            for (int i = 0; i < clausesTree.rels.Count; i++)
            {
                try
                {
                    //Rules.OFA.PRIAM_DOP.check(clausesTree, i, sent, stats, OFA);
                }
                catch (Exception ex)
                {
                    log += ex.Message + "\r\n";
                }

                /*
                 * if (clausesTree.rels[i].Name == "НАРЕЧ_ГЛАГОЛ")
                 * {
                 *  OFA.addEAttr(sent.get_Word(clausesTree.rels[i].TargetItemNo).WordStr);
                 * }*/
            }
            ep.objectForAction = OFA;
        }