當前位置: 首頁>>代碼示例>>Python>>正文


Python probability.FreqDist方法代碼示例

本文整理匯總了Python中nltk.probability.FreqDist方法的典型用法代碼示例。如果您正苦於以下問題:Python probability.FreqDist方法的具體用法?Python probability.FreqDist怎麽用?Python probability.FreqDist使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在nltk.probability的用法示例。


在下文中一共展示了probability.FreqDist方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: Do_alpha

# 需要導入模塊: from nltk import probability [as 別名]
# 或者: from nltk.probability import FreqDist [as 別名]
def Do_alpha(self):
        """The observed disagreement for the alpha coefficient.

        The alpha coefficient, unlike the other metrics, uses this rather than
        observed agreement.
        """
        total = 0.0
        for i, itemdata in self._grouped_data('item'):
            label_freqs = FreqDist(x['labels'] for x in itemdata)

            for j, nj in iteritems(label_freqs):
                for l, nl in iteritems(label_freqs):
                    total += float(nj * nl) * self.distance(l, j)
        ret = (1.0 / float((len(self.I) * len(self.C) * (len(self.C) - 1)))) * total
        log.debug("Observed disagreement: %f", ret)
        return ret 
開發者ID:rafasashi,項目名稱:razzy-spinner,代碼行數:18,代碼來源:agreement.py

示例2: _freq_threshold

# 需要導入模塊: from nltk import probability [as 別名]
# 或者: from nltk.probability import FreqDist [as 別名]
def _freq_threshold(self, fdist, threshold):
        """
        Returns a FreqDist containing only data with counts below a given
        threshold, as well as a mapping (None -> count_removed).
        """
        # We assume that there is more data below the threshold than above it
        # and so create a new FreqDist rather than working in place.
        res = FreqDist()
        num_removed = 0
        for tok in fdist:
            count = fdist[tok]
            if count < threshold:
                num_removed += 1
            else:
                res[tok] += count
        res[None] += num_removed
        return res

    #////////////////////////////////////////////////////////////
    #{ Orthographic data
    #//////////////////////////////////////////////////////////// 
開發者ID:rafasashi,項目名稱:razzy-spinner,代碼行數:23,代碼來源:punkt.py

示例3: from_words

# 需要導入模塊: from nltk import probability [as 別名]
# 或者: from nltk.probability import FreqDist [as 別名]
def from_words(cls, words, window_size=2):
        """Construct a BigramCollocationFinder for all bigrams in the given
        sequence.  When window_size > 2, count non-contiguous bigrams, in the
        style of Church and Hanks's (1990) association ratio.
        """
        wfd = FreqDist()
        bfd = FreqDist()

        if window_size < 2:
            raise ValueError("Specify window_size at least 2")

        for window in ngrams(words, window_size, pad_right=True):
            w1 = window[0]
            if w1 is None:
                continue
            wfd[w1] += 1
            for w2 in window[1:]:
                if w2 is not None:
                    bfd[(w1, w2)] += 1
        return cls(wfd, bfd, window_size=window_size) 
開發者ID:rafasashi,項目名稱:razzy-spinner,代碼行數:22,代碼來源:collocations.py

示例4: binary_stump

# 需要導入模塊: from nltk import probability [as 別名]
# 或者: from nltk.probability import FreqDist [as 別名]
def binary_stump(feature_name, feature_value, labeled_featuresets):
        label = FreqDist(label for (featureset, label)
                         in labeled_featuresets).max()

        # Find the best label for each value.
        pos_fdist = FreqDist()
        neg_fdist = FreqDist()
        for featureset, label in labeled_featuresets:
            if featureset.get(feature_name) == feature_value:
                pos_fdist[label] += 1
            else:
                neg_fdist[label] += 1


        decisions = {}
        default = label
        # But hopefully we have observations!
        if pos_fdist.N() > 0:
            decisions = {feature_value: DecisionTreeClassifier(pos_fdist.max())}
        if neg_fdist.N() > 0:
            default = DecisionTreeClassifier(neg_fdist.max())

        return DecisionTreeClassifier(label, feature_name, decisions, default) 
開發者ID:rafasashi,項目名稱:razzy-spinner,代碼行數:25,代碼來源:decisiontree.py

示例5: calculate_ngram_diversity

