欢迎光临本店     登录 注册   加入收藏
  •   
欢迎光临清华大学出版社第三事业部!

此页面上的内容需要较新版本的 Adobe Flash Player。

获取 Adobe Flash Player

当前位置: 首页 > 科技 > 计算机与网络 > 程序语言与软件开发 > Java中文文本信息处理——从海量到精准

浏览历史

Java中文文本信息处理——从海量到精准

Java中文文本信息处理——从海量到精准

prev next

  • 商品货号:20171020004
  • 商品重量:0克
    作者:罗刚,张子宪,崔智杰
    出版社:清华大学出版社
    图书书号/ISBN:978-7-302-46936-0
    出版日期:20170501
    开本:16开
    图书页数:408
    图书装订:平装
    版次:1
    字数:619000
    所属分类:TP312.8
  • 上架时间:2017-10-20
    商品点击数:592
  • 定价:¥56.00元
    本店售价:¥56.00元
    注册用户:¥56.00元
    vip:¥53.20元
    黄金等级:¥50.40元
    用户评价: comment rank 5
  • 商品总价:
  • 购买数量:

内容简介:

商品附加资源

内容简介

 本书以让零基础的读者通过自学完成一个中文分词系统为目标,从Java基础语法开始讲解,然后介绍文本处理相关的数据结构和算法,最后介绍如何实现文本切分和词性标注。
本书是介绍业界热门的以Java开发中文分词技术的唯一书籍。本书选取相关领域的经典内容,深入理解和挖掘,也综合了实践性强的创新想法,适合对软件开发感兴趣的青少年或者大学生阅读和学习。

前    言

  

  “前门到了,请在后门下车。”把“前门”标注成地名就容易理解这句话了。从种地到买菜、买房、养生保健以及投资理财等,都可以用到中文分词等文本信息挖掘技术。

  各行业都在构建越来越复杂的软件系统,很多系统都会用到文本处理技术。但是即使在计算机专业,也有很多人对文本信息处理相关技术不太了解。其实,学习相关技术的门槛并不高。而本书就是为了普及相关开发而做的一次新的尝试,其中也结合了作者自己的研究成果,希望为推动相关应用的发展做出贡献。

  本书借助计算机语言Java实现中文文本信息处理,试图通过恰当的数据结构和算法来应对一些常见的文本处理任务。相关代码可以从清华大学出版社的网站下载。

  本书的第1章到第3章介绍了相关的Java开发基础。第4章介绍处理文本所用到的有限状态机基本概念和具体实现。第5章介绍相关的基础数据结构。第6章到第9章介绍中文分词原理与实现。

  书中的很多内容来源于作者的开发和教学实践。作者的实践经验还体现在相关的其他书中,如《自己动手写搜索引擎》、《自然语言处理原理与技术实现》、《自己动手写网络爬虫》、《使用C#开发搜索引擎》、《解密搜索引擎技术实战》等。相对于作者编写的其他书籍,本书更加注意零基础入门。

  学习是个循序渐进的过程。可以在读者群中共同学习。群体往往比单个人有更多的智慧产出。为了构建出更好的技术群体,请加读者QQ群(453406621)交流。希望快速入门的读者也可以参加相关培训。这本书最开始是为一位从苏州专门来北京现场学习的学员入门中文分词而编写。感谢他为编写本书提供的帮助。

  也希望通过本书能结识更多的同行。有您真诚的建议,我们会发展得更好。例如,通过与同行的交流,让我们的数量、日期等量化信息的提取工具更加成熟。当前,语义分析等文本处理技术仍然需要更深入的发展,来更好地支持各行业的智能软件开发。

  本书由罗刚、张子宪、崔智杰编著,参与本书编写的还有石天盈、张继红、童晓军,在此一并表示感谢。感谢开源软件和我们的家人、关心我们的老师和朋友、创业伙伴,以及选择猎兔自然语言处理软件的客户多年来的支持。

   

  编  者  

目    录

第1章  Java软件开发 1

1.1  背景 3

1.1.1  好身体是一切成功的保证 3

1.1.2  路线图 4

1.1.3  Java 4

1.2  软件工具 7

1.2.1  搜索引擎 7

1.2.2  Windows命令行 8

1.2.3  机器翻译 9

1.2.4  Linux 10

1.2.5  源代码比较工具 11

1.3  Java基础 11

1.3.1  准备开发环境 11

1.3.2  Eclipse 13

1.4  本章小结 17

第2章  结构化程序设计 19

2.1  基本数据类型 19

2.2  变量 20

2.2.1  表达式执行顺序 22

2.2.2  简化的运算符 23

2.2.3  常量 24

2.3  控制结构 25

2.3.1  语句 25

2.3.2  判断条件 25

2.3.3  三元运算符 27

2.3.4  条件判断 27

2.3.5  循环 31

2.4  方法 36

2.4.1  main方法 41

2.4.2  递归调用 41

2.4.3  方法调用栈 42

2.5  数组 42

2.5.1  数组求和 45

2.5.2  计算平均值举例 45

2.5.3  前趋节点数组 46

2.5.4  快速复制 47

2.5.5  循环不变式 49

2.6  字符串 50

2.6.1  字符编码 52

2.6.2  格式化 53

2.6.3  增强switch语句 54

2.7  数值类型 54

2.7.1  类型转换 58

2.7.2  整数运算 59

2.7.3  数值运算 60

2.7.4  位运算 61

2.8  安装Java 69

2.8.1  服务器端安装 69

2.8.2  自动安装Java 70

2.9  提高代码质量 72

2.9.1  代码整洁 72

2.9.2  单元测试 72

