protected List <SynSet> GetCandidateSynSets(WordNet.WordNet wordNet, FsmMorphologicalAnalyzer fsm, AnnotatedSentence.AnnotatedSentence sentence, int index) { AnnotatedWord twoPrevious = null, previous = null, current, twoNext = null, next = null; var synSets = new List <SynSet>(); current = (AnnotatedWord)sentence.GetWord(index); if (index > 1) { twoPrevious = (AnnotatedWord)sentence.GetWord(index - 2); } if (index > 0) { previous = (AnnotatedWord)sentence.GetWord(index - 1); } if (index != sentence.WordCount() - 1) { next = (AnnotatedWord)sentence.GetWord(index + 1); } if (index < sentence.WordCount() - 2) { twoNext = (AnnotatedWord)sentence.GetWord(index + 2); } synSets = wordNet.ConstructSynSets(current.GetParse().GetWord().GetName(), current.GetParse(), current.GetMetamorphicParse(), fsm); if (twoPrevious?.GetParse() != null && previous?.GetParse() != null) { synSets.AddRange(wordNet.ConstructIdiomSynSets(twoPrevious.GetParse(), previous.GetParse(), current.GetParse(), twoPrevious.GetMetamorphicParse(), previous.GetMetamorphicParse(), current.GetMetamorphicParse(), fsm)); } if (previous?.GetParse() != null && next?.GetParse() != null) { synSets.AddRange(wordNet.ConstructIdiomSynSets(previous.GetParse(), current.GetParse(), next.GetParse(), previous.GetMetamorphicParse(), current.GetMetamorphicParse(), next.GetMetamorphicParse(), fsm)); } if (next?.GetParse() != null && twoNext?.GetParse() != null) { synSets.AddRange(wordNet.ConstructIdiomSynSets(current.GetParse(), next.GetParse(), twoNext.GetParse(), current.GetMetamorphicParse(), next.GetMetamorphicParse(), twoNext.GetMetamorphicParse(), fsm)); } if (previous?.GetParse() != null) { synSets.AddRange(wordNet.ConstructIdiomSynSets(previous.GetParse(), current.GetParse(), previous.GetMetamorphicParse(), current.GetMetamorphicParse(), fsm)); } if (next?.GetParse() != null) { synSets.AddRange(wordNet.ConstructIdiomSynSets(current.GetParse(), next.GetParse(), current.GetMetamorphicParse(), next.GetMetamorphicParse(), fsm)); } return(synSets); }
public TurkishTreeAutoSemantic(WordNet.WordNet turkishWordNet, FsmMorphologicalAnalyzer fsm) { this._turkishWordNet = turkishWordNet; this._fsm = fsm; }
public MostFrequentSentenceAutoSemantic(WordNet.WordNet turkishWordNet, FsmMorphologicalAnalyzer fsm) { this._turkishWordNet = turkishWordNet; this._fsm = fsm; }
public Lesk(WordNet.WordNet turkishWordNet, FsmMorphologicalAnalyzer fsm) { this._turkishWordNet = turkishWordNet; this._fsm = fsm; }
public void Setup() { turkish = new WordNet.WordNet(); }