package semanticMarkup.ling.learn; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Set; import semanticMarkup.core.Treatment; import semanticMarkup.know.IGlossary; import semanticMarkup.ling.learn.auxiliary.AjectiveReplacementForNoun; /** * ITerminologyLearner learns the terminology of a list of treatments * @author rodenhausen */ public interface ITerminologyLearner { /** * Learns the terminology used in the treatments * @param treatments */ public void learn(List<Treatment> treatments, IGlossary glossary); /** * Reads the results for the treatments, so that any other function returns the 'freshest' results * @param treatments */ public void readResults(List<Treatment> treatments); /** * @return <treatment, <source, sentence>> map */ public Set<String> getSentences(); /** * @return <treatment, <source, sentence> map used by OrganStateMarker */ public Map<Treatment, LinkedHashMap<String, String>> getSentencesForOrganStateMarker(); /** * @return modifier list used in the sentence table */ public List<String> getAdjNouns(); /** * @return <tag, modifier> map created from sentence table */ public Map<String, String> getAdjNounSent(); /** * @return modifier set used in sentence table where [%] tag is set */ public Set<String> getBracketTags(); /** * @return word set where semanticrole 'op' or 'os' */ public Set<String> getWordRoleTags(); /** * @return <word, source set> map used in sentence table */ public Map<String, Set<String>> getWordToSources(); /** * @return <semanticrole, word set> map used in wordroles table */ public Map<String, Set<String>> getRoleToWords(); /** * @return <word, semanticrole set> map used in wordroles table */ public Map<String, Set<String>> getWordsToRoles(); /** * @return <word, type> map used in heuristicnouns table */ public Map<String, String> getHeuristicNouns(); /** * @return <treatment, <source, tag> map used in sentence table */ public Map<Treatment, LinkedHashMap<String, String>> getSentenceTags(); /** * @return <term, category set> map used in term_category table */ public Map<String, Set<String>> getTermCategories(); /** * @return tag set used in sentence table */ public Set<String> getTags(); /** * @return modifier set used in sentence table */ public Set<String> getModifiers(); /** * @return <category, term set> map used in term_category table */ public Map<String, Set<String>> getCategoryTerms(); /** * @return <source, AjectiveReplacementForNoun> map used in sentence table */ public Map<String, AjectiveReplacementForNoun> getAdjectiveReplacementsForNouns(); }