
com.harium.suneidesis.linguistic.english.English Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of core Show documentation
Show all versions of core Show documentation
Project to represent knowledge
The newest version!
package com.harium.suneidesis.linguistic.english;
import com.harium.suneidesis.linguistic.LanguageCode;
import com.harium.suneidesis.linguistic.LanguageHelper;
import com.harium.suneidesis.linguistic.english.math.SimpleNumberToWord;
import com.harium.suneidesis.linguistic.math.NumberToWord;
import com.harium.suneidesis.linguistic.math.WordToNumber;
import com.harium.suneidesis.linguistic.nlp.pos.Tag;
import com.harium.suneidesis.linguistic.portuguese.math.SimpleWordToNumber;
import java.math.BigDecimal;
public class English implements LanguageHelper {
public static final String LANGUAGE_ENGLISH = "english";
public static final String LANGUAGE_FRENCH = "french";
public static final String LANGUAGE_PORTUGUESE = "portuguese";
private final NumberToWord numberToWord = new SimpleNumberToWord();
private final WordToNumber wordToNumber = new SimpleWordToNumber();
@Override
public Tag getTagFromText(String tagText) {
if (tagText == null || tagText.isEmpty()) {
return null;
}
String tag = tagText.toLowerCase();
if ("determiner".equalsIgnoreCase(tag)) {
return Tag.DETERMINER;
} else if ("adjective".equalsIgnoreCase(tag)) {
return Tag.ADJECTIVE;
} else if ("adverb".equalsIgnoreCase(tag)) {
return Tag.ADVERB;
} else if ("numeral".equalsIgnoreCase(tag)) {
return Tag.NUMERAL;
} else if ("conjunction".equalsIgnoreCase(tag)) {
return Tag.CONJUCTION;
} else if ("interjection".equalsIgnoreCase(tag)) {
return Tag.INTERJECTION;
} else if ("verb".equalsIgnoreCase(tag)) {
return Tag.VERB;
} else if ("verb conjugation".equalsIgnoreCase(tag)) {
return Tag.VERB_CONJUGATION;
} else if ("noun".equalsIgnoreCase(tag)) {
return Tag.NOUN;
} else if ("proper noun".equalsIgnoreCase(tag)) {
return Tag.NOUN_PROPER;
} else if ("personal pronoun".equalsIgnoreCase(tag)) {
return Tag.PERSONAL_PRONOUN;
} else if ("pronoun".equalsIgnoreCase(tag)) {
return Tag.PRONOUN;
} else if ("preposition".equalsIgnoreCase(tag)) {
return Tag.PREPOSITION;
}
return null;
}
@Override
public String getLanguageCode(String languageName) {
if (languageName == null || languageName.isEmpty()) {
return null;
}
if (LANGUAGE_ENGLISH.equalsIgnoreCase(languageName)) {
return LanguageCode.ENGLISH;
} else if (LANGUAGE_FRENCH.equalsIgnoreCase(languageName)) {
return LanguageCode.FRENCH;
} else if (LANGUAGE_PORTUGUESE.equalsIgnoreCase(languageName)) {
return LanguageCode.PORTUGUESE;
}
return null;
}
@Override
public String getLanguageName(String languageCode) {
if (languageCode == null || languageCode.isEmpty()) {
return null;
}
if (LanguageCode.ENGLISH.equalsIgnoreCase(languageCode)) {
return LANGUAGE_ENGLISH;
} else if (LanguageCode.FRENCH.equalsIgnoreCase(languageCode)) {
return LANGUAGE_FRENCH;
} else if (LanguageCode.PORTUGUESE.equalsIgnoreCase(languageCode)) {
return LANGUAGE_PORTUGUESE;
}
return null;
}
@Override
public String toWord(int number) {
return numberToWord.toWord(number);
}
@Override
public String toWord(double number) {
return numberToWord.toWord(number);
}
@Override
public String toWord(BigDecimal number) {
return numberToWord.toWord(number);
}
@Override
public BigDecimal toNumber(String sentence) {
return wordToNumber.toNumber(sentence);
}
public static boolean isEnglish(String language) {
if (language == null || language.isEmpty()) {
return false;
}
return language.startsWith(LanguageCode.ENGLISH);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy