AI 在 marketing 上的应用

AI 在 marketing 中有很多应用,例如 搜索,推荐系统,程序化广告,市场预测,语音/文本识别(会话商务),防欺诈,网页设计,商品定价,聊天机器人等。

  1. 其中很重要的一个部分叫 audience target,AI 可以应用在这里,可以对顾客和顾客的需求进行精准的定位,找到前20%最有价值的客户,预测顾客下一次会买什么东西,这样可以减少时间金钱等资源的消耗。
  2. 另一个应用是内容生成,输入一个关键词,从大量的数据里,找到和这个关键词相关的段落文章等,融合成一段文字。 这个技术可以针对目标客户生成能够吸引他们的内容,找到能够激发他们购买欲的单词短语句子等,将流量转化为销量。很多公司都用这个技术,例如雅虎。
  3. 还有一个是实时优化,当你通过电子邮件向你的客户推送消息的时候,你要实时地分析他们喜欢什么,不喜欢什么。
  4. 一个人在不同的时间会使用电脑,手机,平板等不同的设备,AI 还可以被用来预测用户在什么时间会使用什么设备,帮助公司在特定的设备上进行有效的推送。

1. 接下来看一下 audience targeting 的一个例子:

给定一个广告,来看哪些顾客更有可能被转化

用一个矩阵来表示用户对一些广告的评分,这里需要用到矩阵分解,即要把这个矩阵分成两个矩阵的乘积,其中一个矩阵表示每个用户对某些特征的喜好程度,另一个矩阵表示这些广告在这些特征上的得分。

AI 可以将这个矩阵中空白的地方预测出来。可以预测用户对未评分的广告会打的分数。有了这个乘积得到的矩阵,就可以知道用户对没有评分过的广告的评分。然后可以设定一个阈值,当评分高于这个阈值时,就推送这个广告。

  • 这里可以用 LightFM, 是一个python库,有很多流行的推荐算法,可以生成 user 和 item 的矩阵表示,可以学习每个特征的 embedding ,然后再将 user 和 item 的两个矩阵相乘得到一个分数。
  • 还可以用神经网络可以得到更有意义的表达。
  • TensorRec 是一个较新的基于 Tensorflow 搭建推荐系统的库,可以根据用户过去喜欢的广告,生成一个可能喜欢的新广告。

2. 那么具体如何做推荐呢?

第一步,将数据转化为 feature tensor,为了做 embedding,这里可以用 word2vec。 第二步,将 user ,item tensor 转化为 user~item 表达。当然因为这是个预测值,所以就会有 loss function,这里用梯度下降求得参数,使损失最小。 第三步,用 TensorRec 来进行推荐

整体流程为: 建立模型--数据--训练模型--进行预测--最后用 Recall 进行评估:

3. 内容生成

前面提到的其中一个应用 内容生成, 当推荐系统建立之后,要推荐的内容也可以用 AI 自动生成。

这里用到 LSTM, 我们知道 RNN 很擅长预测序列,根据前面的几个字预测紧接着的后面这个字是什么。不过当句子很长时,会有 vanishing gradient 问题。 而在 LSTM 中,有几个 gate,它们可以追踪 gradient,用来应对 vanishing gradient 问题,这样 LSTM 就可以记忆很长的序列。

下面是部分代码:

用 Keras 库可以很简单地就构建出复杂的神经网络,很易读,一行代表一层, 优化器用的是 RMSprop,

# build the model: a single LSTM
print('Build model...')
model = Sequential()
model.add(LSTM(128, input_shape=(maxlen, len(chars))))
model.add(Dense(len(chars)))
model.add(Activation('softmax'))

optimizer = RMSprop(lr=0.01)
model.compile(loss='categorical_crossentropy', optimizer=optimizer)

def sample(preds, temperature=1.0):
    # helper function to sample an index from a probability array
    preds = np.asarray(preds).astype('float64')
    preds = np.log(preds) / temperature
    exp_preds = np.exp(preds)
    preds = exp_preds / np.sum(exp_preds)
    probas = np.random.multinomial(1, preds, 1)
    return np.argmax(probas)


