modelQA
建模Q&A
Q:系统支持哪些建模方式?
目前本系统支持以下下建模模型
- 三范式
- 雪花模型/星型模型
- 大宽表模型(不建议,问答效果非常死板且不方便一句话涉及多张事实表问答)
Q: 为什么要用三范式而不建议大宽表?
本系统进行建模的目的,是为了让系统真正“了解”业务。 如何让一个计算机系统了解人类的业务概念呢?总的来说,至少需要让系统知道散落在多张表里面的某一个东西,其实是一个概念。用AI的术语来说,是需要把同样的概念投射到同一个高维空间的向量中。主流AI通过训练来进行高维投影,而本系统通过实施人员的配置来实现高维投影。此做法的优劣不在本文档讨论范围之中。
我们以具体的例子来说明,假设有两张事件表,表A和表B,分别有个地理位置相关的字段,建模方式1的表结构如下:
建模方式1
事件A
| 日期 | 所属地区 | xx指标 |
|---|---|---|
| 2024-01-01 | 上海市 | 100 |
| 2024-01-01 | 北京市 | 100 |
事件B
| 日期 | 省 | xx指标 |
|---|---|---|
| 2024-01-01 | 上海 | 100 |
| 2024-01-01 | 北京 | 100 |
如果所属地区和省字段均为分类类型,则系统不认为两个上海是同一个概念。而会认为是两个同名但不同的概念。 正确的建模方式应该为:
地理位置实体
| id | 名称 |
|---|---|
| 001 | 上海市 |
| 002 | 北京市 |
事件A
| 日期 | 所属地区(实体类型) | xx指标 |
|---|---|---|
| 2024-01-01 | 001 | 100 |
| 2024-01-01 | 002 | 100 |
事件B
| 日期 | 省(实体类型) | xx指标 |
|---|---|---|
| 2024-01-01 | 001 | 100 |
| 2024-01-01 | 002 | 100 |
注:以上地理位置实体仅为说明问题,真实的地理位置远比此建模方式复杂。具体情况视频教程之地理位置部分。
Q: 事件中的分类一定要单独做一个实体表出来吗?我直接在事件表中用分类类型不行吗?
事件中的分类类型,有一个隐含的业务概念,即该分类的概念无法脱离于该事件而独立存在,属于必须依赖事件的存在而存在。需要按照实际情况选择使用分类还是实体。
Q: 实体和实体之间具有多对多的关系如何建模?
如果实体和实体之间具有多对多的关系,那么需要在事件表中同时记录该两个实体的数据。
Q: 建模的时候普通模式和专家模式什么区别?
普通模式比较直接明了,功能单一;专家模式代码类型的建模,需要有一定的基础,功能也更加丰富,能实现普通模式不具备的功能,如某个字段的正则匹配等,建模时通常需要两者结合使用