一种菜品标准化的方法技术

技术编号:19060344 阅读:34 留言:0更新日期:2018-09-29 12:52
本发明专利技术属于nlp技术领域,公开了一种菜品标准化的方法,本发明专利技术为一种采用nlp技术来判断名字不完全相同的两道菜是否属于同一种菜的方法;首先需要构建一个标准菜品库,然后计算众多需要标准化的菜品与标准菜品库中的哪一道菜最相似即说明该需要标准化的菜其实就是标准菜品库中的这道菜,通过这种方式即可以将名称不同但属于同一道菜的各种菜对应到一个名称上边。采用本发明专利技术的方法可以将不同商户自己定义的菜品名称进行标准化,映射到建立的标准菜品库中的菜品名称上,这大大方便了后序的分析工作。

【技术实现步骤摘要】
一种菜品标准化的方法
本专利技术属于nlp
,尤其涉及一种菜品标准化的方法。
技术介绍
目前,业内常用的现有技术是这样的:目前随着餐饮O2O行业的发展,餐饮O2O行业中的企业越来越重视对于线上产生数据的分析利用,其中就包括统计分析哪种菜品的销量最高及通过分析不同店家对于同一种菜品在不同地区的定价来为各个商家提供价格指导等。但目前线上的菜品信息均为商家自己填写,缺乏一个统一标准,因此在做统计分析时往往会因为同一道菜取了不同的名字而误将其统计为不同的菜。因此,需要有一种方法能够识别出哪一些菜虽然名字不同但其实是属于同一道菜,目前的做法通常是使用菜品的名字进行字符串的模糊匹配,通过名字的匹配程度来判定两道菜是否属于同一道菜,但这种方法的识别率非常有限,只能判断极少数的菜品是否是同一道菜,对于大部分的菜品信息则判断不出来。综上所述,现有技术存在的问题是:现有使用菜品的名字进行字符串的模糊匹配,通过名字的匹配程度来判定两道菜是否属于同一道菜,但这种方法的识别率非常有限,只能判断极少数的菜品是否是同一道菜,对于大部分的菜品信息则判断不出来。目前随着餐饮O2O行业的发展,餐饮O2O行业中的企业越来越重视对于线上产生数据的分析利用。其中,统计自己公司平台上的各种菜的销量及为自己公司平台上的商户做套餐推荐就是典型的例子,但要做好这两点的前提是要先知道平台上的哪些菜品虽然名字不同,但其实是属于同一道菜,只有这样才不至于在统计和计算的时候将相同的菜算作不同的菜而导致结果的误差。但目前并没有一种能够一次就统计出大量菜品中哪些菜其实是属于同一种菜的方法,目前的方法只能够通过字符串匹配的方式统计出数据库中有多少自己想知道的那些菜品,比如想知道数据库中有多少青椒肉丝,便可以通过字符串匹配的方式在数据库中查找有多少青椒肉丝的菜名。但这种方法缺陷是当菜名不完全相同时便不能够识别出来,如当数据库中有青椒炒肉丝这道菜时,字符串匹配的方法会认为他们不属于同一道菜,同时,当我们需要一次统计出数据库中的所有菜中哪些是属于同一道菜时这种方法也不适用。解决上述技术问题的难度和意义:本专利技术能够很好的解决这两个缺陷,得到的菜品标准化的结果对于后序的分析利用具有极高的价值。
技术实现思路
针对现有技术存在的问题,本专利技术提供了一种菜品标准化的方法。本专利技术是这样实现的,一种菜品标准化的方法包括以下步骤:步骤一,构建标准菜品库;标准菜品库的构建可以是通过爬取网络菜谱的菜品相关信息来构建的,也可以通过人工从大量的菜品信息中筛选等手段获得。其中标准菜品库的菜品信息包括菜的名称、食材、做法及描述信息。标准菜品库构建的原则为:能够使得尽量多的需要标准化的菜品能够在标准菜品库中找到对应的标准菜,同时标准菜品库的菜品数量又不能过大,以免影响计算的效率。标准菜品库的构建包括以下步骤:1,从尽可能多的菜名相对标准的食谱网站爬取菜名,从而形成了一个大而全的菜品库1。2,将菜品库1中的菜品按照菜名去重后形成新的菜品库2。3,将菜品库2中的每道菜的菜名分词,并将同一菜名分完词后的所有词作为元素存入同一个列表中,形成列表[a1,a2,…,an],其中a1,a2,…,an为一道菜分完词后的所有词。然后按照步骤三,步骤四,步骤五,步骤六来将分完词后的菜名形成的列表用向量的形式表示出来,形成向量[n1,n2,…,nm],其中每一道菜形成的向量的长度均相同。最后计算各向量之间的余弦相似度,其中余弦相似的值的大小介于0到1之间,当两向量的余弦相似度的值大于某一阈值k时(k的大小可以自己设置,如可以设置为0.9),说明两道菜很相似可以认为属于同一道菜,此时从菜品库2中剔除两道菜中的任意一道菜。最终,剩余的菜名形成了菜品库3;将菜品库3作为标准菜品库,然后按照步骤二,步骤三,步骤四,步骤五,步骤六,步骤七计算所有目前需要标准化的菜品与标准菜品库中的所有菜品在低维语义空间中对应向量的余弦相似度,如果所有目前需要标准化的菜品与标准菜品库中的某一道菜的余弦相似度均小于某一阈值n(n的大小根据实际使用效果自行设置,介于0到1之间,例如可以设置为0.3),则从标准菜品库中剔除该道菜,剩余的菜构成菜品库4,菜品库4为最终的标准菜品库。这样构建标准菜品库既可以保证标准菜品库可以使尽量多的需要标准化的菜品能够在标准菜品库中找到标准的菜(从1得到保证),即使当我们需要标准化的菜品数量随着时间逐渐增加时也任然可以做到这点,但要注意标准菜品库需要每隔一段时间(如半年,这个时间根据使用效果而定,当效果变差时便要考虑更新标准菜品库)更新一次,更新的步骤同1,2,3,4。同时也使得标准菜品库中的数据不至于过大(从3和4得到保证)和出现重复(从3得到保证),标准菜品库过大会增加计算量,增加计算机的运算时间,而重复的菜品会导致最后的统计误差,例如,如果标准菜品库中既有白菜炒豆腐,又有豆腐炒白菜,则当我们统计白菜炒豆腐这道菜的销量时不会将豆腐炒白菜野统计进去,这样会导致统计误差。步骤二,分词阶段;将标准菜品库中的每道菜及需要标准化的每一道菜的菜名分别分词,并将同一道菜分完词后的所有词作为元素存入同一个列表中。步骤三,通过网络爬虫的方式爬取各大食谱网站的食材(如白菜,五花肉),做法(如蒸,煮),口味(如麻辣,鱼香)数据,并分别去重后将食材保存到文件file1中,做法保存到文件file2中,口味保存到文件file3中。当步骤二中一道菜分完词后形成的列表list中包含file1中的某一食材时,则再在该列表中添加五个该食材元素。例如鱼香肉丝分完词之后形成列表[鱼香,肉丝],当file1中包含肉丝时,此列表变为[鱼香,肉丝,肉丝,肉丝,肉丝,肉丝,肉丝]。当list中包含file2中的某一做法词时,则再在该列表中添加两个该做法词。当list中包含file3中的某一口味词时,则再在该列表中添加一个该口味词。通过这种方式来增加重要词语的权重。步骤四,使用bagofwords模型将经过步骤三得到的词列表向量化,即用bagofwords模型将经过步骤三得到的词列表用词频向量的形式表示。其中bagofwords模型的描述如下:为方便举例,目前假设标准菜品库中只有鱼香肉丝和麻辣肉片两道菜,需要标准化的菜只有青椒肉丝一道,则经过步骤二的分词之后三道菜形成的列表分别为[鱼香,肉丝],[麻辣,肉片],[青椒,肉丝]。经过步骤三后形成的词列表分别为[鱼香,鱼香,肉丝,肉丝,肉丝,肉丝,肉丝,肉丝],[麻辣,麻辣,肉片,肉片,肉片,肉片,肉片,肉片],[青椒,青椒,青椒,青椒,青椒,青椒,肉丝,肉丝,肉丝,肉丝,肉丝,肉丝]。基于步骤三得到的词列表构造的词典为:dict={1:鱼香,2:肉丝,3:麻辣,4:肉片,5:青椒},这个词典包含5个不同的词语,利用词典的索引,以上三道菜的每一道都可以用一个5维的向量表示,其中向量中元素的位置对应dict词典中同位置的词,对应的数字表示该词在对应词列表中出现的次数。这样便可以将上述三道菜表示以下向量形式:鱼香肉丝:[2,6,0,0,0]麻辣肉片:[0,0,2,6,0]青椒肉丝:[0,6,0,0,6]步骤五,使用TF-IDF模型将步骤四中得到的词频向量表示为用TF-IDF值表示的向量。过程如下:词频(TF)=一道本文档来自技高网
...

