def constructLiterals(self, wordNet: WordNet,
                          fsm: FsmMorphologicalAnalyzer,
                          wordIndex: int) -> list:
        """
        Creates a list of literal candidates for the i'th word in the sentence. It combines the results of
        1. All possible root forms of the i'th word in the sentence
        2. All possible 2-word expressions containing the i'th word in the sentence
        3. All possible 3-word expressions containing the i'th word in the sentence

        PARAMETERS
        ----------
        wordNet : WordNet
            Turkish wordnet
        fsm : FsmMorphologicalAnalyzer
            Turkish morphological analyzer
        wordIndex : int
            Word index

        RETURNS
        -------
        list
            List of literal candidates containing all possible root forms and multiword expressions.
        """
        word = self.getWord(wordIndex)
        possibleLiterals = []
        if isinstance(word, AnnotatedWord):
            morphologicalParse = word.getParse()
            metamorphicParse = word.getMetamorphicParse()
            possibleLiterals.extend(
                wordNet.constructLiterals(
                    morphologicalParse.getWord().getName(), morphologicalParse,
                    metamorphicParse, fsm))
            firstSucceedingWord = None
            secondSucceedingWord = None
            if self.wordCount() > wordIndex + 1:
                firstSucceedingWord = self.getWord(wordIndex + 1)
                if self.wordCount() > wordIndex + 2:
                    secondSucceedingWord = self.getWord(wordIndex + 2)
            if firstSucceedingWord is not None and isinstance(
                    firstSucceedingWord, AnnotatedWord):
                if secondSucceedingWord is not None and isinstance(
                        secondSucceedingWord, AnnotatedWord):
                    possibleLiterals.extend(
                        wordNet.constructIdiomLiterals(
                            fsm, word.getParse(), word.getMetamorphicParse(),
                            firstSucceedingWord.getParse(),
                            firstSucceedingWord.getMetamorphicParse(),
                            secondSucceedingWord.getParse(),
                            secondSucceedingWord.getMetamorphicParse()))
                possibleLiterals.extend(
                    wordNet.constructIdiomLiterals(
                        fsm, word.getParse(), word.getMetamorphicParse(),
                        firstSucceedingWord.getParse(),
                        firstSucceedingWord.getMetamorphicParse()))
        return possibleLiterals
示例#2
0
 def test_ComputeSimilarity(self):
     turkish = WordNet()
     lch = LCH(turkish)
     self.assertAlmostEqual(
         2.8332,
         lch.computeSimilarity(turkish.getSynSetWithId("TUR10-0656390"),
                               turkish.getSynSetWithId("TUR10-0600460")), 4)
     self.assertAlmostEqual(
         0.7802,
         lch.computeSimilarity(turkish.getSynSetWithId("TUR10-0412120"),
                               turkish.getSynSetWithId("TUR10-0755370")), 4)
     self.assertAlmostEqual(
         0.6242,
         lch.computeSimilarity(turkish.getSynSetWithId("TUR10-0195110"),
                               turkish.getSynSetWithId("TUR10-0822980")), 4)
示例#3
0
 def test_ComputeSimilarity(self):
     turkish = WordNet()
     wuPalmer = WuPalmer(turkish)
     self.assertAlmostEqual(
         0.9697,
         wuPalmer.computeSimilarity(
             turkish.getSynSetWithId("TUR10-0656390"),
             turkish.getSynSetWithId("TUR10-0600460")), 4)
     self.assertAlmostEqual(
         0.2857,
         wuPalmer.computeSimilarity(
             turkish.getSynSetWithId("TUR10-0412120"),
             turkish.getSynSetWithId("TUR10-0755370")), 4)
     self.assertAlmostEqual(
         0.3636,
         wuPalmer.computeSimilarity(
             turkish.getSynSetWithId("TUR10-0195110"),
             turkish.getSynSetWithId("TUR10-0822980")), 4)
