模型设计与仿真实验大纲
1 模型的构建
1.1 获取样本数据
选取小木虫中一个(或多个?)板块的内容,通过网络爬虫获取样本数据。主要包括用户、帖子、评论与回复数据。
抓取数据的结构:
1.2 分析数据
1.2.1 微观数据
- 每个用户发帖数、评论数、回复数、点赞数
- 每个帖子的浏览数、评论数、回复数
- 每个评论的点赞数
- 其他?
1.2.2 宏观数据
- 总用户数
- 总帖子数
- 总浏览数
- 总评论数
- 总回复数
- 总点赞数
- 平均发帖数/用户
- 发帖数数学期望
- 平均浏览数/帖子
- 平均评论数/帖子
- 平均点赞数/评论
- 浏览、发帖、评论、回复、点赞数的统计概率
- 使用贝叶斯公式计算浏览后进行其他行为的条件概率
1.3 抽象主体模型和关系结构
Agent(用户)
属性:发帖数、评论数、回复数、点赞数
行为:发帖、评论、回复、点赞
主体关系
使用用户和主题帖之间的关系构建一个二分图、通过用户与主题帖之间的数量关系确定联系和联系强度,再将此二分图映射为一个仅包含智能主体的加权无向(有向?)图。
1.4 研究主体和关系结构
使用复杂网络理论对结构进行研究,主要包括:
1.4.1 Node(Agent)
- 节点的维度
- 节点的度
- 节点的强度
- 度和强度的分布
1.4.2 Edge(Relation)
- 路径
- 连通性
- 聚类系数
- 稀疏性与稠密度
通过以上的研究,结合典型的复杂网络模型,对小木虫社区知识交流样本数据网络进行定性(利用?)。
2 仿真系统的设计
2.1 主体类
classDiagram
class User
User : + Integer post
User : + List(tuple) comment
User : + List(tuple) recomment
User : + List(tuple) praise
User : + browse(implements interface Browse)
User : + comment(implements interface Comment)
User : + recomment(implements interface Comment)
User : + praise(impelments interface Praise)
2.2 行为接口
classDiagram
class Browse {
<<interface>>
return Boolean
input: List(posted users)
}
classDiagram
class Comment {
<<interface>>
return List
input: List(posts | !commented & browse())
}
classDiagram
class Praise {
<<interface>>
return List
input: List(comments | !praised)
}
2.3 运行与终止
2.3.1 变量假设
时间单元
将系统看作时间t的函数,将仿真实验时间总长设置为
T
,并将T平均划分为n
个时间片t
- 社区成立时间
内部变量
- 智能体数量
- 智能体发帖概率
外部变量
- EPI成员数量
2.3.2 用户行为的模拟
- 以平均数学期望概率模拟用户发帖概率
- 以统计概率和条件概率确定用户的评论、回复、点赞概率
2.3.3 程序的终止条件
- 以统计概率连接节点并动态更改权重
- 以某一节点的度或强度达到某一阈值为终止条件?
- 以网络的稠密度达到某一阈值为终止条件?
2.3.4 系统的运行流程
1 |
|
3 仿真系统的实现
此两个方案仅为预想,未进行可行性研究
3.1 基于Python的实现方式
- 使用
Python
编写主体类、接口和其他相关程序 - 使用
NetworkX
建立网络模型 - 使用
Postgres + Cayley
进行数据存储
3.2 基于NetLogo的实现方式
- 选用内置仿真模型
- 使用
Logo
语言自定义仿真模型
4 实验结果的分析
此部分内容尚未考虑完善
运用知识交流理论和效率测度指标对实验输出进行解释
是否考虑调整网络结构对比在相同规模和密度下,对评论、回复、点赞数量的影响
5 不足与改进
5.1.1 不足之处
- 未考虑网络演化过程中主体的增加
- 未考虑交流内容对持续交流的影响
5.1.2 改进思路
- 研究用户增长,在系统中动态添加节点
- 可考虑使用文本分析和强化学习融入情感色彩(正向和反向对于持续交流的影响)
模型设计与仿真实验大纲
https://jbiter.github.io/p/9e8a856a.html