关系模型

美团餐饮娱乐知识图谱——美团大脑揭秘

一笑奈何 提交于 2019-12-07 17:52:35
前言 “ I’m sorry. I can’t do that, Dave.” 这是经典科幻电影《2001: A Space Odyssey》里HAL 9000机器人说的一句话,浓缩了人类对终极人工智能的憧憬。让机器学会说这样简单一句话,需要机器具备情感认知、自我认识以及对世界的认识,来辅助机器处理接收到的各种信息,了解信息背后的意思,从而生成自己的决策。而这些认知模块的基础,都需要机器具备知识学习组织推理的能力,知识图谱就是为实现这些目标而生。 今年5月,美团NLP中心开始构建大规模的餐饮娱乐知识图谱——美团大脑,它将充分挖掘关联各个场景数据,用AI技术让机器“阅读”用户评论数据,理解用户在菜品、价格、服务、环境等方面的喜好,挖掘人、店、商品、标签之间的知识关联,从而构建出一个“知识大脑”。美团大脑已经在公司多个业务中初步落地,例如智能搜索推荐、智能金融、智能商户运营等。 此前,《 美团大脑:知识图谱的建模方法及其应用 》一文,介绍了知识图谱的分类及其具体应用,尤其是常识性知识图谱及百科全书式知识图谱分别是如何使用的。之后我们收到非常多的反馈,希望能进一步了解“美团大脑”的细节。为了让大家更系统地了解美团大脑,NLP中心会在接下来一段时间,陆续分享一系列技术文章,包括知识图谱相关的技术,美团大脑背后的算法能力,千亿级别图引擎建设以及不同应用场景的业务效果等等

第三章 工作中的架构师

故事扮演 提交于 2019-12-06 15:17:06
提供高效的帮助和引导。具体而言,架构师的工作内容主要包括: ♦冷静和系统地平衡功能与性能的要求,分析软件系统盾量的要求和其他系统特征。 #控制和处理有关系统粒度、范围、包含、连接和耦合的问題。 澄清接口策略,制定接口架构约束原則。 ^计划系统资源分配与调度原则。 •稳定业务关系模型(实体、关系、协同动作)。 制定系统身份识别、认证、命名、存取控制的策略。 规划系统静态特征和动态行为转化模型。 确立系统级的基础框架组成,穗定架构基线。 按照外界环境与内在制约因素选择相应的开发流程,规划开发环境、开发工具、测 试工具、版本控制工具等。 确定监控与报告流程,选择有效的汇总、统计、分析、报告工具。 为软件设计与开发制定架构约束及架构原则,并确保后续的开发遵守了这些原则。 软件系统许可证/软件key的规划及策略。 软件系统的部署、初始化、装栽顺序、卸栽顺序、运行监控等系统运行时的规划。 软件系统测试、交付的原则及计划。 按照外界环境与内在制约因素选择相应的开发技术。 规划软件系统哪些部分自主开发,哪些部分外包开发或外购产品。 从上述这些工作来看,有些是针对商业方面的问题,这些问题是核心问题,也是架构 师的目标。还有些问题是专门针对系统级别方面的,有些则是针对技术方面的问题。我们 可以把这些问题整合归类为如下一些方面,如图3-1所示。 ■ 3.1解决商业问题 我们先来看看如何解决商业方面的问题

Flask Web 开发学习稿(二)

孤街浪徒 提交于 2019-12-06 10:31:56
第四章 Web 表单 request.from 能获取 POST 请求中提交的表单数据 Flask-WTF 扩展可以把处理 Web 表单的过程变成一种愉悦的体验 4.1 跨站请求伪造保护 默认情况下,Flask-WTF 能保护所有表单免受跨站请求伪造的攻击,为了实现 CSRF 保护,Flask-WTF 需要程序设置一个密钥,会使用这个密钥生成加密令牌,再用令牌验证请求中表单数据的真伪 设置密钥的方法如示例所示 app = Flask(__name__) app.config[ 'SECRET_KEY '] = 'This is a secret key' app.config 字典可用来存储框架、扩展和程序本身的配置变量,这个对象还提供了一些方法可以从文件或环境中导入配置值。SECRTET_KEY 配置变量是通用密钥,可在 Flask 和多个第三方扩展中使用。 为了增强安全性,密钥不应该直接写入代码,而要保存在环境变量中 4.2 表单类 使用 Flask-WTF 时,每个 Web 表单都由一个继承自 Form 的类表示,这个类定义表单中的一组字段,每个字段都用对象表示,字段对象可附属一个或多个验证函数 from flask.ext.wtf import Form from wtforms import StringField, SubmitField from wtforms

