python语言属于自然语言吗_用python做中文自然语言预处理

这篇博客详细介绍了使用Python进行中文自然语言预处理的步骤,包括分词、词性标注、去除停用词、词性筛选、标准化处理、复合词合成以及数据格式调整,为LDA主题模型实验做准备。通过这些步骤,原始的评论数据被转化为适合输入模型的格式。
摘要由CSDN通过智能技术生成

这篇博客根据中文自然语言预处理的步骤分成几个板块。以做LDA实验为例,在处理数据之前,会写一个类似于实验报告的东西,用来指导做实验,OK,举例:

一,实验数据预处理(python,结巴分词)

1.对于爬取的评论做分词和词性标注处理(mac-result.txt)

2.对于结果只用公版的停用词表去停用词,不进行人工筛选(mac-result1.txt)

3.保留:名词,名词短语(两者为评论描述主题)

形容词,动词,动词短语(对主题的描述)以及其他可能有实意的词

去除:副词,标点,拟声词等无实意词包括/x /zg /uj /ul /e /d /uz /y

结果为mac-result2.txt

4.标准化处理,合并空格,去除空白字符,处理后的文档变为“词,空格,词,空格。。。。”的形式。结果为:mac-result3.txt

5.复合词合成.分词结果不准确,有专有名词等,所以提取复合词 mac-result4.txt(提取的复合词表fuheci.txt)

6.做或者不做复合词提取,每十行合并(mac-result5.txt)直接做LDA实验,抽取主题。

标题是用Python做中文自然语言预处理,我将我所用的预处理全部贴到下面:

1,分词.词性标注以及去停用词。见上一篇博客:http://www.cnblogs.com/nlp-yekai/p/3711360.html

3,做词性筛选:

#coding utf-8

importosimportsysimportre

f1=open("/home/alber/data_base/jd_content/app-mac/mac-result1.txt",'r')

txt=f1.readlines()

f1.close()

txtlist=[]

cixing=["/x","/zg","/uj","/ul","/e","/d","/uz","/y"]#词列表为自己定义要过滤掉的词性for line intxt:

line_list2=re.split('[ ]', line)

line_list=line_list2[:]for segs inline_list2:for K incixing:if K insegs:

line_list.remove(segs)break

else:passtxtlist.extend(line_list)

f2=open("/home/alber/data_base/jd_content/app-mac/mac-result2.txt",'a')

resultlist=txtlist[:]for v intxtlist:if "/" inv:

slope=v.index("/")

letter=v[0:slope]+" "f2.write(letter)else:

f2.write(v)

4.标准化处理,去除空行,空白字符等。

#coding=utf-8

importosimportsysimportreimporttime

f1=open("/home/alber/data_base/jd_content/app-mac/mac-result2.txt",'r+')

f2=open("/home/alber/data_base/jd_content/app-mac/mac-result3.txt","a")

txt=f1.readlines()

f1.close()

list1=[]for line intxt:if len(line)>=2:

line_clean=" ".join(line.split())

lines=line_clean+" "+"\n"f2.write(lines)else:passf2.close()

后面的以后再写吧,处理到这基本上可以导入各种模型跑起来了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值