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用户评论标签匹配的解决方法的更多相关文章
- ios/iphone手机请求微信用户头像错位BUG及解决方法
转:http://www.jslover.com/code/527.html ios/iphone手机请求微信用户头像错位BUG及解决方法 发布时间:2014-12-01 16:37:01 评论数:0 ...
- linux使用su切换用户提示 Authentication failure的解决方法& 复制文件时,报cp: omitting directory `XXX'
linux使用su切换用户提示 Authentication failure的解决方法:这个问题产生的原因是由于ubtun系统默认是没有激活root用户的,需要我们手工进行操作,在命令行界面下,或者在 ...
- $ sudo python -m pip install pylint 出错解决方法
问题:在unbuntu执行$ sudo python -m pip install pylint出错解决方法支行以下命令sudo pip install pylint==1.9.3这样roboware ...
- selenium 获取不了标签文本的解决方法
selenium 获取不了标签文本的解决方法 ------ 即driver.find_element_by_xxx().text() 为空的解决办法 如果得到的文本只为空,而非我们期望的baidu,那 ...
- Python实现全局变量的两个解决方法
Python实现全局变量的两个解决方法 本文针对Python的全局变量实现方法简述如下: 先来看下面一段测试程序: count = 0 def Fuc(count): print coun ...
- win安装python模块出现依赖问题的解决方法 & No module named 'MySqldb'
前言 一年多了,还在写这种问题,羞愧. 新公司不让用自己的电脑,配的winPC,项目启不起来,之前也出现过这个问题,是py3缺少某个模块,但是自己没记,这次记一下好了. No module named ...
- python积累二:中文乱码解决方法
根据网上提供的解决方法:添加#coding=utf-8或# -*- coding: utf-8 -*- #coding=utf-8 print "还不行?" 执行结果:还是乱码!: ...
- 【Python】Non-ASCII character '\xe6' 错误解决方法
刚刚在写Python程序的时候遇到了一个问题,无论是在程序中什么地方出现中文字符,都会出现如下错误 SyntaxError: Non-ASCII character '\xe6' 网上查阅了一下这应该 ...
- mysql误删root用户或者忘记root密码解决方法
解决方法一: 到其他安装了Mysql的服务器(前提是要知道该服务器上Mysql的root用户密 码),打开[Mysql的安装目录/var/mysql],将其中的user.frm.user.MYD.us ...
随机推荐
- Python——DataFrame转list(包含两种)
import pandas as pd df = pd.DataFrame({'a':[1,3,5,7,4,5,6,4,7,8,9], 'b':[3,5,6,2,4,6,7,8,7,8,9]}) df ...
- 笔记本电脑安装jupyterthemes
上午准备在老笔记本上也装上jupyter themes,竟然遇到一堆问题: 首先直接 pip install jupyterthemes 参考:https://blog.csdn.net/Jinlon ...
- WPF多值绑定及多值转换(MultiBinding和IMultiValueConverter)
WPF可以使用MultiBinding进行多值绑定,使用IMultiValueConverter进行多值转换 例: (1)转换器 public class ContentConverter : IMu ...
- Linux C打印所有的环境变量
#include <stdio.h> extern char** environ; int main() { ; ; environ[nIndex] != NULL; nIndex++) ...
- 【leetcode】1292. Maximum Side Length of a Square with Sum Less than or Equal to Threshold
题目如下: Given a m x n matrix mat and an integer threshold. Return the maximum side-length of a square ...
- 菜鸟 Python 100例
以下参考:菜鸟教程 python100例 == 推荐博客 有四个数字: 1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? import itertools a = ('1','2' ...
- Math.cbrt() Math.sqrt() Math.pow()
Math.pow() 能实现 Math.cbrt() 和 Math.sqrt() 的功能,但并不完全相同. 1. Math.pow()和Math.cbrt()的区别 function isCube(m ...
- Java BIO、NIO、AIO 原理
先来个例子理解一下概念,以银行取款为例: 同步 : 自己亲自出马持银行卡到银行取钱(使用同步IO时,Java自己处理IO读写). 异步 : 委托一小弟拿银行卡到银行取钱,然后给你(使用异步IO时,Ja ...
- [Luogu] 线段树 2
https://www.luogu.org/problemnew/show/P3373 双懒标记下放 先乘后加 #include <bits/stdc++.h> using namespa ...
- Simple Problem with Integers(POJ 3486)
A Simple Problem with Integers Time Li ...