词频、互信息、信息熵发现中文新词

词提取任务是文本挖掘的一个重要环节,本文的方法通过文本自身的特点,用互信息和信息熵来提取文本中的词。

新词发现任务是中文自然语言处理的重要步骤。新词有“新”就有“旧”,属于一个相对个概念,在相对的领域(金融、医疗),在相对的时间(过去、现在)都存在新词。文本挖掘会先将文本分词,而通用分词器精度不过,通常需要添加自定义字典补足精度,所以发现新词并加入字典,成为文本挖掘的一个重要工作。
Continue reading “词频、互信息、信息熵发现中文新词”

Seq2Seq和MTCS实现的对话系统

Seq2Seq模型和蒙特卡洛搜索树(简称:MTCS)实现的对话系统,是一个信息检索的对话系统,seq2seq可以生成句向量,再通过欧式距离匹配历史对话中距离最近的问句,给出该问句的回答,同时对话框架采用蒙特卡洛搜索树,问答对来自于搜索树上的各个节点,因此可以实现前后文的对话,属于一种非理解式的多轮对话。

Seq2Seq模型和蒙特卡洛搜索树(简称:MTCS)实现的对话系统,是一个信息检索的对话系统,seq2seq可以生成句向量,再通过欧式距离匹配历史对话中距离最近的问句,给出该问句的回答,同时对话框架采用蒙特卡洛搜索树,问答对来自于搜索树上的各个节点,因此可以实现前后文的对话,属于一种非理解式的多轮对话。

Continue reading “Seq2Seq和MTCS实现的对话系统”

智能酒店一种不一样的体验

智能酒店的“智能”两字很多情况下会被解释成“自动化程度高,功能多样型”,被误以为缺少了人文的关怀。事实上,智能酒店的设计和传统相比有过之而无不及,结合了“智能”,酒店设计是更重视用户体验,

智能酒店的“智能”两字很多情况下会被解释成“自动化程度高,功能多样型”,被误以为缺少了人文的关怀。事实上,智能酒店的设计和传统相比有过之而无不及,结合了“智能”,酒店设计是更重视用户体验, Continue reading “智能酒店一种不一样的体验”

正则做语义解析的优劣势

正则表达式(简称:正则)做语义解析是一种方法经典的方法。该文章简单的总结了正则方法的优势和劣势。

正则表达式(简称:正则)做语义解析是一种方法经典的方法。在上世纪60年代,大量的对话系统、专家系统都是用模式匹配来做,其中正则就是一个非常实用且易学的工具。具有代表性的Eliza,在当时让大家都以为这个机器能理解自然语言,即使说明了其中的原理,也有不少人认同它的智能。这套方式一直被延续至今,基本在市面上能看到的chatbots,都或多或少的保留了正则的部分。也许说到这里,有人认为马上要介绍正则如何做对话了,这篇记录只是记录一下在工作中,正则的优势和劣势。另外基于统计的方法,这里不做说明。

Continue reading “正则做语义解析的优劣势”

seq2seq模型的字符级的向量表示

这篇文章将简单介绍seq2seq模型+attention机制,以及在这个模型下,字符级逐字的输入和输出任务产生的句向量的特性。

许久未更博了,在前段时间测试了用seq2seq做ner任务,可以参考之前的文章《RNN的Seq2Seq模型做命名实体识别》 ,之后通过NER做NLU,再加上RL尝试多轮对话,结果达到了期望,但是还有很多工作需要去做,多轮语料采集、句子相似度、句向量,在多轮对话中,我没有尝试将每句话进行分类,我认为句子本身表意就非常清晰,标注反而画蛇添足,特别是上下文中的句子,其意思根据上下文而变化。那么对话中去匹配距离最近的句子,并且人为的反馈,可能是一个多轮对话的主要方式。

这篇文章将简单介绍seq2seq模型+attention机制,以及在这个模型下,字符级逐字的输入和输出任务产生的句向量的特性。 Continue reading “seq2seq模型的字符级的向量表示”

RNN的Seq2Seq模型做命名实体识别

seq2seq 具有极强的时序能力,在自然语言处理(NLP)中是一个很强的模型,最近一段时间,在工程方面将该模型引入做命名实体识别(NER)也取得不错的效果。推荐G.Hinton的论文“Grammar as a Foreign Language”,讲述了如何用seq2seq做序列标注。

seq2seq 具有极强的时序能力,在自然语言处理(NLP)中是一个很强的模型,最近一段时间,在工程方面将该模型引入做命名实体识别(NER)也取得不错的效果。推荐G.Hinton的论文“Grammar as a Foreign Language”,讲述了如何用seq2seq做序列标注。
Continue reading “RNN的Seq2Seq模型做命名实体识别”

自然语言处理中做字符级embedding的一种检索思路

自然语言处理中字符级的embedding可以通过unicode的编码来做索引

自然语言处理中需要将字、词或句子做embedding之前,一般会将对象转成一个字典中的索引,比如

假如,要处理字符级的索引问题,建议使用unicode的方式,这样可以直接获取唯一的编码

在Python中通过ord函数实现:

ord=(u"吃")
# 21507