2.9.3  调试 73

2.9.4  重构 73

2.10  本章小结 74

第3章  面向对象编程 77

3.1  类和对象 77

3.1.1  类 78

3.1.2  类方法 78

3.1.3  类变量 79

3.1.4  实例变量 79

3.1.5  构造方法 82

3.1.6  对象 84

3.1.7  实例方法 87

3.1.8  调用方法 89

3.1.9  内部类 89

3.1.10  克隆 90

3.1.11  结束 91

3.2  继承 92

3.2.1  重写 92

3.2.2  继承构造方法 94

3.2.3  接口 95

3.2.4  匿名类 98

3.2.5  类的兼容性 98

3.3  封装 98

3.4  重载 99

3.5  静态 100

3.5.1  静态变量 100

3.5.2  静态类 100

3.5.3  修饰类的关键词 101

3.6  枚举类型 101

3.7  集合类 105

3.7.1  动态数组 105

3.7.2  散列表 106

3.7.3  泛型 109

3.7.4  Google Guava集合 112

3.7.5  类型擦除 112

3.7.6  遍历 114

3.7.7  排序 117

3.7.8  lambda表达式 119

3.8  比较 119

3.8.1  Comparable接口 119

3.8.2  比较器 120

3.9  SOLID原则 122

3.10  异常 123

3.10.1  断言 123

3.10.2  Java中的异常 124

3.10.3  从方法中抛出异常 126

3.10.4  处理异常 128

3.10.5  正确使用异常 130

3.11  字符串对象 132

3.11.1  字符对象 135

3.11.2  查找字符串 135

3.11.3  修改字符串 136

3.11.4  格式化 136

3.11.5  常量池 137

3.11.6  关于对象不可改变 139

3.12  日期 140

3.13  大数对象 141

3.14  给方法传参数 142

3.14.1  基本类型和对象 143

3.14.2  重载 145

3.15  文件操作 146

3.15.1  文本文件 146

3.15.2  二进制文件 149

3.15.3  文件位置 152

3.15.4  读写Unicode编码的文件 153

3.15.5  文件描述符 155

3.15.6  对象序列化 156

3.15.7  使用IOUtils 160

3.16  Java类库 161

3.16.1  使用Java类库 162

3.16.2  构建JAR包 163

3.16.3  使用Ant 167

3.16.4  生成JavaDoc 167

3.16.5  ClassLoader 168

3.16.6  反射 172

3.17  编程风格 173

3.17.1  命名规范 173

3.17.2  流畅接口 174

3.17.3  日志 175

3.18  IDEA 181

3.19  实例 181

3.20  本章小结 183

第4章  处理文本 185

4.1  字符串操作 185

4.2  有限状态机 188

4.2.1  从NFA到DFA 190

4.2.2  DFA 194

4.2.3  DFA交集 197

4.2.4  DFA并集 203

4.2.5  有限状态转换 204

4.3  本章小结 207

第5章  数据结构 209

5.1  链表 209

5.2  树算法 210

5.2.1  标准Trie树 211

5.2.2  链表Trie树 221

5.2.3  二叉搜索树 223

5.2.4  数组形式的二叉树 227

5.2.5  三叉Trie树 233

5.2.6  三叉Trie树交集 244

5.2.7  Trie树词典 245

5.2.8  平衡Trie树 249

5.2.9  B树 250

5.3  双数组Trie 251

5.4  队列 257

5.4.1  链表实现的队列 257

5.4.2  优先队列 258

5.4.3  找出前k个最大的元素 261

5.5  堆栈 262

5.6  双端队列 264

5.7  散列表 268

5.7.1  快速查找的散列表 269

5.7.2  HashMap 272

5.7.3  应用散列表 276

5.7.4  开放式寻址 279

5.7.5  布隆过滤器 282

5.7.6  SimHash 284

5.8  图 286

5.8.1  表示图 287

5.8.2  遍历图 295

5.9  大数据 297

5.10  本章小结 297

第6章  算法 299

6.1  贪婪法 299

6.2  分治法 301

6.3  动态规划 302

6.4  在中文分词中使用动态规划算法 303

6.5  本章小结 310

第7章  最长匹配分词 311

7.1  正向最大长度匹配法 312

7.2  逆向最大长度匹配法 316

7.3  处理未登录串 320

7.4  开发分词 324

7.5  本章小结 326

第8章  概率语言模型的分词方法 327

8.1  一元模型 328

8.2  整合基于规则的方法 334

8.3  表示切分词图 336

8.4  形成切分词图 342

8.5  数据基础 344

8.5.1  文本形式的词表 344

8.5.2  数据库词表 348

8.6  改进一元模型 349

8.7  二元词典 352

8.8  完全二叉数组 357

8.9  三元词典 360

8.10  N元模型 361

8.11  N元分词 362

8.12  生成语言模型 368

8.13  评估语言模型 369

8.14  概率分词的流程与结构 370

8.15  本章小结 371

第9章  词性标注 373

9.1  数据基础 376

9.2  隐马尔科夫模型 377

9.3  存储数据 385

9.4  统计数据 390

9.5  整合切分与词性标注 392

9.6  知识型词性序列标注 396

9.7  本章小结 396

参考资源 397

后记 398

 

 

商品标签

购买记录(近期成交数量0)

还没有人购买过此商品
总计 0 个记录,共 1 页。 第一页 上一页 下一页 最末页

用户评论(共0条评论)

  • 暂时还没有任何用户评论
总计 0 个记录,共 1 页。 第一页 上一页 下一页 最末页
用户名: 匿名用户
E-mail:
评价等级:
评论内容:
验证码: captcha