(self, sentence, topK=20, withWeight=False, allowPOS=(), withFlag=False)
Extract keywords from sentence using TF-IDF algorithm.
        Parameter:
            - topK: return how many top keywords. `None` for all possible words.
            - withWeight: if True, return a list of (word, weight);
                          if False, return a list of words.
            - allowPOS: the allowed POS list eg. ['ns', 'n', 'vn', 'v','nr'].
                        if the POS of w is not in this list,it will be filtered.
            - withFlag: only work with allowPOS is not empty.
                        if True, return a list of pair(word, weight) like posseg.cut
                        if False, return a list of words
Extract keywords from sentence using TF-IDF algorithm.
        Parameter:
            - topK: return how many top keywords. `None` for all possible words.
            - withWeight: if True, return a list of (word, weight);
                          if False, return a list of words.
            - allowPOS: the allowed POS list eg. ['ns', 'n', 'vn', 'v','nr'].
                        if the POS of w is not in this list,it will be filtered.
            - withFlag: only work with allowPOS is not empty.
                        if True, return a list of pair(word, weight) like posseg.cut
                        if False, return a list of words
Extract keywords from sentence using TF - IDF algorithm . Parameter : - topK : return how many top keywords . None for all possible words . - withWeight : if True return a list of ( word weight ) ; if False return a list of words . - allowPOS : the allowed POS list eg . [ ns n vn v nr ] . if the POS of w is not in this list it will be filtered . - withFlag : only work with allowPOS is not empty . if True return a list of pair ( word weight ) like posseg . cut if False return a list of words
def extract_tags(self, sentence, topK=20, withWeight=False, allowPOS=(), withFlag=False):
        """
        Extract keywords from sentence using TF-IDF algorithm.
        Parameter:
            - topK: return how many top keywords. `None` for all possible words.
            - withWeight: if True, return a list of (word, weight);
                          if False, return a list of words.
            - allowPOS: the allowed POS list eg. ['ns', 'n', 'vn', 'v','nr'].
                        if the POS of w is not in this list,it will be filtered.
            - withFlag: only work with allowPOS is not empty.
                        if True, return a list of pair(word, weight) like posseg.cut
                        if False, return a list of words
        """
        if allowPOS:
            allowPOS = frozenset(allowPOS)
            words = self.postokenizer.cut(sentence)
        else:
            words = self.tokenizer.cut(sentence)
        freq = {}
        for w in words:
            if allowPOS:
                if w.flag not in allowPOS:
                    continue
                elif not withFlag:
                    w = w.word
            wc = w.word if allowPOS and withFlag else w
            if len(wc.strip()) < 2 or wc.lower() in self.stop_words:
                continue
            freq[w] = freq.get(w, 0.0) + 1.0
        total = sum(freq.values())
        for k in freq:
            kw = k.word if allowPOS and withFlag else k
            freq[k] *= self.idf_freq.get(kw, self.median_idf) / total

        if withWeight:
            tags = sorted(freq.items(), key=itemgetter(1), reverse=True)
        else:
            tags = sorted(freq, key=freq.__getitem__, reverse=True)
        if topK:
            return tags[:topK]
        else:
            return tags
def extract_tags ( self , sentence , topK = 20 , withWeight = False , allowPOS = ( ) , withFlag = False ) : if allowPOS : allowPOS = frozenset ( allowPOS ) words = self . postokenizer . cut ( sentence ) else : words = self . tokenizer . cut ( sentence ) freq = { } for w in words : if allowPOS : if w . flag not in allowPOS : continue elif not withFlag : w = w . word wc = w . word if allowPOS and withFlag else w if len ( wc . strip ( ) ) < 2 or wc . lower ( ) in self . stop_words : continue freq [ w ] = freq . get ( w , 0.0 ) + 1.0 total = sum ( freq . values ( ) ) for k in freq : kw = k . word if allowPOS and withFlag else k freq [ k ] *= self . idf_freq . get ( kw , self . median_idf ) / total if withWeight : tags = sorted ( freq . items ( ) , key = itemgetter ( 1 ) , reverse = True ) else : tags = sorted ( freq , key = freq . __getitem__ , reverse = True ) if topK : return tags [ : topK ] else : return tags