Django模型层—ORM

和自甴很熟 提交于 2019-12-06 03:31:52
目录 一、模型层(models) 1-1. 常用的字段类型 1-2. 字段参数 1-3. 自定义char字段 1-4. 外键关系 二、Django中测试脚本的使用 三、单表操作 3-1. 添加记录 3-2. 删除记录 3-3. 修改记录 3-4. 单表查询-必知必会13条 3-5. orm注意事项 3-6. 单表查询-双下划线 四、多表操作 4-1. 一对多 4-2. 多对多 1.添加数据 add() 2.删除数据 remove() 3.清空数据 clear() 4.修改数据 set() 4-3. 基于对象的跨表查询 1.一对一 查询数据 2.一对多 3.多对多 4-4. 基于双下划线查询 1.一对一 2.一对多 3.多对多 4.联表操作 五、聚合查询 六、分组查询 七、F查询 八、Q查询 Q对象高级用法 九、ORM中的事务操作 9-1. 什么是事务 9-2. 事务的特性(ACID) 十, 数据库三大范式 数据库设计范式 理解三大范式 一、模型层(models) Django提供了一个orm(关系映射模型)系统,模型包含了一些字段信息以及查询方法 1-1. 常用的字段类型 AutoField 当model中如果没有自增列,则会自动创建一个列名为id的列,int 自增列,必须填入参数primary_key=True CharField 字符类型 , 必须提供max_length参数,

软件工程结课作业

六月ゝ 毕业季﹏ 提交于 2019-12-06 03:06:08
软件工程的目标是:在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、 可移植性 、可追踪性、可 互操作性 和满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。 (1)适用性:软件在不同的系统约束条件下,使用户需求得到满足的难易程度。 (2)有效性:软件系统能最有效的利用计算机的时间和空间资源。各种软件无不把系统的时/空开销作为衡量软件质量的一项重要技术指标。很多场合,在追求时间有效性和空间有效性时会发生矛盾,这时不得不牺牲时间有效性换取空间有效性或牺牲空间有效性换取时间有效性。时/空折衷是经常采用的技巧。 软件的概念: 软件是计算机系统中与硬件相互依存的另一部份,是程序、数据、以及相关文件的完整集合。程序是事先设计的功能要求执行的序列。数据是使得程序能征程操作信息的数据结构。文档是程序开发,维护和利用的有关图文和材料。软件的表现形式分为有形和无形,软件的有形表现在软件的的文档、程序、代码、用户界面、输出表报、等。软件的无形部分表现在:软件的内部逻辑,是软件自身的设计思想。 软件危机:软甲危机是软甲开发和软件维护。具体产生的原因有对软件的成本和进度的估计不是准确,项目管理经验缺乏。用户对已完成的软件系统不是很满意,模糊的设计需求、闭门造车、盲与编程、交付日期没有保证。软件的产品质量靠不住

django 模型层(orm)05

左心房为你撑大大i 提交于 2019-12-06 01:16:35
目录 配置测试脚本 django ORM基本操作 增删改查 Django 终端打印SQL语句 13条基本查询操作 双下滑线查询 表查询 建表 一对多字段数据的增删改查 多对多字段数据的增删改查 跨表查询 基于双下滑线的跨表查询 聚合函数 分组查询 F 查询与Q查询 orm字段及参数 自定义char字段 配置测试脚本 方式1: # 如果想单独测试django中的某个文件,需要手动配置测试脚本(在你应用下的tests.py文件中) import os if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "day55.settings") import django django.setup() # 在测试脚本搭建完毕之后,才能导入django文件进行测试 from app01 import models 方式2: 直接新建一个任意名称的.py文件,将方式1中的配置拿过来就行了。 django ORM基本操作 增删改查 首先创建模型表: from django.db import models # Create your models here. class Books(models.Model): title = models.CharField(max_length=32) price

Django模型层-ORM

