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]=='不' 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()
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!