我如何处理这个机器学习/NLP 上下文感知文本分类项目?请参阅下面的说明
Posted
技术标签:
【中文标题】我如何处理这个机器学习/NLP 上下文感知文本分类项目?请参阅下面的说明【英文标题】:How do I approach this machine learning/NLP context aware text classification project? See the description below 【发布时间】:2018-04-13 16:17:13 【问题描述】:我是机器学习和 NLP 方面的新手。我的大学项目需要帮助。它实际上是一个重大项目的子任务。说明如下:
这是一个分类问题。我将收到一件物品,我必须预测可以购买该物品的商店类型。 示例:商品类别标签(商店类型) 铅笔 -> 书店 啤酒 -> 酒吧 现金 -> ATM Tube Light -> 电子产品商店 医药 -> 药房 我获得了许多不同的类别标签,例如 stationary_shop、book_store、面包店、药房 等(大约 50 个标签)
面临的问题- 1. 我没有更大的数据集。我自己构建了一个小型数据集。 2. 我不太了解机器学习和 NLP 技术,比如如何解决这个问题。 3. 如何做出正确的预测?例如,如果我的数据集中有 (pencil,book_store) 并且它被指定为 sharpener 作为输入,它必须将标签预测为 book_store 因为 sharpener 与 pencil 密切相关。
我的方法: 我从一个小数据集开始,然后使用datamuse api 通过查找给定单词的相关单词来扩展它。例如。我从 API 中提取了与 pencil 相关的所有单词,并用相同的标签 book_store 标记它们。然后我使用fastText 生成预测模型,但我没有得到预期的结果。
小数据集 数据集格式:(example,class_label)
肥皂,department_store 铅笔,书店 笔,书店 茶,department_store 咖啡,department_store 灯泡,电子商店 电池,电子商店 灯管,电子商店 医药、药学 书,书店 钱,银行 现金,自动取款机 鲜花,花店 水果、杂货店或超市 蛋糕,面包店 衣服,clothing_store 纸,书店 珠宝首饰店 洗发水,department_store 石油,department_store 糖,department_store 啤酒,酒吧 威士忌,酒吧 酒,酒吧 理发、美容沙龙 咖啡,咖啡厅 三明治、咖啡店 糕点、面包店 西装,服装店 鞋,鞋店 沙发,家具店 椅子,家具店 床、家具店 汽油、加油站 柴油、加油站 工具、硬件商店 管道,硬件商店 坦克,hardware_store 洗衣、洗衣 干洗、洗衣 项链,珠宝店 戒指,珠宝店 饰品,珠宝店 晚餐,餐厅 午餐,餐厅 宠物、兽医护理 芯片,department_store
【问题讨论】:
【参考方案1】:由于您的问题是基于文本数据的分类,首先您将训练数据(70%)和测试数据(30%)分开,然后首先查找(例如,class_label)您的数据集格式...
Step(1)---这里的class_label也是文本格式,所以你必须用数字标记它们...例如--> department_store==1,book_store==2, electronics_store==3,shoe_store==4....等等,都用这种格式标注...
Step(2)---在此之后从 (example,class_label) 数据集格式中查找您的示例,因为这些示例也是文本格式,因此我们也必须将它们设为数字(请记住机器学习算法适用于数字数据只有这样我们必须将所有文本数据转换为数字格式)。 在这里处理文本数据使用 CountVectorizer()..看看这些文档these link will guide you how to perform feature extraction
从文本数据中提取特征后,使用任何算法进行分类(请记住,您必须执行多类分类,因为您的数据集类是多个......所有算法都适用于二进制分类,因此您必须使用(一对一) 或 (一个 vs 休息) give a look at these link
我更喜欢支持向量机 (SVM) 用于训练(占总数据的 70%),因为您的数据集较小。 SVM 对于剩余的(总数据的 30%)执行步骤 (2) 的测试
【讨论】:
以上是关于我如何处理这个机器学习/NLP 上下文感知文本分类项目?请参阅下面的说明的主要内容,如果未能解决你的问题,请参考以下文章