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

yipeiwu_com6年前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设计】。

相关文章

python DataFrame转dict字典过程详解

python DataFrame转dict字典过程详解

这篇文章主要介绍了python DataFrame转dict字典过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 背景:将商品i...

请不要重复犯我在学习Python和Linux系统上的错误

请不要重复犯我在学习Python和Linux系统上的错误

本人已经在运维行业工作了将近十年,我最早接触Linux是在大二的样子,那时候只追求易懂,所以就选择了Ubuntu作为学习、使用的对象,它简单、易用、好操作、界面绚丽,对于想接触Linux...

Python使用dict.fromkeys()快速生成一个字典示例

本文实例讲述了Python使用dict.fromkeys()快速生成一个字典。分享给大家供大家参考,具体如下: >>> result = dict.fromkeys...

Python Subprocess模块原理及实例

Python Subprocess模块原理及实例

前言 其实有一个模块也支持执行系统命令,那个模块就是sys.system,但他执行系统命令会直接通过主进程去执行命令,那假如,该命令的执行需要耗费一个小时,那么主进程会卡一个小时,而不...

Python算法应用实战之队列详解

Python算法应用实战之队列详解

队列(queue) 队列是先进先出(FIFO, First-In-First-Out)的线性表,在具体应用中通常用链表或者数组来实现,队列只允许在后端(称为rear)进行插入操作,在前端...