|
@@ -1,17 +1,9 @@
|
|
|
package com.tzld.piaoquan.recommend.server.service.score;
|
|
|
|
|
|
|
|
|
-
|
|
|
import com.tzld.piaoquan.recommend.server.common.base.*;
|
|
|
-import com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples;
|
|
|
import com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples;
|
|
|
-import com.tzld.piaoquan.recommend.server.gen.recommend.RecommendRequest;
|
|
|
-import com.tzld.piaoquan.recommend.server.model.Video;
|
|
|
import com.tzld.piaoquan.recommend.server.service.rank.RankParam;
|
|
|
-import com.tzld.piaoquan.recommend.server.service.rank.RankResult;
|
|
|
-import com.tzld.piaoquan.recommend.server.service.recall.RecallResult;
|
|
|
-import com.tzld.piaoquan.recommend.server.service.score.feature.FeatureUsage;
|
|
|
-import com.tzld.piaoquan.recommend.server.service.score.feature.LRBytesFeatureExtractorBase;
|
|
|
import com.tzld.piaoquan.recommend.server.service.score.feature.VlogShareLRFeatureExtractor;
|
|
|
import com.tzld.piaoquan.recommend.server.service.score.model.LRModel;
|
|
|
import org.apache.commons.lang.exception.ExceptionUtils;
|
|
@@ -24,11 +16,11 @@ import java.util.List;
|
|
|
import java.util.concurrent.*;
|
|
|
|
|
|
|
|
|
-public class VlogShareLRScorer extends BaseLRModelScorer{
|
|
|
+public class VlogShareLRScorer extends BaseLRModelScorer {
|
|
|
|
|
|
private final static int CORE_POOL_SIZE = 64;
|
|
|
|
|
|
- private static final int LOCAL_TIME_OUT= 150;
|
|
|
+ private static final int LOCAL_TIME_OUT = 150;
|
|
|
private final static Logger LOGGER = LoggerFactory.getLogger(VlogShareLRScorer.class);
|
|
|
private static final ExecutorService executorService = Executors.newFixedThreadPool(128);
|
|
|
private static final double defaultUserCtrGroupNumber = 10.0;
|
|
@@ -42,10 +34,9 @@ public class VlogShareLRScorer extends BaseLRModelScorer{
|
|
|
|
|
|
|
|
|
@Override
|
|
|
- public List<RankItem> scoring(final RequestContext requestContext,
|
|
|
- final RankParam param,
|
|
|
- final UserFeature userFeature,
|
|
|
- final List<RankItem> rankItems) {
|
|
|
+ public List<RankItem> scoring(final RankParam param,
|
|
|
+ final UserFeature userFeature,
|
|
|
+ final List<RankItem> rankItems) {
|
|
|
long startTime = System.currentTimeMillis();
|
|
|
LRModel model = (LRModel) this.getModel();
|
|
|
LOGGER.debug("model size: [{}]", model.getModelSize());
|
|
@@ -54,7 +45,7 @@ public class VlogShareLRScorer extends BaseLRModelScorer{
|
|
|
}
|
|
|
|
|
|
List<RankItem> result = rankItems;
|
|
|
- result = rankByJava(rankItems, requestContext, userFeature);
|
|
|
+ result = rankByJava(rankItems, param.getRequestContext(), userFeature);
|
|
|
|
|
|
LOGGER.debug("ctr ranker time java items size={}, time={} ", result != null ? result.size() : 0,
|
|
|
System.currentTimeMillis() - startTime);
|
|
@@ -63,8 +54,8 @@ public class VlogShareLRScorer extends BaseLRModelScorer{
|
|
|
}
|
|
|
|
|
|
private List<RankItem> rankByJava(final List<RankItem> items,
|
|
|
- final RequestContext requestContext,
|
|
|
- final UserFeature user) {
|
|
|
+ final RequestContext requestContext,
|
|
|
+ final UserFeature user) {
|
|
|
long startTime = System.currentTimeMillis();
|
|
|
LRModel model = (LRModel) this.getModel();
|
|
|
LOGGER.debug("model size: [{}]", model.getModelSize());
|
|
@@ -109,7 +100,7 @@ public class VlogShareLRScorer extends BaseLRModelScorer{
|
|
|
lrSamples = bytesFeatureExtractor.single(userInfoBytes, newsInfoBytes,
|
|
|
new RequestContextBytesFeature(requestContext));
|
|
|
} catch (Exception e) {
|
|
|
- LOGGER.error("extract feature error for imei={}, doc={}, [{}]", new Object[]{new String(userInfoBytes.getUid()), item.getVideoid(),
|
|
|
+ LOGGER.error("extract feature error for imei={}, doc={}, [{}]", new Object[]{new String(userInfoBytes.getUid()), item.getVideoId(),
|
|
|
ExceptionUtils.getFullStackTrace(e)});
|
|
|
}
|
|
|
|
|
@@ -120,7 +111,7 @@ public class VlogShareLRScorer extends BaseLRModelScorer{
|
|
|
pro = lrModel.score(lrSamples);
|
|
|
} catch (Exception e) {
|
|
|
LOGGER.error("score error for doc={} exception={}", new Object[]{
|
|
|
- item.getVideoid(), ExceptionUtils.getFullStackTrace(e)});
|
|
|
+ item.getVideoId(), ExceptionUtils.getFullStackTrace(e)});
|
|
|
}
|
|
|
// 增加实时特征后打开在线存储日志逻辑
|
|
|
//
|
|
@@ -157,7 +148,7 @@ public class VlogShareLRScorer extends BaseLRModelScorer{
|
|
|
try {
|
|
|
calcScore(model, items.get(fIndex), userInfoBytes, requestContext);
|
|
|
} catch (Exception e) {
|
|
|
- LOGGER.error("ctr exception: [{}] [{}]", items.get(fIndex).videoid, ExceptionUtils.getFullStackTrace(e));
|
|
|
+ LOGGER.error("ctr exception: [{}] [{}]", items.get(fIndex).videoId, ExceptionUtils.getFullStackTrace(e));
|
|
|
}
|
|
|
return new Object();
|
|
|
}
|