搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
自然语言处理原理与技术实现
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787121286209
  • 作      者:
    罗刚,张子宪编著
  • 出 版 社 :
    电子工业出版社
  • 出版日期:
    2016
收藏
编辑推荐

1、原理讲解通俗易懂

2、Java实现精彩详实

3、应用案例真实有用


展开
作者简介

罗刚,猎兔搜索创始人,带领猎兔搜索技术开发团队先后开发出猎兔中文分词系统、猎兔信息提取系统、猎兔智能垂直搜索系统以及网络信息监测系统等,实现互联网信息的采集、过滤、搜索和实时监测。曾编写出版《自己动手写搜索引擎》、《自己动手写网络爬虫》、《使用C#开发搜索引擎》,获得广泛好评。在北京和上海等地均有猎兔培训的学员。张子宪,聊城大学教师、中国矿业大学(北京)博士生,研究方向:自动句法分析、机器翻译。

展开
内容介绍

本书详细介绍自然语言处理各主要领域的原理以Java 实现,包括中文分词、词性标注、依存句法分析等。其中详细介绍了中文分词和词性标注的过程及相关算法,如隐马尔可夫模型等。在自然语言处理的应用领域主要介绍了信息抽取、自动文摘、文本分类等领域的基本理论和实现过程,此外还有问答系统、语音识别等目前应用非常广泛的领域。在问答系统的介绍中,本书特地介绍了聊天机器人的实现过程,从句子理解、句法分析、同义词提取等方面揭示聊天机器人的实现原理。

展开
精彩书摘

10.4  聊天机器人

离线时,可以有个代替本人的自动对话系统来和来人对话。实现时,对每个人分别建立惯用法。例如对肯定答复,有人喜欢说:好的呀;有人喜欢说:可以。根据对话历史记录对个人画像。

对话任务是由一系列的对话行为(Dialogue Act简称DA)组成的,如提问——回答——确认。

对话行为(Dialog Act)是指一个语句在“行为”方面的功能,如提问(Question)、陈述(Statement)、确认(Confirmation)等。事实上,人们在对话过程中可以很清楚地区分各种不同的对话行为(DA),这样,人与人之间才可以“交谈”,不会出现“文不对题”、“牛头不对马嘴”的现象。因此,人机交互中,如果系统能够知道用户语句的“对话行为”,对于理解用户语句,保持人机交流是非常有用的。

航班信息系统EasyFlight是一个特定领域的对话应用,其中的对话行为(DA)比较简单,涉及到系统用户的对话行为主要有以下几种。

? 提问(Question):提问是用户使用最多的一种对话行为。通过提问,用户告诉系统自己需要什么样的信息。与英语不同,汉语中的问句没有严格的语序要求,疑问词的选择十分灵活,疑问词的位置几乎可以在句子的任何地方。EasyFlight中的提问主要有两种情况:一种是有明确的疑问词,如“什么”、“哪些”、“多少”、“有没有”;另一种语句很难找到一个真正的疑问词,但它有语气助词,如这个句子——“后天有从深圳回北京的票吗?”

? 陈述(Statement):用户回答系统提问时常用的一种对话行为,常用于给出查询信息,如“大概中午十二点左右的”。

? 确认(Confirmation):确认分为两种:肯定确认和否定确认,如“对,订三张票”。

? 问候(Greeting):引导对话开始的对话行为,如“您好”。

? 感谢和再见(Thank&GoodBye):表示对话结束的对话行为,如“谢谢帮忙”。


对话行为分类的研究中,一般使用基于文字信息的方法,如用N-gram的方法;而利用韵律信息是另外一种对话行为分类的方法。有些情况下,仅仅从文字上难以区分对话行为,如下面两个句子:

? 他拿了第一名。(陈述)

? 他拿了第一名?(反问)


这两个句子文字上完全相同,却是截然不同的两种对话行为(DA)。前一句话只是简单地陈述一个事实;而后面一句却包含了强烈的反问语气,表明说话人不太相信这个事实,希望对话的另一方给出解释或者说明,而且说话人强调的内容不同也可以反映他怀疑的内容不同(如强调“他”表示说话人不相信第一名是他,而强调“第一名”表示不相信他会取得那么好的成绩)。这时候,韵律是最好的特征,它可以反映说话人的不同语气,从而区分对话行为。

