- 博客(51)
- 资源 (54)
- 收藏
- 关注
转载 聊天机器人之 BERT4Rec, 使用Bert进行序列推荐
目录0. 本文概览1. BERT4Rec简介2. 背景3. BERT4Rec模型介绍3.1 问题定义3.2 模型结构3.4 Embedding层3.5 Output层3.6 模型训练和预测4. 实验5. 个人感悟6. Reference0. 本文概览今天给大家介绍一篇BERT用于推荐系统的文章,题目是《BERT4Rec: Sequential Recommendation with Bidirectional Encoder Representations from Transformer》,文章作者都
2020-10-20 14:24:03 2233 1
转载 透过Gartner 2020年人工智能技术成熟度曲线看新的变化
2020 企业在 AI 方面的投资根据Gartner最近的一项调查显示,自疫情爆发以来,有47%的企业组织在人工智能(AI)方面的投资维持不变,有30%的企业组织计划增加AI投资。30%的CEO表示,所在的企业组织已经有 AI 项目,并定期重新定义资源、报告结构和系统,以确保项目取得成功。尽管存在更大的经济和社会不确定性,但医疗、生物科学、制造、金融服务、供应链等领域的 AI 项目仍将继续加速发展。今年Gartner的AI技术成熟度曲线包含了5个新技术类别:小数据、生成型AI、复合型AI、负责任的A
2020-10-19 11:14:18 2410
转载 Rasa 中文聊天机器人项目
Rasa 中文聊天机器人项目RASA 开发中文指南系列博文:Rasa中文聊天机器人开发指南(1):入门篇Rasa中文聊天机器人开发指南(2):NLU篇Rasa中文聊天机器人开发指南(3):Core篇Rasa中文聊天机器人开发指南(4):RasaX篇Rasa中文聊天机器人开发指南(5):Action篇注:本系列博客翻译自Rasa官方文档,并融合了自己的理解和项目实战,同时对文档中涉及到的技术点进行了一定程度的扩展,目的是为了更好的理解Rasa工作机制。与本系列博文配套的项目GitHub地址
2020-10-16 17:03:08 2506
转载 聊天机器人设计思考
本文在转载过程中,在原文基础上略有调整,不代表原文观点目录Conversational Robot名词解释(非专业,非官方,非权威)对话系统(dialogue system / dialog system)问答系统(question answering system)问答对(QA pairs)基于知识的问答(knowledge based QA)基于检索的问答(Retrival-based QA)一个简单搜索回答的流程其他类型问答聊天机器人(chatbot)DeepQA人工智能标记语言,AIML基于深.
2020-10-16 16:59:54 1013
原创 开源语义理解框架 Clause API 文档:快速实现聊天机器人
在上一篇文章《基于开源语义理解框架 Clause 实现聊天机器人》 中,很多读者关心如何使用 Clause,在 Clause Wiki 文档中心 中也有很多指导使用的资料,现将 API 使用整理如下。开源语义理解框架 Clause API 文档Clause 使用过程:服务端为 C++ 实现,并基于 Apache Thrift 框架实现跨语言 PRC SDK。服务端已经封装为 Docker 镜像编排服务,部署简单。 SDK 支持多种语言,参考 示例程序。Table of contents服
2020-10-15 14:52:22 2937 5
原创 Clause 开发技能之 CMake 进阶教程(一)
开源语义理解项目 Clause 的基本开发技能就是围绕 C++ 的工程展开,使用 CMake 管理依赖,项目描述。需要掌握 CMake,C++。https://github.com/chatopera/clauseClause 使用了很多好的开源的 C++ 的项目的经验,初学 C++ 需要自行研究。以下文章对一些基础知识进行概述。目录CMake 快速开始一键执行基础知识示例程序t1t2t3t4t5t6执行全部示例GUI使用 Docker 容器实战进阶本系列文章CMake 快速开始快速开始使用 C
2020-10-12 12:38:26 1473 5
原创 Clause 开发技能之 CMake 进阶教程(三)
书接上文:https://chatopera.blog.csdn.net/article/details/109025400本文转载自【使用 CMake 组织 C++工程】3:CMake 函数和宏前言这篇文章分享一下 CMake 中函数:function, 和宏:macro 的使用。本文先从二者区别说起,由于二者区别很小,所以后文就仅对函数的用法进行讨论,因为函数有作用域的概念,适用范围更广。后文分享一个很实用的递归函数用于包含指定目录的所有子目录。CMake 中 function 和 macro
2020-10-12 12:30:51 1330
原创 Clause 开发技能之 CMake 进阶教程(二)
开源语义理解项目 Clause 的基本开发技能就是围绕 C++ 的工程展开,使用 CMake 管理依赖,项目描述。需要掌握 CMake,C++。https://github.com/chatopera/clauseClause 使用了很多好的开源的 C++ 的项目的经验,初学 C++ 需要自行研究。以下文章对一些基础知识进行概述。前言这篇文章将介绍一个稍微复杂一些的 CMake 工程,结合这个工程总结一下在组织一个 C/C++工程时最为常用的一些 CMake 命令和变量。对于涉及到的命令和变量,介
2020-10-12 12:29:25 471
原创 聊天机器人 2017
目录概述聊天机器人聊天机器人模型分类基于检索的模型基于生成的模型长对话和短对话开放领域和封闭领域挑战关联上下文意图识别如何判断一个模型的好坏一种设想问题域Conversation Model低成本的构建对话能区分不同类型的对话规范化输入高效率的规则引擎用户画像开源的脚本引擎对话脚本快速开始未来发展数据预处理中文分词jieba分词的实现自定义字典Word embeddingWord2vecSeq2Seq使用DeepQA2训练语言模型预处理开始训练Model提供服务使用脚本对模型的评价有待改进的地方本系列文章延
2020-10-12 12:09:07 1306 1
原创 从零开始深度学习:线性代数的基础知识
在使用TensorFlow创建Network过程中,经常涉及包含多少层,多少Weights和Bias的运算。这些是线性代数的基础知识,在学校学过高等数学的人,可以快速的通过下面的链接拾起这方面的知识。矩阵矩阵乘法逆矩阵矩阵的秩更多关于机器学习入门、数学基础,参考 CSDN 学院课程:从零开始深度学习 https://edu.csdn.net/bundled/detail/59?utm_source=tg16...
2020-10-12 11:51:58 3096 1
原创 聊天机器人之 RNN, LSTM and Sequence2Sequence 介绍
RNNRNN(Recurrent Neural Networks,循环神经网络)不仅会学习当前时刻的信息,也会依赖之前的序列信息。由于其特殊的网络模型结构解决了信息保存的问题。所以RNN对处理时间序列和语言文本序列问题有独特的优势。递归神经网络都具有一连串重复神经网络模块的形式。在标准的RNNs中,这种重复模块有一种非常简单的结构。那么S(t+1) = tanh( U*X(t+1) + W*S(t))。tanh激活函数图像如下:激活函数tanh把状态S值映射到-1和1之间.RNN通过BPTT算
2020-10-12 11:48:29 609
转载 深度解析TensorFlow组件Estimator:构建自定义Estimator
Have you ever wondered what’s the magic behind the tutorials on Large-scale Linear Modelsand Wide & Deep Learning? I hope this post would at least point you to the right direction.你是否思考过TensorFlow的tutorial和其背后的“魔力”?希望这篇文章至少能给你思考的正确方向。TensorFlow的基本概念可
2020-10-12 09:25:39 831
原创 聊天机器人活动的精彩视频来了 @ 2016
本篇文章是 2016 年 12月,我组织的一个聊天机器人线下交流活动的总结聊天机器人活动的精彩视频来了!- 6行JavaScript搞定微信机器人(上) -李卓桓, PreAngel天使投资人- 6行JavaScript搞定微信机器人(下) -李佳芮, 小桔机器人创始人- Chatbot的应用场景 -王守崑, 爱因互动创始人兼CEO在历史上,人工智能多次被炒火,我相信,这一次:AI is here to stay.更多本次活动的照片https://github.com/c
2020-10-12 09:21:59 209
原创 Items and Model Understanding,Tensorflow中的一些概念
介绍tensor, tf.placeholder, tf.flag, tf.name_scope, tf.session 等概念。tensor: Tensors are like geometric vectors, scalars, multidimensional array and other tensors. We can do dot product, the cross product, and linear maps between tensors. The first-order tens
2020-10-12 09:16:14 248
原创 TensorFlow 多机分布式部署
A brief tutorial on how to do asynchronous and data parallel training using three worker machines.简要介绍如何异步执行训练任务,通过三台服务器运行 TensorFlow 集群。TL;DR;A brief tutorial on how to do asynchronous and data parallel training using three worker machines with each o
2020-10-12 09:14:04 695
原创 聊天机器人 2016
作为一名程序员,我希望机器能做的事情就不要让人去做。我相信分享能促进创造,不断的创造会让人更加有智慧。毕竟随着年龄的增长,不再具有年轻时的体魄,更要靠大脑做事。我总是希望自己的工作的内容是创新的,流程是自动的,效率是恐怖的。那要怎样才能实现这个目标呢?马克思说:人的本质是社会关系的总和,科学技术是人体器官的延伸。我们可以将这句话分别理解一下:人的本质是社会关系的总和Organizations which design systems are constrained to produce system
2020-10-12 09:09:06 359
原创 快速开始 tf.contrib.learn
tf.contrib.learn是TensorFlow的高级API库。https://github.com/chatopera/tensorflow-getstartedTL; DRWrite down output of tf.contrib.learn Quickstart from tensorflow.org.git clone git@github.com:chatopera/tensorflow-getstarted.git cd tensorflow-getstarted/tf-c
2020-10-12 09:03:48 256
原创 Tensorflow tf.app.run 的工作方式
To run a tensorflow app, you define the input, lost fn, model and EvaluationMonitor in a main function in your module like this.执行 TensorFlow 的应用,需要定义输入、输入、网络模型和评估监控在主函数中,主函数要包含上述信息。Like this,举例如下:import tensorflow as tfdef main(unused_argv): hparams
2020-10-12 08:59:17 321
原创 如何使用 TensorFlow Tensorboard 观察训练,调节参数
A brief and concise tutorial on how to visualize different aspects such as the loss of your neural network using tensorboard.TL;DRA brief and concise tutorial on how to visualize different aspects such as the loss of your neural network using tensorboard
2020-10-12 08:51:09 614
原创 Resolve segmenter to process Chinese Dialogues with jieba, langid, stanford segmenter
During generating a word2vec model with Chinese data, it is very important to segment the Chinese sentences.在处理中文数据,训练词向量模型时,中文自动分词怎么办?Fortunately, there are some awesome utilities which are introduced online.幸运的是,互联网上有多个开源的工具完成分词。JavaBuilt by Stanfor
2020-10-12 08:43:52 239
原创 Word embeddings 与相关应用
词向量是将文字数学化的方法。自然语言处理中文本数值化表方法词向量是什么,自然语言理解的问题要转化为机器学习的问题,第一步肯定是要找一种方法把这些符号数学化,NLP中大多是将文本表示为空间向量后再进行处理。离散表示: One-hot比如,语料库:John likes to watch movies. Mary likes too. John also likes to watch football games.由语料库得到字典:{ "John": 1, "likes": 2, "to
2020-10-12 08:40:30 430
原创 聊天机器人之Ubuntu Dialogue Corpus 聊天语料介绍
Corpus Featureshttps://github.com/chatopera/ubuntu-ranking-dataset-creator此 Ubuntu 语料既有 Dialog State Tracking Challenge 数据集的多次序对话特性,也有类似 Twitter 微博服务上的人类自然对话特点,但是它比 Dialog State Tracking Challenge 数据集大几个数量级。另外,相对于用于机器问答和分析的同等数量级Twitter数据集,Ubuntu 数据是基于特定领
2020-10-12 08:38:31 1493 1
原创 在亚马逊云服务 AWS 上部署 GPU 加速机器,Ubuntu,机器学习
Launch Linux( ubuntu14.04) GPU Acc machine in AWS"excerpt: "In order to deploy network to train Deep Learning Network, a GPU Enabled machine is required. Fortunately, AWS provides GPU Accelerated Machine.TL; DRIn order to deploy network to train Deep Le
2020-10-12 08:33:59 985
原创 《打造Facebook》 读书报告
写在前面这是一本好书,作者牛逼的经历、总结在两百页文字中娓娓道来,让那些没有机会见证互联网传奇发生过程的人了解那些故事。读罢此书,难以释手,一定要花些时间总结总结,这既是对本书内容的提炼,也加上我个人的一些观点。这个读书报告分成三部分:目录1/3 一个渴望改变世界的人 - Mark Zuckerberg2/3 黑客创办的公司3/3 创新精神一个渴望改变世界的人塑造一流的企业文化个人成长2/3 黑客创办的公司开发新产品描绘愿景 设置目标搜集想法并排出优先次序跨团队沟通告诉所有可能关心的人设计产品指定项目
2020-10-12 08:31:50 528
原创 基于开源语义理解框架 Clause 实现聊天机器人
Chatopera Language Understanding Service,Chatopera 语义理解服务https://github.com/chatopera/clauseClause Quick Start Guide / Clause 快速开始Chatopera Language Understanding Service,Chatopera 语义理解服务前提已部署 Clause 服务,参考部署文档下载镜像下载示例代码git clone https://github.c
2020-10-11 19:32:57 2887 5
原创 搜集网络上比较好的中文语料库
国内可用免费语料库组织,机构发布国家语委国家语委现代汉语语料库http://www.cncorpus.org/现代汉语通用平衡语料库现在重新开放网络查询了。重开后的在线检索速度更快,功能更强,同时提供检索结果下载。现代汉语语料库在线提供免费检索的语料约2000万字,为分词和词性标注语料。古代汉语语料库http://www.cncorpus.org/login.aspx网站现在还增加了一亿字的古代汉语生语料,研究古代汉语的也可以去查询和下载。同时,还提供了分词、词性标注软件、词频统计、字频统计软件
2020-10-11 13:07:38 4907
原创 中文分词及词性标注
支持中文分词(N-最短路分词、CRF分词、索引分词、用户自定义词典、词性标注),命名实体识别(中国人名、音译人名、日本人名、地名、实体机构名识别),关键词提取,自动摘要,短语提取,拼音转换,简繁转换,文本推荐,依存句法分析(MaxEnt依存句法分析、CRF依存句法分析)TL;DR启动服务docker pull samurais/hanlp-api:1.0.0docker run -it --rm -p 3002:3000 samurais/hanlp-api:1.0.0访问服务中文分词P
2020-10-11 13:03:53 4043
原创 C++ 正则表达式 boost 使用介绍
正则表达式作为自然语言处理的最基本的操作,给出C++的使用方案。标准库std::regex还没有完全支持,在g++ 4.8.x 中,不能使用。所以,推荐使用boost库,取得更好的兼容性。src#include "boost/regex.hpp"void regexSearch(const std::string& pattern, const std::string& input, std::vector<std::string>& results){
2020-10-11 13:02:38 466
原创 最大字串问题,C++实现
寻找两个字符串中的最大字串问题,是算法中的经典问题,出现在面试和实际应用中,屡见不鲜。本文给出了C++中的实现。Longest Common Substring最长最大字串问题算法数组前缀树字符编码多字节编码与 Unicode 码ASCII编码char to ascii int valueScanning ASCII value of each character of a stringascii对照表ascii为负数的情况Usagestd::
2020-10-11 13:00:41 462
原创 词频和逆文档频率算法 TF-IDF
词频和逆文档频率算法简单快速,结果处理符合实际情况,可以用在关键词提取,信息检索等很多地方。如果我们有一篇很长的文章,如何获得关键词呢?根据信息熵理论,一个词出现的次数越多,这个词包含的信息量就越小。可以说,TF-IDF算法就是基于这一理论的。这篇文章我们称之为Document, 这篇文章属于一个 Collection(集合)。TF, Term Frequency, 词频IDF, Inverse Document Frequency, 逆文档频率处理将Document进行分词,去停留词。计
2020-10-11 12:59:38 2776
原创 Word2Vec - gensim模块(2/3)
Word2Vec完成了从文字,句子到空间向量的映射,是计算相似度和检索常用的方法。在使用机器学习技术训练文本以前,常用来做Word Embedding。在上一篇中,给出了相似性计算的原理,本篇介绍在python环境下一个快速完成word2vec训练和使用的工具包。Get started gensimhttps://github.com/Samurais/word2vec_get_started训练构建词汇表dict将文件(doc collection)按行处理成向量corpus
2020-10-11 12:51:51 335
原创 Word2Vec - 余弦相似性数学原理(1/3)
判断两个文章或者句子相似程度的一个算法。根据向量坐标,绘制在空间中,求得夹角的Cos值。Cos值越接近1,则说明夹角越小,即两向量相似。余弦相似性: 通过计算两个向量的夹角余弦值来评估他们的相似度。余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似。给定两个句子A: 我喜欢足球,也喜欢篮球。B: 我喜欢足球,不喜欢篮球。对句子进行分词,并统计词频分词A:我/ 喜欢/ 足球/ ,/ 也/ 喜欢/ 篮球 /。B:我/ 喜欢/ 足球/ ,/ 不/ 喜欢/ 篮球/ 。出现的所有的词语
2020-10-11 12:50:14 1195
原创 机器学习词汇列表
入门机器学习的一个很大的困难就是掌握各种概念。本篇对这些概念做一个列表,并且会不断更新。概率随机过程马尔可夫过程隐马尔可夫模型算法监督学习/无监督学习/半监督学习/分类器朴素贝叶斯分类器RefersDEEP LEARNING GLOSSARY...
2020-10-11 12:48:37 300
翻译 朴素贝叶斯分类器
在概率论中,贝叶斯公式是著名的定理。在机器学习里,有着广泛应用,尤其是语言类问题。本篇以简单和朴实的语言介绍这个定理及其应用。本文是翻译,原文地址:https://monkeylearn.com/blog/practical-explanation-naive-bayes-classifier贝叶斯定理简单、通用和常见。在机器学习领域,它快速、准确和可靠。尤其是处理自然语言处理问题。贝叶斯分类器就是其中之一。使用训练语料,建立特征模型,然后输入测试,贝叶斯分类器给出概率最高的结果。我们采用的算法是
2020-10-11 12:46:59 474
原创 聊天机器人之实体命名标识和槽位取值的关系
在对话系统中,对NLP中的实体命名标识和NLU中的槽位取值,进行介绍。sequence-tagging可以帮助解决:实体命名和槽位取值问题。TaskDatasetExampleNERCoNLL 2003linkSlot fillingATISlinksequence-tagging 是带有目的性的从一段文字中寻找信息。实体命名寻找人名、地名、组织结构或其他专有名词。槽位取值寻找关系,问题类型或其他信息。通常,槽位取值使用模版,输出结果便于下一步在
2020-10-11 12:45:55 773
原创 隐马尔科夫模型和维特比算法
隐马尔可夫模型(Hidden Markov Model,HMM)是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数。然后利用这些参数来作进一步的分析,例如模式识别。The HMM is a generative probabilistic model, in which a sequence of observable X variables is generated by a sequence of internal hidden states Z.
2020-10-11 12:44:37 575
原创 马尔可夫链的定义、举例和应用
马尔可夫链通常用来建模排队理论和统计学中的建模,还可作为信号模型用于熵编码技术,如算法编码。定义马尔可夫链是满足马尔可夫性质的随机过程。马尔可夫链描述了一种状态序列,其每个状态值取决于前面有限个状态。一阶马尔可夫过程就是下一个状态的的转移只依赖于当前状态。举例假设一个集合具有状态S[1-6], 每个状态的表示:S1 = {AA, AA},S2 = {AA, Aa}S3 = {AA, aa}S4 = {Aa, Aa}S5 = {Aa, aa}S6 = {aa, aa}.每个状态是包含两个
2020-10-11 12:43:27 6814
原创 Word2Vec - 模型训练和计算余弦距离 (3/3)
判断两个文章或者句子相似程度的一个算法。根据向量坐标,绘制在空间中,求得夹角的Cos值。Cos值越接近1,则说明夹角越小,即两向量相似。余弦相似性: 通过计算两个向量的夹角余弦值来评估他们的相似度。余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似。在上一篇文章中,给出了使用gensim的方法,如果模型通过word2vec训练好了bin格式的文件。#! /bin/bash# constantsbaseDir=$(cd `dirname "$0"`;pwd)W2V_CMD=word
2020-10-11 12:42:14 1039 1
原创 Hadoop 快速开始
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。Downloadwget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/core/hadoop-2.8.1/hadoop-2.8.1.tar.gzGithubVersion / 2.8.1
2020-10-11 12:40:39 203
原创 Numpy Get started - random
Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy、matplotlib一起使用。其实,list已经提供了类似于矩阵的表示形式,不过numpy为我们提供了更多的函数。random正态分布numpy.random.randn(d0, d1, …, dn) 这个函数的作用就是从标准正态分布中返回一个或多个样本值。如果想要从非标准正态分布中产生随机样本,咋办?比如下面这个正态分布:2.5 * np.random.randn(2, 4) + 3range随机ran
2020-10-11 12:36:42 169
iBATIS 2.0 开发指南
2009-02-28
spring开发指南(pdf)
2009-02-28
3G技术普及手册(华为资料)
2009-02-24
数据库应用(大学教程)
2009-02-22
jQuery Model dialog
2011-09-26
ibatis+Spring demo
2011-09-19
数电实验 交通灯 VHDL
2009-11-12
DXP example(多目录含源码)
2009-11-11
Spring Framework 开发参考手册
2009-11-11
用VIM编写C/C++程序
2009-10-28
ASP (基础教材)
2009-10-28
2005年世界程序设计大赛一二等奖
2009-10-28
IT圈子里鬼混,谈谈IT行业的收入和一些生存之道
2009-10-28
软设历年试题合集(希赛)
2009-10-28
C++的库函数(英文版)
2009-10-28
LINUX系统分析与高级编程技术
2009-06-29
Linux 白皮书
2009-06-29
Linux应用程序开发指南:使用Gtk+ Gnome库
2009-06-29
BASH SHELL 程式設計
2009-06-29
LINUX与UNIX SHELL编程指南
2009-06-29
Thinking in Java(2nd Edition )
2009-06-29
apache-tomcat-5.5.20
2009-06-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人