Procesamiento del lenguaje natural-Ley de Zipf (Brown Corpus)

Ciencia popular sobre la ley de
Zipf : la ley de Zipf es una regla aparentemente universal que determina los resultados del conteo de la mayoría de las cosas. La ley de Zipf establece que en un corpus de lenguaje natural dado, la frecuencia de cualquier palabra es inversamente proporcional a su clasificación en la tabla de frecuencias.

Utilice el Brown Corpus para ilustrar este punto:

from nltk.corpus import brown
from collections import Counter

# words()是 NLTK corpus 对象内置的一个方
# 法,它以字符串序列的方式返回分词后的语料库
print(brown.words()[:10])

# 词性标注
# NLTK的corpus reader提供一个唯一的读取标记语料库的接口 tagged_words ()
print(brown.tagged_words()[:10])

puncs = set((',', '.', '--', '-', '!', '?', ':', ';', '``', "''", '(', ')', '[', ']'))
word_list = (x.lower() for x in brown.words() if x not in puncs)
token_counts = Counter(word_list)
'''
布朗语料库中的词频符合齐普夫预测的对数线性关系
如果把语料库的词按照出现次数按降序排列,我们会发现:对一个足够大的样本,出
现次数排名第一的词在语料库中的出现次数是排名第二的词的两倍,是排名第四的词的 4 倍。因此,
给定一个大型语料库,可以用上述数字来粗略统计给定词出现在该语料库的任何给定文档中的可能性。
'''
print(token_counts.most_common(20))

Nota: El
Brown Corpus es el primer corpus electrónico en inglés de un millón de palabras creado por la Universidad de Brown en 1961. El corpus contiene textos de 500 fuentes de datos diferentes, que se han clasificado por tipo, como noticias, editoriales, etc.

Supongo que te gusta

Origin blog.csdn.net/fgg1234567890/article/details/111827371
Recomendado
Clasificación