资讯专栏INFORMATION COLUMN

Python开展文字识别中的省份并绘图

89542767 / 583人阅读

  正在进行NLP(自然语言处理)相关任务完成后,经常碰到务必辨别并获得省、大都市、行政区的需求。今天给大家介绍1个模块,你只需将结构体数组传递给这个模块,他就可以给你返回这个结构体数组内的省、市、区关键词,赶紧一起来了解一下


  正在进行NLP(自然语言处理)相关任务完成后,经常碰到务必辨别并获得省、大都市、行政区的需求。虽然自身依据关键词表1个一个搜索也可以实现获得目的,但必须要先搜集省份关键词表,相对而言比较复杂。


  今天给大家介绍1个模块,你只需将结构体数组传递给这个模块,他就可以给你返回这个结构体数组内的省、市、区关键词,并可以给你在图片里标出下去,它是Cpca模块。

01.png

  1.打算


  开始前,你需要保证Python和pip已成功组装电脑上,要是没有,能够网站访问本文:超全Python组装手册开展组装。


  (可选择1)假如你用了Python的目的在于数据统计分析,能直接组装Anaconda,它自带了Python和pip.


  (可选择2)除此之外,建议大家用VSCode在线编辑器,它有很多的优势


  挑选下列任一种方法输入指令组装依靠:


  1.Windows自然环境开启Cmd(逐渐-运作-CMD)。


  2.MacOS自然环境开启Terminal(command+空格符键入Terminal)。


  3.假如你用的都是VSCode在线编辑器或Pycharm,能够直接用页面下方Terminal.

  pipinstallcpca


  留意,现阶段cpca模块仅适用Python3或以上版本号。


  在windows上有可能出现类似如下所示难题:

  Buildingwheelforpyahocorasick(setup.py)...error


  先阅读去免费下载MicrosoftVisualC++BuildTools组装VC++构建工具,再重新pipinstallcpca,就可以处理问题。


  2.基本使用


  通过两行代码就能实现最基本的省市区提取:


  #公众号:Python实用宝典
  #2022/06/23
  import cpca
  location_str=[
  "广东省深圳市福田区巴丁街深南中路1025号新城大厦1层",
  "特斯拉上海超级工厂是特斯拉汽车首座美国本土以外的超级工厂,位于中华人民共和国上海市。",
  "三星堆遗址位于中国四川省广汉市城西三星堆镇的鸭子河畔,属青铜时代文化遗址"
  ]
  df=cpca.transform(location_str)
  print(df)

  效果如下:

02.png

  省市区地址adcode


  0广东省深圳市福田区巴丁街深南中路1025号新城大厦1层440304


  1上海市None None。310000


  2四川省德阳市广汉市城西三星堆镇的鸭子河畔,属青铜时代文化遗址510681


  注意第三条的广汉市,cpca不仅识别到了语句中的县级市广汉市,还能自动匹配到其代管市的德阳市,不得不说非常强大。


  如果你想获知程序是从字符串的那个位置提取出省市区名的,可以添加一个pos_sensitive=True参数:


  #公众号:Python实用宝典
  #2022/06/23
  import cpca
  location_str=[
  "广东省深圳市福田区巴丁街深南中路1025号新城大厦1层",
  "特斯拉上海超级工厂是特斯拉汽车首座美国本土以外的超级工厂,位于中华人民共和国上海市。",
  "三星堆遗址位于中国四川省广汉市城西三星堆镇的鸭子河畔,属青铜时代文化遗址"
  ]
  df=cpca.transform(location_str,pos_sensitive=True)
  print(df)
  效果如下:
  (base)G:push20220623>python 1.py
  省市区地址adcode省_pos市_pos区_pos
  0广东省深圳市福田区巴丁街深南中路1025号新城大厦1层440304 0 3 6
  1上海市None None。310000 38-1-1
  2四川省德阳市广汉市城西三星堆镇的鸭子河畔,属青铜时代文化遗址510681 9-1 12
  它标记出了识别到省、市、区的关键位置(index),当然如果是德阳市这种特殊的识别会被标记为-1.


  3.高级使用


  它还可以从大段文本中批量识别多个地区:


  #公众号:Python实用宝典
  #2022/06/23
  import cpca
  long_text="对一个城市的评价总会包含个人的感情。如果你喜欢一个城市,很有可能是喜欢彼时彼地的自己。"
  "在广州、香港读过书,工作过,在深圳买过房、短暂生活过,去北京出了几次差。"
  "想重点比较一下广州、深圳和香港,顺带说一下北京。总的来说,觉得广州舒适、"
  "香港精致、深圳年轻气氛好、北京大气又粗糙。答主目前选择了广州。"
  df=cpca.transform_text_with_addrs(long_text,pos_sensitive=True)
  print(df)
  效果如下:
  (base)G:push20220623>python 1.py
  省市区地址adcode省_pos市_pos区_pos
  0广东省广州市None 440100-1 44-1
  1香港特别行政区None None 810000 47-1-1
  2广东省深圳市None 440300-1 58-1
  3北京市None None 110000 71-1-1
  4广东省广州市None 440100-1 86-1
  5广东省深圳市None 440300-1 89-1
  6香港特别行政区None None 810000 92-1-1
  7北京市None None 110000 100-1-1
  8广东省广州市None 440100-1 110-1
  9香港特别行政区None None 810000 115-1-1
  10广东省深圳市None 440300-1 120-1
  11北京市None None 110000 128-1-1
  12广东省广州市None 440100-1 143-1
  不仅如此,模块中还自带一些简单绘图工具,可以在地图上将上面输出的数据以热力图的形式画出来:
  #公众号:Python实用宝典
  #2022/06/23
  import cpca
  from cpca import drawer
  long_text="对一个城市的评价总会包含个人的感情。如果你喜欢一个城市,很有可能是喜欢彼时彼地的自己。"
  "在广州、香港读过书,工作过,在深圳买过房、短暂生活过,去北京出了几次差。"
  "想重点比较一下广州、深圳和香港,顺带说一下北京。总的来说,觉得广州舒适、"
  "香港精致、深圳年轻气氛好、北京大气又粗糙。答主目前选择了广州。"
  df=cpca.transform_text_with_addrs(long_text,pos_sensitive=True)
  drawer.draw_locations(df[cpca._ADCODE],"df.html")


  运行的时候可能会报这个错:


  (base)G:push20220623>python 1.py
  Traceback(most recent call last):
  File"1.py",line 12,in<module>
  drawer.draw_locations(df[cpca._ADCODE],"df.html")
  File"G:Anaconda3libsite-packagescpcadrawer.py",line 41,in draw_locations
  import folium
  ModuleNotFoundError:No module named'folium'
  使用pip安装即可:
  pip install folium


  然后重新运行代码,会在当前目录下生成df.html,双击打开,效果如下:


  怎么用,是不是感觉非常方便?以后地点的识别用这个模块就完全够了。


  还有更多的细节你可以访问这个项目的Github主页阅读,该项目的README完全中文编写,非常容易阅读:

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/130266.html