【技术保护点】
1.一种菜品标准化的方法,其特征在于,所述菜品标准化的方法为:首先需要构建一个标准菜品库,然后计算众多需要标准化的菜品与标准菜品库中的哪一道菜最相似即说明该需要标准化的菜其实就是标准菜品库中的这道菜,通过这种方式即可以将名称不同但属于同一道菜的各种菜对应到一个名称上边。

【技术特征摘要】
1.一种菜品标准化的方法,其特征在于,所述菜品标准化的方法为:首先需要构建一个标准菜品库,然后计算众多需要标准化的菜品与标准菜品库中的哪一道菜最相似即说明该需要标准化的菜其实就是标准菜品库中的这道菜,通过这种方式即可以将名称不同但属于同一道菜的各种菜对应到一个名称上边。2.如权利要求1所述的菜品标准化的方法,其特征在于,所述菜品标准化的方法,具体包括:步骤一,构建标准菜品库;标准菜品库的构建可以是通过爬取网络菜谱的菜品相关信息来构建的,也可以通过人工从大量的菜品信息中筛选等手段获得;其中标准菜品库的菜品信息包括菜的名称、食材、做法及描述信息;步骤二,分词阶段;将标准菜品库中的每道菜及需要标准化的那一道菜的菜名,食材,做法及描述信息分别分词,并将同一道菜分完词后的所有词作为元素存入同一个列表中;步骤三,使用bagofwords模型将分词之后的菜品信息向量化,即用bagofwords模型将步骤二中分词后的菜品信息用词频向量的形式表示;步骤四,用基于步骤三中得到的词频向量来训练TF-IDF模型,并将步骤三中用词频向量表示的菜品信息使用训练好的TF-IDF模型表示成用TF-IDF值表示的向量;步骤五,使用步骤四中用TF-IDF值表示的向量训练LSA模型;步骤六,使用步骤五中训练好的LSA模型将步骤三中向量化之后的菜品信息向量映射到低维语义空间,形成新的维度更低的向量;步骤七,计算需要标准化的那道菜在步骤六语义空间中形成的向量与标准菜品库中每道菜在语义空间中形成向量的余弦相似度,取相似度最大对应的菜品为该需要标准化的菜品对应的标准菜。3.如权利要求2所述的菜品标准化的方法,其特征在于,所述构建标准菜品库,包括:标准菜品库的构建可以是通过爬取网络菜谱的菜品相关信息来构建;或通过人工从大量的菜品信息中筛选手段获得;其中标准菜品库的菜品信息包括菜的名称、食材、做法及描述信息;标准菜品库的构建包括以下步骤:1),从菜名相对标准的食谱网站爬取菜名,形成菜品库1;2),将菜品库1中的菜品按照菜名去重后形成新的菜品库2;3),将菜品库2中的每道菜的菜名分词,并将同一菜名分完词后的所有词作为元素存入同一个列表中,形成列表[a1,a2,…,an],其中a1,a2,…,an为一道菜分完词后的所有词;然后按照步骤三,步骤四,步骤五,步骤六来将分完词后的菜名形成的列表用向量的形式表示出来,形成向量[n1,n2,…,nm],其中每一道菜形成的向量的长度均相同;最后计算各向量之间的余弦相似度,余弦相似的值的大小介于0到1之间,当两向量的余弦相似度的值大于某...

【专利技术属性】
技术研发人员:刘胜涛
申请(专利权)人:客如云科技成都有限责任公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1