实验三:原始文本资料的读取与处理

  • 一、实验目的
  • 二、实验环境
  • 三、实验内容
    • 1. 使用HTML解析的方式提取任意网页文本(英文),并查找文章第一自然段的内容。
    • 2. 将上题中提取的文本写入本地文本文件,再将文本文件中的内容读取出来,利用NLTK包中的函数对文本进行分句和分词处理。
    • 3. 将以上文本内容换成中文文本重复1,2题步骤,比较其中存在什么差异。
    • 4. 说明以下正则表达式的含义
      • (1)[a-zA-Z]+
      • (2)[A-Z][a-z]
      • (3)p[aeiou]{,2}t
      • (4)r'^[0-9]+\$$'
      • (5) ^[aeiou][aeiou][^aeiou]
    • 5. 使用切片方法删除词汇形态上的结尾。
    • 6.自定义一段有词形变化的字符串利用词干提取器PorterStemmer和LancasterStemmer分别进行处理并进行简单的比较。

一、实验目的

  1. 掌握如何使用Python获取网络和本地文本。
  2. 掌握如何使用NLTK包和正则表达式对获取的原始文本进行处理。

二、实验环境

Python 3
NLTK包
正则表达式

三、实验内容

1. 使用HTML解析的方式提取任意网页文本(英文),并查找文章第一自然段的内容。