对话管理器(Dialogue Manager简称DM)记录当前对话状态,DM根据输入对话行为更新状态并选择回应对话行为。

聊天机器人Alice有40,000多个模板,也是采用了模式匹配的方法来检索最合适的回答。使用Artificial Intelligence Markup Language(简称为AIML)存储模式,也就是问答对。Alice采用了一种很好的扩充机制,AIML文件可以进行内联,许多包含特殊领域知识的AIML文件可以方便地合并成一个更大的知识库。

AIML的例子:

  你叫什么

 


模板中可以使用变量,例如:

我叫


Think是一个模板标签,表示执行指令但是不输出答案。例如,执行加法的例子:

* PLUS *


AIML相关的实现见https://github.com/dawnofmusic/Elsbeth。

例如,询问天气,系统根据用户的IP地址或者手机所在位置得到提问者的位置。系统返回最近多少天的天气信息。用户进一步可以更改要查询的城市。

把用户输入的拼音串转换成汉字,或者把繁体中文转换成简体中文。

给机器人说:“翻译,how old are you.”,机器人应该能够返回一个翻译结果。


展开
目录

第1章 应用自然语言处理技术 1
1.1 付出与回报 2
1.1.1 如何开始 2
1.1.2  招聘人员 2
1.1.3  学习 3
1.2  开发环境 3
1.3  技术基础 4
1.3.1  Java 4
1.3.2  规则方法 5
1.3.3  统计方法 5
1.3.4  计算框架 5
1.3.5  文本挖掘 7
1.3.6  语义库 7
1.4  本章小结 9
1.5  专业术语 9
第2章 中文分词原理与实现 11
2.1  接口 12
2.1.1  切分方案 13
2.1.2  词特征 13
2.2  查找词典算法 13
2.2.1  标准Trie树 14
2.2.2  三叉Trie树 18
2.2.3  词典格式 26
2.3  最长匹配中文分词 27
2.3.1  正向最大长度匹配法 28
2.3.2  逆向最大长度匹配法 33
2.3.3  处理未登录串 39
2.3.4  开发分词 43
2.4  概率语言模型的分词方法 45
2.4.1  一元模型 47
2.4.2  整合基于规则的方法 54
2.4.3  表示切分词图 55
2.4.4  形成切分词图 62
2.4.5  数据基础 64
2.4.6  改进一元模型 75
2.4.7 二元词典 79
2.4.8  完全二叉树组 85
2.4.9  三元词典 89
2.4.10  N元模型 90
2.4.11  N元分词 91
2.4.12  生成语言模型 99
2.4.13  评估语言模型 100
2.4.14  概率分词的流程与结构 101
2.4.15  可变长N元分词 102
2.4.16  条件随机场 103
2.5  新词发现 103
2.5.1  成词规则 109
2.6  词性标注 109
2.6.1  数据基础 114
2.6.2  隐马尔可夫模型 115
2.6.3  存储数据 124
2.6.4  统计数据 131
2.6.5  整合切分与词性标注 133
2.6.6  大词表 138
2.6.7  词性序列 138
2.6.8  基于转换的错误学习方法 138
2.6.9  条件随机场 141
2.7  词类模型 142
2.8  未登录词识别 144
2.8.1  未登录人名 144
2.8.2  提取候选人名 145
2.8.3  最长人名切分 153
2.8.4  一元概率人名切分 153
2.8.5 二元概率人名切分 156
2.8.6  未登录地名 159
2.8.7  未登录企业名 160
2.9  平滑算法 160
2.10 机器学习的方法 164
2.10.1  最大熵 165
2.10.2  条件随机场 170
2.11 有限状态机 171
2.12 地名切分 178
2.12.1  识别未登录地名 179
2.12.2  整体流程 185
2.13 企业名切分 187
2.13.1  识别未登录词 188
2.13.2  整体流程 190
2.14 结果评测 190
2.15 本章小结 191
2.16 专业术语 193
第3章 英文分析 194
3.1  分词 194
3.1.1  句子切分 194
3.1.2  识别未登录串 197
3.1.3  切分边界 198
3.2  词性标注 199
3.3  重点词汇 202
3.4  句子时态 203
3.5  本章小结 204
第4章 依存文法分析 205
4.1  句法分析树 205
4.2  依存文法 211
4.2.1  中文依存文法 211
4.2.2  英文依存文法 220
4.2.3  生成依存树 232
4.2.4  遍历 235
4.2.5  机器学习的方法 237
4.3  小结 237
4.4  专业术语 238
第5章 文档排重 239
5.1  相似度计算 239
5.1.1  夹角余弦 239
5.1.2  最长公共子串 242
5.1.3  同义词替换 246
5.1.4  地名相似度 248
5.1.5  企业名相似度 251
5.2  文档排重 251
5.2.1  关键词排重 251
5.2.2  SimHash 254
5.2.3  分布式文档排重 268
5.2.4  使用文本排重 269
5.3  在搜索引擎中使用文本排重 269
5.4  本章小结 270
5.5  专业术语 270
第6章 信息提取 271
6.1  指代消解 271
6.2  中文关键词提取 273
6.2.1  关键词提取的基本方法 273
6.2.2  HITS算法应用于关键词提取 275
6.2.3  从网页中提取关键词 277
6.3  信息提取 278
6.3.1  提取联系方式 280
6.3.2  从互联网提取信息 281
6.3.3  提取地名 282
6.4  拼写纠错 283
6.4.1  模糊匹配问题 285
6.4.2  正确词表 296
6.4.3  英文拼写检查 298
6.4.4  中文拼写检查 300
6.5  输入提示 302
6.6  本章小结 303
6.7  专业术语 303
第7章 自动摘要 304
7.1  自动摘要技术 305
7.1.1  英文文本摘要 307
7.1.2  中文文本摘要 309
7.1.3  基于篇章结构的自动摘要 314
7.1.4  句子压缩 314
7.2  指代消解 314
7.3  Lucene中的动态摘要 314
7.4  本章小结 317
7.5  专业术语 318
第8章 文本分类 319
8.1  地名分类 321
8.2  错误类型分类 321
8.3  特征提取 322
8.4  关键词加权法 326
8.5  朴素贝叶斯 330
8.6  贝叶斯文本分类 336
8.7  支持向量机 336
8.7.1  多级分类 345
8.7.2  规则方法 347
8.7.3  网页分类 350
8.8  最大熵 351
8.9  信息审查 352
8.10 文本聚类 353
8.10.1  K均值聚类方法 353
8.10.2  K均值实现 355
8.10.3  深入理解DBScan算法 359
8.10.4  使用DBScan算法聚类实例 361
8.11  本章小结 363
8.12  专业术语 363
第9章 文本倾向性分析 364
9.1  确定词语的褒贬倾向 367
9.2  实现情感识别 368
9.3  本章小结 372
9.4  专业术语 373
第10章 问答系统 374
10.1  问答系统的结构 375
10.1.1  提取问答对 376
10.1.2  等价问题 376
10.2  问句分析 377
10.2.1  问题类型 377
10.2.2  句型 381
10.2.3  业务类型 381
10.2.4  依存树 381
10.2.5  指代消解 383
10.2.6  二元关系 383
10.2.7  逻辑表示 386
10.2.8  问句模板 386
10.2.9  结构化问句模板 389
10.2.10  检索方式 390
10.2.11  问题重写 395
10.2.12  提取事实 395
10.2.13  验证答案 398
10.2.14  无答案的处理 398
10.3  知识库 398
10.4  聊天机器人 399
10.4.1  交互式问答 401
10.4.2  垂直领域问答系统 402
10.4.3  语料库 405
10.4.4  客户端 405
10.5  自然语言生成 405
10.6  依存句法 406
10.7  提取同义词 410
10.7.1  流程 410
10.8  本章小结 411
10.9  术语表 412
第11章 语音识别 413
11.1  总体结构 414
11.1.1  识别中文 416
11.1.2  自动问答 417
11.2  语音库 418
11.3  语音合成 419
11.3.1  归一化 420
11.4  语音 420
11.4.1  标注 424
11.4.2  相似度 424
11.5  Sphinx 424
11.5.1  中文训练集 426
11.6  Julius 429
11.7  本章小结 429
11.8  术语表 429
参考资源 430
后记 431

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证