Compare commits

...

No commits in common. 'main' and 'master' have entirely different histories.
main ... master

Binary file not shown.

BIN
AI.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

@ -0,0 +1,102 @@
云计算
机器学习
激活函数
神经网络
人工智能
语音识别
人工智能
深度学习
自然语言处理
计算机视觉
语音识别
文本分类
图像分类
目标检测
人脸识别
机器翻译
文本生成
图像生成
增强学习
卷积神经网络
循环神经网络
自编码器
对抗神经网络
决策树
贝叶斯网络
支持向量机
线性回归
深度强化学习
人机交互
逻辑回归
聚类
强化学习
语音合成
模式识别
数据挖掘
遗传算法
机器人学
机器人
自动驾驶
数据预处理
单板计算机
模型压缩
神经机器翻译
图像处理
机器感知
反向传播算法
人工神经元
神经图像处理
梯度下降算法
语义分割
实例分割
目标跟踪
文本分析
聊天机器人
稀疏编码
特征提取
物体分割
奇异值分解
神经进化
分层采样
迁移学习
端到端学习
随机森林
朴素贝叶斯
深度学习框架
序列到学历模型
异常检测
学习率
正则化
权重衰减
监督学习
无监督学习
多任务学习
长短时记忆网络
多层感知机
梯度消失
微调
单样本学习
集成学习
运动员追踪
虚拟演播区
数字人主播
AI辅助训练
AI大模型
AI跳水辅助训练
聊天机器人
辅助解说
裁判支持系统
舆情监测
媒资修复
高清直播
自动生成
全息视频
OpenVINO技术
AthleteGPT
Athlete365
神经对象克隆技术
云检测
云数据
AI大模型
AI大数据
裁判支持系统

@ -1,2 +0,0 @@
# 102201523

@ -0,0 +1,16 @@
from reptile import reptile
from word_handle import processor
if __name__ == '__main__':
key_words = str(input('请输入搜索关键词:'))
page = int(input('请输入需要再部长综合排序中爬取的视频个数:'))
reptile = reptile(key_words,page)
path = reptile.get_dataset()
test_path = './巴黎奥运会AI文本库.txt'
userdict_path = './AI专有名词.txt'
exl_path = './b站视频2024年巴黎运动会AI应用的弹幕的统计表格1.xlsx'
wordcloud_path = './AImap1.png'
process = processor(path,test_path,userdict_path,exl_path,wordcloud_path)
process.analyse_vector_tfidf()
process.draw_wordcloud()

