正在尝试找出解决这个问题的更好方法。
我有一份包含几十万种食品的列表。我拥有的数据包括:描述(基本是物品名称)、食品类别、成分(食品项目表)。
我试图将每个食品项目与另一个数据集中存在的食品类别进行匹配。这些食品类别划分得略有不同,因此与食品项目表中的食品类别没有一对一的对应关系。这个数据集的字段包括:主类别、子类别和产品示例。(食品类别表)
在食品项目表中,食品类别可能是不正确的或过于概括的。基本上,食品项目表中的食品类别是通用的,而食品类别表中的食品类别则更为具体。
我希望创建一个算法,该算法可以查看食品项目表中的特定食品项目,并将其与食品类别表中的“推荐”条目进行匹配。可能提供前五个选择,并为每个选择提供一个分数(或匹配百分比)。
如果可能的话,我希望这个算法能够根据手动更正/干预、过去的映射等,随着时间的推移进行学习。不确定这里使用“AI”是否是正确的术语。
这些数据存储在SQL Server 2016中。周围的应用程序是用ASP.Net(C#)编写的。
再次寻找解决这个问题的更好方法。
回答:
我猜你已经有一些正确分类的样本数据,可以用作算法的指导。
假设你已经有一些已经分类的食品:
名称 类别 成分
苹果 水果 苹果
奶酪蛋糕 甜点 苹果, 黄油, 面粉, 糖, 奶酪
奶酪汉堡 垃圾食品 面包, 番茄, 奶酪, 肉
算法应该计算每个成分在哪个类别中被分类,并给出一个相对百分比。比如:
成分 类别 百分比
苹果 水果 56
苹果 甜点 34
苹果 沙拉 6
苹果 饮料 4
奶酪 三明治 70
奶酪 垃圾食品 21
奶酪 甜点 7
奶酪 沙拉 2
然后,当你有一个未分类的食品时,你只需将所有成分的百分比相加,并按类别排序。
你应该考虑添加一些权重,使得一个食品的所有成分的总分始终为1。例如,如果你有一个包含4种成分的食品,每个成分的得分仅为0.25。这将降低复杂食谱中成分的重要性。