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. 配置基于centos下的远程Jupyter Notebook访问

    最近在学习一些服务器上的操作,学着熟悉Liunx系统,记录下自己踩过的坑吧 1.开机后更新系统: yum -y upgrade yum - y update 2.查看已安装的应用 yum list 3 ...

  2. Reverse数组以及大O表达式

    这篇主要是对数组实现一个倒排序(比如数组1.2.3,最后输出3.2.1),当然实现这个功能是非常easy的事,但是这里需要引入另外一个很重要的概念-----如何计算一个算法的时间复杂度并学会用大O表达 ...

  3. vue1 计算属性

  4. mongo operations

    Check Mongo Operate Logs db.getCollection('oplog.rs').find({'ns':{$in:['sxa.sxacc-organizations','sx ...

  5. Shell 脚本来自动监控 Linux 系统的内存

    # vim /scripts/swap-warning.sh #!/bin/bash #提取本服务器的IP地址信息 IP=`ifconfig eth0 | grep "inet addr&q ...

  6. 原生JS实现图片上传并预览功能

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. 薛的lca讲课配到题解

    2.15 LCA Nearest Common Ancestors POJ 1330 题意:给出一棵树, 询问两个点的最近公共祖先. 思路: $LCA$模板题,请各位掏出各式各样的模板A穿它. #in ...

  8. VC/DDK/DriverWorks开发环境配置

    1·前言开发windows内核驱动程序是一个非常具有挑战性的工作,你得忍耐调试过程中操作系统 不断蓝屏.不断崩溃的噩梦,所以强烈建议你采用虚拟机做开发平台,这样即使把整个系统都搞蹦了,大不了从新装过虚 ...

  9. Grafana +Zabbix 系列二

    Grafana +Zabbix 系列二 Grafana 简介补充 Grafana自身并不存储数据,数据从其他地方获取.需要配置数据源 Grafana支持从Zabbix中获取数据 Grafana优化图形 ...

  10. c#递归读取菜单树

    1.查询菜单节点下所有子节点id List<sys_module> menus = new List<sys_module>() { }; public async Task& ...