整体流程
将广告标题与每个关键词短语统一转成小写,并按规则分词:只保留字母、数字与连字符-,其它符号替换为空格后再按空格切分。
预处理标题:长度为 n 的标题,其位置权重为线性衰减:
n==1 时权重为 [1.0];i 个单词(0-based)的权重 w[i] = 1 - i/(n-1)。在搜索广告系统中,广告商希望他们的广告能够精准地展示给搜索相关关键词的用户。为了提高广告的相关性,系统需要计算广告与搜索关键词之间的相关性得分。一个关键的相关性指标与keywords在广告标题是否出现及出现的位置权重有关。出现在越靠近标题开头的关键词权重越高。
相关性得分计算规则:
1、计算匹配度分,如下是根据广告标题中关键词出现方式来计算匹配度分。规则如下:
1)有序子序列:对于搜索关键词 "red shoes"和广告标题 “buy red running shoes online",关键词 "red"和“shoes" 在广告标题中形成了一个有序的子序列"red shoes",匹配度得分为 X1;
2)无序子序列:对于搜索关键词"shoes red"和广告标题"buy redrunning shoes online",广告标题包括所有的 red 和 shoes 两个关键词,匹配度得分为 X2 ;.
3)匹配关键词占比权重: k 表示搜索关键词单词个数,i 表示搜索关键词中与广告标题中单词匹配个数,对于搜索关键词"shoes red or black" 和广告标题"buy red running shoes online",搜索关键词的 k=4 ,其中 shoes 和 red 匹配广告标题中的 red 和 shoes,i=2,匹配度得分为 X3∗i/k。
4)除上述场景外,其他情况匹配度为 X4 分。
其中根据业务实际相关性标准,Xi 系数 ∈[1.0,0.8.0.6,0]
2、计算位置权重
1)本题位置权重根据广告标题长度按线性袁减函数计算,如长度为 5 的广告标题,位置权重为 [1.0,0.75,0.5,0.25,0] ; 即: sum(weight=1.0−(pos/(ads_tiltle_length−1)))pos 代表单个关键词位置,从索引 0 开始
2)若存在多个关键词,位置权重取求和
3)广告标题存在多个相同关键词,取第一个关键词索引权重
3、计算相关性分数
相关性分数 = 匹配分 ∗ 位置权重,保留 4 位小数,向下取整。
函数需要返回每个搜索关键词与广告之间的相关性得分(浮点数列表,保留 4 位小数,向下取整),相关性得分根据关键词在标题匹配度及其位置权重计算得出。(说明:匹配时忽略大小写)
输入:现在有广告标题和检索的关键词列表输入格式:ad_title丨keywords1丨keywords2丨keywords3丨keywordsN
描述:以”丨"分割,首位为广告标题,其余为关键词列表,测试样例中均为英文单词或字符组成。输入的关键词个数小于 100
每个关键词对应的相关行得分(得分个数等于关键词个数,即也小于 100;保留 4 位小数,向下取整),中间用 丨 分隔。比如 1.0000丨1.4000丨0.0750丨0.0000
输入
Advanced Camera: Capture Life in Stunning Detail! Elevate Your Photography with Our Cutting-Edge Camera!|Camera|Camera Photography|digital phone|phone
输出
0.9231|1.2308丨0.0000丨0.0000
输入
buy red running shoes online!|red shoes|buy shoes running|shoes black|Phone
输出
1.0000|1.4000|0.0750|0.0000