示例#4
0
 def test_ComputeSimilarity(self):
     turkish = WordNet("../../turkish_wordnet.xml")
     similarityPath = SimilarityPath(turkish)
     self.assertAlmostEqual(
         32.0,
         similarityPath.computeSimilarity(
             turkish.getSynSetWithId("TUR10-0656390"),
             turkish.getSynSetWithId("TUR10-0600460")), 4)
     self.assertAlmostEqual(
         15.0,
         similarityPath.computeSimilarity(
             turkish.getSynSetWithId("TUR10-0412120"),
             turkish.getSynSetWithId("TUR10-0755370")), 4)
     self.assertAlmostEqual(
         13.0,
         similarityPath.computeSimilarity(
             turkish.getSynSetWithId("TUR10-0195110"),
             turkish.getSynSetWithId("TUR10-0822980")), 4)
 def getCandidateSynSets(self, wordNet: WordNet, fsm: FsmMorphologicalAnalyzer, leafList: list, index: int) -> list:
     twoPrevious = None
     previous = None
     twoNext = None
     next = None
     current = leafList[index].getLayerInfo()
     if index > 1:
         twoPrevious = leafList[index - 2].getLayerInfo()
     if index > 0:
         previous = leafList[index - 1].getLayerInfo()
     if index != len(leafList) - 1:
         next = leafList[index + 1].getLayerInfo()
     if index < len(leafList) - 2:
         twoNext = leafList[index + 2].getLayerInfo()
     synSets = wordNet.constructSynSets(current.getMorphologicalParseAt(0).getWord().getName(),
                 current.getMorphologicalParseAt(0), current.getMetamorphicParseAt(0), fsm)
     if twoPrevious is not None and twoPrevious.getMorphologicalParseAt(0) is not None and previous.getMorphologicalParseAt(0) is not None:
         synSets.extend(wordNet.constructIdiomSynSets(fsm, twoPrevious.getMorphologicalParseAt(0), twoPrevious.getMetamorphicParseAt(0),
                                                      previous.getMorphologicalParseAt(0), previous.getMetamorphicParseAt(0),
                                                      current.getMorphologicalParseAt(0), current.getMetamorphicParseAt(0)))
     if previous is not None and previous.getMorphologicalParseAt(0) is not None and next is not None and next.getMorphologicalParseAt(0) is not None:
         synSets.extend(wordNet.constructIdiomSynSets(fsm, previous.getMorphologicalParseAt(0), previous.getMetamorphicParseAt(0),
                                                      current.getMorphologicalParseAt(0), current.getMetamorphicParseAt(0),
                                                      next.getMorphologicalParseAt(0), next.getMetamorphicParseAt(0)))
     if next is not None and next.getMorphologicalParseAt(0) is not None and twoNext is not None and twoNext.getMorphologicalParseAt(0) is not None:
         synSets.extend(wordNet.constructIdiomSynSets(fsm, current.getMorphologicalParseAt(0), current.getMetamorphicParseAt(0),
                                                      next.getMorphologicalParseAt(0), next.getMetamorphicParseAt(0),
                                                      twoNext.getMorphologicalParseAt(0), twoNext.getMetamorphicParseAt(0)))
     if previous is not None and previous.getMorphologicalParseAt(0) is not None:
         synSets.extend(wordNet.constructIdiomSynSets(fsm, previous.getMorphologicalParseAt(0), previous.getMetamorphicParseAt(0),
                                                      current.getMorphologicalParseAt(0), current.getMetamorphicParseAt(0)))
     if next is not None and next.getMorphologicalParseAt(0) is not None:
         synSets.extend(wordNet.constructIdiomSynSets(fsm, current.getMorphologicalParseAt(0), current.getMetamorphicParseAt(0),
                                                      next.getMorphologicalParseAt(0), next.getMetamorphicParseAt(0)))
     return synSets
 def getCandidateSynSets(self, wordNet: WordNet,
                         fsm: FsmMorphologicalAnalyzer,
                         sentence: AnnotatedSentence, index: int) -> list:
     twoPrevious = None
     previous = None
     twoNext = None
     next = None
     current = sentence.getWord(index)
     if index > 1:
         twoPrevious = sentence.getWord(index - 2)
     if index > 0:
         previous = sentence.getWord(index - 1)
     if index != sentence.wordCount() - 1:
         next = sentence.getWord(index + 1)
     if index < sentence.wordCount() - 2:
         twoNext = sentence.getWord(index + 2)
     synSets = wordNet.constructSynSets(
         current.getParse().getWord().getName(), current.getParse(),
         current.getMetamorphicParse(), fsm)
     if twoPrevious is not None and twoPrevious.getParse(
     ) is not None and previous.getParse() is not None:
         synSets.extend(
             wordNet.constructIdiomSynSets(
                 fsm, twoPrevious.getParse(),
                 twoPrevious.getMetamorphicParse(), previous.getParse(),
                 previous.getMetamorphicParse(), current.getParse(),
                 current.getMetamorphicParse()))
     if previous is not None and previous.getParse(
     ) is not None and next is not None and next.getParse() is not None:
         synSets.extend(
             wordNet.constructIdiomSynSets(fsm, previous.getParse(),
                                           previous.getMetamorphicParse(),
                                           current.getParse(),
                                           current.getMetamorphicParse(),
                                           next.getParse(),
                                           next.getMetamorphicParse()))
     if next is not None and next.getParse(
     ) is not None and twoNext is not None and twoNext.getParse(
     ) is not None:
         synSets.extend(
             wordNet.constructIdiomSynSets(fsm, current.getParse(),
                                           current.getMetamorphicParse(),
                                           next.getParse(),
                                           next.getMetamorphicParse(),
                                           twoNext.getParse(),
                                           twoNext.getMetamorphicParse()))
     if previous is not None and previous.getParse() is not None:
         synSets.extend(
             wordNet.constructIdiomSynSets(fsm, previous.getParse(),
                                           previous.getMetamorphicParse(),
                                           current.getParse(),
                                           current.getMetamorphicParse()))
     if next is not None and next.getParse() is not None:
         synSets.extend(
             wordNet.constructIdiomSynSets(fsm, current.getParse(),
                                           current.getMetamorphicParse(),
                                           next.getParse(),
                                           next.getMetamorphicParse()))
     return synSets
