CN108596789A - 一种菜品标准化的方法 - Google Patents
一种菜品标准化的方法 Download PDFInfo
- Publication number
- CN108596789A CN108596789A CN201810270779.7A CN201810270779A CN108596789A CN 108596789 A CN108596789 A CN 108596789A CN 201810270779 A CN201810270779 A CN 201810270779A CN 108596789 A CN108596789 A CN 108596789A
- Authority
- CN
- China
- Prior art keywords
- vegetable
- vector
- dish
- library
- standard
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 235000013311 vegetables Nutrition 0.000 title claims abstract description 189
- 238000000034 method Methods 0.000 title claims abstract description 37
- 235000013372 meat Nutrition 0.000 claims description 97
- 239000013598 vector Substances 0.000 claims description 86
- 235000008534 Capsicum annuum var annuum Nutrition 0.000 claims description 38
- 240000008384 Capsicum annuum var. annuum Species 0.000 claims description 38
- 235000015277 pork Nutrition 0.000 claims description 30
- 235000009508 confectionery Nutrition 0.000 claims description 20
- 239000000796 flavoring agent Substances 0.000 claims description 20
- 235000019634 flavors Nutrition 0.000 claims description 20
- 235000013305 food Nutrition 0.000 claims description 20
- 239000000463 material Substances 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000009977 dual effect Effects 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 3
- 230000009193 crawling Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 2
- 235000013599 spices Nutrition 0.000 claims 1
- 238000004458 analytical method Methods 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 abstract description 6
- 235000010149 Brassica rapa subsp chinensis Nutrition 0.000 description 10
- 235000000536 Brassica rapa subsp pekinensis Nutrition 0.000 description 10
- 241000499436 Brassica rapa subsp. pekinensis Species 0.000 description 10
- 235000013527 bean curd Nutrition 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 241000196324 Embryophyta Species 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 238000009835 boiling Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 239000000686 essence Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/12—Hotels or restaurants
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于nlp技术领域,公开了一种菜品标准化的方法,本发明为一种采用nlp技术来判断名字不完全相同的两道菜是否属于同一种菜的方法;首先需要构建一个标准菜品库,然后计算众多需要标准化的菜品与标准菜品库中的哪一道菜最相似即说明该需要标准化的菜其实就是标准菜品库中的这道菜,通过这种方式即可以将名称不同但属于同一道菜的各种菜对应到一个名称上边。采用本发明的方法可以将不同商户自己定义的菜品名称进行标准化,映射到建立的标准菜品库中的菜品名称上,这大大方便了后序的分析工作。
Description
技术领域
本发明属于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中的某一口味词时,则再在该列表中添加一个该口味词。通过这种方式来增加重要词语的权重。
步骤四,使用bag of words模型将经过步骤三得到的词列表向量化,即用bag ofwords模型将经过步骤三得到的词列表用词频向量的形式表示。其中bag of words模型的描述如下:
为方便举例,目前假设标准菜品库中只有鱼香肉丝和麻辣肉片两道菜,需要标准化的菜只有青椒肉丝一道,则经过步骤二的分词之后三道菜形成的列表分别为[鱼香,肉丝],[麻辣,肉片],[青椒,肉丝]。经过步骤三后形成的词列表分别为[鱼香,鱼香,肉丝,肉丝,肉丝,肉丝,肉丝,肉丝],[麻辣,麻辣,肉片,肉片,肉片,肉片,肉片,肉片],[青椒,青椒,青椒,青椒,青椒,青椒,肉丝,肉丝,肉丝,肉丝,肉丝,肉丝]。基于步骤三得到的词列表构造的词典为: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)=一道菜经过步骤二和步骤三后形成的向量中对应的次数
TF-IDF=词频(TF)×逆文档频率(IDF)
则鱼香肉丝中的鱼香对应的IF-IDF值为肉丝对应的IF-IDF值为则鱼香肉丝在步骤四中对应的向量[2,6,0,0,0]用TF-IDF值表示的向量为[0.352,0,0,0,0],同理得到麻辣肉片与青椒肉丝对应的TF-IDF值表示的向量为[0,0,0.352,1.057,0],[0,1.057,0,0,0]。
步骤六,使用LSA模型将步骤五中得到的用TF-IDF值表示的向量映射到低维语义空间,形成新的维度更低的向量。(LSA模型较复杂,此处不举例说明)
步骤七,计算需要标准化的每道菜在步骤六语义空间中形成的向量与标准菜品库中每道菜在语义空间中形成的向量的余弦相似度,取相似度最大对应的菜品为需要标准化的菜品对应的标准菜。其中余弦相似度的计算方式如下:
设有两个向量a,b,其中a=[a1,a2,…,an],b=[b1,b2,…,bn],则向量a与向量b的余弦相似度x为
本发明的优点及积极效果为:
本发明提出了一种采用nlp技术来根据两道菜的菜名,食材,做法及描述信息来判断两道菜是否属于同一种菜的方法。首先需要构建一个标准菜品库,然后计算众多需要标准化的菜品与标准菜品库中的哪一道菜最相似即说明该需要标准化的菜其实就是标准菜品库中的这道菜,通过这种方式即可以将名称不同但属于同一道菜的各种菜对应到一个名称上边;采用本发明的方法可以将不同商户自己定义的菜品信息进行标准化,映射到建立的标准菜品信息上,这大大方便了后序的分析工作。
本发明的优点及积极效果为:本发明基于nlp技术提出了根据两道菜的菜名来判断两道菜是否属于同一种菜的方法。在数据库有200万条需要标准化的菜品数据的情况下,通过网络爬虫获得30万条菜品数据,构建的标准菜品库只包含三万多个菜品,能够使得200万条需要标准化菜品数据中的95%能够在标准菜品库中找到对应的标准菜,随着时间的推移当数据库中需要标准化的菜品数量增加到500时,使用同样的标准菜品库任然能够使91%的需要标准化的菜品在标准菜品库中找到对应的标准菜,随机抽查3000条匹配后的结果,经过人工辨别,发现88%以上的匹配结果都是准确的。本发明切合目前餐饮O2O行业的发展需求,具有重要的实际应用价值与广泛的应用前景。
附图说明
图1是本发明实施提供的菜品标准化的方法流程图。
图2是本发明实施提供的菜品标准化的方法具体实施流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现有使用菜品的名字进行字符串的模糊匹配,通过名字的匹配程度来判定两道菜是否属于同一道菜,但这种方法的识别率非常有限,只能判断极少数的菜品是否是同一道菜,对于大部分的菜品信息则判断不出来。
图1,本发明实施提供的菜品标准化的方法,包括:
S101:构建标准菜品库;
S102:分词阶段;
S103:增加重要词的权重,即扩大S102中所有菜品分完词后形成的列表中食材词、口味词及做法词的数量,形成新的列表。
S104:使用bag of words模型将S103中形成的新列表向量化,即用bag of words模型将S103中形成的新列表用词频向量的形式表示;
S105:使用TF-IDF模型将S104中得到的词频向量表示为用TF-IDF值表示的向量;
S106:使用LSA模型将S105中得到的用TF-IDF值表示的向量映射到低维语义空间,形成新的维度更低的向量;
S107:计算需要标准化的每道菜在步骤S106语义空间中形成的向量与标准菜品库中每道菜在语义空间中形成的向量的余弦相似度,取相似度最大对应的菜品为需要标准化的菜品对应的标准菜。
下面结合具体分析对本发明作进一步描述。
本发明实施例提供的菜品标准化的方法包括:
1)、构建标准菜品库;
标准菜品库的构建包括以下步骤:
1,从尽可能多的菜名相对标准的食谱网站爬取菜名,从而形成了一个大而全的菜品库1。
2,将菜品库1中的菜品按照菜名去重后形成新的菜品库2。
3,将菜品库2中的每道菜的菜名分词,并将同一菜名分完词后的所有词作为元素存入同一个列表中,形成列表[a1,a2,…,an],其中a1,a2,…,an为一道菜分完词后的所有词。然后按照步骤三,步骤四,步骤五,步骤六来将分完词后的菜名形成的列表用向量的形式表示出来,形成向量[n1,n2,…,nm],其中每一道菜形成的向量的长度均相同。最后计算各向量之间的余弦相似度,其中余弦相似的值的大小介于0到1之间,当两向量的余弦相似度的值大于某一阈值k时(k的大小可以自己设置,如可以设置为0.9),说明两道菜很相似可以认为属于同一道菜,此时从菜品库2中剔除两道菜中的任意一道菜。最终,剩余的菜名形成了菜品库3
4,将菜品库3作为标准菜品库,然后按照步骤二,步骤三,步骤四,步骤五,步骤六,步骤七计算所有目前需要标准化的菜品与标准菜品库中的所有菜品在低维语义空间中对应向量的余弦相似度,如果所有目前需要标准化的菜品与标准菜品库中的某一道菜的余弦相似度均小于某一阈值n(n的大小根据实际使用效果自行设置,介于0到1之间,例如可以设置为0.3),则从标准菜品库中剔除该道菜,剩余的菜构成菜品库4,菜品库4为最终的标准菜品库。
这样构建标准菜品库既可以保证标准菜品库可以使尽量多的需要标准化的菜品能够在标准菜品库中找到标准的菜(从1得到保证),即使当我们需要标准化的菜品数量随着时间逐渐增加时也任然可以做到这点,但要注意标准菜品库需要每隔一段时间(如半年,这个时间根据使用效果而定,当效果变差时便要考虑更新标准菜品库)更新一次,更新的步骤同1,2,3,4。同时也使得标准菜品库中的数据不至于过大(从3和4得到保证)和出现重复(从3得到保证),标准菜品库过大会增加计算量,增加计算机的运算时间,而重复的菜品会导致最后的统计误差,例如,如果标准菜品库中既有白菜炒豆腐,又有豆腐炒白菜,则当我们统计白菜炒豆腐这道菜的销量时不会将豆腐炒白菜野统计进去,这样会导致统计误差。
2)、分词阶段;
将标准菜品库中的每道菜及需要标准化的那一道菜的菜名分别分词,并将同一道菜分完词后的所有词作为元素存入同一个列表中。
3)、通过网络爬虫的方式爬取各大食谱网站的食材(如白菜,五花肉),做法(如蒸,煮),口味(如麻辣,鱼香)数据,并分别去重后将食材保存到文件file1中,做法保存到文件file2中,口味保存到文件file3中。当步骤二中一道菜分完词后形成的列表list中包含file1中的某一食材时,则再在该列表中添加五个该食材元素。例如鱼香肉丝分完词之后形成列表[鱼香,肉丝],当file1中包含肉丝时,此列表变为[鱼香,肉丝,肉丝,肉丝,肉丝,肉丝,肉丝]。当list中包含file2中的某一做法词时,则再在该列表中添加两个该做法词。当list中包含file3中的某一口味词时,则再在该列表中添加一个该口味词。通过这种方式来增加重要词语的权重。
4)、使用bag of words模型将经过步骤S103得到的词列表向量化,即用bag ofwords模型将经过步骤S103得到的词列表用词频向量的形式表示。其中bag of words模型的描述如下:
为方便举例,目前假设标准菜品库中只有鱼香肉丝和麻辣肉片两道菜,需要标准化的菜只有青椒肉丝一道,则经过步骤二的分词之后三道菜形成的列表分别为[鱼香,肉丝],[麻辣,肉片],[青椒,肉丝]。经过步骤三后形成的词列表分别为[鱼香,鱼香,肉丝,肉丝,肉丝,肉丝,肉丝,肉丝],[麻辣,麻辣,肉片,肉片,肉片,肉片,肉片,肉片],[青椒,青椒,青椒,青椒,青椒,青椒,肉丝,肉丝,肉丝,肉丝,肉丝,肉丝]。基于步骤三得到的词列表构造的词典为:dict={1:鱼香,2:肉丝,3:麻辣,4:肉片,5:青椒},这个词典包含5个不同的词语,利用词典的索引,以上三道菜的每一道都可以用一个5维的向量表示,其中向量中元素的位置对应dict词典中同位置的词,对应的数字表示该词在对应词列表中出现的次数。这样便可以将上述三道菜表示以下向量形式:
鱼香肉丝:[2,6,0,0,0]
麻辣肉片:[0,0,2,6,0]
青椒肉丝:[0,6,0,0,6]
5)、使用TF-IDF模型将步骤S104中得到的词频向量表示为用TF-IDF值表示的向量。过程如下:
词频(TF)=一道菜经过步骤二和步骤三后形成的向量中对应的次数
TF-IDF=词频(TF)×逆文档频率(IDF)
则鱼香肉丝中的鱼香对应的IF-IDF值为肉丝对应的IF-IDF值为则鱼香肉丝在步骤S104中对应的向量[2,6,0,0,0]用TF-IDF值表示的向量为[0.352,0,0,0,0],同理得到麻辣肉片与青椒肉丝对应的TF-IDF值表示的向量为[0,0,0.352,1.057,0],[0,1.057,0,0,0]。
6)、使用LSA模型将步骤S105中得到的用TF-IDF值表示的向量映射到低维语义空间,形成新的维度更低的向量。
7)、计算需要标准化的那道菜在步骤S106语义空间中形成的向量与标准菜品库中每道菜在语义空间中形成的向量的余弦相似度,取相似度最大对应的菜品为该需要标准化的菜品对应的标准菜。其中余弦相似度的计算方式如下:
设有两个向量a,b,其中a=[a1,a2,…,an],b=[b1,b2,…,bn],则向量a与向量b的余弦相似度x为
本发明提供的步骤4)中菜品信息向量化,用于将分词之后的菜品信息用向量的形式表示出来。
如图2所示,本发明实施例提供的菜品标准化的具体实施方式,包括以下步骤:
S201,数据准备阶段:
按照步骤S101构建标准菜品库,并将构建的标准菜品库数据存储到数据库A的表A_1中,将这些菜品作为标准菜,其中A_1则为标准菜品库,我们可以认为需要标准化的菜其实就是数据库A的表A_1中的某一种菜,只是取的名字不同而已,后面我们便可以计算需要标准化的菜品与标准菜品库中每一道菜的相似度,哪一道菜对应的相似度值最大我们便可以认为需要标准化的菜品其实就是标准菜品库中的该道菜,有了这种方法,即使不同商家对于同一道菜取的名字有所不同,例如青椒肉丝和青椒炒肉丝,我们也可以识别出来其实这些菜就是同一到道菜。同时,对于同一个平台B下的所有商户(商户1,商户2,…,商户n),将每个商户需要标准化的菜品都存储到数据库A的表A_2中。
S202,分词阶段:
取数据库A的表A_1中的全部数据及数据库A的表A_2中的全部数据,分别将取出来的每道菜的数据进行分词,并将同一道菜分完词后的所有词作为元素存入同一个列表中。
S203,增加重要词的权重:
按照步骤S103来扩大步骤S202中所有菜品分完词后形成的列表中食材词、口味词及做法词的数量,形成新的列表。
S204,向量化:
将步骤S203中形成的所有列表向量化,其中向量化的方法如下:
首先,使用bag of words模型将步骤S203中形成的所有列表向量化,即用bag ofwords模型将步骤S203中形成的所有列表用词频向量的形式表示。
然后,使用TF-IDF模型将得到的词频向量表示为用TF-IDF值表示的向量。
最后,使用LSA模型将用TF-IDF值表示的向量映射到低维语义空间,形成新的维度更低的向量。
S205,相似度的计算:
分别计算数据库A的表A_2中的每道菜品使用LSA模型表示的在低维空间形成的向量与数据库A的表A_1中每道菜使用LSA模型表示的在低维空间形成的向量之间的余弦相似度,取相似度最大时对应的数据库A的表A_1中的菜品为该需要标准化的菜品对应的标准菜。
S206,数据的存储:
将数据库A的表A_2中的每一道菜与其对应的标准菜品库A的表A_1中对应的标准菜的菜名存储到数据库A的表A_3中。最终我们能得到数据库A的表A_2中的每道菜对应的数据库A的表A_1中的标准菜,最终的结果是我们将同一道菜的不同名字转化成了同一个名字。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种菜品标准化的方法,其特征在于,所述菜品标准化的方法为:
首先需要构建一个标准菜品库,然后计算众多需要标准化的菜品与标准菜品库中的哪一道菜最相似即说明该需要标准化的菜其实就是标准菜品库中的这道菜,通过这种方式即可以将名称不同但属于同一道菜的各种菜对应到一个名称上边。
2.如权利要求1所述的菜品标准化的方法,其特征在于,所述菜品标准化的方法,具体包括:
步骤一,构建标准菜品库;
标准菜品库的构建可以是通过爬取网络菜谱的菜品相关信息来构建的,也可以通过人工从大量的菜品信息中筛选等手段获得;其中标准菜品库的菜品信息包括菜的名称、食材、做法及描述信息;
步骤二,分词阶段;
将标准菜品库中的每道菜及需要标准化的那一道菜的菜名,食材,做法及描述信息分别分词,并将同一道菜分完词后的所有词作为元素存入同一个列表中;
步骤三,使用bag of words模型将分词之后的菜品信息向量化,即用bag of words模型将步骤二中分词后的菜品信息用词频向量的形式表示;
步骤四,用基于步骤三中得到的词频向量来训练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之间,当两向量的余弦相似度的值大于某一阈值k时,最终,剩余的菜名形成了菜品库3;
4),将菜品库3作为标准菜品库,然后按照步骤二,步骤三,步骤四,步骤五,步骤六,步骤七计算所有目前需要标准化的菜品与标准菜品库中的所有菜品在低维语义空间中对应向量的余弦相似度,如果所有目前需要标准化的菜品与标准菜品库中的某一道菜的余弦相似度均小于某一阈值n,从标准菜品库中剔除该道菜,剩余的菜构成菜品库4,菜品库4为最终的标准菜品库。
4.如权利要求2所述的菜品标准化的方法,其特征在于,bag of words模型包括:
假设标准菜品库中只有鱼香肉丝和麻辣肉片两道菜,需要标准化的菜只有青椒肉丝一道,则经过步骤二的分词之后三道菜形成的列表分别为[鱼香,肉丝],[麻辣,肉片],[青椒,肉丝]。经过步骤三后形成的词列表分别为[鱼香,鱼香,肉丝,肉丝,肉丝,肉丝,肉丝,肉丝],[麻辣,麻辣,肉片,肉片,肉片,肉片,肉片,肉片],[青椒,青椒,青椒,青椒,青椒,青椒,肉丝,肉丝,肉丝,肉丝,肉丝,肉丝]。基于步骤三得到的词列表构造的词典为:dict={1:鱼香,2:肉丝,3:麻辣,4:肉片,5:青椒},这个词典包含5个不同的词语,利用词典的索引,以上三道菜的每一道都可以用一个5维的向量表示,其中向量中元素的位置对应dict词典中同位置的词,对应的数字表示该词在对应词列表中出现的次数;表示以下向量形式:
鱼香肉丝:[2,6,0,0,0]
麻辣肉片:[0,0,2,6,0]
青椒肉丝:[0,6,0,0,6]。
5.如权利要求2所述的菜品标准化的方法,其特征在于,
使用TF-IDF模型将步骤四中得到的词频向量表示为用TF-IDF值表示的向量。过程如下:
词频(TF)=一道菜经过步骤二和步骤三后形成的向量中对应的次数
TF-IDF=词频(TF)×逆文档频率(IDF)
则鱼香肉丝中的鱼香对应的IF-IDF值为肉丝对应的IF-IDF值为则鱼香肉丝在步骤四中对应的向量[2,6,0,0,0]用TF-IDF值表示的向量为[0.352,0,0,0,0],同理得到麻辣肉片与青椒肉丝对应的TF-IDF值表示的向量为[0,0,0.352,1.057,0],[0,1.057,0,0,0]。
6.如权利要求2所述的菜品标准化的方法,其特征在于,
计算需要标准化的每道菜在步骤六语义空间中形成的向量与标准菜品库中每道菜在语义空间中形成的向量的余弦相似度,取相似度最大对应的菜品为需要标准化的菜品对应的标准菜;其中余弦相似度的计算方式如下:
设有两个向量a,b,其中a=[a1,a2,…,an],b=[b1,b2,…,bn],则向量a与向量b的余弦相似度x为
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810270779.7A CN108596789B (zh) | 2018-03-29 | 2018-03-29 | 一种菜品标准化的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810270779.7A CN108596789B (zh) | 2018-03-29 | 2018-03-29 | 一种菜品标准化的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108596789A true CN108596789A (zh) | 2018-09-28 |
CN108596789B CN108596789B (zh) | 2022-08-30 |
Family
ID=63623832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810270779.7A Active CN108596789B (zh) | 2018-03-29 | 2018-03-29 | 一种菜品标准化的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108596789B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109472025A (zh) * | 2018-10-26 | 2019-03-15 | 口口相传(北京)网络技术有限公司 | 菜品名称提取方法及装置 |
CN111125076A (zh) * | 2019-12-17 | 2020-05-08 | 武汉海云健康科技股份有限公司 | 基于大数据的药品通用名清洗方法及系统、服务器及介质 |
CN111858694A (zh) * | 2019-04-29 | 2020-10-30 | 口口相传(北京)网络技术有限公司 | 菜品信息的识别方法及其装置 |
CN113915829A (zh) * | 2021-06-04 | 2022-01-11 | 海信(山东)冰箱有限公司 | 冰箱及菜谱修正方法 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2273360A1 (fr) * | 2009-07-08 | 2011-01-12 | Airbus Operations (S.A.S.) | Procédé de création d'une bibliothèque de représentations algorithmiques d'équipements électroniques |
CN102651052A (zh) * | 2012-03-29 | 2012-08-29 | 陶杰 | 一种智能套餐化点菜方法 |
CN103412936A (zh) * | 2013-08-21 | 2013-11-27 | 五八同城信息技术有限公司 | 一种基于数据挖掘和云计算服务的菜品推荐系统 |
CN105426552A (zh) * | 2015-12-31 | 2016-03-23 | 山东大学 | 一种智能推荐菜谱和食品的方法与应用 |
CN106815745A (zh) * | 2016-12-30 | 2017-06-09 | 北京三快在线科技有限公司 | 菜品推荐方法及系统 |
CN107085581A (zh) * | 2016-02-16 | 2017-08-22 | 腾讯科技(深圳)有限公司 | 短文本分类方法和装置 |
CN107169013A (zh) * | 2017-03-31 | 2017-09-15 | 北京三快在线科技有限公司 | 一种菜品信息的处理方法及装置 |
CN107247728A (zh) * | 2017-05-02 | 2017-10-13 | 北京小度信息科技有限公司 | 文本处理方法、装置及计算机存储介质 |
CN107391531A (zh) * | 2017-04-11 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种菜品推荐方法和装置 |
CN107665254A (zh) * | 2017-09-30 | 2018-02-06 | 济南浪潮高新科技投资发展有限公司 | 一种基于深度学习的菜谱推荐方法 |
CN107704503A (zh) * | 2017-08-29 | 2018-02-16 | 平安科技(深圳)有限公司 | 用户关键词提取装置、方法及计算机可读存储介质 |
CN107733783A (zh) * | 2017-09-28 | 2018-02-23 | 广州美易来智能电器有限公司 | 一种用于美食制作和分享的智能家居系统及方法 |
CN107741946A (zh) * | 2017-08-28 | 2018-02-27 | 众安信息技术服务有限公司 | 一种名称数据库创建方法及装置 |
-
2018
- 2018-03-29 CN CN201810270779.7A patent/CN108596789B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2273360A1 (fr) * | 2009-07-08 | 2011-01-12 | Airbus Operations (S.A.S.) | Procédé de création d'une bibliothèque de représentations algorithmiques d'équipements électroniques |
CN102651052A (zh) * | 2012-03-29 | 2012-08-29 | 陶杰 | 一种智能套餐化点菜方法 |
CN103412936A (zh) * | 2013-08-21 | 2013-11-27 | 五八同城信息技术有限公司 | 一种基于数据挖掘和云计算服务的菜品推荐系统 |
CN105426552A (zh) * | 2015-12-31 | 2016-03-23 | 山东大学 | 一种智能推荐菜谱和食品的方法与应用 |
CN107085581A (zh) * | 2016-02-16 | 2017-08-22 | 腾讯科技(深圳)有限公司 | 短文本分类方法和装置 |
CN106815745A (zh) * | 2016-12-30 | 2017-06-09 | 北京三快在线科技有限公司 | 菜品推荐方法及系统 |
CN107169013A (zh) * | 2017-03-31 | 2017-09-15 | 北京三快在线科技有限公司 | 一种菜品信息的处理方法及装置 |
CN107391531A (zh) * | 2017-04-11 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种菜品推荐方法和装置 |
CN107247728A (zh) * | 2017-05-02 | 2017-10-13 | 北京小度信息科技有限公司 | 文本处理方法、装置及计算机存储介质 |
CN107741946A (zh) * | 2017-08-28 | 2018-02-27 | 众安信息技术服务有限公司 | 一种名称数据库创建方法及装置 |
CN107704503A (zh) * | 2017-08-29 | 2018-02-16 | 平安科技(深圳)有限公司 | 用户关键词提取装置、方法及计算机可读存储介质 |
CN107733783A (zh) * | 2017-09-28 | 2018-02-23 | 广州美易来智能电器有限公司 | 一种用于美食制作和分享的智能家居系统及方法 |
CN107665254A (zh) * | 2017-09-30 | 2018-02-06 | 济南浪潮高新科技投资发展有限公司 | 一种基于深度学习的菜谱推荐方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109472025A (zh) * | 2018-10-26 | 2019-03-15 | 口口相传(北京)网络技术有限公司 | 菜品名称提取方法及装置 |
CN109472025B (zh) * | 2018-10-26 | 2023-04-18 | 口口相传(北京)网络技术有限公司 | 菜品名称提取方法及装置 |
CN111858694A (zh) * | 2019-04-29 | 2020-10-30 | 口口相传(北京)网络技术有限公司 | 菜品信息的识别方法及其装置 |
CN111125076A (zh) * | 2019-12-17 | 2020-05-08 | 武汉海云健康科技股份有限公司 | 基于大数据的药品通用名清洗方法及系统、服务器及介质 |
CN113915829A (zh) * | 2021-06-04 | 2022-01-11 | 海信(山东)冰箱有限公司 | 冰箱及菜谱修正方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108596789B (zh) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108596789A (zh) | 一种菜品标准化的方法 | |
Li et al. | Automated building generalization based on urban morphology and Gestalt theory | |
CN104199875B (zh) | 一种搜索推荐方法及装置 | |
CN103810162B (zh) | 推荐网络信息的方法和系统 | |
CN108846056A (zh) | 一种科技成果评审专家推荐方法及装置 | |
CN108694647A (zh) | 一种商户推荐理由的挖掘方法及装置,电子设备 | |
CN104615631B (zh) | 一种信息推荐的方法及装置 | |
CN109710841A (zh) | 评论推荐方法和装置 | |
CN103577579A (zh) | 基于用户潜在需求的资源推荐方法及系统 | |
CN107180093A (zh) | 信息搜索方法及装置和时效性查询词识别方法及装置 | |
CN101853299A (zh) | 一种基于感性认知的图像检索结果排序方法 | |
CN104077417A (zh) | 社交网络中的人物标签推荐方法和系统 | |
CN108763496A (zh) | 一种基于网格和密度的动静态数据融合客户分类算法 | |
CN104199826A (zh) | 一种基于关联分析的异构媒体相似性计算方法和检索方法 | |
CN106202380A (zh) | 一种分类语料库的构建方法、系统及具有该系统的服务器 | |
CN108280124A (zh) | 产品分类方法及装置,排行榜生成方法及装置,电子设备 | |
CN107273391A (zh) | 文书推荐方法和装置 | |
CN109033132A (zh) | 利用知识图谱计算文本和主体相关度的方法以及装置 | |
CN108153781A (zh) | 提取业务领域的关键词的方法和装置 | |
CN111680506A (zh) | 数据库表的外键映射方法、装置、电子设备和存储介质 | |
CN107122395B (zh) | 数据抽样方法和装置 | |
CN110852059B (zh) | 一种基于分组的文档内容差异对比可视化分析方法 | |
CN109344367B (zh) | 地域标注方法、装置及计算机可读存储介质 | |
CN105095203A (zh) | 同义词的确定、搜索方法及服务器 | |
KR101282717B1 (ko) | n차원 프레임을 활용하여 니치 기술 영역 탐색 서비스를 제공해 주는 특허 정보 시스템의 정보 처리 방법 및 그 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20191030 Address after: 610000 Sichuan Province Chengdu High-tech Zone Tianfu Avenue Middle Section 1268 1 Building 4 Floor 24 Applicant after: Shishi Tongyun Technology (Chengdu) Co.,Ltd. Address before: 610000 No. 1, 3 floor, No. 1, Tianfu Avenue, 1268 middle and high tech Zone, Chengdu, Sichuan. Applicant before: KERUYUN TECHNOLOGY (CHENGDU) Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |