在工作中用到将英文句子分词, 然后判断每个分词是否为英文单词,现记录如下:
句子拆分有两种方法,产生的结果各有不同

1. 拆分句子

1.1 TweetTokenizer 保证标签完整性
1.2 word_tokenize 将所有标签拆分

from nltk import word_tokenize
from nltk.tokenize import TweetTokenizer
tt = TweetTokenizer(True,False,True)
tweet = "This is a cooool #dummysmiley: :-) :-P <3 and some arrows < > -> <-- @remy: This is waaaaayyyy too much for you!!!!!!"
tweet_tokenizer = tt.tokenize(tweet)
word = word_tokenize(tweet)
print(tweet_tokenizer)
print(word)

结果如下:

['This', 'is', 'a', 'cooool', '#dummysmiley', ':', ':-)', ':-P', '<3', 'and', 'some', 'arrows', '<', '>', '->', '<--', ':', 'This', 'is', 'waaaaayyyy', 'too', 'much', 'for', 'you', '!', '!', '!']
['This', 'is', 'a', 'cooool', '#', 'dummysmiley', ':', ':', '-', ')', ':', '-P', '<', '3', 'and', 'some', 'arrows', '<', '>', '-', '>', '<', '--', '@', 'remy', ':', 'This', 'is', 'waaaaayyyy', 'too', 'much', 'for', 'you', '!', '!', '!', '!', '!', '!']

2. 判断是否为英文单词

这里用到了 enchant (pip install pyenchant)
先将句子拆分为单个词, 再判断每个词是否为英文单词, 最后生成一个由tuple组成的list

import enchant
from nltk.tokenize import TweetTokenizer
tweet = "This is a cooool #dummysmiley: :-) :-P <3 and some arrows < > -> <-- @remy: This is waaaaayyyy too much for you!!!!!!"
chant = enchant.Dict("en_US")
tt = TweetTokenizer(True,False,True)
tweet_tokenizer = tt.tokenize(tweet)
lst = [(value,chant.check(value)) for value in tweet_tokenizer] # 判断每个分词是否为英文
print(lst)

结果如下:

[('This', True), ('is', True), ('a', True), ('cooool', False), ('#dummysmiley', False), (':', False), (':-)', False), (':-P', False), ('<3', False), ('and', True), ('some', True), ('arrows', True), ('<', False), ('>', False), ('->', False), ('<--', False), (':', False), ('This', True), ('is', True), ('waaaaayyyy', False), ('too', True), ('much', True), ('for', True), ('you', True), ('!', False), ('!', False), ('!', False)]

如何将英文句子分词(拆分单词), 并判断分词是否为英文单词相关推荐

  1. java句子倒序_Java实现英文句子中的单词顺序逆序输出的方法

    摘要:这篇Java开发技术栏目下的"Java实现英文句子中的单词顺序逆序输出的方法",介绍的技术点是"逆序输出.单词顺序.英文句子.Java.实现.方法",希望 ...

  2. C语言反序输出英文句子,C++实现英文句子中的单词逆序输出的方法

    本文实例讲述了C++实现英文句子中的单词逆序输出的方法.分享给大家供大家参考,具体如下: #include "stdafx.h" #include #include #includ ...

  3. 【简单】求英文句子的平均单词长度

    [简单]求英文句子的平均单词长度 题目描述 输入示例 输出示例 初始代码 解题思路 解题代码 札记 本文章属于付费专栏的文章,购买该文章所隶属的专栏后,即可获得本专栏内的所有文章永久阅读权限.每一篇文 ...

  4. python输入一个英文句子、统计单词个数_C语言编程求一个英文句子中的单词数和最长单词的位置、长度及输出这个单词。c++编程 从键盘输入一个英文...

    C语言编程求一个英文句子中的单词数和最长单词的位置.长度及输出这个单词. c++编程 从键盘输入一个英文 www.zhiqu.org     时间: 2020-11-23 我刚做了一关于英文句子里面每 ...

  5. 统计英文句子中的单词个数,并且输出每个单词

    package new_test; import java.util.Scanner; import java.util.StringTokenizer; //任务:统计英文句子中的单词个数,并且输出 ...

  6. 【python 字母索引】找到英文句子里面每个单词最后一个字母的索引

    # -*- coding:utf-8 -*- sentence="wo ai ni zhong guo"def find_english_word_last_index(sente ...

  7. java将英文句子分解为单词,Java如何将文本或句子分解为单词?

    起初,它看起来很简单.我们可以使用来分割文本String.split(),使用空格来分割单词.但是,如果单词以问号(?)或感叹号(!)结尾,该怎么办?我们可能还需要注意其他一些规则. 使用java.t ...

  8. C++实现一句英文句子中的单词逆置

    比如,输入I am a student. 输出 student. a am I 思路: 1. 先将这个字符串整体倒置, 2. 再将单个单词倒置. #include <iostream> u ...

  9. 剑指Offer——翻转英文句子中的单词顺序

    主要思路: 先交换整个句子的顺序,再交换每个单词的顺序. 一下代码在VS2015中调试无误 #include "stdafx.h" #include<iostream> ...

  10. C语言编程:输入一行英文句子,统计单词数(个人注解)

    #include <stdio.h> #include <stdlib.h>int main() {char ch;int sum = 0,word = 0;//用word来判 ...

最新文章

  1. Java TreeMap 和 TreeSet 源码解析
  2. python3下载文件-Python3学习笔记(十八):文件上传和下载
  3. SAP CRM WebClient UI点了产品主数据搜索结果超链接后的跳转调试
  4. logstash 过虑nginx访问日志
  5. 基于jsp+mysql+Spring+hibernate+的SSH在线学习交流论坛平台
  6. Android 4 学习(20):ActionBar
  7. 访谈编码怎么做_怎么才能让口才得到提升
  8. NYMEX ACCESS电子交易系统来
  9. 配置centos防火墙(iptables)开放80端口
  10. Checkbox与RadioGroup的使用方法
  11. Centos5安装Dell OpenManage Server Administrator
  12. C语言相反次序重新排序
  13. Microsoft Expression blend 3 新功能简介
  14. mysql 按字段排序
  15. 用代码来模拟铁路售票系统,实现通过四个售票点发售某日某次列车的100张车票,一个售票点用一个线程表示
  16. 实用主义学python_麻瓜编程《实用主义学Python》课程全集下载地址 – 爱学知识网...
  17. LeaRun.Java可视化拖拽编辑的BI大屏
  18. PostgreSQL 删除表格
  19. cocos creator 广告控制脚本
  20. SSL证书怎么部署,SSL证书需要怎么安装你知道吗?

热门文章

  1. samsung q1u android,奢华配置指纹科技 三星Q1U再造UMPC王者
  2. 钉钉日志范文100篇_钉钉日志,让领导看得见你的工作
  3. HTML5期末大作业:网上鲜花网站设计——网上鲜花网页设计(5页)HTML+CSS+JavaScript web期末作业设计网页
  4. mysql有rac吗_RAC
  5. PhysX碰撞检测之onContact和onTrigger
  6. 如何解决vue项目本地ip地址无法访问项目问题?【亲测有效】
  7. android沉浸式状态理解
  8. 数据库实验3 表、ER图、索引和视图的基础操作
  9. 淼淼Kruskal算法
  10. 不积跬步无以至千里008