python用户评论标签匹配的解决方法

这篇文章主要为大家详细介绍了python用户评论标签匹配的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

我们观察用户评论发现:属性词往往和情感词伴随出现,原因是用户通常会在描述属性时表达情感,属性是情感表达的对象。还发现:属性词和专用情感词基本都是名词或形容词(形谓词)。

算法流程图如下:

评论数据如下:

代码如下:

代码如下:    

#encoding=utf-8 

  

############################# 



# 功能:给定一些中文的产品评论,希望从中找到评价对象及评价词。 



# @author:licl 



############################## 

  

fdata = open('JD_DFB_comments_out.txt','r') 

Output = open('Pattern_Result.txt','a') 

  

try: 

 data = fdata.readlines() 

   

 listline = [] 

   

   

 for line in data: 

    

  listline = line.replace("
","/") 

  listline =
listline.split("/") 

    

  i = 1

    

  while i <
len(listline): 

   
 

   if listline[i] !=
"名词": 

    
 

    i = i
2

    
 

   else: 

    
 

    new_list =
["","",""] 

    new_list[0]
= listline[i-1] 

    
 

    a =
i-1

    i = i
2

    
 

    while i
<
len(listline):   
 

     
 

    
if listline[i] == "标点": 

      
 

     
i = i 2

     
break

     
 

    
else: 

      
 

     
if listline[i-1]=='不' or listline[i-1]=='不怎么样' or
listline[i-1]=='不怎么' or listline[i-1]=='不太':
 

      
new_list[1] = listline[i-1] 

     
if listline[i] == "形容词" or listline[i] ==
"形谓词": 

      
new_list[1] = listline[i-1] 

       
 

      
b = i-1  
 

      
t = (b-a)/2  

      
new_list[2] = str(t) 

      
for line in new_list: 

        
 

       
Output.write(line " ") 

        
 

      
Output.write("\n")  

      
break

      
 

     
else: 

     
 

      
i = i 2 

except: 

 print "‘文件不存在'或者‘文件无法打开'"

    

finally: 

   

 fdata.close() 

 Output.close()

以上就是本文的全部内容,希望对大家的学习有所帮助

python用户评论标签匹配的解决方法的更多相关文章

  1. ios/iphone手机请求微信用户头像错位BUG及解决方法

    转:http://www.jslover.com/code/527.html ios/iphone手机请求微信用户头像错位BUG及解决方法 发布时间:2014-12-01 16:37:01 评论数:0 ...

  2. linux使用su切换用户提示 Authentication failure的解决方法& 复制文件时,报cp: omitting directory `XXX'

    linux使用su切换用户提示 Authentication failure的解决方法:这个问题产生的原因是由于ubtun系统默认是没有激活root用户的,需要我们手工进行操作,在命令行界面下,或者在 ...

  3. $ sudo python -m pip install pylint 出错解决方法

    问题:在unbuntu执行$ sudo python -m pip install pylint出错解决方法支行以下命令sudo pip install pylint==1.9.3这样roboware ...

  4. selenium 获取不了标签文本的解决方法

    selenium 获取不了标签文本的解决方法 ------ 即driver.find_element_by_xxx().text() 为空的解决办法 如果得到的文本只为空,而非我们期望的baidu,那 ...

  5. Python实现全局变量的两个解决方法

    Python实现全局变量的两个解决方法 本文针对Python的全局变量实现方法简述如下: 先来看下面一段测试程序:     count = 0 def Fuc(count):   print coun ...

  6. win安装python模块出现依赖问题的解决方法 & No module named 'MySqldb'

    前言 一年多了,还在写这种问题,羞愧. 新公司不让用自己的电脑,配的winPC,项目启不起来,之前也出现过这个问题,是py3缺少某个模块,但是自己没记,这次记一下好了. No module named ...

  7. python积累二:中文乱码解决方法

    根据网上提供的解决方法:添加#coding=utf-8或# -*- coding: utf-8 -*- #coding=utf-8 print "还不行?" 执行结果:还是乱码!: ...

  8. 【Python】Non-ASCII character '\xe6' 错误解决方法

    刚刚在写Python程序的时候遇到了一个问题,无论是在程序中什么地方出现中文字符,都会出现如下错误 SyntaxError: Non-ASCII character '\xe6' 网上查阅了一下这应该 ...

  9. mysql误删root用户或者忘记root密码解决方法

    解决方法一: 到其他安装了Mysql的服务器(前提是要知道该服务器上Mysql的root用户密 码),打开[Mysql的安装目录/var/mysql],将其中的user.frm.user.MYD.us ...

随机推荐

  1. linux(centos)下安装supervisor进程管理工具

    在接触supervisor进程管理工具之前,使用springboot打包部署到linux服务器的流程是这样子的,如下图所示: 上图展示的就是最一般的流程,如果项目是小项目或者demo可以这样子去部署, ...

  2. Java与CC++交互JNI编程

    哈哈,经过了前面几个超级枯燥的C.C++两语言的基础巩固之后,终于来了到JNI程序的编写了,还是挺不容易的,所以还得再接再厉,戒骄戒躁,继续前行!! 第一个JNI程序: JNI是一种本地编程接口.它允 ...

  3. linux getpid _getpid()

    getpid是一种函数,功能是取得进程识别码,许多程序利用取到的此值来建立临时文件,以避免临时文件相同带来的问题. 函数功能:取得进程识别码 相关函数:fork,kill,getpid 头文件:旧版本 ...

  4. Why GPU Program is expensive in CPU

    对于非morden API这部分开销比较大的原因 1. state validation -验证state API 调用的合法性  CPU开销 -encode API state 到hardware ...

  5. [git]一个本地仓库,多个远程仓库

    操作步骤如下: 1. 克隆某个远程仓库的代码到本地 git clone http://...... // 或者 git clone git@.... 2. 查看当前远程仓库地址 // 查看需要添加的远 ...

  6. Shell 06 awk

    一.基本操作方法 ######################################### grep 按行进行查找 vim  编辑文档,交互式 ####################### ...

  7. codeforces533E

    Correcting Mistakes CodeForces - 533E Analyzing the mistakes people make while typing search queries ...

  8. java代理,手把手交你写java代理

    一:常用的java代理模式 一般经常做java开发的知道java的代理模式一共有三种,第一种也就是静态代理,这种用法比较简单,没有什么魔法棒,比较好理解,另外两种分别是JDK代理和cglib代理,他们 ...

  9. HDU 4374 One hundred layer(单调队列DP)

    题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=116242#problem/E 题意:差不多就是男人勇下百层的游戏.从第一层到最 ...

  10. 从TCP到Socket,彻底理解网络编程是怎么回事

    进行程序开发的同学,无论Web前端开发.Web后端开发,还是搜索引擎和大数据,几乎所有的开发领域都会涉及到网络编程.比如我们进行Web服务端开发,除了Web协议本身依赖网络外,通常还需要连接数据库,而 ...