python输出到txt随机命名_使用Python从.txt文件中随机生成一个加权词列表
发布日期:2021-06-24 17:08:29 浏览次数:2 分类:技术文章

本文共 1587 字,大约阅读时间需要 5 分钟。

我需要一个代码,根据形成的语料库的统计分布,随机地生成一个会话的有意义单词列表,也就是说,它们将根据该语料库中委托的频率生成。

我从这个链接开始,我已经清理了它,删除了停止词(西班牙语),只留下500个最常见的单词:

import requests

wiki_url = "https://es.wiktionary.org/wiki/Wikcionario:Frecuentes-(1-1000)-Subt%C3%ADtulos_de_pel%C3%ADculas"

wiki_texto = requests.get(wiki_url).text

from bs4 import BeautifulSoup

wiki_datos = BeautifulSoup(wiki_texto, "html")

wiki_filas = wiki_datos.findAll("tr")

print(wiki_filas[1])

print("...............................")

wiki_celdas = wiki_datos.findAll("td")

print(wiki_celdas[0:])

fila_1 = wiki_celdas[0:]

info_1 = [elemento.get_text() for elemento in fila_1]

print(fila_1)

print(info_1)

info_1[0] = int(float(info_1[0]))

print(info_1)

print("...............................")

num_or = [int(float(elem.findAll("td")[0].get_text())) for elem in wiki_filas[1:]]

palabras = [elem.findAll("td")[1].get_text().rstrip() for elem in wiki_filas[1:]]

frecuencia = [elem.findAll("td")[2].get_text().rstrip() for elem in wiki_filas[1:]]

print(num_or[0:])

print(palabras[0:])

print(frecuencia[0:])

from pandas import DataFrame

tabla = DataFrame([num_or, palabras, frecuencia]).T

tabla.columns = ["Núm. orden", "Palabras", "Frecuencia"]

print(tabla)

print("...............................")

import pandas as pd

from nltk.corpus import stopwords

prep = stopwords.words('spanish')

print(prep)

tabla_beta = pd.read_html(wiki_url)[0]

tabla_beta.columns = ["Núm. orden", "Palabras", "Frecuencia"]

tabla_beta = tabla_beta[~tabla_beta['Palabras'].isin(prep)].head(500)

print(tabla_beta)

结果是一个包含500个寄存器和3列的数据帧,最后一列是每个字的频率:

5e12894285a85546b08460592846a28b.png

我现在需要的是一个代码,根据第3栏中的频率随机生成一个包含这些单词的句子。

欢迎任何帮助!谢谢您。

转载地址:https://blog.csdn.net/weixin_34007963/article/details/114466648 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java 标准库源码分析_java.lang.System源码分析
下一篇:java 数组 内存溢出_java - 从字节数组创建列表 - 堆栈内存溢出

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月03日 02时05分15秒