@ -0,0 +1,94 @@
import requests
import re
import os
class reptile:
def __init__(self,key_word,num):
#b站的搜索关键词
self.key_word = key_word
#需要爬取的视频链接的个数
self.num = num
#b站综合排序的翻页的页数
self.page = 1
#浏览器访问的标头,防止访问被拒绝
self.headers = {
'Accept-Encoding':'gzip, deflate, br',
'Accept-Language':'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.60',
'Cookie':"buvid3=294A4FDA-B28B-E848-02AF-4CC85F21E60591171infoc; b_nut=1719198491; _uuid=81083F39F-D9B8-E9C6-F81E-10DC77867B7C691969infoc; enable_web_push=DISABLE; buvid4=C6405F50-B303-58B0-92EB-FC0454BFDAEF92810-024062403-BZe5%2BJpTiegiNfU4N%2B1JIg%3D%3D; buvid_fp=723bec487c6799b3457440aa4e151029; header_theme_version=CLOSE; CURRENT_FNVAL=4048; SESSDATA=c2d43fe3%2C1734787697%2Ce83be%2A61CjCuaG1-EyZeMtp2_27iesQNI-S-Cm9CylwH3d1egMq6ECCdB1iVx2W84e9xdpWrnHgSVk5mSVNJZU1ibHNqYXFiNHlCckNEWS1wSEFwZ2ZkX0lRa1NVWFBhdDQ4WExRLUJjdGdURy1YVHRudm9OTFlrb0JkSFVZMXNVSW1ZYTRndEF1ZHNkcTZBIIEC; bili_jct=f9658d85c4fff75f379bafb9d8640c84; DedeUserID=3493115639892125; DedeUserID__ckMd5=c9eb7af8c9ebf568; rpdid=|(u))kkY|mm)0J'u~umkJl~R); is-2022-channel=1; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MjYyMzcxNjgsImlhdCI6MTcyNTk3NzkwOCwicGx0IjotMX0.QLV_A_4RlS1JqNtyCErEjqyFnEVNNA4LpW9Ea78HJyg; bili_ticket_expires=1726237108; home_feed_column=5; browser_resolution=1653-834; bsource=search_baidu; bmg_af_switch=1; bmg_src_def_domain=i0.hdslb.com; sid=57thd76i; b_lsid=D3749D16_191E5E181D7; bp_t_offset_3493115639892125=976252148054491136",
}
self.base_url = 'https:'
#对收集的弹幕的临时文件的路径
self.path = f"./关于b站视频{self.key_word}的弹幕.txt"
def get_video_url(self):
'''
获取网页综合排序当中的视频的详情页面连接
'''
url_list = []
cnt = 0
#b站综合排序的网页地址
while cnt < self.num:
url = f'https://search.bilibili.com/all?keyword={self.key_word}&from_source=webtop_search&spm_id_from=333.1007&search_source=2&page={self.page}'
res = requests.get(url=url,headers=self.headers)
#网页无法访问情况要错误跳出
if res.status_code != 200:
url_list = res.status_code
break
#获取html代码
html = res.text
#正则化表达解析html获取视频超链接的详情页的地址列表
reg_exp = 'video-list.*?a.*?href="(.*?)"'
result = re.findall(reg_exp,html,re.S)
#给list去重去除重复的数据
url_list = url_list+result
url_list = list(set(url_list))
#下一次循环访问下一页
self.page += 1
cnt = len(url_list)
url_list = url_list[0:self.num]
return url_list
def bullet_chat(self,url):
'''
获取详情页面的弹幕列表
'''
if self.base_url not in url:
url = self.base_url +url
res = requests.get(url,headers=self.headers)
# reg = 'bui-long-list-item'
#解析xml内部包含的弹幕池的cid
reg_find_bullet_cid = 'window.__INITIAL_STATE__.*?"cid":([0-9]*)'
bullet_cid = re.findall(reg_find_bullet_cid,res.text,re.S)[0]
#弹幕池的网页
bullet_url = f'https://comment.bilibili.com/{bullet_cid}.xml'
bullet_xml = requests.get(bullet_url,headers=self.headers)
#弹幕中文需要的编码格式
bullet_xml.encoding = 'utf-8'
#解析弹幕池当中的弹幕内容
reg_find_bullet_content = '<d p=.*?>(.*?)</d>'
bullet_list = re.findall(reg_find_bullet_content,bullet_xml.text)
return bullet_list
def save_bullet(self,bullet_list):
with open(self.path,'a',encoding='utf-8') as f:
bullet = '\n'.join(bullet_list)
f.write(bullet)
def get_dataset(self):
if os.path.exists(self.path):
print("文件已存在即将进行覆盖")
os.remove(self.path)
print('正在爬取弹幕......')
url_list = self.get_video_url()
for url in url_list:
bullet_list = self.bullet_chat(url)
self.save_bullet(bullet_list)
print("爬取弹幕成功")
return self.path
if __name__ == '__main__':
reptile = reptile('2024年巴黎运动会AI应用',300)
reptile.get_dataset()

@ -0,0 +1,6 @@
gensim==4.3.3
imageio==2.35.1
jieba==0.42.1
pandas==2.0.3
Requests==2.32.3
wordcloud==1.9.3