示例#7
0
 def setUp(self) -> None:
     self.fsm = FsmMorphologicalAnalyzer()
     self.wordNet = WordNet()
class WordNetTest(unittest.TestCase):

    turkish: WordNet

    def setUp(self) -> None:
        self.turkish = WordNet("../turkish_wordnet.xml")

    def test_SynSetList(self):
        literalCount = 0
        for synSet in self.turkish.synSetList():
            literalCount += synSet.getSynonym().literalSize()
        self.assertEquals(109049, literalCount)

    def test_LiteralList(self):
        self.assertEquals(81092, len(self.turkish.literalList()))

    def test_GetSynSetWithId(self):
        self.assertIsNotNone(self.turkish.getSynSetWithId("TUR10-0000040"))
        self.assertIsNotNone(self.turkish.getSynSetWithId("TUR10-0648550"))
        self.assertIsNotNone(self.turkish.getSynSetWithId("TUR10-1034170"))
        self.assertIsNotNone(self.turkish.getSynSetWithId("TUR10-1047180"))
        self.assertIsNotNone(self.turkish.getSynSetWithId("TUR10-1196250"))

    def test_GetSynSetWithLiteral(self):
        self.assertIsNotNone(self.turkish.getSynSetWithLiteral("sıradaki", 1))
        self.assertIsNotNone(self.turkish.getSynSetWithLiteral("Türkçesi", 2))
        self.assertIsNotNone(
            self.turkish.getSynSetWithLiteral("tropikal orman", 1))
        self.assertIsNotNone(
            self.turkish.getSynSetWithLiteral("mesut olmak", 1))
        self.assertIsNotNone(
            self.turkish.getSynSetWithLiteral("acı badem kurabiyesi", 1))
        self.assertIsNotNone(
            self.turkish.getSynSetWithLiteral("açık kapı siyaseti", 1))
        self.assertIsNotNone(
            self.turkish.getSynSetWithLiteral("bir baştan bir başa", 1))
        self.assertIsNotNone(
            self.turkish.getSynSetWithLiteral("eş zamanlı dil bilimi", 1))
        self.assertIsNotNone(
            self.turkish.getSynSetWithLiteral("bir iğne bir iplik olmak", 1))
        self.assertIsNotNone(
            self.turkish.getSynSetWithLiteral("yedi kat yerin dibine geçmek",
                                              2))
        self.assertIsNotNone(
            self.turkish.getSynSetWithLiteral(
                "kedi gibi dört ayak üzerine düşmek", 1))
        self.assertIsNotNone(
            self.turkish.getSynSetWithLiteral(
                "bir kulağından girip öbür kulağından çıkmak", 1))
        self.assertIsNotNone(
            self.turkish.getSynSetWithLiteral(
                "anasından emdiği süt burnundan fitil fitil gelmek", 1))
        self.assertIsNotNone(
            self.turkish.getSynSetWithLiteral(
                "bir ayak üstünde kırk yalanın belini bükmek", 1))

    def test_NumberOfSynSetsWithLiteral(self):
        self.assertEquals(
            1, self.turkish.numberOfSynSetsWithLiteral("yolcu etmek"))
        self.assertEquals(
            2, self.turkish.numberOfSynSetsWithLiteral("açık pembe"))
        self.assertEquals(3,
                          self.turkish.numberOfSynSetsWithLiteral("bürokrasi"))
        self.assertEquals(4, self.turkish.numberOfSynSetsWithLiteral("bordür"))
        self.assertEquals(
            5, self.turkish.numberOfSynSetsWithLiteral("duygulanım"))
        self.assertEquals(6,
                          self.turkish.numberOfSynSetsWithLiteral("sarsıntı"))
        self.assertEquals(7,
                          self.turkish.numberOfSynSetsWithLiteral("kuvvetli"))
        self.assertEquals(8, self.turkish.numberOfSynSetsWithLiteral("merkez"))
        self.assertEquals(9, self.turkish.numberOfSynSetsWithLiteral("yüksek"))
        self.assertEquals(10, self.turkish.numberOfSynSetsWithLiteral("biçim"))
        self.assertEquals(11, self.turkish.numberOfSynSetsWithLiteral("yurt"))
        self.assertEquals(12, self.turkish.numberOfSynSetsWithLiteral("iğne"))
        self.assertEquals(13, self.turkish.numberOfSynSetsWithLiteral("kol"))
        self.assertEquals(14, self.turkish.numberOfSynSetsWithLiteral("alem"))
        self.assertEquals(15, self.turkish.numberOfSynSetsWithLiteral("taban"))
        self.assertEquals(16, self.turkish.numberOfSynSetsWithLiteral("yer"))
        self.assertEquals(17, self.turkish.numberOfSynSetsWithLiteral("ağır"))
        self.assertEquals(18, self.turkish.numberOfSynSetsWithLiteral("iş"))
        self.assertEquals(19,
                          self.turkish.numberOfSynSetsWithLiteral("dökmek"))
        self.assertEquals(20,
                          self.turkish.numberOfSynSetsWithLiteral("kaldırmak"))
        self.assertEquals(21,
                          self.turkish.numberOfSynSetsWithLiteral("girmek"))
        self.assertEquals(22,
                          self.turkish.numberOfSynSetsWithLiteral("gitmek"))
        self.assertEquals(23,
                          self.turkish.numberOfSynSetsWithLiteral("vermek"))
        self.assertEquals(24, self.turkish.numberOfSynSetsWithLiteral("olmak"))
        self.assertEquals(25,
                          self.turkish.numberOfSynSetsWithLiteral("bırakmak"))
        self.assertEquals(26,
                          self.turkish.numberOfSynSetsWithLiteral("çıkarmak"))
        self.assertEquals(27,
                          self.turkish.numberOfSynSetsWithLiteral("kesmek"))
        self.assertEquals(28, self.turkish.numberOfSynSetsWithLiteral("açmak"))
        self.assertEquals(33,
                          self.turkish.numberOfSynSetsWithLiteral("düşmek"))
        self.assertEquals(38, self.turkish.numberOfSynSetsWithLiteral("atmak"))
        self.assertEquals(39,
                          self.turkish.numberOfSynSetsWithLiteral("geçmek"))
        self.assertEquals(44,
                          self.turkish.numberOfSynSetsWithLiteral("çekmek"))
        self.assertEquals(51,
                          self.turkish.numberOfSynSetsWithLiteral("tutmak"))
        self.assertEquals(59,
                          self.turkish.numberOfSynSetsWithLiteral("çıkmak"))

    def test_GetSynSetsWithPartOfSpeech(self):
        self.assertEquals(
            43846, len(self.turkish.getSynSetsWithPartOfSpeech(Pos.NOUN)))
        self.assertEquals(
            17675, len(self.turkish.getSynSetsWithPartOfSpeech(Pos.VERB)))
        self.assertEquals(
            12358, len(self.turkish.getSynSetsWithPartOfSpeech(Pos.ADJECTIVE)))
        self.assertEquals(
            2523, len(self.turkish.getSynSetsWithPartOfSpeech(Pos.ADVERB)))
        self.assertEquals(
            339,
            len(self.turkish.getSynSetsWithPartOfSpeech(Pos.INTERJECTION)))
        self.assertEquals(
            68, len(self.turkish.getSynSetsWithPartOfSpeech(Pos.PRONOUN)))
        self.assertEquals(
            60, len(self.turkish.getSynSetsWithPartOfSpeech(Pos.CONJUNCTION)))
        self.assertEquals(
            29, len(self.turkish.getSynSetsWithPartOfSpeech(Pos.PREPOSITION)))

    def test_GetLiteralsWithPossibleModifiedLiteral(self):
        english = WordNet("../english_wordnet_version_31.xml",
                          "../english_exception.xml")
        self.assertTrue(
            "go" in english.getLiteralsWithPossibleModifiedLiteral("went"))
        self.assertTrue(
            "go" in english.getLiteralsWithPossibleModifiedLiteral("going"))
        self.assertTrue(
            "go" in english.getLiteralsWithPossibleModifiedLiteral("gone"))
        self.assertTrue(
            "be" in english.getLiteralsWithPossibleModifiedLiteral("was"))
        self.assertTrue(
            "be" in english.getLiteralsWithPossibleModifiedLiteral("were"))
        self.assertTrue(
            "be" in english.getLiteralsWithPossibleModifiedLiteral("been"))
        self.assertTrue(
            "have" in english.getLiteralsWithPossibleModifiedLiteral("had"))
        self.assertTrue(
            "play" in english.getLiteralsWithPossibleModifiedLiteral("played"))
        self.assertTrue(
            "play" in english.getLiteralsWithPossibleModifiedLiteral("plays"))
        self.assertTrue("orange" in english.
                        getLiteralsWithPossibleModifiedLiteral("oranges"))
        self.assertTrue(
            "good" in english.getLiteralsWithPossibleModifiedLiteral("better"))
        self.assertTrue(
            "well" in english.getLiteralsWithPossibleModifiedLiteral("better"))
        self.assertTrue(
            "good" in english.getLiteralsWithPossibleModifiedLiteral("best"))
        self.assertTrue(
            "well" in english.getLiteralsWithPossibleModifiedLiteral("best"))
        self.assertTrue(
            "bad" in english.getLiteralsWithPossibleModifiedLiteral("worse"))
        self.assertTrue(
            "bad" in english.getLiteralsWithPossibleModifiedLiteral("worst"))
        self.assertTrue(
            "ugly" in english.getLiteralsWithPossibleModifiedLiteral("uglier"))
        self.assertTrue("ugly" in english.
                        getLiteralsWithPossibleModifiedLiteral("ugliest"))
        self.assertTrue(
            "bus" in english.getLiteralsWithPossibleModifiedLiteral("buses"))
        self.assertTrue(
            "fly" in english.getLiteralsWithPossibleModifiedLiteral("flies"))
        self.assertTrue(
            "leaf" in english.getLiteralsWithPossibleModifiedLiteral("leaves"))

    def test_GetInterlingual(self):
        self.assertEquals(
            1, len(self.turkish.getInterlingual("ENG31-05674544-n")))
        self.assertEquals(
            2, len(self.turkish.getInterlingual("ENG31-00220161-r")))
        self.assertEquals(
            3, len(self.turkish.getInterlingual("ENG31-02294200-v")))
        self.assertEquals(
            4, len(self.turkish.getInterlingual("ENG31-06205574-n")))
        self.assertEquals(
            5, len(self.turkish.getInterlingual("ENG31-02687605-v")))
        self.assertEquals(
            6, len(self.turkish.getInterlingual("ENG31-01099197-n")))
        self.assertEquals(
            7, len(self.turkish.getInterlingual("ENG31-00587299-n")))
        self.assertEquals(
            9, len(self.turkish.getInterlingual("ENG31-02214901-v")))
        self.assertEquals(
            10, len(self.turkish.getInterlingual("ENG31-02733337-v")))
        self.assertEquals(
            19, len(self.turkish.getInterlingual("ENG31-00149403-v")))

    def test_Size(self):
        self.assertEquals(76898, self.turkish.size())

    def test_FindPathToRoot(self):
        self.assertEquals(
            1,
            len(
                self.turkish.findPathToRoot(
                    self.turkish.getSynSetWithId("TUR10-0814560"))))
        self.assertEquals(
            2,
            len(
                self.turkish.findPathToRoot(
                    self.turkish.getSynSetWithId("TUR10-0755370"))))
        self.assertEquals(
            3,
            len(
                self.turkish.findPathToRoot(
                    self.turkish.getSynSetWithId("TUR10-0516010"))))
        self.assertEquals(
            4,
            len(
                self.turkish.findPathToRoot(
                    self.turkish.getSynSetWithId("TUR10-0012910"))))
        self.assertEquals(
            5,
            len(
                self.turkish.findPathToRoot(
                    self.turkish.getSynSetWithId("TUR10-0046370"))))
        self.assertEquals(
            6,
            len(
                self.turkish.findPathToRoot(
                    self.turkish.getSynSetWithId("TUR10-0186560"))))
        self.assertEquals(
            7,
            len(
                self.turkish.findPathToRoot(
                    self.turkish.getSynSetWithId("TUR10-0172740"))))
        self.assertEquals(
            8,
            len(
                self.turkish.findPathToRoot(
                    self.turkish.getSynSetWithId("TUR10-0195110"))))
        self.assertEquals(
            9,
            len(
                self.turkish.findPathToRoot(
                    self.turkish.getSynSetWithId("TUR10-0285060"))))
        self.assertEquals(
            10,
            len(
                self.turkish.findPathToRoot(
                    self.turkish.getSynSetWithId("TUR10-0066050"))))
        self.assertEquals(
            11,
            len(
                self.turkish.findPathToRoot(
                    self.turkish.getSynSetWithId("TUR10-0226380"))))
        self.assertEquals(
            12,
            len(
                self.turkish.findPathToRoot(
                    self.turkish.getSynSetWithId("TUR10-0490230"))))
        self.assertEquals(
            13,
            len(
                self.turkish.findPathToRoot(
                    self.turkish.getSynSetWithId("TUR10-1198750"))))
        self.assertEquals(
            14,
            len(
                self.turkish.findPathToRoot(
                    self.turkish.getSynSetWithId("TUR10-0412120"))))
        self.assertEquals(
            15,
            len(
                self.turkish.findPathToRoot(
                    self.turkish.getSynSetWithId("TUR10-1116690"))))
        self.assertEquals(
            13,
            len(
                self.turkish.findPathToRoot(
                    self.turkish.getSynSetWithId("TUR10-0621870"))))
        self.assertEquals(
            14,
            len(
                self.turkish.findPathToRoot(
                    self.turkish.getSynSetWithId("TUR10-0822980"))))
        self.assertEquals(
            15,
            len(
                self.turkish.findPathToRoot(
                    self.turkish.getSynSetWithId("TUR10-0178450"))))
        self.assertEquals(
            16,
            len(
                self.turkish.findPathToRoot(
                    self.turkish.getSynSetWithId("TUR10-0600460"))))
        self.assertEquals(
            17,
            len(
                self.turkish.findPathToRoot(
                    self.turkish.getSynSetWithId("TUR10-0656390"))))
 def test_GetLiteralsWithPossibleModifiedLiteral(self):
     english = WordNet("../english_wordnet_version_31.xml",
                       "../english_exception.xml")
     self.assertTrue(
         "go" in english.getLiteralsWithPossibleModifiedLiteral("went"))
     self.assertTrue(
         "go" in english.getLiteralsWithPossibleModifiedLiteral("going"))
     self.assertTrue(
         "go" in english.getLiteralsWithPossibleModifiedLiteral("gone"))
     self.assertTrue(
         "be" in english.getLiteralsWithPossibleModifiedLiteral("was"))
     self.assertTrue(
         "be" in english.getLiteralsWithPossibleModifiedLiteral("were"))
     self.assertTrue(
         "be" in english.getLiteralsWithPossibleModifiedLiteral("been"))
     self.assertTrue(
         "have" in english.getLiteralsWithPossibleModifiedLiteral("had"))
     self.assertTrue(
         "play" in english.getLiteralsWithPossibleModifiedLiteral("played"))
     self.assertTrue(
         "play" in english.getLiteralsWithPossibleModifiedLiteral("plays"))
     self.assertTrue("orange" in english.
                     getLiteralsWithPossibleModifiedLiteral("oranges"))
     self.assertTrue(
         "good" in english.getLiteralsWithPossibleModifiedLiteral("better"))
     self.assertTrue(
         "well" in english.getLiteralsWithPossibleModifiedLiteral("better"))
     self.assertTrue(
         "good" in english.getLiteralsWithPossibleModifiedLiteral("best"))
     self.assertTrue(
         "well" in english.getLiteralsWithPossibleModifiedLiteral("best"))
     self.assertTrue(
         "bad" in english.getLiteralsWithPossibleModifiedLiteral("worse"))
     self.assertTrue(
         "bad" in english.getLiteralsWithPossibleModifiedLiteral("worst"))
     self.assertTrue(
         "ugly" in english.getLiteralsWithPossibleModifiedLiteral("uglier"))
     self.assertTrue("ugly" in english.
                     getLiteralsWithPossibleModifiedLiteral("ugliest"))
     self.assertTrue(
         "bus" in english.getLiteralsWithPossibleModifiedLiteral("buses"))
     self.assertTrue(
         "fly" in english.getLiteralsWithPossibleModifiedLiteral("flies"))
     self.assertTrue(
         "leaf" in english.getLiteralsWithPossibleModifiedLiteral("leaves"))
 def setUp(self) -> None:
     self.turkish = WordNet("../turkish_wordnet.xml")
