SOURCE

console 命令行工具 X clear

                    
>
console
// 引入fs模块
let fs = require('fs')

let arr1 = []  // ["0.998506036016588 宝贝已经收到了,试用了一段时间,运行平稳,速度还不错!", ...]
let arr2 = []  // ["0.998506036016588", "宝贝已经收到了,试用了一段时间,运行平稳,速度还不错!"]
let arr3 = []  // [["0.998506036016588", "宝贝已经收到了,试用了一段时间,运行平稳,速度还不错!"], [], ...]

// 同步读取
let res = fs.readFileSync('./score.txt')
arr1 = res.toString().split('\r\n')

for (let item of arr1) {
  arr2 = item.split(/\s/)  // 只有一个空格

  if (arr2.length > 2) {  // 有多个空格
    let str1 = arr2[0]
    let str2 = ''
    let arr4 = []

    for (let index in arr2) {
      if (Number(index)) {
        arr4.push(arr2[index])
        str2 = arr4.join(' ')
      }
    }

    arr2 = [str1, str2]
  }

  arr3.push(arr2)  // 得到二维数组
}

let obj1 = {
  "质量": ["质量", "做工", "按键", "正品", "自营", "品质", "评论", "实体店", "官方", "平台", "官网", "代言"],
  "游戏": ["游戏", "玩游戏", "打游戏", "发热", "王者", "耗电", "信号", "散热", "稳定", "网络", "温度", "原神"],
  "处理器": ["骁龙", "870", "处理器", "888", "骁龙", "性能", "旗舰", "芯片", "技术", "功耗", "火龙", "麒麟"],
  "包装": ["包装", "盒子", "包装盒", "原装"],
  "内存": ["内存", "空间", "运存", "容量"],
  "配件": ["耳机", "充电器", "配件", "无线", "赠品", "贴膜", "钢化", "无线耳机", "礼品"],
  "客服": ["客服", "服务", "服务态度", "态度", "售后"],
  "重量与尺寸": ["轻薄", "大小", "重量", "尺寸", "英寸", "厚度", "分量", "单手操作", "手感"],
  "指纹": ["屏下", "指纹", "灵敏", "解锁", "反应速度"],
  "配色": ["黑色", "蓝色", "白色", "配色", "橙色", "角度", "幻境", "光线", "渐变色", "银色", "颜色", "绿色"],
  "屏幕刷新率": ["刷新率", "顺滑", "高刷", "丝滑", "120hz", "丝滑", "刷屏"],
  "边框和后盖": ["背面", "后盖", "外壳", "材质", "磨砂", "边框", "玻璃", "后壳", "工艺", "金属", "塑料", "素皮"],
  "版本": ["256", "版本"],
  "现货": ["现货"],
  "摄像": ["拍照", "清晰", "视频", "照片", "色彩", "照相", "分辨率", "画质", "画面", "细节", "清晰度", "图片", "拍照片", "饱和度", "像素", "摄像头", "相机", "一亿", "防抖", "美颜", "光学", "夜景", "镜头", "后置", "前置", "微距", "扫码", "模组"],
  "外观": ["外观", "外形", "实物", "大气", "时尚", "设计", "精致", "高端", "美观", "外观设计", "上档次", "实用", "大方", "科技", "风格", "样式", "经典", "好看", "漂亮", "颜值", "很漂亮", "曲面", "质感", "款式", "女生", "触感", "年轻人", "女孩子", "造型", "档次", "亮眼", "圆润", "机身"],
  "屏幕": ["屏幕", "显示", "细腻", "屏幕显示", "直屏", "亮度", "素质", "眼睛", "观感", "柔性", "触屏"],
  "系统": ["流畅", "不卡", "不卡顿", "顺畅", "不卡", "卡顿", "运行", "系统", "功能", "软件", "升级", "人性化", "广告", "界面", "原生", "动画", "系统优化", "开机"],
  "喇叭": ["音效", "音质", "声音", "扬声器", "外放", "音乐", "音响", "立体", "电影", "喇叭", "音量", "音响效果", "音箱", "通话", "杂音"],
  "网络": ["网速", "5G"],
  "性价比": ["性价比", "同价位", "价位"],
  "电池和充电": ["充电", "待机时间", "电池", "续航", "耐用", "时间", "待机", "电量", "电池容量"],
  "物流": ["物流", "快递", "发货", "送货", "到货", "神速", "小哥", "热情"],
  "品牌": ["品牌", "国货", "国产", "国产手机", "牌子", "全家"],
  "价格": ["价格", "活动", "实惠", "618", "便宜", "优惠", "双十", "划算", "价钱", "力度", "降价", "学生", "价格便宜", "优惠券", "直播间", "秒杀"],
  "总体配置": ["配置", "水桶", "参数", "短板"],
  "新品": ["新品", "新款"]
}

// [["0.998506036016588", "宝贝已经收到了,试用了一段时间,运行平稳,速度还不错!"], [], ...]

let obj2 = []

// 每一个特征词
for (let key in obj1) {
  let value = obj1[key]
  let classScore = 0
  let classN = 0

  // item:特征词中的每一个高频词
  for (let item of value) {
    let score = 0
    let n = 0

    // 遍历arr3
    for (let item1 of arr3) {
      if (item1[1].indexOf(item) > -1) {
        score += Number(item1[0])
        n++
      }
    }

    if (n > 0) {
      classScore += score / n  // 每一个高频词的情感得分
      classN++
    }
  }

  obj2[key] = classScore / classN  // 每一个特征词的情感得分
}

console.log(obj2)






webPreferences: {
	nodeIntegration: true,
    contextIsolation:false  //  把这一项加上错误就会消失
 }
webPreferences: {
	nodeIntegration: true,
    contextIsolation:false  //  把这一项加上错误就会消失
 }
webPreferences: {
	nodeIntegration: true,
    contextIsolation:false  //  把这一项加上错误就会消失
 }