@ -0,0 +1 @@
技术 30 运动员 27 AI 18 分析 7 指导 7 提供 7 没有 5 真的 4 解说 3 应该 3 还是 3 奥运会 3 法国 3 高菡 3 空调 3 这个 2 可以 2 觉得 2 怎么 2 这是 2 观众 2 正常 2 出来 2 其实 2 不同 2 心态 2 一点 2 训练 2 动作 2 他们 2 真正 2 居然 2 比较 2 8K 2 外貌 2 王曼昱 1 粉丝 1 视频 1 造谣 1 遮挡 1 巴黎 1 打球 1 就是 1 莎莎 1 不是 1 现在 1 喜欢 1 自己 1 很难 1 比赛 1 中国 1 选手 1 不过 1 很多 1 奥运 1 前面 1 只有 1 专业 1 以为 1 整个 1 为什么 1 值得 1 大家 1 时候 1 世界 1 第一 1 可惜 1 知道 1 赛场 1 问题 1 支持 1 是不是 1 这样 1 状态 1 这种 1 内涵 1 好看 1 格局 1 禁止 1 乒乓球 1 关注 1 多少 1 后面 1 容易 1 听到 1 时间 1 除了 1 台湾 1 不想 1 记得 1 第一次 1 吵起来 1 好好 1 老吵 1 很棒 1 好像 1 每次 1 32 1 不如 1 作为 1 优秀 1 小林 1 聪明 1 非常 1 大姐 1 项目 1 还要 1 妹妹 1 英国 1 20 1 厕所 1 致敬 1 受伤 1 一切 1 听说 1 ai 1 最大 1 第一眼 1 差距 1 当年 1 参加 1 配音 1 天赋 1 大哥 1 能够 1 数据 1 一眼 1 莫名其妙 1 尊重 1 头脑 1 曼昱厚 1 想要 1 通过 1 攻击 1 不仅 1 醒醒 1 情绪 1 遥遥领先 1 塞纳河 1 表演 1 图片 1 据说 1 碾压 1 长大 1 警察 1 精确 1 地点 1 没法 1 计算 1 素材 1 住宿 1 对比 1 废话 1 普通 1 感到 1 精准 1 伙食 1 义乌 1 敬佩 1 帮助 1 识别 1 TM 1 带动 1 养殖 1 游泳池 1 羞愧 1 以外 1 跑鞋 1 韭菜 1 综合 1 牙膏 1 Intel 1 挺强 1 再迷 1 侧切 1 胸襟 1 越累 1 越难 1 作图 1 生成 1 谨慎 1 几时 1