相关文章

  • 爬取淘宝上4000条月饼数据,制作了一个酷炫的可视化大屏!

    摘要:基于此,我爬取了淘宝上多条月饼的销售数据,为大家展示了一幅漂亮的可视化大屏,解决大家心目中的问题。模块的安装与配置这次爬取淘宝,采用的是最简单的方式控制浏览器进行自动化操作,中途只需要扫码登陆一次,即可完成整个数据的爬取。 ...

    cod7ce 评论0 收藏0
  • python matplotlib库绘图实战之绘制散点图

      众所周知,Python有着很强大的技术能力,比如,他可以进行实战绘图,还有这很强的函数能力,可以进行绘制散点图,下面小编就具体的功能,给大家进行详细的介绍下。  一、导入库importmatplotlib.pyplotasplt  二.设置文字  plt.title("doublenumber",fontsize=24)   plt.xlabel("number&...

    89542767 评论0 收藏0
  • Python--matplotlib绘图可视化知识点整理

    摘要:本文作为学习过程中对一些常用知识点的整理,方便查找。所有绘图操作仅对当前图和当前坐标有效。表示把图标分割成的网格。每个对象都是一个拥有自己坐标系统的绘图区域。避免比例压缩为椭圆数据可视化入门教程绘图核心剖析如何调整子图的大小 本文作为学习过程中对matplotlib一些常用知识点的整理,方便查找。 强烈推荐ipython无论你工作在什么项目上,IPython都是值得推荐的。利用ipyt...

    nifhlheimr 评论0 收藏0
  • 数据可视化Seaborn从零开始学习教程(一) 风格选择

    摘要:简介同一样,也是进行数据可视化分析的重要第三方包。的五种绘图风格有五种的风格,它们分别是。 作者:xiaoyu微信公众号:Python数据科学知乎:python数据分析师 最近在做几个项目的数据分析,每次用到seaborn进行可视化绘图的时候总是忘记具体操作。虽然seaborn的官方网站已经详细的介绍了使用方法,但是毕竟是英文,而且查找不是很方便。因此博主想从零开始将seaborn学...

    testbird 评论0 收藏0
  • 如何运用python完成Sim哈希算法

      此篇文章主要是阐述了如何运用python完成Sim哈希算法,文章内容依托于python的相关信息开展Sim哈希算法的详细介绍一下,具有很强的参考意义,感兴趣的朋友可以了解一下  1.为何需用Simhash?  传统式相关性优化算法:语义相似度测算,一般采用线性空间实体模型(VSM),先向文字中文分词,提取特征,依据特点创建文字空间向量,把文字中间相关性测算转化成矩阵的特征值之间的距离测算,如欧...

    89542767 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<