Beispiel #1
0
        public override tokenQueryResponse exploreToken(tokenQuery query)
        {
            tokenQueryResponse response = new tokenQueryResponse(query, tokenQuerySourceEnum.ext_apertium);


            return(response);
        }
        /// <summary>
        /// Explores the token.
        /// </summary>
        /// <param name="token">The token.</param>
        /// <param name="metaobject">The metaobject.</param>
        /// <param name="sources">The sources.</param>
        /// <returns></returns>
        public static tokenQuery exploreToken(string token, object metaobject, tokenQuerySourceEnum sources)
        {
            log.log("Token [" + token + "] asks to be explored with [" + sources.ToStringEnumSmart() + "]"); //000 ToString())
            tokenQuery query = new tokenQuery(token, metaobject, sources);

            var srl = sources.getEnumListFromFlags <tokenQuerySourceEnum>();

            foreach (tokenQuerySourceEnum source in srl)
            {
                tokenQueryResponse response = null;
                switch (source)
                {
                case tokenQuerySourceEnum.imb_alfabetTest:
                    response = languageManagerAlphabet.manager.exploreToken(query);
                    break;

                case tokenQuerySourceEnum.hunspell:
                    response = languageManagerHunspell.manager.exploreToken(query);
                    break;

                case tokenQuerySourceEnum.imb_namedentities:
                    response = languageManagerHunspell.manager.exploreToken(query);
                    break;

                case tokenQuerySourceEnum.imb_elements:
                    response = languageManagerHunspell.manager.exploreToken(query);
                    break;

                case tokenQuerySourceEnum.imb_dictionary:
                    response = languageManagerHunspell.manager.exploreToken(query);
                    break;

                case tokenQuerySourceEnum.imb_lexicon:
                    response = languageManagerHunspell.manager.exploreToken(query);
                    break;

                case tokenQuerySourceEnum.ext_wordnet:
                    response = languageManagerHunspell.manager.exploreToken(query);
                    break;

                case tokenQuerySourceEnum.ext_unitex:
                    response = languageManagerHunspell.manager.exploreToken(query);
                    break;

                case tokenQuerySourceEnum.ext_dict:
                    response = languageManagerHunspell.manager.exploreToken(query);
                    break;

                case tokenQuerySourceEnum.imb_morphology:
                    break;
                }
                if (response.status == tokenQueryResultEnum.dismiss)
                {
                    break;
                }
            }
            return(query);
        }
Beispiel #3
0
        /// <summary>
        /// Explores the token.
        /// </summary>
        /// <param name="query">The query.</param>
        /// <returns></returns>
        public override tokenQueryResponse exploreToken(tokenQuery query)
        {
            getReady();

            tokenQueryResponse response   = new tokenQueryResponse(query, tokenQuerySourceEnum.ext_dict);
            List <DataRow>     matches    = new List <DataRow>();
            String             expression = "";

            foreach (DataTable dt in namedEntityDataSet.Tables)
            {
                expression = "";
                if (query.focus == contentTokenFlag.none)
                {
                    expression = dt.ExtendedProperties.getProperString(tokenResultEnum.query).Replace("".t(tokenResultEnum.needle), query.token);
                }
                else
                {
                    contentTokenFlag table_focus = (contentTokenFlag)dt.ExtendedProperties[tokenResultEnum.tokenFlag]; //.getProperEnum<contentTokenFlag>(contentTokenFlag.namedEntityKnown, );
                    if (table_focus.HasFlag(query.focus))
                    {
                        expression = dt.ExtendedProperties.getProperString(tokenResultEnum.query).Replace("".t(tokenResultEnum.needle), query.token);
                    }
                }

                if (expression != "")
                {
                    matches.AddRange(dt.Select(expression));
                }
            }

            foreach (DataRow dr in matches)
            {
                var fl = (contentTokenFlag)dr.Table.ExtendedProperties[tokenResultEnum.tokenFlag];
                response.flags.AddInstanceRange(fl.getEnumListFromFlags <contentTokenFlag>());
                response.dataRows.Add(dr);
                foreach (DataColumn dc in dr.Table.Columns)
                {
                    response.dataTokens.AddRangeUnique(dr[dc].toStringSafe().getTokens());
                }
            }

            if (response.flags.Count > 0)
            {
                response.setResponse("Known entity", "Flags earned: " + response.flags.toCsvInLine(";"));
            }
            else
            {
                response.setResponse(tokenQueryResultEnum.unknown_token);
            }

            return(response);
        }
Beispiel #4
0
        public override tokenQueryResponse exploreToken(tokenQuery query)
        {
            tokenQueryResponse response = new tokenQueryResponse(query, tokenQuerySourceEnum.ext_dict);

            if (imbLanguageFrameworkManager.serbian.CheckAgainstAlfabet(query.token))
            {
                response.setResponse(tokenQueryResultEnum.accept);
            }
            else
            {
                response.setResponse(tokenQueryResultEnum.dismiss);
            }
            query.responses[tokenQuerySourceEnum.imb_alfabetTest].Add(response);
            return(response);
        }
        public override tokenQueryResponse exploreToken(tokenQuery query)
        {
            tokenQueryResponse response = new tokenQueryResponse(query, tokenQuerySourceEnum.ext_dict);

            new NotImplementedException();
            //if (imbLanguageFrameworkManager.serbian.CheckAgainstAlfabet(query.token))
            //{
            //    response.setResponse(tokenQueryResultEnum.accept);
            //} else
            //{
            //    response.setResponse(tokenQueryResultEnum.dismiss);

            //}
            // query.responses[tokenQuerySourceEnum.imb_alfabetTest].Add(response);
            return(response);
        }
