架构

架构

要求 #

"我这辈子收到的最好的职业建议是在日本实习时, 一位长者跟我说的:年轻人最重要的是建立好的自己名声。这里的名声不是指沽名钓誉。而是每一篇论文,每一次演讲,每份交接给同事的工作,凡是给别人看的东西,都要在能力范围内做到至善至美。慢慢养成习惯,就会越做越好。凡事糊弄人的人,是走不远的。"

要求归纳 #

个人
    责任心,抗压力
技术与产品
    专业知识,设计指导关键模块
    项目规划,架构前瞻性,风险管理,文档
人员管理
    部门结构,人员职责
    培养与考核
内部工具
    开发运维
    测试
销售目标
    营销团队组建及管理
    销售方案,品牌方案
    市场调研
    目标,考核,监督

招聘人员要求 #

不是我负责的,态度也要积极
项目经历是否有帮助
人员稳定性
代码不挖坑
沟通总结能力(micheal)
工时制度管理

代码

人类认知原理 #

原理
    模拟执行
负担
    概念量
        封装粒度大
        多态、运行时多态、静态多态
        临时状态
        用工作流, 而非队列
        日志(event)搜索/集中/回放
        抽出权限层
        非轻量级
            胶水层厚
            无稳定方案, 复用困难
    流程长度
最好
    单线程                  # 不插入行为
    上下文集中
        this.scene.commit()集中状态转移时间线
    单一方式

软件设计原则 #

统一原则 #

观念
    KISS(keep it simple stupid)
    YAGNI(You Ain’t Gonna Need It)
    取好名字占设计一半
    约定大于配置
    并发的世界,并发的软件
        分布式的世界,分布式的软件
        不可预测的世界,容错性强的软件
        复杂的世界,简单的软件
    代码即数据
        物体上绑定行为数据
        传递代码数据(函数一等公民)
    防御性编程
        接口前validator
        启动时自检断言
        异常处理
        不可过度
设计
    solid原则
        单一职则(single responsibility)
            一个类负责一个功能
        开闭(open/closed)
            对扩展开放,对修改关闭,如接口, 如数组扩展结构体状态
        里氏替换原则(liskov substitution)
            子类继承超类的所有
        接口分离(interface segregation)
            最小功能隔离
        依赖反转(dependency inversion)
            低层依赖高层, 具体依赖抽象
    非侵入     # non-intrusion
        将功能推入代码,而非代码拿到功能
        代码实现接口,而非继承类
    拆分
        边界
        正交
    unix rules
        模块化(modularity)          # 模块由精心设计的接口连接
        清晰化(clarity)             # 可读性、可维护性
        组合(composition)
        分离(separation)
        简单(simplicity)
        节俭(parsimony)             # 越小越好
        透明(transparency)          # log, tracing
        鲁棒(robustness)
        可展示(representation)      # 逻辑简单,数据复杂
        最小惊吓(least surprise)     # 少打破用户预期
        安静(silence)
        修复(repair)                # 产生足够报错
        经济(economy)               # 减少开发时间
        生成(generation)            # 避免手写, 用高阶抽象生成代码
        优化(optimization)            # 优化和收益平衡
        分化(diversity)             # 一开始设计不限制、优雅开放灵活
        扩展(extensibility)         # 协议可扩展
