专利信息,顾名思义,是一个“专利”与“信息”的交叉学科。往大了说,“专利”可归属于法律领域,而“信息”则归属于计算机领域,这两个领域本身就有极高的门槛,尤其是计算机领域的专业性极强,相比而言,专利知识反倒是更易于学习。

因此,有不少从计算机领域跨界到专利领域,而鲜有从专利领域跨界到计算机领域的。但是,随着高级编程语言的逐步普及,普通人学习编程的难度正在逐步降低。今天,笔者给各位读者介绍Python编程语言,以期帮助感兴趣的专利人士找到一条跨界捷径。
若宫雅子的故事

很多读者一谈到“编程”、“代码”、“程序员”等词汇,再看到花花绿绿的代码,还没开始学习就先打了退堂鼓,大学时代受“C语言”虐待的恐惧感油然而生。毕竟现在社会化分工越来越细,并不是每个专利信息从业人员都非得去学一门编程语言。但是,对于那些希望在专利信息领域深耕或对编程有浓厚兴趣的人,笔者认为是确有必要的。

为给大家打气,在介绍Python语言之前,先讲一个日本老太太的故事。老太太叫若宫雅子,今年已经82岁高龄,60岁退休后她购买了自己的第一台电脑并开始自学编程。2017年2月,她开发的第一款游戏「雏坛」(Hinadan)在 App Store 日本区上架,迄今下载量已超过4.2万次,她也成为全球年龄最大的 iOS 开发者。可见,只要有一颗想学习的心,任何时候开始都不算晚!
初识Python

Python语言是在八十年代末和九十年代初,由Guido van Rossum在荷兰国家数学和计算机科学研究所设计出来的。“Python”这个词实际是来自于作者喜欢的一个喜剧团体(Monty Python),也是“大蟒蛇”的意思,因此,Python语言的logo也是蟒蛇的形象。关于Python语言的标签一般有“简单易学”、“优雅”、“胶水语言”,还有“人生苦短、我用Python”的情怀标语。用专业一点的描述来说,Python是一种面向对象、动态的、强类型解释型语言。

Python本来是一个比较小众的语言,但是近年来随着机器学习及人工智能的兴起,Python在数据处理方面的优势,Python语言一下子就火热起来。根据2017年IEEE Spectrum 发布了第四届顶级编程语言交互排行榜,Python甚至荣登榜首[1]。在2018年1月HankerRank发布了2018年开发者技能调查报告中,在“最受雇主青睐的编程语言”中排名第三,而在爱恨指数排名中,Python 则赢得了全年龄段开发者的芳心[2]。

关于Python的基础知识,本文不打算展开,而是重点介绍Python与专利数据处理相关几个工具包:Pandas、NLTK和Scikit-learn。
数据处理工具包:Pandas
Pandas是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来。Pandas的名称来自于面板数据(panel data)和python数据分析(data analysis),从其名称就可以反映出,这个工具包就是专门来处理数据的。

对于首次接触Pandas的读者,可以用Excel来进行一个简单的类比。Pandas中提供了一种二维表格型数据结构:Dataframe,可以将其类比于Excel 中的一张表。这样所有Excel中的数据处理和数据分析的功能可以全部在DataFrame上来实现。

下面以读取Excel专利数据文件,对数据进行遍历并进行简单分析示例。可见,利用Pandas可以将在Excel中的分析过程进行自动化,从而减少重复工作,提升分析效率。


以上只是以利用Pandas来模拟Excel中的分析操作,实际上,Pandas的数据处理功能远远要强于Excel,如果要深入研究数据处理,Pandas是非常值得学习和研究的。
自然语言处理工具包:NLTK
NLTK的全称是natural language toolkit,是一套基于python的自然语言处理工具集。在NLTK集成了常用的文本分析功能,例如词频统计、相似词的查找、二词搭配情况、单词出现的位置图、分词、词性标注、文本分类等等。关于nltk的应用涉及到大量自然语言处理的知识,本文仅以处理专利文本作为一个简单示例,让各位读者简单了解这个工具。

输出结果:


上述结果仅是示例性的初步结果,其中明显还有很多专利中的高频词、标点符号以及虚词,对于中文分词还需要进一步的优化。
机器学习工具包:Scikit-learn

Python真正火起来,是因为机器学习以及人工智能的兴起。在Coursera上早期推出的一系列机器学习公开课均是非常推崇Python。目前,Python在机器学习领域有很多开源工具包,Scikit-learn是非常重要的一个。

Scikit-learn项目最早由数据科学家 David Cournapeau 在 2007 年发起,是Python语言中专门针对机器学习应用而发展起来的一款开源框架。Scikit-learn的基本功能主要被分为六大部分:分类,回归,聚类,数据降维,模型选择和数据预处理。

对于机器学习来说,比较复杂的在于各种机器学习的算法,例如支持向量机(SVM),最近邻,逻辑回归,随机森林,决策树以及多层感知器(MLP)神经网络等,而这些算法均在Scikit-learn中实现,也就是说只需要调用简单的命令就可以运用各种复杂的机器学习算法,而让人将重点放在训练集的获取以及结果的分析和调试上。

下面将针对某专利数据集采用逻辑回归预测的简单示例。