# 需要導入模塊: from nltk import probability [as 別名]
# 或者: from nltk.probability import FreqDist [as 別名]
def calculate_ngram_diversity(corpus):
    """
    Calculates unigram and bigram diversity

    Args:
        corpus: tokenized list of sentences sampled

    Returns:
        uni_diversity: distinct-1 score
        bi_diversity: distinct-2 score

    """
    bigram_finder = BigramCollocationFinder.from_words(corpus)
    bi_diversity = len(bigram_finder.ngram_fd) / bigram_finder.N

    dist = FreqDist(corpus)
    uni_diversity = len(dist) / len(corpus)

    return uni_diversity, bi_diversity 
開發者ID:HareeshBahuleyan,項目名稱:tf-var-attention,代碼行數:21,代碼來源:eval_utils.py

示例6: calculate_entropy

# 需要導入模塊: from nltk import probability [as 別名]
# 或者: from nltk.probability import FreqDist [as 別名]
def calculate_entropy(corpus):
    """
    Calculates diversity in terms of entropy (using unigram probability)

    Args:
        corpus: tokenized list of sentences sampled

    Returns:
        ent: entropy on the sample sentence list

    """
    fdist = FreqDist(corpus)
    total_len = len(corpus)
    ent = 0
    for k, v in fdist.items():
        p = v / total_len

        ent += -p * np.log(p)

    return ent 
開發者ID:HareeshBahuleyan,項目名稱:tf-var-attention,代碼行數:22,代碼來源:eval_utils.py

示例7: __init__

# 需要導入模塊: from nltk import probability [as 別名]
# 或者: from nltk.probability import FreqDist [as 別名]
def __init__(self, n, vocabulary, unknown="<UNK>"):
        """
        n is the size of the ngram
        """
        if n < 1:
            raise ValueError("ngram size must be greater than or equal to 1")

        self.n = n
        self.unknown = unknown
        self.padding = {
            "pad_left": True,
            "pad_right": True,
            "left_pad_symbol": "<s>",
            "right_pad_symbol": "</s>"
        }

        self.vocabulary = vocabulary
        self.allgrams = defaultdict(ConditionalFreqDist)
        self.ngrams = FreqDist()
        self.unigrams = FreqDist() 
開發者ID:foxbook,項目名稱:atap,代碼行數:22,代碼來源:model.py

示例8: transform

# 需要導入模塊: from nltk import probability [as 別名]
# 或者: from nltk.probability import FreqDist [as 別名]
def transform(self, documents):
        words = []
        docs = []
        for document in documents:
            docs.append(document)
            for para in document:
                for sent in para:
                    for token, tag in sent:
                        words.append(token)

        counts = FreqDist(words)
        self.reduced = set(
            w for w in words if counts[w] > self.min and counts[w] < self.max
        )

        return [
            ' '.join(self.normalize(doc)) for doc in docs
        ] 
開發者ID:foxbook,項目名稱:atap,代碼行數:20,代碼來源:transformer.py

示例9: Do_alpha

# 需要導入模塊: from nltk import probability [as 別名]
# 或者: from nltk.probability import FreqDist [as 別名]
def Do_alpha(self):
        """The observed disagreement for the alpha coefficient.

        The alpha coefficient, unlike the other metrics, uses this rather than
        observed agreement.
        """
        total = 0.0
        for i, itemdata in self._grouped_data('item'):
            label_freqs = FreqDist(x['labels'] for x in itemdata)

            for j, nj in label_freqs.iteritems():
                for l, nl in label_freqs.iteritems():
                    total += float(nj * nl) * self.distance(l, j)
        ret = (1.0 / float((len(self.I) * len(self.C) * (len(self.C) - 1)))) * total
        log.debug("Observed disagreement: %f", ret)
        return ret 
開發者ID:blackye,項目名稱:luscan-devel,代碼行數:18,代碼來源:agreement.py

示例10: _freq_threshold

# 需要導入模塊: from nltk import probability [as 別名]
# 或者: from nltk.probability import FreqDist [as 別名]
def _freq_threshold(self, fdist, threshold):
        """
        Returns a FreqDist containing only data with counts below a given
        threshold, as well as a mapping (None -> count_removed).
        """
        # We assume that there is more data below the threshold than above it
        # and so create a new FreqDist rather than working in place.
        res = FreqDist()
        num_removed = 0
        for tok, count in fdist.iteritems():
            if count < threshold:
                num_removed += 1
            else:
                res.inc(tok, count)
        res.inc(None, num_removed)
        return res

    #////////////////////////////////////////////////////////////
    #{ Orthographic data
    #//////////////////////////////////////////////////////////// 
開發者ID:blackye,項目名稱:luscan-devel,代碼行數:22,代碼來源:punkt.py

