- 博客(47)
- 收藏
- 关注
原创 山东大学软件学院项目创新实训开发日志(5)之中医知识问答UML图设计
根据上篇博文对中医知识问答功能模块的数据库设计,为更好的进行理解与开发,所以进行了UML图设计,实现可视化介绍。
2025-04-07 10:20:43
433
原创 山东大学软件学院项目创新实训开发日志(4)之中医知识问答数据存储、功能结构、用户界面初步设计
file_type ENUM('image','audio','video','file'), -- 文件类型。parent_msg_id VARCHAR(36), -- 父消息ID(用于修改记录)content_type ENUM('text','file'), -- 内容类型。msg_id VARCHAR(36) PRIMARY KEY, -- 消息ID。role ENUM('user','assistant'), -- 发送者身份。lang ENUM('zh','en'), -- 语言。
2025-03-31 20:44:39
727
原创 山东大学软件学院创新项目实训开发日志(3)-了解Reranker模型
Reranker 模型是一种用于改进信息检索系统或推荐系统结果质量的模型。它通常在初步检索结果之后应用,通过对初步结果进行二次排序,从而提高相关性和准确性。1. Reranker 模型的工作原理初步检索首先,系统使用基础的检索算法(如 BM25、TF-IDF 或其他信息检索模型)从大型数据集中获取初步的候选结果。特征提取对初步检索出的候选结果进行特征提取,提取出与排序相关的多种特征。这些特征可以包括:文档与查询之间的相似性(如余弦相似度)。文档的质量(如点击率、阅读时间等)。
2025-03-31 08:30:00
623
原创 山东大学软件学院创新项目实训开发日志(2)-了解embedding模型
Embedding 将每个对象(如词、图像或用户)映射到一个固定维度的向量空间中,使得相似的对象在向量空间中更接近。在本次项目实训中因为需要用到embedding模型进行数据的处理,所以需要进行学习,通俗来说,embedding模型的作用是将文本转为向量的表达,在NLP领域应用非常广泛。:通过将高维稀疏数据转换为低维密集向量,Embedding 可以有效地减少数据的维度,同时保留重要的信息和关系。:在推荐系统中,通过用户的历史行为和物品的特征来生成用户和物品的向量表示,从而实现个性化推荐。
2025-03-30 16:43:31
505
原创 山东大学软件学院创新项目实训开发日志1-API技术了解
API是应用程序接口的缩写,他的作用其实就是实现不同软件应用程序和系统之间进行通信和数据交换。
2025-03-30 16:24:51
188
原创 力扣练习之字符串解码(对栈的考察)
给定一个经过编码的字符串,返回它解码后的字符串。编码规则为:,表示其中方括号内部的正好重复k次。注意k保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数k,例如不会出现像3a或2[4]的输入。"aaabcbc"
2025-03-13 17:41:12
171
原创 力扣练习之确定两个字符串是否接近
通过该判断之后,我们要判断的是是否有相同频次出现,那这个时候,我们就可以进行排序,排序完看看这两个count数组是否一样即可,如果不一样,比如说count1里有5,但是count2里并没有,那么说明字符串1里有一个字符出现了5次,二字符串2里并没有出现5次的字符,这也会不符合接近的定义,所以返回false,如果完全一样,那么就返回true。2. 字符的出现频次是要一样的(这里的意思不是说相同字符出现的频次必须要一样,而是说只要有跟它一样的频次的字符出现在另一个字符串里就可以)执行操作 1:"ca。
2025-03-12 17:20:25
626
原创 哈希基础知识
哈希是一种将任意长度的输入(如字符串、文件、数据)通过哈希函数转换为固定长度输出的过程,其输出通常称为哈希值获哈希码哈希表(Hash Table)是一种基于哈希函数实现的数据结构,用于高效存储和查找键值对。
2025-03-08 16:24:45
330
原创 力扣练习之盛最多水的容器
然后因为要找出最大的容量,所以我们就要遍历该数组,找到尽可能长的高度,因为只有这样,才有可能比现有的容量rong所能容纳的水多,如果越找越少的话,那容量肯定会变少(因为宽变短了,高也变短了),所以如果height[left]<height[right](也就是左边的板子更低的话),那就把左边的板子换掉,让left++,反之,把右边的板子换掉,即right--,这道题其实最简单的方法是用双重循环,但它有一个坏处是时间复杂度非常高,O(n²),所以会超时,为了改良时间复杂度,所以采用了双指针的办法来进行解决。
2025-03-03 16:42:28
410
原创 力扣练习之递增的三元子序列
思路:比如当前所在位置是i,所代表的数字为b,那么有一个指针在其左侧,找到左侧最小的数a,另一个指针在右侧,找到右侧最大的数c,如果a<b<c成立,则返回true,否则的话返回false,这个思路是没有问题的,关键在于实现的方式。eg:l[i]肯定是在l[i-1]和nums[i-1]中选择一个较小的,因为l[i-1]代表的就是第i-1个元素值左边最小的数字了,只需要和第i-1个元素值比较一下,选取那个更小的就是第i个元素左侧最小的值了。后来看了官方题解,发现思路是一样的,但是他实现的时间复杂度仅需O(n)
2025-02-28 21:45:36
488
原创 力扣练习之反转字符串中的元音字母
其实这个题用双指针遍历即可,尽量不要使用单指针,容易错。,仅反转字符串中的所有元音字母,并返回结果字符串。,且可能以大小写两种形式出现不止一次。
2025-02-27 16:27:47
157
原创 山大软院ai导论实验之使用卷积神经网络对数据集MNIST进行分类训练
使用卷积神经网络对数据集MNIST进行分类训练,并评估模型的性能。具体包括:1.训练一个基本的CNN模型。2.观察模型在训练过程中误差的变化。3.评估训练完成后的模型在测试集上的准确率。
2025-02-26 21:47:52
337
原创 山东大学软件学院ai导论实验之生成对抗网络
生成器的损失函数是判别器对生成图像的输出,标签为“真实”(即1)。判别器训练:判别器的目标是最大化其准确性,即正确分类真实和伪造的图像。在每次训练中,先计算真实图像的损失,然后计算生成图像的损失,最后将两个损失加权平均得到判别器的总损失。判别器:判别器网络的任务是区分输入的图像是“真实的”还是“伪造的”。它将图像输入后,通过多个全连接层,最后输出一个介于0和1之间的值,表示图像的真实性。每个epoch的图像被保存到指定的文件夹中,以便可视化生成图像的变化。学习率为0.0001。
2025-02-26 21:45:06
1037
原创 山大软院ai导论实验之采用BP神经网络分类MNIST数据集
2.数据预处理:使用torchvision加载MNIST数据集并进行标准化。将训练集和测试集的每个像素点归一化到[-1, 1]范围,以适应神经网络的输入。MNIST数据集来自美国国家标准与技术研究所(NIST),包含手写数字图片及其标签。训练集:包含60000张图片及其标签,每张图片是一个28 x 28的灰度图像。每个样本代表一个手写数字(0-9),图片中像素值已归一化到[0, 1]范围。测试集:包含10000张图片及其标签,图片格式与训练集相同。
2025-02-26 21:32:17
1300
1
原创 力扣练习之拥有最多糖果的孩子
有n个有糖果的孩子。给你一个数组candies,其中candies[i]代表第i个孩子拥有的糖果数目,和一个整数表示你所有的额外糖果的数量。返回一个长度为n的布尔数组result,如果把所有的给第i个孩子之后,他会拥有所有孩子中的糖果,那么result[i]为true,否则为false。注意,允许有多个孩子同时拥有的糖果数目。如果你把额外的糖果全部给:孩子 1,将有 2 + 3 = 5 个糖果,是孩子中最多的。孩子 2,将有 3 + 3 = 6 个糖果,是孩子中最多的。
2025-02-25 16:43:49
383
原创 山东大学软件学院nosql实验七
courWithStu()方法则通过调用 findDistinctCidFromSc 获取所有的课程 CID,然后在 course 集合中查找这些课程对应的详细信息,排除 _id 字段,并返回一个包含符合条件的 Course 对象列表。另外还认识到MongoDB的聚合管道强大且灵活,能够完成复杂的数据处理,且和SQL在一些操作上有相似之处,如 $group 相当于 SQL 的 GROUP BY操作,在实验中遇到的一个小问题是MongoDB非常注重大小写,在编写代码的时候一定要注意!
2025-02-25 10:00:00
281
1
原创 山东大学软件学院nosql实验六
student_course表是一个关系表,用于表示学生和课程之间的关联关系,根据MongoDB的特性,所以不会在 SpringBoot 中创建对应的实体类。本次实验完成后,我对如何使用聚合操作符来实现多表联合查询,以及如何使用mongoTemplate对象来直接操作数据库有了一定的了解,也让我对MongoDB数据库的关系表操作有了更深入的理解和掌握,收获颇丰。使用Java语言实现学生选课功能界面,根据录入的学号列出已选课程,可以更新已选课程,也可以新增选课。用API方式,做学生选课功能。
2025-02-25 09:30:00
246
原创 山东大学软件学院nosql实验五
本次实验与实验三大体相似,实现过程较为容易,其中的难点是与插入不同的是更新需要保留原有的OId,而且需要将id从ObjectId类映射为String类的问题。对于回传的MultipartFile类型文件,首先将文件流读入为对象列表,然后逐个读取对象并调用save()方法,逐个更新。使用Java语言实现数据更新界面,为实验一建立的学生、课程、教师表的数据进行更新操作,可以选择一条数据更新信息,也可以在表格中一次性更新多条数据。用API方式,做数据更新(类似SQL中的update语句功能)。
2025-02-25 09:00:00
244
原创 山东大学软件学院nosql实验四
本次实验主要学习了单条插入和批量插入Excel文件的前后端实现,同时也遇到了难点,就是如何把文件解析,经过查询决定利用easypoi库解析Excel文件,生成对象列表,最后成功解决,通过本次实验更加了解了save、insert的方法,学到了非常多的内容。由于MongoTemplate本身支持数据的批量操作,所以我们可以直接调用这个方法,大体的思路为从前端获取用户上传的文件,然后后端使用easy-poi将数据读出来并进行整理,然后调用insert方法进行插入即可。用API方式,做数据插入。
2025-02-24 21:24:49
406
原创 山东大学软件学院nosql实验三
在对Java与MongoDB的集成有了一定的了解后,我搭建了用Spring Boot和Vue3的前后端分离项目,并成功完成了10个查询,在此过程中,遇到了许多技术难题,但都通过持续的努力得以解决。对于大多数查询需求,我利用MongoDB的查询语法,如 findAll 来检索所有文档,或findByXxx来执行条件查询,取得了良好的效果。前端的任务就是完成数据的展示工作,是以表格的形式展示,因为本次实验涉及到student、teacher、course三个类别的查询,所以建立了三个界面来分别展示部分查询。
2025-02-24 21:20:42
1188
原创 山东大学软件学院nosql实验二
3.之后打开命令行,输入导入csv文件的命令:比如:mongoimport -h 127.0.0.1 -d user202200300224 -c course --type csv --headerline --upsert --file E:\小刘的桌面\NOSQL实验lpy\course.csv就可以将csv文档数据导入到user202200300224这个数据库里的course这个collection中。--upsert:如果导入的数据已经存在于数据库中,则更新现有文档。
2025-02-24 21:17:12
587
原创 山东大学软件学院nosql实验一环境配置
打开cmd窗口,输入$ mongod --version,检查是否安装成功,如果可以看到mongodb的版本,说明已经安装成功。$ 在test集合中插入一条数据:db.test.insertOne({keyaa:"1234"})$ 格式化打印:db.test.find().forEach(printjson)$ use NOSQLexp:切换到NOSQLexp数据库/命名空间。,若页面返回结果如下图所示,则说明MongoDB启动成功。$ 返回集合中的数据:db.test.find()
2025-02-24 21:11:20
429
原创 力扣(LeeCode)刷题集(1)之交替合并字符串
今天打算正式开始刷力扣题,一方面想为接下来的保研机试做准备,另一方面则想好好提高一下自己的代码编程能力,救命,感觉本人的代码能力已经退化到不能再退化的地步了,所以必须得拯救一下了!使用while循环不用再分情况讨论要写四个for循环了,这样如果word1已经添加完成,word2还没有的话,第一个if循环不执行,第二个执行,就是很顺其自然,学到了!大体思路就是合并字符串嘛,我采用的方法是字符串遍历,首先判断word1和word2两个字符串大小,然后根据较小的长度进行for循环,加入到s后缀。
2025-02-19 19:08:35
404
原创 山东大学软件学院计算机网络实验汇总
为了方便大家寻找和借鉴学习,特此将计算机网络的实验链接汇总到这里,需要的请自取~(求关注点赞收藏,谢谢~)山大软院计算机网络实验之802.11-优快云博客山大软院计算机网络实验之802.11-优快云博客山大软院计算机网络之IPV4-优快云博客山大软院计算机网络实验之ARP-优快云博客山大软院计算机网络实验之UDP-优快云博客山大软院计算机网络实验之TCP-优快云博客山大软院计算机网络实验之DNS-优快云博客
2025-02-17 18:05:43
147
原创 山大软院计算机网络实验之DNS
携带名称服务器 IP 地址的记录类型是 A记录(Address Record),如果名称服务器是 IPv6 地址,则是 AAAA记录(IPv6 Address Record)。这部分记录包含针对查询的具体答案,包括关联的 A 记录(IPv4 地址)或 AAAA 记录(IPv6 地址),用于将域名解析为其对应的 IP 地址。在这个例子中是0,表示没有直接的答案记录。Additional records (附加记录): 这些是额外的信息记录,可能包含对查询的补充信息,例如返回的IP地址或其他相关数据。
2025-02-17 17:59:00
972
原创 山大软院计算机网络实验之TCP
第二次握手:服务器发送SYN+ACK段(SYN=ACK=1的TCP数据包,序列号Seq=K,确认号Ack=J+1),确认号=J+1表明前J+1之前的0~J都已经正确接收,已经接收了客户端发来的SYN段。要查看“三方握手”的操作,需要寻找一个带有SYN标志的TCP段,很可能是在跟踪的开始,以及在它之后的数据包。一个“SYN数据包”是三方握手的开始。第三次握手:客户端发送一个ACK段给服务器(ACK=1,Ack=K+1),表示已经正确接收服务器发来的SYN+ACK段。查看TCP(传输控制协议)的详细信息。
2025-02-17 17:55:25
643
原创 山大软院计算机网络实验之UDP
Checksum: 0xbadb3,2 Bytes,表示该数据包的校验和是 0xbadb3,用于检测传输过程中的错误。Length: 24,2 Bytes,表示 UDP 数据包的总长度(以字节为单位),包括 UDP 头部和数据部分的长度。UDP payload: 16 bytes,表示 UDP 载荷部分的大小为 16 字节,包含实际传输的数据。Stream index: 212,表示该数据包属于的流的索引号,有助于将数据包组织到相应的流中。标识上层协议为 UDP 的 IP 协议字段的值为 17。
2025-02-17 17:52:31
579
原创 山大软院计算机网络实验之ARP
Sender MAC address: Intel_c5:ca:ce (4c:44:5b:c5:ca:ce)发送方的MAC地址,这里包含了两种表示方式,分别为厂商名称和十六进制地址。Target MAC address: H3CTechnolog_e3:6d:a9 (74:25:8a:e3:6d:a9)目标设备的MAC地址,格式同样包含厂商名称和十六进制地址。Sender IP address: 10.27.213.9 (10.27.213.9)发送方的IP地址,表示要发送ARP请求的设备的IPv4地址。
2025-02-17 17:49:04
690
原创 山大软院计算机网络实验之IPV4
在TCP连接中,IP数据包的Identification字段在不同的包中通常会有所不同,但如果一个包被分片,所有分片的Identification值会相同。在这种情况下,您的计算机将TTL设置为64,这是一个较常见的默认值,旨在确保数据包在网络中能够经过一定数量的跳转。显示我的计算机(左侧)和远程服务器(右侧),两者都有IP地址,以及它们之间的路径上的路由器,按照它们从路径开始的跳数编号。通过读取报头长度字段的值,可以计算出IP数据报头的实际长度,以便在处理IP数据报时正确识别和解释IP首部后的数据部分。
2025-02-17 16:55:47
1227
原创 山大软院计算机网络实验之802.11
假设在 Radiotap 标头中给出的噪声电平是 -90 dBm,那么**-51 dBm** 的信号强度比噪声电平大 39 dB(-51 dBm - (-90 dBm) = 39 dB),即信号功率是噪声功率的 10^3.9 倍,大约是 7943倍。有许多不同种类的802.11帧将在跟踪中被捕获,在顶部数据包列表面板中找到一个 Data 类型的 802.11 数据帧,Wireshark 将显示该帧的详细信息,包括协议层的结构:中间面板显示帧的头部字段,底部面板显示组成帧的字节数据。
2025-02-05 22:00:00
539
原创 山大软院计算机网络实验之Ethernet
使用“ether multicast”过滤器开始捕获广播和组播以太网帧,这样做的目的是监控网络中自动生成的广播和组播流量,以分析网络设备和服务的行为。在DIX以太网中,类型字段的值范围为0x0600-0xFFFF,而在IEEE 802.3中,长度字段的值小于等于1500字节。探讨以太网帧的细节。选择跟踪的第一个数据包,可以查看它的构成和组成数据包字节的详细信息,此数据包在网络上传输时的总字节数是 74 字节。DIX帧通常包括6字节的目标MAC地址、6字节的源MAC地址和2字节的EtherType字段。
2025-02-05 17:38:36
582
原创 山大软院计算机网络实验之protocol-layers
1.我们可以在wireshark查看各部分的组成大小:可以看到Frame层占了963个字节,Etherenet层占了14字节,IP层20个字节,TCP层一共占了20个字节,HTTP层占了144个字节等。2.然后启动wireshark,选择WLAN,过滤器选择tcp port 80开始捕获,在本次捕获过程中,获取了26个数据包。以太网帧头部的Type字段是解复用键,用于指示下一个更高层是IP协议,该字段的值为0x0800时表示IP协议包。它下一个更高的层是TCP,它的值为06。IP报头字段是解复用键,
2025-02-05 17:28:57
930
原创 山东大学软件学院2024-2025非关系型数据库背诵整理
写在前面:nosql给我的最大的特点就是太灵活了,灵活到他没有固定的答案,感觉怎么样都行,以至于我复习的时候有种群龙无首的感觉哈哈哈,但成绩还是可以的,这是我最后的背诵的东西,总结了往年题进行整理的,有需要的可以自取~▲两阶段提交协议是很常见的解决分布式事务的方式,可以保证分布式事务中,要么所有参与的进程都提交事务成功,要么都取消事务,这样做可以在分布式环境中保持ACID中A(原子性): 1.强调系统中所有的数据副本,在经过一段时间的同步后,最终能够达到一个一致的状态,并不需要试试保证系统数据的强一致性。
2025-01-18 10:57:12
782
原创 山东大学软件学院2024-2025人工智能导论期末复习简答题整理
给我的往年题整理引个流嘿嘿山东大学软件学院2024-2025人工智能导论期末回顾-优快云博客个人观点:这次考试给我的感觉是意料之外又是意料之中,怎么说呢,意料之中的是这次的题跟往年题不一样,因为我们上一级的期末考试题就跟前几年的非常不一样,所以其实还是有所准备的,但是又是意料之外的,因为他考的也太不一样了,考的非常细节,还是招架不太住哈哈哈以下是我自己整理的一些知识点,仅供参考~需要的可自取!链接:https://pan.baidu.com/s/1eUZ1vSuMEHdKDO4VsA7qzA?
2025-01-18 10:38:56
582
原创 山东大学软件学院2024-2025人工智能导论期末回顾
考试时间:2025/1/3考试范围:1-8章题型:名词解释、简答题、论述题个人观点:这次考试给我最大的感受有两个,一是考的很细节,二是更侧重于工作过程,这是我没有想到的,因为往年题更侧重于思想啥的,所以个人建议还是要仔细复习,最好不要囫囵吞枣,这几年的题太不固定了。
2025-01-18 10:37:29
132
原创 山东大学软件学院2024-2025linux复习笔记
对于linux的话,当时是突击来着,分数还可以,主要是记指令和shell语句啥的,多看看PPT还有老师最后发的复习PPT,就没有问题,以下是我自己总结的一些知识点,可能不全,仅供参考~..代表当前目录的子目录(如果你想跳转到和你同一级的目录下,那么就用../xxx,如果想跳转到你当前目录下的某个子目录,那么你就用./xxx)nit进程是内核启动后的第一个进程,他的pid为1,是所有进程的父进程,他永远不会被终止。程序是静态的,是保存在磁盘上的可执行代码和数据的集合;
2025-01-18 10:02:27
448
原创 山东大学软件学院2024-2025最优化回忆版
考试时间2024.12.12题型:判断题 10个,填空题5个,每一题里两个小空,剩下的是计算题。主要是考概念,考细节,比较意外的是今年考了一个时间复杂度的判断具体记不太清楚了,有好几道是课后题:1.2.3.(下面的第一道是原题,还有一道跟下面两个差不多,都是考查对偶规划和原始规划解之间的关系的)4.如果d1d2关于A共轭,d2d3关于A共轭,是否d1d3也关于A共轭5.6.大体意思是凸函数的定义域是否要求也是凸集。
2024-12-12 18:01:27
235
2024年山东大学软件学院操作系统复习笔记(个人向)
2024-07-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人