当前位置: 首页 > news >正文

python实现分词器

在Python中实现分词有很多方法,具体取决于你的应用场景和数据。下面我会介绍一种常用的分词库——jieba。如果你的数据是英文,你也可以使用nltk库。

中文分词

使用jieba进行中文分词:

首先,你需要安装jieba库。如果还未安装,请在命令行输入以下命令:

pip install jieba

使用下面的代码进行分词

import jieba  sentence = "我来到北京清华大学"  
words = jieba.cut(sentence)  
print(' '.join(words))

 

运行以上代码,输出结果为:“我 来 到 北京 清华大学”

jieba.cut`方法返回的是一个可迭代的generator,也可以直接在for循环中使用它。

英文分词

首先,需要安装nltk库。如果还未安装,请在命令行输入以下命令

pip install nltk

然后使用下面的代码进行分词: 

import nltk  sentence = "I am going to the park"  
words = nltk.word_tokenize(sentence)  
print(words)

 

运行以上代码,输出结果为:['I', 'am', 'going', 'to', 'the', 'park']

注意:对于nltk库,如果你的数据是英文,可以直接使用nltk.word_tokenize方法;如果是中文,需要先下载并使用nltk.download('punkt')来下载英文分词器。

多种语言分词

使用spacy可以完成多国语言分词

spacy官网

https://spacy.io/

安装spacy(时间微长)

pip install spacy

安装字典这里以英文中文为例,其他参考官网

#中文
python -m spacy download zh_core_web_sm
#英文
python -m spacy download en_core_web_sm

分词(判断是不是一个句子)

def is_a_word(lang_code, text):print(">>>>>>>>>>>>>>>>>>>>>>>>>>>>is_a_word")print(lang_code)if lang_code.lower() == "en":nlp = spacy.load("en_core_web_sm")  # 加载英文模型elif lang_code.lower() == "zh":nlp = spacy.load("zh_core_web_sm")  # 加载中文模型elif lang_code.lower() == "fr":nlp = spacy.load("fr_core_news_sm")  # 加载法语模型elif lang_code.lower() == "de":nlp = spacy.load("de_core_news_sm")  # 加载德语模型elif lang_code.lower() == "es":nlp = spacy.load("es_core_news_sm")  # 加载西班牙语模型elif lang_code.lower() == "it":nlp = spacy.load("it_core_news_sm")  # 加载意大利模型else:print("输入了非法的语言Code")return Falsedoc = nlp(text)tokens = [token.text for token in doc]return len(tokens) == 1 and tokens[0] == text

http://www.lryc.cn/news/191733.html

相关文章:

  • 第五十二章 学习常用技能 - Global 映射
  • vue实现瀑布流
  • 【虹科干货】Redis Enterprise 自动分层技术:大数据集高性能解决方案
  • 代码随想录训练营二刷第五十四天 | 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组
  • LeetCode 2562. 找出数组的串联值【数组,相向双指针】1259
  • SpringBoot使用的时间与空间计量单位
  • 【使用 TensorFlow 2】02/3 使用 Lambda 层创建自定义激活函数
  • docker--使用docker login 报错解决方案
  • leetcode oj
  • 黑马点评-05缓存穿透问题及其解决方案,缓存空字符串或使用布隆过滤器
  • Flink之窗口聚合算子
  • K8S:Rancher管理 Kubernetes 集群
  • 后台运行python程序并查看运行的python 进程
  • 树莓派部署.net core网站程序
  • 淘宝商品评论数据接口,淘宝商品评论API接口
  • 455. 分发饼干
  • GEE:数据预处理的细节(处理顺序。比如, select() 和 filter() 要优先于 map())
  • 【AHK】任务栏调节音量/边缘滚动调节/边缘触发
  • Chrome插件 — ReRes
  • 前端面试基础面试题——9
  • tomcat 问题
  • 小程序首页如何进行装修设置
  • npm安装依赖报错npm ERR! code ENOTFOUND npm ERR! errno ENOTFOUND、npm run dev报错记录
  • 堆叠注入([强网杯 2019]随便注1)
  • 零基础Linux_15(基础IO_文件)软硬链接+动静态库详解
  • 计算机毕业设计选什么题目好?springboot 健身房管理系统
  • 两台linux 之间传输文件 (详细+bash脚本)
  • 嵌入式系统开发【深入浅出】 EXTI 与 NVIC
  • 【Kali】简单记录
  • 【数据结构】:队列的实现