模型设计与仿真实验大纲

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

    1. 社区成立时间
  • 内部变量

    1. 智能体数量
    2. 智能体发帖概率
  • 外部变量

    1. EPI成员数量

2.3.2 用户行为的模拟

  1. 以平均数学期望概率模拟用户发帖概率
  2. 以统计概率和条件概率确定用户的评论、回复、点赞概率

2.3.3 程序的终止条件

  • 以统计概率连接节点并动态更改权重
  • 以某一节点的度或强度达到某一阈值为终止条件?
  • 以网络的稠密度达到某一阈值为终止条件?

2.3.4 系统的运行流程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import Agent
nodes = List(Agent())
edges
n
while n:
nodes.post()
nodes.browse()
nodes.comment()
nodes.recomment()
nodes.praise()
n--
if strength(one of nodes) >= s or len(edges) >= l:
return (nodes, edges)
return (nodes, edges)

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
作者
布衣
发布于
2021年8月16日
许可协议