优化
    需要时再优化,设计时考虑扩展性
    dry(don't repeat yourself), 不可过度
    找瓶颈
产出
    设计清晰
    选型简单
    代码精炼
    抽象优雅

代码风格 #

命名
    包名类名为名词, 方法名为动词
    参数、方法名称在上下文语义中合理 , 像写文章一样
    横向代码单屏内分行
性能
    避免嵌套循环,特别是数据库操作
结构
    # 高内聚,低耦合
    抽取方法
    业务逻辑分层
    框架无侵入性
技巧
    注释驱动写复杂业务
    自解释代码
安全
    密码二次验证
    离机锁屏
    用户名、密码、ip、端口不提交
    代码安全, 如sql注入, XSS

代码质量 #

代码
    功能、结构、资源
非遗留代码
    写了测试
改代码
    bug
    重构
        # 只改结构
    确定修改点
        找出测试点
        解依赖
            伪/仿对象
            接缝
                全局函数
                    提取重写方法
                宏预处理
                替换连接的代码
                对象
                    # 耦合对象不好初始化
                    子类化重写方法
                    接口提取
                    创建简化接口
                    创建简化类与对象,引用原对象
                    暴露静态方法
                    对象提取公共方法,只测公共方法
                传方法参数
        写测试
    优化
        # 只改资源

具体实现原则 #

数据结构 #

状态机解决流程问题
AST解决主义问题

面向对象(Object Oriented) #

特性
ooad
    # Object Oriented Analysis and Design
    ooa     # analysis
        建立针对业务问题域的清晰视图
        列出核心任务
        针对问题域建立公共词汇表
        列出针对问题域的最佳解决方案
    ood     # design
        细化类关系,明确可见性
        增加属性
        分配职责(方法)
        消息驱动系统中消息传递方式
        局部应用设计模式
        类图时序图
    oop     # program
        抽象: abstract
            接口
                无实现
                可多重继承
            抽象类
                可以有私有方法变量
                实现部分方法
        封装: encapsulation
            # 数据和方法绑定
        继承: inheritance
        多态: polymorphism
            overload为编译时
            override为运行时
        关联: association
            # has a
            双向关联
                两个类互相知道对方公共属性和操作
            单向关联(大多数)
                一个类知道另一个类的公共属性和操作
            聚合: aggregation
                a包含b, b可以不在a创建时创建
            组合: composition
                比聚合强,a包含b, b在a创建时创建
        内聚与耦合: cohesion & coupling
            # 高内聚低耦合
        依赖: dependency
            # use a
        泛化: generalization
            # is a
            泛型

函数式 #

数组
    [1, 1, 3, 5, 5].reduce(function(x, y){ return x + y;})
    [1, 4, 9].map(function(num){return num * 2;})
高阶函数(higher-order function)
    操作函数的函数, 接收函数作为参数, 返回函数
不完全函数(partial function)
    一次调用拆成多次调用,每次调用返回一个函数,如f(1,2)(3,4)(5,6)
        # 每次调用叫做不完全调用(partial application)
不变式
    循环不变式
        用于形式化证明正确性
        描述
            有循环变量
            算法初始、保持、终止时, 某特性不变, 如选择排序中, arr[0,...,j-1]一直有序
    类(或数据类型)不变式
        并发时, 不变的成员关系
            如, 并发临界区(同时只能一个线程占用)
cps(continuation passing style)
    传入处理函数, 处理函数中传处理函数
curry
    f(1,2,3)改写成f(1).f(2).f(3)
thunk
    触发函数, 如 f(){_f(1)}

工程设计

产品 #

愿景
    定义产品的目的和原因,将到达的地点
ux
    微交互                  # 细节决定成败

RoadMap #

介绍
    到达愿景的策略路径,提供一系列与产品战略相一致的战术步骤
为什么
    简单、清晰的通讯文档
        少的多的会议
        健康的团队辩论:交付成果与目标联系起来
        做出每个人都理解的产品决定,不再打击创意
    高维度的概述
    动态演变
要素
    时间周期
        时间区间,只定时间范围
            big-view(product)
                全局理解产品的未来,  交付顺序
                统一视野(vision), 范围(scope),时间期限(time line)
            pre-view(release)
                release中的产品功能, 和前几个迭代从backlog中要交付的工作项(item)
            now-view(iteration)
                团队在一次迭代中要交付的需求(requirements)
        优先级,留空间适应变化
    项目事件
        完成产品总体计划必要的工作项, 详尽且切合目的
        分解目的,制定步骤
    路标
        关键工作项完成的时间节点(里程碑)
        结果反馈:审视是否偏离,试验中改进
        确定在每个时间范围内实现可衡量的结果。定义为目标关键结果(OKR)、关键性能指标(KPI)
种类
    基于目标
        current
        near term
        future
    基于功能
        5000新用户
步骤
    确定目标
    分解目标,穷尽事项,组织,优先级排序
    使用优化框架
        effort / impact
        impact / goal
        卡洛斯模型?
注意
    定义战略主题(名词),抓住核心用户行为的本质、产品能力、竞争优势、技术改进
    保持路线图战略,避免战术
    每个计划阶段都考虑优先级, 每个目标、动作、发布、特性的价值可见性
    始终在试验(ABE), 为了正确定义目标和后续特征
        先做出有根据的猜测
        测试
        基于反馈迭代

业务 #

目标
    降低人才素质需求
    减少开发时间
分类
    创造虚拟空间
    自动化
    辅助决策
思路
    逻辑: 因果(演绎), 时间, 空间, 优先
    方法: 5w2h(who, when, where, why, what, how, how much)
    建模:
        中心                                # 调整抽象领域和层次(视问题决定)
            自上而下                        # 问题明确,展开
            自下而上                        # 内容分类、剪枝、归纳
        分解
            MECE(mutually exclusive collectively exhaustive)
                正交
                穷尽
    经验
        优秀的产品都有全局把控感(confluence, jira)
        设计思想多源自: 操作系统、编译器、函数式
        深入一线(面对客户)
        思考全面, 全局
        考虑需求本质,考虑上下游全局
        想清楚再行动
过程
    发掘(discovery)
        价值定位(价值驱动)
        客户体验梳理和设计
        愿景
        干系人
        电梯演讲收敛
    定义(define)
        用户旅程,业务流程
        事件风暴 -> 映射技术 -> 架构
    设计(design)
        总体
            识别问题域, 归纳服务, 上下游关系
            架构图, api, 技术栈
            提升方向, 改进
        迭代
            价值/成本分布图
            milestone演进
            业务技术/需求拆解全景图(白板贴标)
            mvp(minimum viable product最小可行计划)迭代计划
    开发(develop)
        度量, 质量指标
        工具选择, 规范
        架构守护,治理
    实施策略
    交付
    产品生命周期管理
        目标, 资本
        机会点->需求
角度决定设计
    找到不动点
    如对cache的设计
        业务角度
            选择简单易用的缓存框架
            有人会用,学习成本别太高
            关注数据模型结构设计
            缓存更新真麻烦
        paas角度
            声明式使用,配置文件设置
            缓存对比,选择强大且稳定的
            存取接口设计,方便易用
            数据变动监听,自动刷新缓存
        平台角度
            缓存服务器集群方式
            存储空间监控
            命中率监控
            避免缓存集中失效引起雪崩
不过度设计      # 不超出需求,不用复杂方式实现
                # 少就是多,应一减再减。简单才能强大,也会提高性能和扩展性
    范围减少    # 28原则,最小可行产品
    设计减少    # 易理解,低成本,可扩展
    实施减少    # 找开源->找内部已实现->找方案描述->自己解决
    二八定律
墨菲定律
    事情不是表面看起来那么简单
    事情都会比预计时间长
    可能出错总会出错
    如果你担心发生,它更可能发生
维护
    设计时考虑扩展性
        DID(design, implement, deploy)(设计20倍, 实现3-20倍, 部署1.5-3倍)
    设计能够监控的应用
    版本升降      # 代码仓库
业务
    防重          # 重复提交,重复扣减,重复支付(异构系统无法防重,用退款处理)
        防重key, 防重表
    幂等          # 消息处理,第三方支付回调
    流程要抽象     # 如工作流
    状态与状态机
        订单系统
            # 状态多时用状态机驱动
            正向状态(待付款、待发货、已发货、完成)
            逆向状态(取消、退款)
            状态轨迹    # 跟踪和记日志,可回溯
            并发修改,状态变更有序,状态变更消息有序
前端
    减少dns查找     # dns可能查多个域
    减少对象        # 页面布局少,图片合并。对象不要过大,减少到浏览器并发连接数
    后台系统操作可反馈   # 便于确认效果
文档和注释
    设计架构
    设计思想
    数据字典/业务流程
    现有问题

设计 #

分层做维度扩展

DDD #

DODAF2.0 #

介绍
    美国国防部(DOD)
    项目立项和顶层架构间,建立跟踪机制
八种视图
    全视图
    数据与信息视图
    标准视图
    能力视图
    作战视图
    服务视图
    系统视图
    项目视图
业务组件化
    基本的、唯一的、不重复的,可单独运行

项目 #

分层 #

mv*
    mvc
        # view controller model, 单向循环
    mvp
        # view presenter model, presenter双向交互
    mvvm
        # view view-model model, view-model双向绑定

验证
异常层
    # 封装每层异常为不同异常类
过滤层
监听器
日志
测试

AI

基础 #

模型的作用
    调模型参数自动做特征工程 
交互
    用户数据 -> 向量化 -> 向量 -> 模型 -> 输出
算法分类
    离线: 复杂模型
    在线: 时间短

框架 #

tensorflow
    # 神经网络计算
convnet.js
    # js深度学习
scikit-learn
    # python机器学习

特征工程 #

向量化, 量化才能优化, bitmap存储(位数即维数)
one-hot: 太长,无序,歧义
业务导向存储
    分段标识,如年龄区间[0,1,0,0]
    需要经验及产品设计

模型 #

分类
    传统模型
        速度快
    深度模型
        业务复杂, 数据量大时用
模型
    线性回归
    逻辑回归
    朴素贝叶斯
    支撑向量机

用户画像 #

在Hive中存

场景 #

聊天机器人
    类型
        QA机器人
        闲聊机器人
        任务机器人: AIOps
        场景机器人
    实现类型
        基于检索
        基于生成模型
语音识别
知识图谱
生物特征识别
AIoT
AITest
视频行为分析

IoT

场景 #

展示 #

dashboard
    在线设备
    消息量
    规则引擎消息流转次数
运维大盘
    产品品类
    地区排名
    指标趋势
    设备在线率
    设备排行
        事件数
        事件类型
        停用时长
        延迟

设备管理 #

接入
    多协议: MQTT、CoAP、HTTP
    多平台(设备端代码): c、node.js、java
    多网络: 2/3/4G、NB-IoT、LoRa
    多地域
通信
    双向通信
        稳定
        安全
    影子缓存                            # 设备与应用解耦, 网络不稳定时增加可靠性
安全
    认证(一机一密)
    传输: TLS
    权限: 设备权限
规则引擎
    数据流转
        M2M(machine to machine)            # 设备间通信
        数据结构化存储
        数据计算: 函数计算、流式计算、大规模计算
        数据mq转发
    联动触发
管理
    生命周期: 注册、分组、拓扑、标签、状态、数据采集、禁用删除
    模型
        数据标准化: 属性、事件、服务
        存储结构化
    远程
        设备调试
            实物
            模拟
        维护
            指令
            固件升级
            下发配置
        监控
            日志
            实时数据
        通知

数据分析 #

流计算实时分析
可视化
    三维设备关联
    二维(地图)分布, 实况, 搜索
数据源适配

产业 #

车联网、智能家居、穿戴、媒体内容分发、环境监测、智慧农业

开发服务 #

Studio
    开发
        web
        移动
        自动化服务
    设备
        产品                        # 软硬分离的桥梁
            设备开发 -> 设备模拟(在线写c, js) -> 软件开发
    配置(使用移动端)
    运营运维
        后台
        监控
    插件开发
    服务编排
Studio OS
    # 高性能、极简开发、云端一体、丰富组件、安全防护
    项目生成
        领域模板
        插件选择

技术 #

AIoT

边缘计算 #

优势
    就近计算
    实时
    离线运行
    快速编程
    降低成本
功能
    视频设备sdk
        边缘算法容器(接入方案)
    视频智能
        视频算法容器
驱动
    websocket、modbus、lightSensor、light、opcua

网络 #

协议
    NB-IoT
        Narrow Band Internet of Things
        物理层/数据链路层, 蜂窝网络上,消耗和带宽低
        场景
            Standalone
            Guard-band
            In-band
    LoRa
        Long Range
    LoRaWAN
        物理层/数据链路层
    CoAP
        Constrained Application Protocol
        资源紧张的设备
    MQTT
        Message Queue Telemetry Transport
        低电量低带宽, 提供数据传输QoS, 可传任意类型数据, 有Session
    MQTT-SN
        MQTT for Sensor Network
        MQTT协议的传感器版本
    LwM2M
        Lightweight Machine-To-Machine
        轻量级RESTful
    ZigBee
    SigFox
    eMTC
        被NT-IoT取代
    DDS
    AMQP
    XMPP
    JMS
网关
凭证
无线

设备 #

统一网关

框架 #

# Internet of Things
Kaa
SiteWhere
    # tomcat, mongodb, hbase, influxdb, grafana
ThingSpeak
    # matlab可视化
DeviceHive
    # 开源, docker, k8s, es, spark, cassandra, kafka
Zetta
Thinger.io
wso2

IoT

转变 #

网页向虚拟世界转变
开发者创建向用户创建转变
    游戏即服务到游戏即平台

特点 #

是一个框架,代表多技术发展结合点
    实时流媒体,VR/AR
    UGC
    多人社交游戏,跨平台交互
    游戏作为社交媒体的趋势
    硬件、网络基础设施、可视化、空间计算、人工智能
    加密货币
各游戏的数字化打通, 跨平台无边界
内容变现
    UGC增长
    NFT数字所有权
人与人、人与社会的关系重构
不同世界IP融合
数字人自定义身份
数字世界和现实世界的融合
虚实结合
一体世界

技术 #

扩展现实
数字孪生
区块链
物联网
VR/AR/MR/XR
云可扩展性
人工智能生成内容
脑机接口
边缘计算

机构 #

《元宇宙生态系统信息图》
入口类
    Roblox
    The Sandbox
    Decentraland
    Hadean
    世纪华通(打造平台): LiveTopia、强化训练号
    中手游(打造IP): 仙剑无宇宙
    元境(云游戏)
技术类
    Nvdia: Omniverse数字工厂
    Unity: 元宇宙工厂
钱包
    Metamask
    Coinbase Wallet
    Bitski
    WalletConnect
    Venly
    Fortmatic
引擎
    Unity
互联网
    Meta
    微软: IVAS

应用领域 #

游戏
    我的世界
    GTA5
    动物森友会
    第二人生
    Roblox
    VRChat

商业模式 #

虚拟活动:虚拟音乐会、讲座
NFT: 非同质化代币、持久性数字物品
Play-to-Earn
Play-to-Collect
Pay-to-Socialize

市场营销 #

原生植入广告

中台

业务中台 #

权限 #

类型
    ACL(access control list)                        # 访问权限列表
    RBAC(role base access control)                  # 基于角色的访问控制
    ABAC(attribute base access control)             # 基于属性(计算属性)的访问控制
    DAC(discretionary access control)               # 自主访问控制
        主体对所属对象有全部控制权
        主体执行的程序权限相同
        主体权限可分配给其它用户
    MAC(mandatory access control)                   # 强制访问控制
        管理分配权限,主体不能改变
        主体只能访问他的对象,也不能写低级别对象
成员
    user
    role
    group
访问权限
    权限1: 游客,用户,rememberMe
    权限2: uri前缀(功能模块)
    权限3: uri后缀(静态资源过滤)
    判断位置: 过滤器中
资源权限
    权限: kind:part1:part2...
    判断位置: 渲染数据前
数据权限
    资源层级
        权限: 2
        判断位置: 进方法前
    单表
        权限: 表名:列名:值
        判断位置: 写sql前
方法权限
    权限: 方法域:方法名
    判断位置: 进方法前
性能
    grantTable缓存u_id, res_id关系

审批 #

模板
    准入规则
    起始、终止节点
    节点, 节点成员, 替换成员, 节点事件(脚本), 跳转公式
审批流程
    创建, 状态查询
    审批

#

type                    # 记录类型
    property            # 类型动作, 关联到节点, 记录进出节点的动作。如对成员可读、可写, 记录负责人,对记录执行脚本, 记录回收计划
model                   # 模式
    节点树、一个激活
节点
    节点组
    两节点方向
成员
    节点成员1对多
    成员分组(group, role)也是成员
记录
    节点记录1对1
流转                     # 记录按规则在节点流转, 指定某些节点, 或某些记录。动作流程短路
    motion               # 一次动作,如新建,移动,删除。
    规则                 # 该次动作对记录的验证
    fomula               # 计算motion次序
    历史                  # 动作历史
权限
    kind                 # pass或 type、model、property、节点、节点from, 节点to 的任意组合
    access              # 分不同kind划分具体权限, 如(节点from, 节点to)kind的转移权限
    pass权限             # 如创建type, 创建model, 某节点所有权限等
计划                     # 定时或周期的流转

适配器boss #

action                  # 存http地址,参数名,验证器
    code                # 业务,如用户套餐
    mode: get/post/put/delete               # 如获得套餐,添加套餐,修改套餐,删除套餐
    ctx                 # 参数map, action调用前后修改
    next                # 下个触发action
history_action          # action调用历史
suite                   # 带参action, thunk待触发
    price               # 标价
    tag                 # 用作商品分类
order                   # 用户关联到suite, 计费
category                # 生成action模板
    apps/plugins        # 由category生成, 多个带形参(如app_id)action, 封装成的模板。添加实例填入实参
role
permission              # action code
    type                # action, suite等
    access              # crud和其它自定义权限

工作流 #

本质
    状态管理
    工作流重流程轻数据,业务重数据轻流程。工作流修改数据,数据触发工作流
标准
    BPMN                            # omg制定
    workflow
    XPDL                            # WfMC制定, xml, 复杂
思路
    # 模型驱动架构(MDA)
    petri nets
    有限状态机(FSM)                  # 并行(流水线)状态机
    活动图                          # JBoss使用
    事件过程驱动链(EPC)
    微内核                          # 安全性高, 降耦合
已有实现
    开源
        yawl, jbpm, activiti, osworkflow, jboss, shark, obe
    商业
        aws, salesforce, sap等
分层
    外设层                          # 交互协议
    网关(WAPI)
    交互代理                         # 网关与内核通信形式
    引擎                            # engine
        specification, case
        net
            netRunner
                continueIfPossible  # 遍历task, fire task,
        condition
        task
            join, split             # and所有, xor只一个, or规则
            workitem
        flow
        persisting
        gateway
    引擎运行服务                      # 为引擎提供服务, 如解析流程定义、流程实例存储、参与者(workItem)解析、脚本计算、事件监听等
    扩展实现
        支撑
            组织模型适配
                人工task实现人工接口
            流程实例存储
                执行器中嵌入
            其它应用适配              # 如邮件
                内核获取环境资源
                执行器定义扩展
                应用适配扩展接口
            操作流程定义
            任务分配
        辅助
            条件验证                 # 可以有外部验证器
                分支时判断
            事件处理/function处理
            抽象的客户操作            # 如退回、跳转等
        增强
            自定义策略(workItem), 如代理人处理、工作日历(任务期限)
                工作项分配、执行、提交
            事件监听
            超时处理
                订阅应用事件, 应用时间触发器
    基础组件

数据中台 #

知识图谱

与深度学习区别 #

深度学习是显性模型,知识图谱是隐性模型
场景:人脸识别;语音助手
目前进展: 在一些任务上已超过人类;知识量超过人类,推理不如人类
任务范围:面向具体任务,难以迁移;广泛适用于不同任务
可解释性:较难解释;可解释性强
数据量:海量训练数据;海量知识数据
未来趋势:深度融合

历史 #

2010年: 微软构建Satori、Probase
2012年: 谷歌X实验室识别"猫", 发布Google Knowledge Graph
2013年:百度布局
2015年:阿里布局
2016年:亚马逊布局

特点 #

视觉思维
关联
推理
结构识别
降维
概念图
网络模型
潜在领域寻迹

领域 #

宇宙图谱
    绘图学
    陆地地图
    天体图
    生物图谱
轨迹
    旅行商
    虚拟世界搜索
    信息觅食,过程建模

应用 #

内容理解
    篇章理解
    推荐场景
        路径推荐
        知识融入推荐
        广告
    召回排序
    智能营销
        画像
            用户画像
            产品画像
            场景画像
        库
            概念库
            语义本体库
            规则库
        建模分析
            分词、词性标注、命名实体识别
            句法分析、语义表示、概念发现
            用户打标、场景打标、产品打标
            语义匹配、指代消解、主题模型
搜索理解
    语义搜索
    演化分析
    场景化搜索
    路径召回
    对话理解
商家
    智能化商家运营
    商业大脑
        商业分析
可解释性
    图谱路径推荐理由
    知识融入生成推荐理由
实体卡片
    资源聚合
    内容分发
    产业链图谱
    用户画像
    高管画像
    价格图谱
    债券风险预警
    中小企业风控图谱
    营销获客图谱
    产品与工艺创新研发
    安全质量
    供应链
    社会关系图谱
    交易关系图谱
    网络图谱
    时空关系图谱
任务自动化
    维度:可发现、可移接、可推理
    自动化:自动数据结构化、流程自动化、业务服务化、服务开放化
推理
    本体推理
        概念补全
        商品品类上下位发现
        同质类目/属性项/属性值识别,新类目发现
        实体识别与分类
    关系抽取
        实体对齐
        实体链接
        商品分类、增量商品分类、商品标题
    常识推理
        关系推理与链接预测
        规则学习
        百科知识发现
        商品对齐
        可比价同款规则挖掘
    知识问答
        知识增强学习
        知识融入语言预训练
        人货匹配
网络安全
    专家系统->感知智能->认识智能->决策智能

流程 #

数据爬取
    数据爬取平台
    知识获取
        实体识别
        概念、关系、属性抽取
        标签挖掘
        情感分析
        知识融合:概念层融合,数据层融合
        知识建模: 概念上下位关系生成、概念属性识别、规则建模、事件建模、时空建模
    多元异构数据
        非结构化文档
        半结构化数据
        结构化知识
    抽取模块
        基于规则
        基于模板   
        基于模型
            经典模型: PCNN、BiLSTM
            预训练模型: BERT、摩天
    预/后处理
        先验知识库: 规则库、领域词表、模板库、黑白名单
        数据集构建:人工标注、远程标注、数据集管理
知识融合
    Schema对齐(异构转同构)
    数据清洗
    实体对齐(去重,消岐)
    属性择优
知识关联
    规则推理
    建边模型
存储检索
    图引擎
        图存储引擎
        图学习引擎
        图查询引擎
    优化
        KV库
        索引库
        控制和数据分离
        Schema压缩
知识计算
    知识补全
    知识推理
    知识统计与图挖掘
知识图谱金字塔
    文本(text)->标签(label、tag)->表格(table)->图(graph)->模式(schema)->本体(ontology)->规则(rule)
技术
    计算:Spark
    中间存储:HIVE
    检索:ES
监控体系
    知识管理系统

框架 #

Spark
HIVE
ES

工具 #

CiteSpace
Jigsaw
Carrot
iOpener

前端

组件化Layout #

layout service
	# 缓存layout到redis
	crud layout功能
layout对象
	index
		# 缩略信息
	plugins
		components
			table
		layout
			# 组合方式
			水平,垂直,tab