Пример #1
0
 def get_synset_by_sk(self, sk):
     with Execution(self.schema) as exe:
         # get synset object
         rows = exe.schema.wss.select(where='sensekey=?', values=(sk,))
         if rows is not None and len(rows) > 0:
             ss = Synset(rows[0].synsetid)
             ss.definition = rows[0].definition
             for row in rows:
                 ss.add_lemma(row.lemma)
                 ss.add_key(row.sensekey)
                 ss.tagcount += row.tagcount
             # add examples
             exes = exe.schema.ex.select(where='synsetid=?', values=[rows[0].synsetid], orderby='sampleid')
             for ex in exes:
                 ss.exes.append(ex.sample)
             return ss
Пример #2
0
 def get_synsets_by_lemma(self, lemma):
     with Execution(self.schema) as exe:
         # get synset object
         rows = exe.schema.wss.select(where='lemma=?', values=(lemma,))
         synsets = SynsetCollection()
         if rows is not None and len(rows) > 0:
             for row in rows:
                 ss = Synset(row.synsetid)
                 ss.definition = row.definition
                 ss.add_lemma(row.lemma)
                 ss.add_key(row.sensekey)
                 ss.tagcount = row.tagcount
                 # add examples
                 exes = exe.schema.ex.select(where='synsetid=?', values=[row.synsetid], orderby='sampleid')
                 for ex in exes:
                     ss.exes.append(ex.sample)
                 synsets.add(ss)
         return synsets
Пример #3
0
 def get_synset(self, synsetid, ctx=None, **kwargs):
     sid = self.ensure_sid(synsetid)
     # get synset object
     synset_info = ctx.ss.by_id(sid)
     if synset_info is None:
         return None
     else:
         ss = Synset(synset_info.synsetid)
         ss.definition = synset_info.definition
         # add lemmas, sensekeys and tag count
         rows = ctx.wordsense.select('synsetid=?', (sid, ),
                                     columns=('lemma', 'sensekey',
                                              'tagcount'))
         for row in rows:
             ss.add_lemma(row.lemma)
             ss.add_key(row.sensekey)
             ss.tagcount += row.tagcount
         # add examples
         exes = ctx.ex.select(where='synsetid=?',
                              values=[sid],
                              orderby='sampleid')
         for ex in exes:
             ss.examples.append(ex.sample)
         return ss