一些解决文本分类问题的机器学习最佳实践.doc
《一些解决文本分类问题的机器学习最佳实践.doc》由会员分享,可在线阅读,更多相关《一些解决文本分类问题的机器学习最佳实践.doc(6页珍藏版)》请在三一文库上搜索。
1、一些解决文本分类问题的机器学习最佳实践编者按:文本分类是各类应用中的一种基础机器学习问题,近日,一篇关于文本分类的文章成功引起学界大牛和竞赛机构注意,让他们在twitter上争相转载。那么,它到底讲述了什么内容呢?考虑到原文过长,本文是其中的(上)篇。文本分类是一种应用广泛的算法,它是各种用于大规模处理文本数据的软件系统的核心,常被用于垃圾邮件识别及帮助论坛机器人标记不当评论。当然,以上只是文本分类的两种常规应用,它们处理的是预定义的二元分类问题。在多元分类任务中,算法分类主要基于本文中的关键词分类器标记垃圾邮件,并把它们过滤到垃圾邮件文件夹中另一种常见的文本分类是情感分析,它的目标是识别文本
2、内容积极与否:文字所表达的思想类型。同样的,这也是多元分类问题,我们可以采用二元的喜欢/不喜欢评级形式,也可以进一步细化,如设成1星到5星的星级评级。情感分析的常见应用包括分析影评,判断消费者是否喜欢这部电影,或者是分析大型商场的评论,推测普通大众对某个品牌新产品的看法。本指南将介绍一些解决文本分类问题的机器学习最佳实践,你可以从中学到:用机器学习解决文本分类问题如何为文本分类问题挑选正确的模型如何用TensorFlow实现你选择的模型文本分类流程第一步:收集数据第二步:探索数据第2.5步:选择一个模型第三步:准备数据第四步:构建、训练、评估模型第五步:调整超参数第六步:部署模型文本分类流程第
3、一步:收集数据收集数据是解决任何监督学习问题的最重要一步,数据的质量和数量直接决定着文本分类器的性能上限。如果你没有想要解决的的特定问题,或者只是对一般的文本分类感兴趣,你可以直接用已经开源的大量数据集。这个GitHub repo里可能包含不少你可以用到的链接:github/google/eng-edu/blob/master/ml/guides/textclassification/loaddata.py。但是,如果你有一个待解决的特定问题,你就得先收集必要数据。当然,有些数据是现成的,一些组织会提供访问其数据的公共API,比如Twitter API或NY Times API,如果有用,你可
4、以直接通过它们来解决自己的问题。以下是收集数据过程中的一些注意事项:如果使用公共API,请在使用前先阅读它们的使用限制,比如某些API会对你的访问速度设限。收集训练样本的量永远是越多越好,这有助于模型更好地概括。如果涉及分类,确保每个类的样本数量不会过度失衡,换句话说,每个类中都应该有相当数量的样本。确保你的样本可以覆盖所有可能的输入空间,而不仅仅是最常见的几种情况。在本指南中,我们将以斯坦福大学开源的大型电影评论数据集(IMDb)为例,说明整个本文分类流程。该数据集包含人们在IMDb网站上发布的电影评论,以及评论者是否喜欢电影的相应标签(“positive”或“negative”)。这是用于
5、情绪分析问题的一个经典数据集。第二步:探索数据构建、训练模型只是整个流程的一部分,如果事先能了解数据特征,这会对之后的模型构建大有裨益,比如更高的准确率,或是更少的数据和更少的计算资源。加载数据集首先,让我们将数据集加载到Python中:def load_imdb_sentiment_analysis_dataset(data_path, seed=123):Loads the IMDb movie reviews sentiment analysis dataset.# Argumentsdata_path: string, path to the data directory.seed:
6、int, seed for randomizer.# ReturnsA tuple of training and validation data.Number of training samples: 25000Number of test samples: 25000Number of categories: 2 (0 - negative, 1 - positive)# ReferencesMass et al., http:/aclweb/anthology/P11-1015Download and uncompress archive from:http:/ai.stanford.e
7、du/amaas/data/sentiment/aclImdb_v1.tar.gzimdb_data_path = os.path.join(data_path, aclImdb)# Load the training datatrain_texts = train_labels = for category in pos, neg:train_path = os.path.join(imdb_data_path, train, category)for fname in sorted(os.listdir(train_path):if fname.endswith(.txt):with op
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一些 解决 文本 分类 问题 机器 学习 最佳 实践
链接地址:https://www.31doc.com/p-3362026.html