本文只是概要地为大家介绍了Python以及在专利数据处理中非常著名的几个工具包,对于python的基础知识并没有详细涉及,因为这些内容通过搜索很容易获取。此外,上述三个工具包也对应着三个重要的数据处理方向,其内容也非常博大精深,需要在实践中进一步学习积累。

学习一门编程语言,笔者认为并不是一定要从事开发工作,而是有其他多种意义:一方面是可以更好理解编程思想,从而清楚地认识当下的互联网世界;另一方面是可以将开源世界中的资源为我所用,以更好的来解决本领域中遇到的问题;再者,掌握一门编程语言,可以脱离既有软件工具的束缚,能够获得更加自由的想象力。而以Python作为开始,无疑是一个比较合适的选择。

最后以Python的标志性标语来结束本文:
人生苦短 我用Python

人生苦短 我用Python相关推荐

  1. go加载python_人生苦短我用python(02)动态加载模块-Go语言中文社区

    文章内容为原创,欢迎转载请注明出处 作者: EflyPro->晦明禅师 文章来源:公众号"睿江云计算" 继第一期[人生苦短我用Python系列专栏]发布后,深受广大睿普迷的一 ...

  2. nginx配合python_人生苦短我用python[0x02] nginx与python结合

    原标题:人生苦短我用python[0x02] nginx与python结合 **文章内容为原创,欢迎转载请注明出处** 背景 nginx是一款高性能的http服务器,python是一门无论做系统开发还 ...

  3. **print('人生苦短 我爱Python')**

    print('人生苦短 我爱Python') 一.变量 **""" 1.代码自上而下执行 2_运算符和表达式.一行一句,不要把多个语句写到一行上,可读性不好 3中文只能出 ...

  4. python动态加载模块有什么用_人生苦短我用python(02)动态加载模块

    继第一期[人生苦短我用Python系列专栏]发布后,深受广大睿普迷的一致好评,经常问小普第二期什么时候出呀?好期待~ 来来来小普这就呈上第二期[02动态加载模块] 错过了第一期的小伙伴们可以点此穿越哦 ...

  5. python删除文件夹无法访问_人生苦短 我学Python——anaconda和Jupyter notebook安装使用...

    一.人生苦短 我学Python 为什么学习Python? 1.应用范围广 很多网站是用Python开发的,比如豆瓣,还有YouTube等等. 2.效率高,和其他编程语言对比,可以用少得多的代码写出相同 ...

  6. 人生苦短我用python壁纸_人生苦短我用Python分分钟下载知乎美图给你看

    为什么说"人生苦短,我用python"? 为什么说人生苦短我用python Question 1 Python是什么 2 人们为什么用Python 3 Python是脚本语言吗 P ...

  7. 人生苦短,似乎python也解决不了人到中年的问题

    人生苦短,似乎python也解决不了人到中年的问题 感觉人一过了30岁,这时间就像原来的涓涓细流,变成洪水猛兽,越来越快,对于一个80后来说,仿佛社会上所有的一切,都在渐渐遗忘你,从不停的得到,到不断 ...

  8. 人生苦短我用python

    在Python开发领域流传着这样一句话:人生苦短,我用Python,这句话出自Bruce Eckel,原文是:Life is short,you need Python.使用过Python语言的程序员 ...

  9. 人生苦短我学python表情包_Python自动生成表情包

    原标题:Python自动生成表情包 源| 创业智库文| 唐一 作为一个数据分析师,应该信奉一句话----"一图胜千言".不过这里要说的并不是数据可视化,而是一款全民向的产品形态-- ...

最新文章

  1. 学习《Linux设备模型浅析之设备篇》笔记(一)
  2. 使用getopt处理shell脚本的参数
  3. 有经验的程序员应该如何提升自己
  4. python列表字典操作_Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结...
  5. 远程连接linux(Ubuntu配置SSH服务)22端口
  6. 计算机七年级书籍段落,七年级下册片段.doc
  7. java 获取oracle mysql sqlserver 链接 connection
  8. MySQL 优化 —— SQL优化概述(优化专题开篇词)
  9. linux很容易忽略的rz上传、sz下载命令
  10. gstat | 空间插值(四)——克里金插值之协同克里金和交叉验证
  11. LabelSmoothing标签平滑
  12. SpringBoot+zk+dubbo架构实践(四):sb+zk+dubbo框架搭建(内附源码GitHub地址)
  13. 计算机在现代设计技术中应用,计算机技术在现代建筑设计中的应用
  14. 世界银行贷款可持续发展农业项目商业计划书
  15. 解决easyui-tabs 适应ie窗口大小显示不全的问题
  16. 点击图片播放音乐实现
  17. 求求你们,这次不要放过东北
  18. java trim函数的使用方法_java trim的用法实例详解
  19. Ubuntu服务器上用CornerNet-Squeeze训练自己的模型
  20. FreeBSD安装调试

热门文章

  1. 计算机桌子用英语怎么画,如何用AI绘制一个简单的办公桌?
  2. secure CRT 7 注册码
  3. 一文项目阶段性评审报告及常见问题【附实例模板】
  4. 2019携程技术峰会完美落幕
  5. 爬取豆瓣网app软件数据
  6. 非完整约束轮式机器人运动控制器-笔记1
  7. Android的anki时间间隔因子,Anki常见使用问题
  8. SAD与SATD的对比,以及一些相关扩展
  9. python路径拼接os.path.join()函数完全教程
  10. JavaScript【流程控制】【数组】【函数】【函数作用域】经典!!