示例11: from_words

# 需要導入模塊: from nltk import probability [as 別名]
# 或者: from nltk.probability import FreqDist [as 別名]
def from_words(cls, words, window_size=2):
        """Construct a BigramCollocationFinder for all bigrams in the given
        sequence.  By default, bigrams must be contiguous.
        """
        wfd = FreqDist()
        bfd = FreqDist()

        if window_size < 2:
            raise ValueError, "Specify window_size at least 2"

        for window in ingrams(words, window_size, pad_right=True):
            w1 = window[0]
            try:
                window = window[:list(window).index(w1, 1)]
            except ValueError:
                pass
            wfd.inc(w1)
            for w2 in set(window[1:]):
                if w2 is not None:
                    bfd.inc((w1, w2))
        return cls(wfd, bfd) 
開發者ID:blackye,項目名稱:luscan-devel,代碼行數:23,代碼來源:collocations.py

示例12: binary_stump

# 需要導入模塊: from nltk import probability [as 別名]
# 或者: from nltk.probability import FreqDist [as 別名]
def binary_stump(feature_name, feature_value, labeled_featuresets):
        label = FreqDist([label for (featureset,label)
                          in labeled_featuresets]).max()

        # Find the best label for each value.
        pos_fdist = FreqDist()
        neg_fdist = FreqDist()
        for featureset, label in labeled_featuresets:
            if featureset.get(feature_name) == feature_value:
                pos_fdist.inc(label)
            else:
                neg_fdist.inc(label)

        decisions = {feature_value: DecisionTreeClassifier(pos_fdist.max())}
        default = DecisionTreeClassifier(neg_fdist.max())
        return DecisionTreeClassifier(label, feature_name, decisions, default) 
開發者ID:blackye,項目名稱:luscan-devel,代碼行數:18,代碼來源:decisiontree.py

示例13: cal_Distinct

# 需要導入模塊: from nltk import probability [as 別名]
# 或者: from nltk.probability import FreqDist [as 別名]
def cal_Distinct(corpus):
    """
    Calculates unigram and bigram diversity
    Args:
        corpus: tokenized list of sentences sampled
    Returns:
        uni_diversity: distinct-1 score
        bi_diversity: distinct-2 score
    """
    bigram_finder = BigramCollocationFinder.from_words(corpus)
    bi_diversity = len(bigram_finder.ngram_fd) / bigram_finder.N

    dist = FreqDist(corpus)
    uni_diversity = len(dist) / len(corpus)

    return uni_diversity, bi_diversity 
開發者ID:gmftbyGMFTBY,項目名稱:MultiTurnDialogZoo,代碼行數:18,代碼來源:metric.py

示例14: sample_relations_top_n

# 需要導入模塊: from nltk import probability [as 別名]
# 或者: from nltk.probability import FreqDist [as 別名]
def sample_relations_top_n(graph, context, type_):
    num_total_words = len(context)
    dist = FreqDist(context)
 
    for node in graph:
        node = build_score_per_layer(node, dist, num_total_words)

    for node in graph:
        node = calc_top_n_score_by_level(node)

    for i, node in enumerate(graph):
        graph[i] = prune_graph_by_top_n_softmax(node)

    selected_paths = select_paths(graph) 
    paths = build_subpaths(selected_paths)
    final_paths = list(paths for paths, _ in itertools.groupby(paths))
    random.shuffle(final_paths)
    return final_paths 
開發者ID:yicheng-w,項目名稱:CommonSenseMultiHopQA,代碼行數:20,代碼來源:general.py

示例15: get_stop_words_1

# 需要導入模塊: from nltk import probability [as 別名]
# 或者: from nltk.probability import FreqDist [as 別名]
def get_stop_words_1(data, num_stop_words):
    total_words = []
    for d in data:
       total_words.extend(d["ques"])
       total_words.extend(d["answer1"])
       for d_i in d["summary"]:
           total_words.extend(d_i)
    fdist = FreqDist(total_words)
    stop_words = fdist.most_common(num_stop_words)
    stop_words = [t[0] for t in stop_words]
    pronoun_list = ["he", "she", "him", "her", "his", "them", "their", "they"] 
    filtered_stop_words = []
    for p in stop_words:
       if p not in pronoun_list:
           filtered_stop_words.append(p)
    return filtered_stop_words 
開發者ID:yicheng-w,項目名稱:CommonSenseMultiHopQA,代碼行數:18,代碼來源:read_data.py


注:本文中的nltk.probability.FreqDist方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。