def on_epoch_end(epoch, logs):
    # Function invoked at end of each epoch. Prints generated text.
    print()
    print('----- Generating text after Epoch: %d' % epoch)

    start_index = random.randint(0, len(text) - maxlen - 1)
    for diversity in [0.2, 0.5, 1.0, 1.2]:
        print('----- diversity:', diversity)

        generated = ''
        sentence = text[start_index: start_index + maxlen]
        generated += sentence
        print('----- Generating with seed: "' + sentence + '"')
        sys.stdout.write(generated)

        for i in range(400):
            x_pred = np.zeros((1, maxlen, len(chars)))
            for t, char in enumerate(sentence):
                x_pred[0, t, char_indices[char]] = 1.

            preds = model.predict(x_pred, verbose=0)[0]
            next_index = sample(preds, diversity)
            next_char = indices_char[next_index]

            generated += next_char
            sentence = sentence[1:] + next_char

            sys.stdout.write(next_char)
            sys.stdout.flush()
        print()

print_callback = LambdaCallback(on_epoch_end=on_epoch_end)

model.fit(x, y,
          batch_size=128,
          epochs=60,
          callbacks=[print_callback])

学习资源: https://www.youtube.com/watch?v=FYMjXD3G__Y&t=548s https://www.techemergence.com/artificial-intelligence-in-marketing-and-advertising-5-examples-of-real-traction/ https://econsultancy.com/blog/67745-15-examples-of-artificial-intelligence-in-marketing/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技大本营的专栏

翻译们又要失业?Facebook最新无监督机器翻译成果,BLEU提升10个点!

神经机器翻译(NMT)关注的是通过 AI 在不同人类语言之间进行翻译的过程。2015 年,蒙特利尔学习算法研究所的研究人员开发出了一项新的算法模型,最终让机器给...

894
来自专栏重庆的技术分享区

吴恩达-神经网络和深度学习(第一周深度学习概论)

1474
来自专栏PPV课数据科学社区

大数据案例:啤酒尿布的关联算法怎么来的?

故事背景: 在一家超市中,通过大数据分析发现了一个特别有趣的现象:尿布与啤酒这两种风马牛不相及的商品的销售数据曲线竟然初期的相似,于是就将尿布与啤酒摆在一起。没...

2908
来自专栏PPV课数据科学社区

译文:安德鲁.M.莫尔的教程(一) PDF下载

安德鲁•W•穆尔简介 卡耐基梅隆大学的计算机科学学院院长,机器学习、人工智能、机器人技术,大数据统计计算行业背景,热爱算法和统计,最喜欢机器人技术。 曾在机...

3326
来自专栏AI科技评论

干货 | 2 分钟论文:神经网络开始自我学习,说是用了架构搜索新算法

来源 / Two Minute Papers 翻译 / 严谨文 校对 / 凡江 整理 / 雷锋字幕组 本期论文:结合分层表示的高级架构搜索 Hierarchic...

2567
来自专栏灯塔大数据

必看 :大数据挖掘中易犯的11大错误

0 缺乏数据(LackData) 对于分类问题或预估问题来说,常常缺乏准确标注的案例。 例如: 欺诈侦测(FraudDetection):在上百万的交易中...

4067
来自专栏专知

这可能是最简单易懂的机器学习入门(小白必读)

【导读】本文用浅显易懂的语言精准概括了机器学习的相关知识,内容全面,总结到位,剖析了机器学习的what,who,when, where, how,以及why等相...

1203
来自专栏应兆康的专栏

18. Eyeball和Blackbox开发集应该多大?

你的 Eyeball 开发集应该足够大,大到可以让你了解到算法的主要错误类别。如果你正在从事一项人类可以表现很好的任务(如识别图像中的猫咪),下面是一些指导方...

3078
来自专栏上善若水

秘籍0x02基础误差分析

Eyeball 开发集的大小将主要取决于你能够手动分析样本的时间,以及你所拥有的访问数据的权限;

1064
来自专栏人工智能

关于无人车的十万个为什么

前言 无人车到底是怎样一步一步学会开车的?自动驾驶汽车开发的过程,也是我们了解计算机视觉和深度学习的优势和局限性的过程。 与人类用双眼去观察路面、用手去操控方向...

1687

扫码关注云+社区