开发者

Python中文分词工具使用详解

开发者 https://www.devze.com 2024-10-25 09:19 出处:网络 作者: matrixlzp
目录一、场景分析二、中文分词库试用1、jieba(结巴分词)2、SnowNLP3、thulac(清华大学自然语言处理与社会人文计算实验室开发的中文词法分析工具包)三、总结四、实战案例一、场景分析js
目录
  • 一、场景分析
  • 二、中文分词库试用
    • 1、jieba(结巴分词)
    • 2、SnowNLP
    • 3、thulac(清华大学自然语言处理与社会人文计算实验室开发的中文词法分析工具包)
  • 三、总结
    • 四、实战案例

      一、场景分析js

      我们平常爬地图 POI 数据的时候,会得到大量的中文地址信息,比如【厦门大学附属中山医院】这个时候,就需要做中文分词,以便进一步分析。

      二、中文分词库试用

      1、jieba(结巴分词)

      pip install jieba

      test1.py 代码如下:

      import jieba
       
      text = "厦门大学附属中山医院"
      words = jieba.cut(text)
      print( list(words) )
      

      运行

      py test1.py

      Python中文分词工具使用详解

      2、SnowNLP

      pip install snownlp
      

      test2.py  代码如下:

      from snownlp import SnowNLP
       
      text = "厦门大学附属中山医院"
      s = SnowNLP(text)
      words = s.words
      print(words)
      

      运行

      py test2.py

      Python中文分词工具使用详解

      3、thulac(清华大学自然语言处理与社会人文计算实验室开发的中文词法分析工具包)

      pip install thulac
      

      test3.py 代码如下:

      http://www.devze.com
      import thulac
       
      thu = thulac.thulac()
      text = "厦门大学附属中山医院"
      result = thu.cut(text)
      print(result)
      

      运行

      py test3.py

      Python中文分词工具使用详解

      三、总结

      通过试用,发现三款分词库都能准确的把词条进行分词。

      thulac 分词结果,因为加入了 词性标注,结果比较复杂。

      jieba 的结果最简单,也最接近自然语言。

      四、实战案例

      从一个 txt 读入一批中文词条,进行分词,然后把分词结果写入 excel 文件中。

       test.py 代码如下:

      import jieba
      from openpyxl import Workbook
       
      # 创建一个新的工作簿
      wb = Workbook()
      # 选择默认的活动工作表
      ws = wb.active
       
      # 向工作表中写入表头
      ws['A1'] = '分词'
       
      # 读取文件
      input_path = r"C:\Users\Administrator\Desktop\py\split words\demo编程\address.txt"
      with open(input_path, 'r', encoding='utf-8') as input_file:
          for line in input_file:
              word = line.strip()
              print("---------"+word)
              words = jieba.cut( word )
              ll = list(words)
              for item in ll:
                  print(item.strip())
                  temp_list = [DirZqythTN]
                  temp_list.append( item.strip() )
                  ws.append(temp_list) 
                       
      input_file.close()
      # 保存工作簿
      wb.save('output.xlsx')

      address.txt 如下:

      厦门大学思明校区

      厦门大学附属中山医院

      厦门南洋职业学院

      集美大学

      运行

      py test.py

      Python中文分词工具使用详解

      output.xlsx 如下:

      Python中文分词工具使用详解

      到此这篇关于python中文分词工具使用详解的文章就介绍到这了,更多相关Python中文分词内容请搜索编程客栈(www.cppcnsjavascript.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

      0

      精彩评论

      暂无评论...
      验证码 换一张
      取 消

      关注公众号