自然语言处理与Java语言实现

全面详解自然语言处理原理+Java编程的实现过程,解决NLP的各种应用任务,从原理到实践,提供qq群答疑
分享 推荐 0 收藏 32 阅读 2.6K
罗刚 (作者) 978-7-115-52507-9

关于本书的内容有任何问题,请联系 刘博

1. 不单纯介绍理论,还有编程语言实现。
2. 包括多种自然语言处理的应用任务。
3. 作者在此领域研究多年,有丰富的实践和理论经验。
4. 为读者提供qq群答疑、丰富配套资源等教学支持。
¥69.80 ¥59.33 (8.5 折)
立即购买 申请样书 在线试读
教学资源仅供教师教学使用,转载或另作他用版权方有权追究法律责任。

内容摘要

本书详细介绍以Java实现的自然语言处理常用的应用。从基本的文本挖掘技术到语音识别,问答系统和机器翻译技术。包括中文分词、词性标注、依存句法分析等。其中详细介绍了中文分词和词性标注的过程及相关算法,如隐马尔可夫模型等。在自然语言处理的应用领域主要介绍了信息抽取、自动文摘、文本排重、文本分类、文本倾向性分析等领域的基本理论和实现过程,此外还有问答系统、机器翻译等目前应用非常广泛的领域。

目录

基础篇
第1章 自然语言处理实践基础 2
 1.1 开发环境准备 2
1.1.1 Windows命令行cmd 3
1.1.2 在Windows下使用Java 4
1.1.3 Linux终端 6
1.1.4 在Linux下使用Java 7
1.1.5 Eclipse集成开发环境 8
 1.2 技术基础 9
1.2.1 机器学习 9
1.2.2 Java基础 9
1.2.3 信息采集 10
1.2.4 文本挖掘 11
1.2.5 SWIG扩展Java性能 11
1.2.6 代码移植 12
1.2.7 语义 14
1.2.8 Hadoop分布式计算框架 15
 1.3 专业术语 18
开发篇
第2章 中文分词原理与实现 20
 2.1 接口 20
2.1.1 切分方案 22
2.1.2 词典格式 22
 2.2 散列表最长匹配中文分词 23
2.2.1 算法实现 23
2.2.2 使用Ant构建分词jar包 24
2.2.3 使用Maven构建分词jar包 27
2.2.4 使用Gradle构建分词jar包 28
2.2.5 生成JavaDoc 29
 2.3 查找词典算法 30
2.3.1 标准Trie树 30
2.3.2 三叉Trie树 33
 2.4 Trie树最大长度匹配法 39
2.4.1 正向最大长度匹配法 39
2.4.2 逆向最大长度匹配法 43
2.4.3 有限状态机识别未登录串 47
 2.5 概率语言模型的分词方法 53
2.5.1 一元模型 54
2.5.2 整合基于规则的方法 59
2.5.3 表示切分词图 60
2.5.4 形成切分词图 65
2.5.5 数据基础 67
2.5.6 改进一元模型 76
2.5.7 二元词典 78
2.5.8 完全二叉树组 83
2.5.9 三元词典 86
2.5.10 N元模型 86
2.5.11 N元分词 87
2.5.12 生成语言模型 93
2.5.13 评估语言模型 94
2.5.14 概率分词的流程与结构 94
2.5.15 可变长N元分词 95
2.5.16 条件随机场 95
 2.6 新词发现 96
 2.7 Android系统中文输入法 100
 2.8 词性标注 102
2.8.1 数据基础 105
2.8.2 隐马尔可夫模型 106
2.8.3 存储数据 113
2.8.4 统计数据 118
2.8.5 整合切分与词性标注 120
2.8.6 大词表 123
2.8.7 词性序列 123
2.8.8 基于转换的学习方法 123
2.8.9 实现词性标注 125
 2.9 词类模型 126
 2.10 未登录词识别 127
2.10.1 未登录人名 127
2.10.2 提取候选人名 128
2.10.3 最长人名切分 134
2.10.4 一元概率人名切分 134
2.10.5 二元概率人名切分 136
2.10.6 未登录地名 138
2.10.7 未登录企业名 138
 2.11 中文分词总体结构 138
 2.12 平滑算法 139
2.12.1 最大熵 142
2.12.2 实现中文分词 146
 2.13 地名切分 147
2.13.1 识别未登录地名 147
2.13.2 整体流程 152
 2.14 企业名切分 154
2.14.1 识别未登录词 154
2.14.2 整体流程 156
 2.15 结果评测 156
 2.16 专业术语 157
第3章 语义分析 158
 3.1 句法分析树 158
 3.2 依存文法 162
3.2.1 中文依存文法 162
3.2.2 英文依存文法 169
3.2.3 生成依存文法树 176
3.2.4 机器学习的方法 179
 3.3 依存语言模型 180
3.4 使用Java计算机语言的语义分析 180
 3.5 专业术语 183
第4章 文章分析 184
 4.1 分词 184