(http://www.chinadaily.com.cn/a/202008/07/WS5f2cf95ca31083481725ef12.html)

import nltk, re, pprint
from nltk import word_tokenize
from nltk.data import PathPointer, ZipFilePathPointer, find
#从网页读取文字
from urllib.request import urlopen
url = "http://www.gutenberg.org/files/1342/1342-0.txt"
response = urlopen(url)
raw = response.read().decode('utf8')
#根据内容定义开始与结尾
text1 = "The Project Gutenberg eBook of Pride and Prejudice, by Jane Austen"
print (raw.find("The Project Gutenberg eBook of Pride and Prejudice, by Jane Austen"))#正向
#逆向 raw.rfind
print (raw.rfind("The Project Gutenberg eBook of Pride and Prejudice, by Jane Austen"))
print(len(text1))
1
1
66
# print(type(raw))
# len(raw)
print(raw[1:66])
The Project Gutenberg eBook of Pride and Prejudice, by Jane Auste
#HTML下载
url = "http://www.chinadaily.com.cn/a/202008/07/WS5f2cf95ca31083481725ef12.html"
html = urlopen(url).read().decode('utf8')
html[:60]
'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//E'
#HTML解析
from bs4 import BeautifulSoup
raw = BeautifulSoup(html,'lxml').get_text()
tokens = word_tokenize(raw)
tokens
['Explore','Sichuan','panda','habitat','online','-','Chinadaily.com.cn','Search','HOME','CHINA','WORLD','BUSINESS','LIFESTYLE','CULTURE','TRAVEL','WATCHTHIS','SPORTS','OPINION','REGIONAL','FORUM','NEWSPAPER','MOBILE','Home','Travel','City','Tours','Home','/','Travel','/','City','Tours','Explore','Sichuan','panda','habitat','online','Chinaculture.org','|','Updated',':','2020-08-07','14:48','Share','Share','-','WeChat','CLOSE','An','online','exhibition','offers','a','tour','of','giant','pandas','and','their','natural','habitats','in','Southwest','China',"'s",'Sichuan','province','.','The','exhibition','was','launched','on','Aug','5',',','2020','.','[','Photo','provided','to','Chinaculture.org',']','The','online','exhibition','Wonderful','Exploration','–','A','Journey','to','the','Habitat','of','Giant','Pandas','in','Sichuan',',','co-sponsored','by','the','China','Cultural','Centre','in','Sydney',',','the','Chinese','Tourism','Office','in','Sydney','and','the','Department','of','Culture','and','Tourism','of','Sichuan','province',',','was','launched','Wednesday','on','the','official','website','of','the','China','Cultural','Centre','in','Sydney','.','As','part','of','the','2020','Sichuan','Panda','Culture','and','Tourism','Week',',','it','presents','to','panda','lovers','in','Australia','a','tour','of','the','giant','panda','habitat','online','.','Giant','panda',',','a','symbol','of','friendliness',',','is','a','``','messenger','of','friendship',"''",'and','``','messenger','of','peace',"''",'.','These','fluffy','creatures','are','loved','by','people','all','over','the','world','.','Sichuan','province',',','located','in','Southwest','China',',','is','home','to','the','giant','pandas','.','It','has','seven','nature','reserves','and','nine','scenic','spots',',','forming','the','world',"'s",'largest','panda','habitat','tour','route',',','covering','an','area','of','9,245','square','kilometers','.','1','2','3','4','5','6','7','Next','>','>','|','1/7','Next','Photo','First','snow','of','season','hits','Beijing','Festive','China',':','Winter','6th','plenary','of','CPC','Central','Committee',':','All','you','need','to','know','Execs','laud','Xi',"'s",'keynote','remarks','at','4th','CIIE','(','V',')','Saluting','China',"'s",'unsung','space','heroes','China','issues','orange','alert','for','blizzards','Top','BACK','TO','THE','TOP','English','中文','HOME','CHINA','WORLD','BUSINESS','LIFESTYLE','CULTURE','TRAVEL','WATCHTHIS','SPORTS','OPINION','REGIONAL','FORUM','NEWSPAPER','China','Daily','PDF','China','Daily','E-paper','MOBILE','Copyright','1995','-','.','All','rights','reserved','.','The','content','(','including','but','not','limited','to','text',',','photo',',','multimedia','information',',','etc',')','published','in','this','site','belongs','to','China','Daily','Information','Co','(','CDIC',')','.','Without','written','authorization','from','CDIC',',','such','content','shall','not','be','republished','or','used','in','any','form','.','Note',':','Browsers','with','1024','*','768','or','higher','resolution','are','suggested','for','this','site','.','License','for','publishing','multimedia','online','0108263','Registration','Number',':','130349','About','China','Daily','Advertise','on','Site','Contact','Us','Job','Offer','Expat','Employment','FOLLOW','US','Copyright','1995','-','.','All','rights','reserved','.','The','content','(','including','but','not','limited','to','text',',','photo',',','multimedia','information',',','etc',')','published','in','this','site','belongs','to','China','Daily','Information','Co','(','CDIC',')','.','Without','written','authorization','from','CDIC',',','such','content','shall','not','be','republished','or','used','in','any','form','.']
#查找内容定位--同上
print (raw.find("The online exhibition")) #第一自然段开头
#逆向 raw.rfind
print (raw.find("As part of the 2020 Sichuan Panda")) #第二自然段开头
text = raw[743:1082]
print (text)
# text = nltk.Text(tokens)
# print (text)
743
1082
The online exhibition Wonderful Exploration – A Journey to the Habitat of Giant Pandas in Sichuan, co-sponsored by the China Cultural Centre in Sydney, the Chinese Tourism Office in Sydney and the Department of Culture and Tourism of Sichuan province, was launched Wednesday on the official website of the China Cultural Centre in Sydney.

2. 将上题中提取的文本写入本地文本文件,再将文本文件中的内容读取出来,利用NLTK包中的函数对文本进行分句和分词处理。


将text格式转化为str

打开文件模式为写。
#w 只能操作写入 r 只能读取 a 向文件追加
#w+ 可读可写 r+可读可写 a+可读可追加
#wb+写入进制数据
#w模式打开文件,如果而文件中有数据,再次写入内容,会把原来的覆盖掉

f = open('D:\Desktop\document.txt',mode='w')
# 提取的文本写入本地文本文件
# 2.1  write 写入 #\n 换行符
str1=str(text)
f.write(str1)
339


分句

import nltk
import nltk.datadef splitSentence(paragraph):tokenizer = nltk.data.load('tokenizers/punkt/english.pickle')sentences = tokenizer.tokenize(paragraph)return sentencesif __name__ == '__main__':test0 = open('D:/Desktop/document.txt').read()print (test0)test1=splitSentence(test0)print(test1)
The online exhibition Wonderful Exploration – A Journey to the Habitat of Giant Pandas in Sichuan.co-sponsored by the China Cultural Centre in Sydney.the Chinese Tourism Office in Sydney and the Department of Culture and Tourism of Sichuan province, was launched Wednesday on the official website of the China Cultural Centre in Sydney.
['The online exhibition Wonderful Exploration – A Journey to the Habitat of Giant Pandas in Sichuan.co-sponsored by the China Cultural Centre in Sydney.the Chinese Tourism Office in Sydney and the Department of Culture and Tourism of Sichuan province, was launched Wednesday on the official website of the China Cultural Centre in Sydney.']

效果不明显。原因:这一自然段一共只有一句。

分词。

from nltk.tokenize import WordPunctTokenizer  def wordtokenizer(sentence):#分词words = WordPunctTokenizer().tokenize(sentence)return wordsif __name__ == '__main__':test0 = open('D:/Desktop/document.txt').read()print (test0)test2=wordtokenizer(test0)print(test2)
The online exhibition Wonderful Exploration – A Journey to the Habitat of Giant Pandas in Sichuan.co-sponsored by the China Cultural Centre in Sydney.the Chinese Tourism Office in Sydney and the Department of Culture and Tourism of Sichuan province, was launched Wednesday on the official website of the China Cultural Centre in Sydney.
['The', 'online', 'exhibition', 'Wonderful', 'Exploration', '–', 'A', 'Journey', 'to', 'the', 'Habitat', 'of', 'Giant', 'Pandas', 'in', 'Sichuan', '.', 'co', '-', 'sponsored', 'by', 'the', 'China', 'Cultural', 'Centre', 'in', 'Sydney', '.', 'the', 'Chinese', 'Tourism', 'Office', 'in', 'Sydney', 'and', 'the', 'Department', 'of', 'Culture', 'and', 'Tourism', 'of', 'Sichuan', 'province', ',', 'was', 'launched', 'Wednesday', 'on', 'the', 'official', 'website', 'of', 'the', 'China', 'Cultural', 'Centre', 'in', 'Sydney', '.']

3. 将以上文本内容换成中文文本重复1,2题步骤,比较其中存在什么差异。

(https://column.chinadaily.com.cn/a/202111/07/WS6187b36ba3107be4979f6fd0.html)

https://column.chinadaily.com.cn/a/202111/07/WS6187b36ba3107be4979f6fd0.html
#中文HTML下载
url = "https://column.chinadaily.com.cn/a/202111/07/WS6187b36ba3107be4979f6fd0.html"
html = urlopen(url).read().decode('utf8')
html[:60]
#HTML解析
from bs4 import BeautifulSoup
raw = BeautifulSoup(html,'lxml').get_text()
raw
'\n\n\n\n\n\n陈新光:加快构建新发展格局  为中国经济稳定恢复提供坚实支撑 - 中国日报网\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nChina Daily Homepage \n中国日报中文网\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n专栏首页\n\n\n文章\n\n专辑\xa0\xa0\xa0\n\n作家\n\n\n站长专栏\n\n\n\n\n\n热点评论\n财经\n文化娱乐\n科技\n运动\n生活方式\n国际观察\n地理旅游\n诗歌散文\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nChina Daily Homepage\n中文网首页\n时政\n资讯\n财经\n生活\n视频\n专栏\n双语\n漫画\n原创\n观天下\n\n\n\n\n\n\n\n\n文章\n\n\n专辑\n\n\n作家\n\n\n站长专栏\n\n\n\n\n\n\n\n\n\n陈新光\xa0\xa0>>\xa0\xa0正文\n        \n\n\n陈新光:加快构建新发展格局  为中国经济稳定恢复提供坚实支撑\n\n陈新光\n2021年11月07日\n\n\n\n\n\n\n\n\n\n\n近年来,我国创新发展势头良好,为经济发展注入了强大动力。从最新发布的多项指标反映,主要宏观指标仍处于合理区间,特别是就业得以改善,居民收入提高较快,结构调整稳步推进,质量效益持续提升。面对国际疫情蔓延、极端天气等冲击,展示了强劲的增长韧性,对经济增长起到了重要的支撑作用。\n中国经济“基础大盘”依然稳固\n在多重风险挑战下,中国经济“稳”的特征依然鲜明,并且亮点突出。“经济增长、就业、物价、国际收支”四大宏观经济指标显示,中国经济“基础大盘”依然稳固。前三季度经济仍在合理区间运行;全国城镇新增就业1045万人,完成全年目标95%;全国居民消费价格同比上涨0.6%,物价总水平低位平稳;进出口和利用外资依然保持高位增长,外汇储备已连续5个月保持在3.2万亿美元以上。\n中国经济“基础大盘”依然稳固主要体现在:一是生产形势稳中向好,创新动能不断增强。秋粮增产已成定局,全年粮食产量有望再创历史新高;前三季度,高技术制造业的生产和投资两年平均增长均为两位数;新能源汽车、工业机器人、集成电路产量同比分别增长172.5%、57.8%、43.1%;二是企业利润稳步增长,经济效益不断提升。前8个月,规模以上工业企业利润同比增长49.5%,比2019年同期增长42.9%;前三季度,财政收入恢复性增长态势总体平稳,全国一般公共预算收入同比增长16.3%;扣除价格因素影响,全国居民人均可支配收入实际增长9.7%,与GDP增长基本同步;三是压力面前,信心比黄金更珍贵。中国是具有强劲韧性的超大型经济体,这种韧性来自近1.5亿市场主体的竞争力,来自经济体系的完整性,来自超大规模的国内市场和亿万人民通过艰苦奋斗实现美好生活的不懈追求。目前,国际机构普遍预测中国经济今年仍能实现8%左右的经济增长,这表明中国经济短期不会出现“硬着陆”。\n加强精准宏观调控,加快构建新发展格局\n在经济持续向好的同时,也有不确定性因素,对于一些中长期面临的结构性问题,特别是对风险控制问题,进行主动出击并稳步化解。中国有足够的政策空间,协调运用各项政策工具加以化解,确保经济运行在合理区间。做到创新驱动要持续增强,放管服改革要不断深化,供给侧结构性改革要稳步推进,从中保持我国创新发展势头良好,持续为经济发展注入强大动力,从而在复杂局面下,很好地实现稳增长和调结构的动态平衡。当下,要强化科技创新和产业链供应链韧性,加强基础研究,推动应用研究,开展补链强链专项行动,实施产业基础再造工程,加快解决“卡脖子”难题,加快制造业数字化转型,发展“专精特新”中小企业,在补链强链行动上不断发力。\n对于经济下行压力,我们要仔细梳理背后的原因,坚定必胜信心。当下值得注意的是,增强产业链供应链自主可控能力,并不意味着走向封闭和内顾,而是推进更高水平开放,在开放合作中锻造更强大综合竞争力。为此,要深化要素市场化改革,充分调动生产要素活力和红利,进一步增强我国的超大规模市场优势;加大对区域和全球的分散化布局,形成多维立体的产业链和供应链体系;推出更多扩大开放举措,打造更优的营商环境,只有这样中国才能在全球供应链重构中占据更有利位置。可以说,中国在“十四五”期间有充足的发展、充分的政策空间,能够展现足够的韧性和巨大的潜力。我们要紧紧把握中国经济长期向好的大趋势,扎实推进各项工作,加快构建新发展格局,实施好宏观政策跨周期调节,为中国经济稳定恢复提供坚实支撑。\n我国持续引领了世界经济复苏\n必须看到部分国家逆全球化而动,叠加全球遭遇新冠肺炎疫情冲击,对全球产业链稳定和供应链畅通带来空前挑战。当下的“芯片荒”,正是其中典型,从手机、电视、电脑、汽车等行业,到5G、人工智能、物联网、自动驾驶领域,很多都受“工业粮食”芯片短缺的困扰,使得越来越多的国家开始考虑兼顾生产效率和产业安全,全球供应链调整加速。在疫情冲击下,中国供应链表现出了强大韧性,但同时也暴露出一系列问题,在聚焦产业链供应链断点堵点,提升稳定性和竞争力上,格外显得重要而紧迫。\n从国际角度来看,全球疫情走势和经济走势趋于复杂,一些新情况和老问题交织叠加,风险挑战依然不减。三季度以来,世界主要经济体在德尔塔病毒侵袭、全球供应链循环遇阻等一系列冲击下,经济增速出现同步放缓。国际货币基金组织10月份发布最新一期《世界经济展望报告》,下调全球经济增速0.1个百分点到5.9%。在世界经济复苏受阻的情况下,我国能够取得前三季度国内生产总值同比增长9.8%、两年平均增速5.2%的成绩,我国持续引领了世界经济复苏,显得非常亮眼。世界各大外媒一片赞叹,并对中国经济在新的一年继续引领世界经济复苏充满期待。\n全球化智库(CCG)特邀研究员\n上海大学经济学院 兼职教授 陈新光\n2021年11月5日\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n陈新光\n中国社会科学院-上海市人民政府上海研究院研究员、上海市统计学会副会长、全球化智库(CCG)特邀研究员。\n\n\n\n\n\n\n\n\n\n\n专栏首页\n\n\n文章\n\n\n作家\n\n\n\n友情链接:\n中国日报网\n新华网\n人民网\n中国网\n\n\n关于我们 \n|\n 联系我们\n\n\n\n\n\n\n\n互联网举报中心\n 防范网络诈骗 \n 法律顾问:炜衡律师\n 视听节目许可证0108263京公网安备110105000081号京网文[2011]0283-097号\n\n\n\n\n\n首页\n时政\n资讯\n财经\n文化\n图片\n视频\n双语\n\n\n中文 | English\n\n\n          中国日报版权所有Content@chinadaily.com.cn\n        \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n'
#查找内容定位--同上
print (raw.find("近年来,我国创新发展势头良好")) #第一自然段开头
#逆向 raw.rfind
print (raw.find("中国经济“基础大盘”依然稳固")) #第二自然段开头
text1 = raw[404:541]
print (text1)
# text = nltk.Text(tokens)
# print (text)
404
541
近年来,我国创新发展势头良好,为经济发展注入了强大动力。从最新发布的多项指标反映,主要宏观指标仍处于合理区间,特别是就业得以改善,居民收入提高较快,结构调整稳步推进,质量效益持续提升。面对国际疫情蔓延、极端天气等冲击,展示了强劲的增长韧性,对经济增长起到了重要的支撑作用。
f1 = open('D:\Desktop\document2.txt',mode='w')
# 提取的文本写入本地文本文件
# 2.1  write 写入 #\n 换行符
str1=str(text1)
f1.write(str1)
137

import nltk
import nltk.datadef splitSentence(paragraph):tokenizer = nltk.data.load('tokenizers/punkt/english.pickle')sentences = tokenizer.tokenize(paragraph)return sentencesif __name__ == '__main__':test = open('D:/Desktop/document2.txt').read()print (test)test2=splitSentence(test)print(test2)
近年来,我国创新发展势头良好,为经济发展注入了强大动力。从最新发布的多项指标反映,主要宏观指标仍处于合理区间,特别是就业得以改善,居民收入提高较快,结构调整稳步推进,质量效益持续提升。面对国际疫情蔓延、极端天气等冲击,展示了强劲的增长韧性,对经济增长起到了重要的支撑作用。['近年来,我国创新发展势头良好,为经济发展注入了强大动力。从最新发布的多项指标反映,主要宏观指标仍处于合理区间,特别是就业得以改善,居民收入提高较快,结构调整稳步推进,质量效益持续提升。面对国际疫情蔓延、极端天气等冲击,展示了强劲的增长韧性,对经济增长起到了重要的支撑作用。']
from nltk.tokenize import WordPunctTokenizer  def wordtokenizer(sentence):#分词words = WordPunctTokenizer().tokenize(sentence)return wordsif __name__ == '__main__':test = open('D:/Desktop/document2.txt').read()print (test)test2=wordtokenizer(test)print(test2)
近年来,我国创新发展势头良好,为经济发展注入了强大动力。从最新发布的多项指标反映,主要宏观指标仍处于合理区间,特别是就业得以改善,居民收入提高较快,结构调整稳步推进,质量效益持续提升。面对国际疫情蔓延、极端天气等冲击,展示了强劲的增长韧性,对经济增长起到了重要的支撑作用。['近年来', ',', '我国创新发展势头良好', ',', '为经济发展注入了强大动力', '。', '从最新发布的多项指标反映', ',', '主要宏观指标仍处于合理区间', ',', '特别是就业得以改善', ',', '居民收入提高较快', ',', '结构调整稳步推进', ',', '质量效益持续提升', '。', '面对国际疫情蔓延', '、', '极端天气等冲击', ',', '展示了强劲的增长韧性', ',', '对经济增长起到了重要的支撑作用', '。']

nltk 处理中文是完全可用的,其重点在于中文分词和文本表达的形式。
中文句点会被分离开。
但中文和英文主要的不同之处是中文需要分词,因为nltk 的处理粒度一般是词,所以必须要先对文本进行分词然后再用nltk 来处理(不需要用nltk 来做分词,直接用分词包就可以了)中文分词之后,文本就是一个由每个词组成的长数组:[word1, word2, word3…… wordn]。之后就可以使用nltk 里面的各种方法来处理这个文本了。比如用FreqDist 统计文本词频,用bigrams 把文本变成双词组的形式:[(word1, word2), (word2, word3), (word3, word4)……(wordn-1, wordn)]。

4. 说明以下正则表达式的含义

(1)[a-zA-Z]+

s = 'abedFASK1111'
regex = re.compile("[a-zA-Z]+")
print(regex.findall(s))
['abedFASK']

小写字母后,接大写字母。

(2)[A-Z][a-z]

s = 'AbedFASK1111'
regex = re.compile("[A-Z][a-z]")
print(regex.findall(s))
['Ab']

1个大写字母后,接1个小写字母。

(3)p[aeiou]{,2}t

s = 'pbtpatpaitpaiet'
# 方括号符号 '[oum]' ——匹配方括号中的任意一个
# t[aeio]n只匹配tan,Ten,tin和toN等
regex = re.compile("p[aeiou]{,2}t")
print(regex.findall(s))
['pat', 'pait']

P+{a,e,I,o,u}中的1~2个字母+t,即p开始,t结尾,中间为最多两个元音组成的单词。

(4)r’1+$$’

s = '123aaa123456$'
s1 = '123456$'
# ^代表以xxx开头的行,$代表以xxxe结尾的行
regex = re.compile(r'^[0-9]+\$$')
print(regex.findall(s),regex.findall(s1))
[] ['123456$']

^是匹配字符串开始,[0-9]是[0-9]范围里匹配一次以上, $是匹配结束符

(5) [aeiou][aeiou][aeiou]

s = 'aec111'
# 匹配的第一个字母只能是小写的aeiou任意一个,第二个字母可以是aeiou中的任意一个。第三个字母是不能是小写的aeiou中的任意一个
regex = re.compile(r'^[aeiou][aeiou][^aeiou]')
print(regex.findall(s))
['aec']

匹配的第一个字母只能是小写的aeiou任意一个,第二个字母可以是aeiou中的任意一个,第三个字母是不能是小写的aeiou中的任意一个。

5. 使用切片方法删除词汇形态上的结尾。

例如: ‘dogs’[:-1]删除了 dogs的最后一个字符,留下
dog。使用切片符号删除下面这些词的词缀(在这里插入了一个连字符“-”指示词缀的边界, 请在你的字符串中省略掉连字符): dishes,
running, nationality, undo, preheat (dish-es, run-ning, nation-ality,
un-do, pre-heat)。

'dishes'[:-2]
'dish'
'running'[:-4]
'run'
'nationality'[:-5]
'nation'
'undo'[:-2]
'un'
'preheat'[:-4]
'pre'

6.自定义一段有词形变化的字符串利用词干提取器PorterStemmer和LancasterStemmer分别进行处理并进行简单的比较。

词形还原(lemmatization)是把一个词汇还原为一般形式(能表达完整语义),方法较为复杂;基于字典的映射。nltk中要求手动注明词性,否则可能会有问题。因此一般先要分词、词性标注,再词性还原。

# 基于Porter词干提取算法
from nltk.stem.porter import PorterStemmer
porter_stemmer = PorterStemmer()
s='maximum leaves'
porter_stemmer.stem(s)
'maximum leav'

词干提取(stemming)是抽取词的词干或词根形式(不一定能够表达完整语义),方法较为简单。基于语言的规则,如英语中名词变复数形式规则。由于基于规则,可能出现规则外的情况。

# 基于Lancaster 词干提取算法
from nltk.stem.lancaster import LancasterStemmer
lancaster_stemmer = LancasterStemmer()
s='maximum leaves'
lancaster_stemmer.stem(s)
'maximum leaves'
# 基于Snowball 词干提取算法
from nltk.stem import SnowballStemmer
snowball_stemmer = SnowballStemmer('english')
s='maximum leaves'
snowball_stemmer.stem(s)
'maximum leav'
#从nltk库中导入需要的类,并且进行实例化
from nltk.stem import WordNetLemmatizer
wnl = WordNetLemmatizer()#分别定义需要进行还原的单词与相对应的词性
words = ['cars','men','running','ate','saddest','fancier']
pos_tags = ['n','n','v','v','a','a']for i in range(len(words)):print(words[i]+'--'+pos_tags[i]+'-->'+wnl.lemmatize(words[i],pos_tags[i]))
cars--n-->car
men--n-->men
running--v-->run
ate--v-->eat
saddest--a-->sad
fancier--a-->fancy

  1. 0-9 ↩︎

NLP3:原始文本资料的读取与处理相关推荐

  1. 【Python自然语言处理】读书笔记:第三章:处理原始文本

    本章原文链接:https://usyiyi.github.io/nlp-py-2e-zh/3.html 3 处理原始文本 import nltk, re, pprint from nltk impor ...

  2. 10-10 常见单词 : 访问项目Gutenberg(http://gutenberg.org/ ) , 并找一些你想分析的图书。 下载这些作品的文本文件或将浏览器中的原始文本复制到文本文件中。 你可

    10-10 常见单词 : 访问项目Gutenberg(http://gutenberg.org/ ) , 并找一些你想分析的图书. 下载这些作品的文本文件或将浏览器中的原始文本复制到文本文件中. 你可 ...

  3. Linux下c语言文本方式文件读取

    接着昨天的博客,今天来简单说下文本方式的读取. fopen函数其实没有什么区别,但是在Windows系统下有点区别. 首先我们还是先打开一个文件 FILE *fp; fp=0; if((fp=fope ...

  4. struts2 action 返回原始文本字符串

    struts2 action 返回原始字符串 文章来源 blog.csdn.net/joyous/article/details/80722121 以返回 stream 的方式返回原始文本字符串,返回 ...

  5. 网上打印文本资料应该去哪里打印

    在日常工作及生活方面,很多人经常性的需要打印一些文本资料,有些人懒得出门去找打印店,所以网上打印成为一种比较流行的趋势.网上打印大家可以足不出户的提交需要打印的资料,且网上打印多是通过快递邮寄的方式将 ...

  6. java 中向文本写入和读取hashmap_就靠这一篇HashMap的讲解,我与头条面试官聊了一个小时。...

    预备知识 位运算知识(更多资料私信"学习"免费获取) 位运算操作是由处理器支持的底层操作,底层硬件只支持01这样的数字,因此位运算运行速度很快.尽管现代计算机处理器拥有了更长的指令 ...

  7. python怎么读取pdf为文本_python怎么读取pdf文本内容

    python读取pdf文本内容的方法:首先打开相应的python脚本文件:然后使用PDFMiner工具来读取pdf文本内容:最后通过print输出读取后的内容即可. python读取pdf文本内容 p ...

  8. python 遍历文件夹写入excel_python:创建文件夹:写入文本1:读取txt:读取Excel文件遍历文件夹:...

    https://blog.csdn.net/u011956147/article/details/80369731 创建文件夹: import os import shutil def buildfi ...

  9. c语言读取nc文件格式,nc文件资料地读取与处理.doc

    标准 文案 .nc?文件的查看和处理 2013-08-04 12:45阅读:2,168 最近在学习冰后回弹模型( http://www.atmosp.physics.utoronto.ca/~pelt ...

最新文章

  1. 千锋python全套视频教程400全集-千锋出品全套python视频教程,400大全集,你了解吗?...
  2. 使用 MYSQLBINLOG 来恢复数据
  3. 成功解决UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xd3 in position 238: invalid continuation b
  4. 51单片机开发板(W25Q16学习)
  5. 操作系统 哈工大 李治军
  6. 资料汇总--java开发程序员必备技能
  7. OptionRoom推出通缩NFT质押活动,销毁15万代币
  8. js in html5,CSS-in-JS 来做的 5 件事情,一般人都不知道!
  9. Python时间戳与时间字符串互相转换实例代码
  10. win10下安装maven
  11. 解读Depth Map Prediction from a Single Image using a Multi-Scale Deep Network (3)
  12. 基于Arduino的双向交通灯系统
  13. linux幻灯片制作软件,Marp(代码制作幻灯片软件)
  14. 盘点互联网大厂的元宇宙布局
  15. 项目管理中的团队建设
  16. 基于Transformer的文本情感分析编程实践(Encoder编码器-Decoder解码器框架 + Attention注意力机制 + Positional Encoding位置编码)
  17. 图的连通,连通图,连通分量,强连通分量
  18. EBS开发_创建AP付款
  19. 2016年蓝桥杯A组 第九题 密码脱落
  20. php 微信全员分销_php筹建微信企业分销网站常见功能

热门文章

  1. ubuntu20.04升级到22.04之后,不能从ubuntu复制文件到windows
  2. 小米8android系统版本,小米8系列获得Android P稳定版推送
  3. 小米平板5刷root教程
  4. IDEA如何配置有道翻译
  5. php 伪造登入,某系统任意用户伪造登录
  6. Android-幻灯片播放
  7. 【wps】插入表格里的文字居中
  8. immersive-translate(沉浸式双语网页翻译扩展),解决谷歌翻译无法使用问题
  9. 惠普232dw/233dw激光打印机手机WIFI连接实操、初始化
  10. 互联网动物园 - Logo 合集