コード例 #1
0
        /**
         * return the base form of a word
         *
         * @param element
         * @param baseWord
         * @return
         */

        private static string getBaseForm(InflectedWordElement element, WordElement baseWord)
        {
            // unclear what the right behaviour should be
            // for now, prefer baseWord.getBaseForm() to element.getBaseForm() for
            // verbs (ie, "is" mapped to "be")
            // but prefer element.getBaseForm() to baseWord.getBaseForm() for other
            // words (ie, "children" not mapped to "child")

            // AG: changed this to get the default spelling variant
            // needed to preserve spelling changes in the VP

            if ((int)LexicalCategoryEnum.VERB == element.getCategory().enumType)
            {
                if (baseWord != null && baseWord.getDefaultSpellingVariant() != null)
                {
                    return(baseWord.getDefaultSpellingVariant());
                }
                else
                {
                    return(element.getBaseForm());
                }
            }
            else
            {
                if (element.getBaseForm() != null)
                {
                    return(element.getBaseForm());
                }
                else if (baseWord == null)
                {
                    return(null);
                }
                else
                {
                    return(baseWord.getDefaultSpellingVariant());
                }
            }

            // if (LexicalCategory.VERB == element.getCategory()) {
            // if (baseWord != null && baseWord.getBaseForm() != null)
            // return baseWord.getBaseForm();
            // else
            // return element.getBaseForm();
            // } else {
            // if (element.getBaseForm() != null)
            // return element.getBaseForm();
            // else if (baseWord == null)
            // return null;
            // else
            // return baseWord.getBaseForm();
            // }
        }
コード例 #2
0
        /**
         * Constructs a new inflected word from a WordElement
         *
         * @param word
         *            underlying wordelement
         */

        public InflectedWordElement(WordElement word)
        {
            setFeature(InternalFeature.BASE_WORD.ToString(), word);
            // AG: changed to use the default spelling variant
            // setFeature(LexicalFeature.BASE_FORM, word.getBaseForm());
            var defaultSpelling = word.getDefaultSpellingVariant();

            setFeature(LexicalFeature.BASE_FORM, defaultSpelling);
            setCategory(word.getCategory());
        }