前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >serverless在标签系统的应用

serverless在标签系统的应用

原创
作者头像
haimingli
发布2020-12-29 11:11:23
7170
发布2020-12-29 11:11:23
举报

背景

  大部分业务系统,都有丰富的数据,比如商品,用户信息,物流信息等等。这里以电商为例,一个电商系统都有品类丰富的商品,用户数据,,如何对这些商品归门别类,如何去发掘这些商品的特性都是一个难题。难点在于商品种类多,以国内某电商为例,spu维度商品多达三百多万,size维度商品更是有两千万。这些商品被录入资料的时候信息往往是不准确的,一是因为商家为了搜索流量,会给商品加上各种不存在的属性,比如冬天的衣服,可能商家会加上夏天的标签,这样用户搜索夏装也能搜索出来。还有一点是资料维护不全,很多商品资料就简单几句描述,这些商品很可能就会淹没在海量商品中。除此之外,如何发掘商品的动态特征也不是人工能发现的,比如商品的限量趋势,动销率,口碑等等。那么就需要有一个手段,去挖掘商品的特征。

方案设计

  接下来会通过Python的jieba和snownlp惊醒关键词提取和摘要。

首先初始化项目:

代码语言:txt
复制
li@HAIMINGLI-MB0 scf-tag % scf init --name nlp_demo
      _____  ______ ______ ______ __     ____
     / ___/ / ____// ____// ____// /    /  _/
     \__ \ / /    / /_   / /    / /     / /  
    ___/ // /___ / __/  / /___ / /___ _/ /   
   /____/ \____//_/     \____//_____//___/ 
[+] Initializing project...
[>] Template: /Users/li/.pyenv/versions/3.6.5/lib/python3.6/site-packages/tcfcli/cmds/init/templates/tcf-demo-python
[>] Output-Dir: .
[>] Project-Name: nlp_demo
[>] Type: Event
[>] Runtime: python3.6
[*] Project initialization is complete

然后安装所需要依赖:

代码语言:txt
复制
li@HAIMINGLI-MB0 nlp_demo % pip3 install --target=./ jieba snownlp
Collecting jieba
  Downloading http://pypi.doubanio.com/packages/c6/cb/18eeb235f833b726522d7ebed54f2278ce28ba9438e3135ab0278d9792a2/jieba-0.42.1.tar.gz (19.2MB)
    100% |████████████████████████████████| 19.2MB 1.1MB/s 
Collecting snownlp
  Downloading http://pypi.doubanio.com/packages/3d/b3/37567686662100d3bce62d3b0f2adec18ab4b9ff2b61abd7a61c39343c1d/snownlp-0.12.3.tar.gz (37.6MB)
    100% |████████████████████████████████| 37.6MB 96.5MB/s 
Installing collected packages: jieba, snownlp
  Running setup.py install for jieba ... done
  Running setup.py install for snownlp ... done
Successfully installed jieba-0.42.1 snownlp-0.12.3

然后编辑index.py加入关键词提取逻辑:

代码语言:txt
复制
import logging
import jieba.analyse
from snownlp import SnowNLP

logging.basicConfig(level=logging.NOTSET)

def FromSnowNlp(text, summary_num):
    s = SnowNLp(text)
    return s.summary(summary_num)

def FromJieba(text, keywords_type, keywords_num):
    if keywords_type == "tfidf":
        return jieba.analyse.extract_tags(text, topK=keywords_num)
    elif keywords_type == "textrank":
        return jieba.analyse.textrank(text, topK=keywords_num)
    else:~
        return None

def main_handler(event, context):
    text = event["text"]
    summary_num = event["summary_num"]
    keywords_num = event["keywords_num"]
    keywords_type = event['keywords_type']
    return {"keywords": FromJieba(text, keywords_type, keywords_num), "summary": FromSnowNlp(text, summary_num)}

最后人工把代码上传到云函数控制台。即可实现关键词提取和文本摘要提取,为商品打标签准备好基础数据。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 方案设计
相关产品与服务
云函数
云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码。您只需使用平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。云函数是实时文件处理和数据处理等场景下理想的计算平台。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档