@ -0,0 +1,137 @@
import jieba
import re
from gensim import corpora,models,similarities
import wordcloud
import pandas as pd
import imageio
class processor():
def __init__(self,data_path,train_path,userdict,exl_path,wordcloud_path):
#保存数据的路径
self.data_path = data_path
#参照相似度的文件的路径
self.train_path = train_path
#更新词库路径
self.userdict = userdict
#保存的excel文件路径
self.exl_path = exl_path
#词云的文件路径
self.wordcloud_path = wordcloud_path
#停用词设置
self.stop_words = ['什么','亚洲','官方','俄罗斯']
#本文本词袋词袋
self.dictionary = None
def read_file(self,path):
'''
读取文件并存储到列表中
'''
with open(path,'r',encoding = 'utf-8') as f:
lines = f.readlines()
return lines
def save_file(self,word_list):
path = './temp.txt'
with open(path,'w+',encoding='utf-8') as f:
f.write(''.join(word_list))
return path
def analyse_vector_tfidf(self):
'''
抽取与AI相关性
较为强烈的弹幕
'''
#加载词库
jieba.load_userdict(self.userdict)
#将数据的全部分词保存在all_doc
all_lines = self.read_file(self.data_path)
all_doc = []
#与AI应用相关的文本数据
test_lines = self.read_file(self.train_path)
test_doc = []
#开始分词
#对需要分析的数据集开始分词
for line in all_lines:
#利用正则表达式去除中文标点,空的话相关度为零
line = re.sub('[^\w\s]','',line)
token = [word for word in jieba.lcut(line.strip()) if word not in self.stop_words and len(word)>1]
all_doc.append(token)
#对AI应用相关的文本进行分词
for line in test_lines:
line = re.sub('[^\w\s]','',line)
token = [word for word in jieba.lcut(line.strip()) if word not in self.stop_words and len(word)>1]
if len(test_doc)==0:
test_doc = token
else:
test_doc += token
#制作词袋
self.dictionary = corpora.Dictionary(all_doc)
#制作语料库,即具有词频的词袋模型词语ID号词语频率
corpus = [self.dictionary.doc2bow(doc) for doc in all_doc]
test_doc_vec = [self.dictionary.doc2bow(test_doc)]
#每个词语的tfidf值
tfidf = models.TfidfModel(corpus)
#相似度Sim算法
sparse_matrix = similarities.SparseMatrixSimilarity(tfidf[corpus],num_features=len(self.dictionary.keys()))
sim = sparse_matrix[tfidf[test_doc_vec]][0]
sim = sorted(enumerate(sim),key= lambda item: item[1],reverse=True)
# print(sim)
#提取在规定相关度之内的弹幕
key_words = []
for i in range(len(all_lines)):
if sim[i][1]>=0.135:
key_words.append(all_lines[sim[i][0]])
else:
break
self.save_file(key_words)
def draw_wordcloud(self):
#制作词频表
key_word_dict = {}
key_words = self.read_file('temp.txt')
key_words_list = []
for line in key_words:
#利用正则表达式去除中文标点,空的话相关度为零
line = re.sub('[^\w\s]','',line)
token = [word for word in jieba.lcut(line.strip()) if word not in self.stop_words and len(word)>1]
if len(key_words_list)==0:
key_words_list = token
else:
key_words_list += token
key_words_vec = self.dictionary.doc2bow(key_words_list)
# print(key_words_vec)
for tup in key_words_vec:
key_word_dict[self.dictionary[tup[0]]] = tup[1]
key_word_dict = sorted(key_word_dict.items(),key=lambda x:x[1],reverse=True)
print(key_word_dict)
# list = []
# for k,v in key_words_list:
# list.append(k+' '+v)
self.save_file([f'{items[0]} {items[1]} ' for items in key_word_dict])
#保存Excel表格
self.save_to_excel(key_word_dict)
#画词云
#要有中文字体的路径不然显示不出中文
w = wordcloud.WordCloud(background_color='white',mask = imageio.imread('./AI.png'),font_path= './24华康POP2体.TTC')
w.generate(str(self.read_file('./temp.txt')))
w.to_file(self.wordcloud_path)
def save_to_excel(self,key_word_dict):
execl_data = pd.DataFrame(key_word_dict)
execl_data.to_excel(self.exl_path)
if __name__ == '__main__':
# analyse_vector_tfidf()
path = './关于b站视频2024年巴黎运动会AI应用的弹幕.txt'
test_path = './巴黎奥运会AI文本库.txt'
userdict_path = './AI专有名词.txt'
exl_path = './b站视频2024年巴黎运动会AI应用的弹幕的统计表格.xlsx'
wordcloud_path = './AImap.png'
process = processor(path,test_path,userdict_path,exl_path,wordcloud_path)
process.analyse_vector_tfidf()
process.draw_wordcloud()

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -0,0 +1,18 @@
巴黎奥运会期间采用了一款人工智能平台,能够通过先进的算法来分析在互动练习和活动中收集到的数据。这些数据用于测量体能表现的各个方面,如力量、速度、敏捷性和耐力。从而为运动员、教练员提供个性化洞察,帮助他们了解身体和生理特征、自身潜力和优势所在,以及如何针对特定运动进行训练加强,使他们在奥运会举办前后都能从中受益。
该项技术是通过AI处理器捕捉并渲染运动员的实时全息影像并将这些高清全息视频传输给奥林匹克广播服务公司以供全球的媒体版权持有者使用。
奥林匹克广播服务公司通过人工智能技术来分析现场观众的声音、屏幕上的统计数据以及运动员的动作等多方面线索,从而快速且高效地识别出关键时刻及相关内容,并根据预设的标准自动挑选出最相关的剪辑素材。
经过优化的广播服务采用内置英特尔AI加速器的第五代英特尔至强处理器以及英特尔深度学习加速技术来处理奥林匹克广播服务OBS产生的8K/60FPS/HDR直播信号能在400毫秒内将高达48千兆比特每秒的信号压缩至40-80兆比特每秒以下从而使8K超高清直播可以通过互联网传输到指定地点让许多原本不具备8K转播技术的广播公司得以实现8K转播。
设置了高清云直播、VR/AR 全景直播推出360度实时回看、3D运动员追踪、虚拟演播区、数字人主播等技术
实时追踪和分析乒乓球的轨迹、落点、速度、转速、转向等关键参数精准捕捉箭矢的飞行轨迹、距离和风速并通过3D动画、MR等技术呈现给观众为观众提供专业AI技战术分析
AI大模型全过程参与了运动员的比赛和训练评价
基于AI+大数据的分析能力AI辅助训练系统能精准评估运动员的训练状态和效果为教练团队提供科学依据并对训练计划进行动态调整确保训练的科学性和有效性。比如通过高速摄像头捕捉比赛和训练视频教练员能够对运动员的技术动作进行详细拆解和评估。
AI大模型还能识别对手的弱点和习惯帮助制定精准的比赛策略还可以根据伤病类型和个人康复数据为受伤的运动员制定个性化康复计划。此外利用这项技术还能分析运动员的生理数据和训练负荷提出个性化预防措施。
运用百度AI跳水辅助训练系统进行训练能够实时分析运动员的动作细节提供精确的量化分析和指导帮助教练团队制定更加科学的训练计划让运动员在更短时间内实现技术突破
基于Athlete365平台的聊天机器人AthleteGPT
AthleteGPT能在海量信息中迅速找到所需内容并提供24小时不间断的服务
阿里国际自研Agent框架支持了首个奥运领域的大模型应用开放给国际奥组委官方解说员辅助各项赛事解说。这一AI应用能够快速对相应的数据库或文档进行查询搜索通过数学运算或复杂的推理回答解说员的具体问题为奥运赛事提供更高的专业性和趣味性支持。不仅提升赛事直播质量还为观众提供了更丰富、更精准的解说内容
体操领域的AI“裁判”全名为裁判支持系统The Judging Support SystemJSS由日本富士通公司与国际体操联合会FIG合作开发。该系统能够利用四到八个精心摆放的高清摄像头捕捉运动员的动作计算运动员动作的难度分值它能够精准呈现运动员转动的角度等肉眼难以判断的细节
面对历届奥运会网络安全的严峻挑战巴黎奥运会组委会部署了一套先进智能防御系统被誉为奥运会“数字铠甲”。通过云计算技术和分布式云架构组委会能够灵活调配计算资源应对突发的大规模网络攻击。AI驱动的面部识别技术和行为分析系统在比赛中加强安保预防和应对潜在安全威胁
巴黎奥运会首次利用人工智能技术监控主要社交媒体平台,标记出具有网络暴力倾向的账号,为运动员提供安全的网络空间
奥运会、残奥会期间观众密集且环境复杂无障碍设施少不了AI辅助。巴黎奥运会利用AI和3D建模技术开发的全新导航方案为残障人士搭起暖心通道。借助集成AI模型的APP根据语音播报导航或实时实景导航残障群体可以在园区与场馆内更自如地活动
AI辅助训练、可穿戴设备以及新材料和运动装备研发数据驱动体育的科学化为赛事运营管理和决策提供了强有力数据支持网络安全监控、面部识别技术、运动损伤预防和康复训练技术运用确保了赛事安全性和运动员健康。AI评分系统与运动追踪技术等前沿科技的应用
Loading…
Cancel
Save