Javen Chen's Blog

Tech and Life~

心经 - 般若波罗蜜多心经

玄奘译本原文

观自在菩萨,行深般若波罗蜜多时,照见五蕴皆空,度一切苦厄。

舍利子,色不异空,空不异色;色即是空,空即是色。

受、想、行、识,亦复如是。

舍利子,是诸法空相,不生不灭,不垢不净,不增不减。

是故空中无色,无受、想、行、识;
无眼、耳、鼻、舌、身、意;
无色、声、香、味、触、法;
无眼界,乃至无意识界;
无无明,亦无无明尽;
乃至无老死,亦无老死尽。

无苦、集、灭、道,无智亦无得。

以无所得故,菩提萨埵,依般若波罗蜜多故,心无挂碍。

无挂碍故,无有恐怖,远离颠倒梦想,究竟涅槃。

三世诸佛,依般若波罗蜜多故,得阿耨多罗三藐三菩提。

故知般若波罗蜜多,是大神咒,是大明咒,是无上咒,是无等等咒,能除一切苦,真实不虚。

故说般若波罗蜜多咒,即说咒曰:“揭谛、揭谛,波罗揭谛,波罗僧揭谛,菩提萨婆诃。”

Read more »

数组 Array

分类 leetcode 提示
哈希表 1. 两数之和
双指针 15. 三数之和 先排序
16. 最接近的三数之和 先排序
18. 四数之和
27. 移除元素 类似partition的交换
26. 删除排序数组中的重复项 不用交换,直接将需要的拷贝
283. 移动零 类似partition的交换
搜索 74. 搜索二维矩阵 从右上角开始开始缩小领域
240. 搜索二维矩阵 II 从左下角开始缩小领域
动态规划 53. 最大子序和
152. 乘积最大子序列
其他 238. 除自身以外数组的乘积 乘积 = 当前数左边的乘积 * 当前数右边的乘积

字符串 String

常用操作:

  • ord(c):返回字符c对应的对于8位的ASCII数值。
  • chr(d):返回ASCII数值对应的字符。
Read more »

什么是metaclass?

metaclass一般翻译成“元类”,但也有人认为应该更关注元类“超越变形”的能力,应该翻译成超越类之类的。但是个人觉得“元类”比较顺口,其“本元”的含义也是实打实存在的,故本文用元类作为metaclass的中文翻译。

metaclass(元类)可以理解成是类的抽象、本元。类元编程即使用自定义metaclass获取极强灵活性的一种编程方式。

不过,在多处都有提到的需要注意的是:如果不是开发框架,不要使用元类,除非只是为了寻找乐趣:)

什么是本元?

Read more »

简介

threading是python是基于线程的并行模块,它基于更底层的_thread模块构建。

Thread

Thread类表示在单独的线程中运行的活动。常用的方式有两种:

  • 传入一个callable的对象给参数target
  • 写一个继承Thread的子类,重写run方法。
Read more »

动机

最近的一些基于python的框架型的工作,有很多涉及到动态用户代码加载的功能。因此,对python的导入(import)做一个梳理总结。

基础概念

  • 模块(module):一般是指python源代码文件,即.py文件。还有可能是:.pyo.pyc.pyd.so文件。
  • 包(package):包是含有module的文件夹,为了避免模块名冲突而引入的。当一个文件夹下有__init__.py时,代表这个文件夹是一个package。package也可以看做是特殊的module,它的替身就是对应的__init.py__文件。
  • 命名空间(namespace)
    • local namespace:每个函数function特有,用于保存函数的变量。可用内置函数locals()查看,该函数不可写。
    • enclosing function namespace:闭包命名空间:闭包函数 的名称空间(Python 3 引入)。
    • global namespace:每个模块module特有,用于保存模块的变量。可用内置函数globals()查看,该函数可写。
    • builtin namespace:内建命名空间:Python 解释器启动时自动载入__built__模块后所形成的名称空间;如 str/list/dict等内置对象的名称就出于这里。

相关的内置属性:

Read more »

简介

Setuptools是基于distutils增强的工具,旨在让用户更简单地构建(build)和分发(distribute)python的package。

主要功能:

  • 在构建的时候,自动使用EasyInstall tool来下载、安装、更新其他依赖。
  • 创建Python Eggs,一种可移动的分发格式。
  • 无需MANIFEST.in文件
Read more »

简介

ConvLab是微软和清华开源的一个多领域端到端对话系统平台。旨在为对话系统的研究人员提供一个可以快速启动的实验平台。为此该平台提供了两个标注好的数据集、一些算法的实现(包括pipeline和end2end)、相关的预训练模型和其他可复用的组件。另外,ConvLab也是DSTC8 track1的官方平台。

整体结构

image.png

Read more »

简介

Domain Adaptive Dialog Generation via Meta Learning, ACL2019, pdf, pytorch code

这篇论文将Meta Learning中的经典算法MAML融合进end2end(生成式)的对话系统。旨在利用Meta Learning学习出在领域(Domain)间快速适应的模型。使得在新的领域只有少量数据的情况下,也能获得不错的对话效果。

本文提到:Meta Learning在对话中,已有人将其利用到dst和dpl中,也有人将其应用到end2end的对话系统中,但适应的是用户的情绪。

模型结构

Read more »

简介

Sequicity: Simplifying Task-oriented Dialogue Systems with Single Sequence-to-Sequence Architectures, acl2018, pdf, pytorch code

本文是针对任务型对话提出的一种end2end的模型,名为Sequicity。该模型是一种seq2seq+Two Stage CopyNet的结构。

优点

  • 1.相对于pipeline的结构,复杂度低,参数少,训练时间短。
  • 2.针对oov的数据,还能保持不错的实体匹配率。
  • 3.可以同时完成task completion和response generation。
Read more »

资料

综述类

科普类

Read more »
0%