示例#11
0
from WordNet.WordNet import WordNet

uzbek: WordNet
uzbek = WordNet("turkish_wordnet.xml")
print(1, uzbek.numberOfSynSetsWithLiteral('su'))
for elem in uzbek.getSynSetsWithLiteral('su'):
    # print(elem)

    for i in range(elem.getSynonym().literalSize()):
        literal = elem.getSynonym().getLiteral(i)
        print(literal)
    uzbek.removeSynSet(elem)
print(2, uzbek.numberOfSynSetsWithLiteral('su'))
for elem in uzbek.getSynSetsWithLiteral('su'):
    # print(elem)

    for i in range(elem.getSynonym().literalSize()):
        literal = elem.getSynonym().getLiteral(i)
        print(literal)
uzbek.saveAsXml("uzb_wordnet.xml")
# cnt = 0
# for synSet in uzbek.synSetList():
#     for i in range(synSet.getSynonym().literalSize()):
#         literal = synSet.getSynonym().getLiteral(i)
#         if cnt < 100:
#             # print(literal.setName('su'))
#             print(literal)
#         cnt += 1
#     for i in range(synSet.relationSize()):
#         relation = synSet.getRelation(i)
#         if cnt < 100:
 def setUp(self) -> None:
     self.turkish = WordNet()
示例#13
0
import telebot

from WordNet.WordNet import WordNet

API_TOKEN = '1858822529:AAH29byfrRRfj-UZJi5FUz25edVeP_Uhuv8'
bot = telebot.TeleBot(API_TOKEN)
uzbek: WordNet
# uzbek = WordNet("wordnet_adj_uzb.xml")
uzbek = WordNet("word_suv_relations.xml")


def getSynonymList(text):
    for synSet in uzbek.synSetList():
        my_text = ''
        found = False

        for i in range(synSet.getSynonym().literalSize()):
            literal = synSet.getSynonym().getLiteral(i)
            my_text += f'{i + 1}: {literal.getName()}; '
            if literal and text in literal.getName():
                found = True
        if found:
            return f'Sinonimlar: {my_text}'
    return 'Sinonimlar topilmadi.'


def getRelationList(text):
    for synSet in uzbek.synSetList():
        print('---------------')
        if synSet.getSynonym().literalSize() != 0:
            print(synSet.getId(), synSet.getSynonym().getLiteral(0))