我正在尝试获取一长串对象(在这种情况下,是来自 iTunes App Store 的应用程序)并更具体地对它们进行分类。例如,目前有很多应用程序被归类为“教育”,但我想将它们标记为生物学、英语、数学等。
这是一个人工智能/机器学习问题吗?我在该领域没有任何背景,但想要一些关于从哪里开始做这类事情的资源或想法。
我正在尝试获取一长串对象(在这种情况下,是来自 iTunes App Store 的应用程序)并更具体地对它们进行分类。例如,目前有很多应用程序被归类为“教育”,但我想将它们标记为生物学、英语、数学等。
这是一个人工智能/机器学习问题吗?我在该领域没有任何背景,但想要一些关于从哪里开始做这类事情的资源或想法。
是的,你是对的。分类是一个机器学习问题,基于文本数据进行分类涉及自然语言处理。
规范分类问题是使用朴素贝叶斯分类器的垃圾邮件检测,非常简单。思路如下:
我强烈推荐使用 NLTK,一个 python 机器学习和 nlp 库。它非常用户友好,有很好的文档和教程,是熟悉该领域的好方法。
编辑:这里解释了如何用代码构建一个简单的 NB 分类器。
可能不是。您需要做一些工作才能以某种可用的形式(例如姓名)提取数据,而且归根结底,可能没有足够的类别来手动识别列表每个类别的关键字,并在标题/描述上设置一个松散的解析器。
例如,您可以浏览六个生物学应用程序,并意识到在名称/描述/您可以访问的任何内容中,“细胞”、“生命”和“生长”等词经常出现 - 而不是结果一些机器学习,但由于你自己的人类直觉。因此,构建一个解析器,将带有这些词的所有内容分类为生物学应用程序,并为其他类别做类似的事情。
除非您尝试对整个 iTunes 应用商店进行分类,否则就足够了,而且您手动检查具有多个分类或没有分类的任何应用程序将是一项相对较小的任务。使用简单的解析器 + 手动检查异常所涉及的劳动可能远远少于构建更复杂的解析器以帮助机器学习、设置机器学习然后再次检查所有内容所涉及的劳动,因为机器学习并不是 100% 准确的.