不羁的心 提交于 2019-12-06 00:21:27
目录 一、模型层(models) 1-1. 常用的字段类型 1-2. 字段参数 1-3. 自定义char字段 1-4. 外键关系 二、Django中测试脚本的使用 三、单表操作 3-1. 添加记录 3-2. 删除记录 3-3. 修改记录 3-4. 单表查询-必知必会13条 3-5. orm注意事项 3-6. 单表查询-双下划线 四、多表操作 4-1. 一对多 4-2. 多对多 1.添加数据 add() 2.删除数据 remove() 3.清空数据 clear() 4.修改数据 set() 4-3. 基于对象的跨表查询 1.一对一 查询数据 2.一对多 3.多对多 4-4. 基于双下划线查询 1.一对一 2.一对多 3.多对多 4.联表操作 五、聚合查询 六、分组查询 七、F查询 八、Q查询 Q对象高级用法 九、ORM中的事务操作 9-1. 什么是事务 9-2. 事务的特性(ACID) 9-3. 数据库的三大范式 第一范式(1NF):列不可再分 第二范式(2NF):属性完全依赖主键 第三范式(3NF):属性不依赖于其它非主属性 属性直接依赖于主键 9-4. Django中如何开启事务 一、模型层(models) Django提供了一个orm(关系映射模型)系统,模型包含了一些字段信息以及查询方法 1-1. 常用的字段类型 AutoField 当model中如果没有自增列

第一节:django环境 模型 视图 后台

梦想的初衷 提交于 2019-12-05 22:16:02
------------恢复内容开始------------ 1.django环境 模型 视图 后台 1.虚拟环境搭建 1.1 安装pip与换源 1.1.1 安装pip curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python3 get-pip.py # 针对python3 # 如果使用python2 python get-pip.py 1.1.2 pip换源 临时换源 pip install <package> -i http://<mirror>/simple pip install packagename -i http://pypi.douban.com/simple --trusted-host pypi.douban.com 永久换源 永久性设置,是在用户根目录(~,而非系统根目录 / )下添加配置~/.pip/pip.conf目录添加可信源,如果目录文件不存在,可直接创建。 [root@localhost ~]# cd [root@localhost ~]# mkdir .pip [root@localhost ~]# cd .pip [root@localhost .pip]# vim pip.conf # 写入如下内容 [global] index-url=http://pypi.douban

Block as a Value for SQL over NoSQL

笑着哭i 提交于 2019-12-05 13:33:19
作者 Yang Cao,Wenfei Fan,Tengfei Yuan University of Edinburgh,Beihang University SICS, Shenzhen University {yang.cao@, wenfei@inf., tengfei.yuan@}ed.ac.uk 翻译:陈祥春 摘要 本文介绍了Zidian,它是键值(K,V)的中间件存储以通过NoSQL加速SQL查询评估。如反对采用元组id或primary的常规做法,Zidian提出以键为键,整个元组为值值即块模型BaaV。BaaV表示一个关系为键控块(k,B),其中k是B的块(集合)B的键部分元组。我们将关系代数扩展到BaaV。我们发现,BAAV下,Zidian大大降低数据访问和通讯成本。我们提供特征(充分和必要的条件)以(a)保持结果查询,即可用的BaaV商店覆盖的查询,(b)免扫描查询,即无需评估即可查询的查询扫描任何表,以及(c)有界查询,即查询可以通过访问有限数量的数据来回答。 我们证明,在并行处理中,Zidian保证(a)不扫描无扫描查询,(b)通讯受限有限查询的费用;(c)并行可伸缩性,即添加处理器时加快速度。而且,Zidian可以插入现有的SQL-No-SQL系统并保留水平可伸缩性。使用基准数据和真实数据,我们凭经验验证Zidian改进了现有的SQL-over

业务领域建模Domain Modeling

纵饮孤独 提交于 2019-12-05 12:11:32
每个业务都有一个对应的业务模型,这个业务模型设计的时候,完全不需要考虑任何软件设计的思想,比如对象的抽象、继承、存储、性能,等。我们是从业务本身出发,分析业务边界范围内的各种业务概念,以及业务概念之间的关系,通常我们可以使用一个业务模型的图来表达这些业务概念以及业务概念之间的关系。那么如何得到一个业务模型呢?最常见的有名词动词形容词分析法,还有比如四色原型分析法,都可以。找一个适合自己的就行;业务模型本身非常有价值,它提炼了领域内业务的核心概念及其关系,可以帮助我们更好的理解业务本身。 我的工程实践选题是《基于深度强化学习的智能控制系统设计》, (1) Collect application domain information 该项目的应用场景为:能够让Agent能够不断学习,从周围环境获取信息并能够选择最佳的action来一步步的完成Agent的最终目标,例如让一个机器人或者一个小车能够不碰撞地到达目的地,并且能够自动避障。用户直接用这个训练好的能够规划路径的Agent来实现自己的需求,例如扫地机器人,甚至用在自动驾驶领域。 (2) Brainstorming User Story去找出领域对象: 用户 :提出要求,指定机器人的工作; 开发人员训练Agent: 确定性模型可以用蒙特卡洛或者时间差分算法来不断的让Agent去根据当前状态选取action