Browse Source

1.金额
2.jsondata抽取记录
3.打分

fengweiqiang 5 years ago
parent
commit
05bd74439f
4 changed files with 20 additions and 1 deletions
  1. 2 1
      src/jy/clear/tonumber.go
  2. 8 0
      src/jy/extract/score.go
  3. 3 0
      src/jy/extract/score_jsondata.go
  4. 7 0
      src/res/fieldscore.json

+ 2 - 1
src/jy/clear/tonumber.go

@@ -79,6 +79,7 @@ func ObjToFloat(data []interface{}) []interface{} {
 //金额转换
 func ObjToMoney(data []interface{}) []interface{} {
 	isfindUnit := true
+	tmpstr :=(data)[0]
 	ret := capitalMoney(data)[0]
 	if ret.(float64) < float64(10000) || ret.(float64) > float64(50000000000) {
 		ret2, b := numMoney(data)
@@ -98,7 +99,7 @@ func ObjToMoney(data []interface{}) []interface{} {
 			f = f * 10000
 		}
 	}
-	if f == 0 && !moneyUnitRegBool.MatchString(fmt.Sprint(data[0])) {
+	if f == 0 && !moneyUnitRegBool.MatchString(fmt.Sprint(tmpstr)) {
 		data = append(data, false)
 		return data
 	}

+ 8 - 0
src/jy/extract/score.go

@@ -104,6 +104,7 @@ func init() {
 	}
 }
 
+var CNreg = regexp.MustCompile("[\u4e00-\u9fa5]")
 //结果打分
 func ScoreFields(j *ju.Job, ftag map[string][]*Tag) map[string][]*ju.ExtField {
 	qu.Catch()
@@ -112,6 +113,13 @@ func ScoreFields(j *ju.Job, ftag map[string][]*Tag) map[string][]*ju.ExtField {
 		if field == "projectcode" {
 			tmps = projectWeightClear(tmps)
 		}
+		if field == "budget" || field == "bidamount" {
+			for tmpsindex, tmpsvalue := range tmps {
+				tmps[tmpsindex].Score = -10
+				tmps[tmpsindex].ScoreItem = append(tmps[tmpsindex].ScoreItem, &ju.ScoreItem{Des: field+`value结果含中文直接-10分`, Code: field, Value: tmpsvalue.Value, Score: -10})
+				continue
+			}
+		}
 		locktag.Lock()
 		taglength := len(ftag[field])
 		locktag.Unlock()

+ 3 - 0
src/jy/extract/score_jsondata.go

@@ -176,6 +176,7 @@ func JsonDataMergeProcessing(j *util.Job, e *ExtractTask) map[string][]*util.Ext
 									score := util2.Float64All(ranges[2])
 									if valueLen > gt && valueLen <= lte {
 										v[i].Score += score
+										v[i].ScoreItem = append(v[i].ScoreItem, &util.ScoreItem{Des: "JsonData长度打分", Code: fmt.Sprint(gt, "<", valueLen, "<=", lte), ScoreFrom: "fieldscore.json.length", Value: tmpsvalue.Value, Score: score})
 										break
 									}
 								}
@@ -191,6 +192,7 @@ func JsonDataMergeProcessing(j *util.Job, e *ExtractTask) map[string][]*util.Ext
 										reg := p["regexp"].(*regexp.Regexp)
 										if reg.MatchString(util2.ObjToString(tmpsvalue.Value)) {
 											v[i].Score += util2.Float64All(p["score"])
+											v[i].ScoreItem = append(v[i].ScoreItem, &util.ScoreItem{Des: "JsonData负面词打分" + fmt.Sprint(p["describe"]), Code: "negativewords", RuleText: reg.String(), ScoreFrom: "fieldscore.json.negativewords", Value: tmpsvalue.Value, Score: util2.Float64All(p["score"])})
 										}
 									}
 								}, func(err interface{}) {
@@ -208,6 +210,7 @@ func JsonDataMergeProcessing(j *util.Job, e *ExtractTask) map[string][]*util.Ext
 										reg := p["regexp"].(*regexp.Regexp)
 										if reg.MatchString(util2.ObjToString(tmpsvalue.Value)) {
 											v[i].Score += util2.Float64All(p["score"])
+											v[i].ScoreItem = append(v[i].ScoreItem, &util.ScoreItem{Des: "Jsondata正面词打分" + fmt.Sprint(p["describe"]), Code: "positivewords", RuleText: reg.String(), ScoreFrom: "fieldscore.json.positivewords", Value: tmpsvalue.Value, Score: util2.Float64All(p["score"])})
 										}
 									}
 								}, func(err interface{}) {

+ 7 - 0
src/res/fieldscore.json

@@ -40,6 +40,13 @@
                 "space": 3,
                 "regexp": 2,
                 "kvweight": 5
+            },
+            "bidamount": {
+                "table": 3,
+                "colon": 3,
+                "space": 2,
+                "regexp": 2,
+                "kvweight": 1
             }
         }
     },