4.1.1 句子切分 184
4.1.2 识别未登录串 186
4.1.3 切分边界 187
 4.2 词性标注 188
 4.3 重点词汇提取 190
 4.4 句子时态分析 190
 4.5 专业术语 191
第5章 文档语义 192
 5.1 相似度计算 192
5.1.1 夹角余弦 192
5.1.2 最长公共子串 194
5.1.3 同义词替换 197
5.1.4 地名相似度 198
5.1.5 企业名相似度 201
 5.2 文档排重 201
5.2.1 关键词排重 201
5.2.2 语义指纹排重 203
5.2.3 分布式文档排重 212
5.2.4 使用文档排重 213
 5.3 在搜索引擎中使用文档排重 214
 5.4 专业术语 214
第6章 信息提取 215
 6.1 指代消解 215
 6.2 中文关键词提取 216
6.2.1 关键词提取的基本方法 216
6.2.2 HITS算法应用于关键词提取 218
6.2.3 从网页中提取关键词 219
 6.3 信息提取 220
6.3.1 提取联系方式 221
6.3.2 从互联网提取信息 222
6.3.3 提取地名 222
 6.4 拼写纠错 223
6.4.1 模糊匹配问题 225
6.4.2 正确词表 233
6.4.3 英文拼写检查 234
6.4.4 中文拼写检查 235
 6.5 输入提示 237
 6.6 专业术语 237
第7章 自动摘要 238
 7.1 自动摘要技术 238
7.1.1 英文文本摘要 240
7.1.2 中文文本摘要 242
7.1.3 基于篇章结构的自动摘要 245
7.1.4 句子压缩 245
 7.2 指代消解 246
 7.3 多文档摘要 246
 7.4 分布式部署 246
 7.5 专业术语 248
第8章 文本分类 249
 8.1 地名分类 250
 8.2 文本模板分类 251
 8.3 特征提取 251
 8.4 线性分类器 254
8.4.1 关键词加权法 254
8.4.2 朴素贝叶斯 257
8.4.3 贝叶斯文本分类 262
8.4.4 支持向量机 262
8.4.5 多级分类 269
8.4.6 使用sklearn实现文本分类 270
8.4.7 规则方法 270
8.4.8 网页分类 272
 8.5 FastText文本分类 273
8.5.1 词向量 273
8.5.2 JavaCPP包装Java接口 273
8.5.3 使用JFastText 274
 8.6 最大熵分类器 275
 8.7 文本聚类 276
8.7.1 K均值聚类算法 276
8.7.2 K均值聚类算法的实现 277
8.7.3 深入理解DBScan算法 281
8.7.4 使用DBScan算法聚类实例 282
 8.8 持续集成 283
 8.9 专业术语 284
第9章 文本倾向性分析 285
 9.1 确定词语的褒贬倾向 287
 9.2 实现情感识别 288
 9.3 专业术语 290
系统篇
第10章 语音识别 292
 10.1 总体结构 292
10.1.1 识别中文 294
10.1.2 自动问答 295
 10.2 语音库 297
 10.3 语音 297
10.3.1 标注语音 300
10.3.2 动态时间规整计算相似度 301
 10.4 Sphinx语音识别 303
10.4.1 中文训练集 305
10.4.2 使用Sphinx4 306
10.4.3 ARPA文件格式 307
10.4.4 PocketSphinx语音识别引擎 309
 10.5 说话人识别 312
 10.6 专业术语 313
第11章 问答系统 314
 11.1 问答系统的结构 314
11.1.1 提取问答对 315
11.1.2 等价问题 315
 11.2 问句分析 316
11.2.1 问题类型 316
11.2.2 句型 319
11.2.3 业务类型 319
11.2.4 依存文法树 319
11.2.5 指代消解 320
11.2.6 二元关系 320
11.2.7 问句模板 322
11.2.8 结构化问句模板 323
11.2.9 检索方式 325
11.2.10 问题重写 327
11.2.11 提取事实 327
11.2.12 验证答案 329
 11.3 知识库 329 
 11.4 AIML聊天机器人 330
11.4.1 交互式问答 332
11.4.2 垂直领域问答系统 333
11.4.3 语料库 335
11.4.4 客户端 335
 11.5 自然语言生成 335
 11.6 JavaFX开发界面 336
 11.7 专业术语 337
第12章 机器翻译 338
 12.1 使用机器翻译API 338
 12.2 翻译日期 338
 12.3 神经机器翻译 340
 12.4 辅助机器翻译 341
 12.5 机器翻译的评价 342
 12.6 专业术语 342
参考文献 343
后记 344

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

主要研究项目及领域: 自然语言处理、人工智能、搜索引擎 以前出版的图书: 《自然语言处理原理与技术实现》 其他社会头衔、荣誉: 东南大学 社会导师 北京石油化工学院 社会导师 解放军报社 技术顾问 北京安妮福克斯信息咨询有限公司 兼职软件工程师

相关技术

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部