Maison >développement back-end >Tutoriel Python >Solution pour la correspondance des balises de commentaires des utilisateurs Python

Solution pour la correspondance des balises de commentaires des utilisateurs Python

不言
不言original
2018-06-04 17:55:421963parcourir

Cet article présente principalement en détail la solution de correspondance des balises de commentaires des utilisateurs Python, qui a une certaine valeur de référence. Les amis intéressés peuvent s'y référer

Nous avons observé les commentaires des utilisateurs et trouvé : les mots d'attribut Ils apparaissent souvent avec. des mots émotionnels car les utilisateurs expriment généralement des émotions lorsqu'ils décrivent des attributs, et les attributs sont les objets d'expression émotionnelle. Il a également été constaté que les mots d'attribut et les mots d'émotion spéciale sont essentiellement des noms ou des adjectifs (prédicats formels).

L'organigramme de l'algorithme est le suivant :

Les données des commentaires sont les suivantes :

Le code est le suivant :

#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]==&#39;不&#39; or listline[i-1]==&#39;不怎么样&#39; or listline[i-1]==&#39;不怎么&#39; or listline[i-1]==&#39;不太&#39;:  
       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 "‘文件不存在&#39;或者‘文件无法打开&#39;" 
   
finally: 
  
 fdata.close() 
 Output.close()

Recommandations associées :

Explication du système de gestion des utilisateurs Python avec des exemples

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn