从文本中识别商品名称的方法和装置的制造方法

文档序号:9326995阅读:713来源:国知局
从文本中识别商品名称的方法和装置的制造方法
【技术领域】
[0001] 本发明涉及计算机技术领域,特别地涉及一种从文本中识别商品名称的方法和装 置。
【背景技术】
[0002] 目前的电子商务领域中,已经出现自动问答机器人,主要功能是回答用户的各种 咨询问题。一般来说,机器人处理用户咨询的问题时可分为两步:第一步是问题预处理,主 要是做一些自然语言处理和用户意图识别;第二步是应答处理,包含一些处理的逻辑规则 和问答检索。上述两步之后形成问题的回答文本,再将该回答文本提供给用户。
[0003] 在上述过程中,很重要的一点是识别用户问的是关于哪个商品的问题。例如用户 问:"iPhone6 plus是双卡双待吗"。此时机器人就需要能够识别"iPhone6 plus"是一个 商品名。如果识别不出商品名,则无从给出正确的回答。另外,用户咨询的问题中,往往对 商品名进行缩写,例如:"有小米4吗?"、"华为P6什么时候有货"等等。当然有些用户也 会输入商品名的全称,例如:"请问荣耀6(H60-L11)高配版白色移动4G手机可以用联通卡 吗?"、"我看中这个:英琳娜2015夏装上新夏季大码女装连衣裙XH8506蓝色XL能不能再 便宜点"等等。对于商品名的全称,机器人也需要能够识别。
[0004] 目前对于商品名称的机器识别,一种方法是使用规则,采用类似正则匹配的方式 去匹配问题中的商品名。具体是先对商品库中的所有商品名建立一棵规则树,然后把对话 中的句子,去商品名规则树中搜索匹配,找出匹配的商品名。使用规则的主要缺点包括:
[0005] a.需要把所有的商品名都加载到内存中,占用的内存大;
[0006] b.匹配的规则比较复杂,占用的处理时间长;
[0007] C.商品短名需要人工整理好;
[0008] d.不能识别新出现的商品名,或者与商品库中名称稍有变化的商品名。
[0009] 由于存在上述的不足,所以目前出现另一种识别商品名称的方法,即采用实体识 别模型。在这种方法中,把商品名识别问题转换为词序列的命名实体识别(Named Entity Recognition,简称NER)问题。先标注语料,训练出实体识别模型,线上调用模型识别出问 题中的商品名,再调用搜索服务返回商品的skuid。主流的命名实体识别算法都是有监督 的学习方法,如HMM、SVM、CRF等。CRF在实际使用过程中速度和准确率都比较好,用得也最 多。
[0010] CRF是一个序列标注模型,把一个词序列的每个词打上一个标记。在商品名识别 这个场景,模型需要标记出商品名的起止位置,有的商品名只有一个词,如"iphone6",使用 WS表示。更多情况是商品名由多个词组成,这时可以用WB表示开始的词,WI表示中间的 词,如有多个中间的词,则标注多个WI,WE表示结束,0表示非商品名。前面举的例子,句子 "华为Ascent P6什么时候有货",切词之后得到"华为/Ascent/P6/什么时候/有/货",通 过CRF模型给每个词打个标记,分别是WB/WI/WE/0/0/0。得到商品名开始和结束的位置后, 识别出商品名"华为Ascent P6"。CRF的训练是有监督的,也就是人工把每个词打个标记, 人工准备一条条语料,让CRF学习得到模型。
[0011] 但是采用实体识别模型,仍有一些不足之处,以下简要分析。不管是使用CRF,还是 使用HMM、SVM等模型,都是有监督的学习,都依赖语料的标注。按照现有的做法,每训练一 个品类的商品名识别模型,都使用了数万条人工标注的数据。而要做全品类商品名识别,需 要海量的训练样本,成本很高。而且对于陌生商品品类,人工标注的难度也比较大,人员在 做数据标注时,是依靠自身的认识判断来做的,对不熟悉商品可能并不了解。比如用户的输 入"联想四核i5机有没有?",人工在标注时不知道联想电脑有哪些型号,只从字面上看认 为"联想四核i5机"是个商品,但实际上"四核i5"不是电脑型号,而是指的电脑的CPU,在 这里用户不是输入的某件具体型号商品,而是输入的一个属性条件。因此总的来说,采用人 工标注语料的方式一是不准确从而直接影响商品名称识别的准确性,二是效率太低。

【发明内容】

[0012] 有鉴于此,本发明提供一种从文本中识别商品名称的方法和装置,有助于提高对 用于训练模型的语料进行标注的效率,并且提高该模型从文本中识别商品名称的准确性。
[0013] 为实现上述目的,根据本发明的一个方面,提供了一种从文本中识别商品名称的 方法。
[0014] 本发明的从文本中识别商品名称的方法包括:确定商品库中各个商品名的特征 词;对于预先保存的分别与多个商品名相关联的多个文本条目,从各个文本条目中分别确 定该文本条目与其所关联的商品名的特征词所共有的字符串;为所述多个文本条目中的 每个词分配标记,其中向所述字符串分配用于标示商品名称的专用标记;对分配有标记的 所述多个文本条目进行模型训练得到模型,该模型用于对给定文本中的每个词分配所述标 记;调用所述模型,对于待处理文本中的每个词分配标记,然后输出该待处理文本中分配有 所述专用标记的词。
[0015] 可选地,确定商品库中各个商品名的特征词的步骤包括:对商品库中的各个商品 名进行切词;对于切词得到的各个词,分别计算其在各品牌中出现的概率,其中计算当前词 在当前品牌中出现的概率的公式为:当前词出现在当前品牌的所有商品名中的次数+当 前词出现在所述商品库中的所有商品名中的次数;对于在指定品牌中出现的概率大于预设 值并且非品牌词的词以及所述指定品牌的包含该非品牌词的词的商品名,将该非品牌词的 词作为该商品名的特征词。
[0016] 可选地,所述商品库中的商品属于单一品类;在对分配有标记的所述多个文本条 目进行模型训练得到模型的步骤之后,还包括:将得到的模型与所述品类对应地保存;所 述调用所述模型的步骤包括:确定待处理文本对应的品类,然后调用该品类对应的模型。
[0017] 可选地,为所述多个文本条目中的每个词分配标记的步骤还包括:为所述多个文 本条目中的每个词分配词性标记和/或品牌词标记。
[0018] 根据本发明的另一方面,提供了一种从文本中识别商品名称的装置。
[0019] 本发明的从文本中识别商品名称的装置包括:第一确定模块,用于确定商品库中 各个商品名的特征词;第二确定模块,用于对于预先保存的分别与多个商品名相关联的多 个文本条目,从各个文本条目中分别确定该文本条目与其所关联的商品名的特征词所共有 的字符串;标记模块,用于为所述多个文本条目中的每个词分配标记,其中向所述字符串分 配用于标示商品名称的专用标记;模型训练模块,用于对分配有标记的所述多个文本条目 进行模型训练得到模型,该模型用于对给定文本中的每个词分配所述标记;识别模块,用于 调用所述模型,对于待处理文本中的每个词分配标记,然后输出该待处理文本中分配有所 述专用标记的词。
[0020] 可选地,所述第一确定模块还用于:对商品库中的各个商品名进行切词;对于切 词得到的各个词,分别计算其在各品牌中出现的概率,其中计算当前词在当前品牌中出现 的概率的公式为:当前词出现在当前品牌的所有商品名中的次数+当前词出现在所述商 品库中的所有商品名中的次数;对于在指定品牌中出现的概率大于预设值并且非品牌词的 词以及所述指定品牌的包含该非品牌词的词的商品名,将该非品牌词的词作为该商品名的 特征词。
[0021] 可选地,所述第一确定模块还用于确定包含单一品类商品的商品库中各个商品名 的特征词;所述装置还包括保存模块,用于将得到的模型与所述品类对应地保存;所述识 别模块
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1