コード例 #1
0
    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)
コード例 #5
0
 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()
コード例 #8
0
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"))))
コード例 #9
0
 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"))
コード例 #10
0
 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:
コード例 #12
0
 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))