Beispiel #6
0
        /// <summary>
        /// Explores the token.
        /// </summary>
        /// <param name="query">The query.</param>
        /// <returns></returns>
        public override tokenQueryResponse exploreToken(tokenQuery query)
        {
            tokenQueryResponse response = new tokenQueryResponse(query, tokenQuerySourceEnum.ext_dict);

            if (basicLanguageTools.testBoolean((basicLanguage)query.language.basic, query.token, basicLanguageCheck.spellCheck))
            {
                response.status = tokenQueryResultEnum.accept;
                //response.suggestions.AddVariation(basicLanguageTools.getSuggestions(query.language.basic, query.token));
                //response.tokenCase.root = basicLanguageTools.getRootBySuggests(response.suggestions);

                response.exploreModel = termExploreProcedures.exploreWithHunspell(new termExploreItem(query.token), query.loger);
            }
            else
            {
                response.status = tokenQueryResultEnum.unknown_token;
            }

            return(response);
        }
        public override tokenQueryResponse exploreToken(tokenQuery query)
        {
            tokenQueryResponse response = new tokenQueryResponse(query, tokenQuerySourceEnum.ext_dict);

            DataRow[] result = table.Select("token LIKE '" + query.token + "'");

            if (result.Any())
            {
                foreach (DataRow dr in result)
                {
                    wordnetTriplet triplet = new wordnetTriplet(dr.ItemArray);
                    var            tqr     = new tokenQueryResponse(query, tokenQuerySourceEnum.ext_wordnet);
                    tqr.metadata = triplet;
                    tqr.setResponse(triplet.token, triplet.meaning);
                    query.responses[tokenQuerySourceEnum.ext_wordnet].Add(tqr);
                }
            }

            return(response);
        }
        public override tokenQueryResponse exploreToken(tokenQuery query)
        {
            getReady();

            var response = new tokenQueryResponse(query, tokenQuerySourceEnum.ext_dict);

            DataRow[] result = table.Select("Token LIKE '" + query.token + "'");

            if (result.Any())
            {
                foreach (DataRow dr in result)
                {
                    dictTriplet triplet = new dictTriplet(__token: dr["token"].toStringSafe(), __meaning: dr["Meaning"].toStringSafe(), __code: dr["Code"].toStringSafe());
                    var         tqr     = new tokenQueryResponse(query, tokenQuerySourceEnum.ext_dict)
                    {
                        metadata = triplet
                    };
                    tqr.setResponse(triplet.token, triplet.meaning);
                    query.responses[tokenQuerySourceEnum.ext_wordnet].Add(tqr);
                }
            }

            return(response);
        }
Beispiel #9
0
        public termExploreItem exploreEntities(String form, termExploreModel exploreModel)
        {
            tokenQuery         tq             = new tokenQuery(form, null, tokenQuerySourceEnum.imb_namedentities);
            tokenQueryResponse responseEntity = languageManagerDBNamedEntities.manager.exploreToken(tq);

            termExploreItem item = exploreModel.instances[form];

            if (item == null)
            {
                item = new termExploreItem(form);
            }

            if (responseEntity.status == tokenQueryResultEnum.accept)
            {
                exploreModel.lemmaForm = item.inputForm;
                String  gset    = "";
                Boolean __found = true;
                foreach (namedEntity ctf in responseEntity.flags)
                {
                    Boolean keepSearching = false;
                    __found = true;
                    switch (ctf)
                    {
                    //case namedEntity.businessDomain:
                    //    gset = gset.add("N+Comp", "|"); ;
                    //    exploreModel.wordnetPrimarySymsets.Add("MC04-CON-BD");
                    //    break;
                    case namedEntity.countryName:
                        gset = gset.add("N+Top", "|");;
                        exploreModel.wordnetPrimarySymsets.Add("MC04-GEO-C");
                        break;

                    case namedEntity.languageName:
                        gset = gset.add("N+Lang", "|");;
                        exploreModel.wordnetPrimarySymsets.Add("MC04-GEO-LN");
                        break;

                    case namedEntity.personalName:
                        gset = gset.add("N+First", "|");;
                        exploreModel.wordnetPrimarySymsets.Add("MC04-HUM-PN");
                        break;

                    case namedEntity.personalPosition:
                        gset = gset.add("N+Hum", "|");;
                        exploreModel.wordnetPrimarySymsets.Add("MC04-HUM-PP");
                        break;

                    case namedEntity.presonalLastName:
                        gset = gset.add("N+Last", "|");;
                        exploreModel.wordnetPrimarySymsets.Add("MC04-HUM-LN");
                        break;

                    case namedEntity.title:
                        gset = gset.add("N", "|");;
                        exploreModel.wordnetPrimarySymsets.Add("MC04-CON-AD-TITLE");
                        break;

                    case namedEntity.townName:
                        gset = gset.add("N+PGr1", "|");
                        exploreModel.wordnetPrimarySymsets.Add("MC04-CON-AD-TN");
                        break;

                    case namedEntity.townZip:
                        gset = gset.add("NUMnumerical+Top", "|");;
                        exploreModel.wordnetPrimarySymsets.Add("MC04-CON-AD-TZ");
                        break;

                    default:
                        keepSearching = true;
                        __found       = false;
                        break;
                    }
                    if (!keepSearching)
                    {
                        break;
                    }
                }

                item.gramSet.SetAll(gset);

                if (__found)
                {
                    exploreModel.instances.Add(item);

                    if (exploreModel.lemma == null)
                    {
                        exploreModel.lemma = item;
                    }

                    exploreModel.synonyms.AddRange(responseEntity.dataTokens.getTokens());

                    exploreModel.flags = termExploreItemEnumFlag.namedEntity;
                }

                return(item);
            }

            return(item);
        }