From ec1c24e8fd59fca0e04ed574501345d40fe4a948 Mon Sep 17 00:00:00 2001 From: zhangxuefei Date: Wed, 11 Sep 2019 16:34:52 +0800 Subject: [PATCH] Add README of sentence similarity --- demo/sentence_similarity/README.md | 39 ++++++++++++++++++ tutorial/autofinetune.ipynb | 65 ++++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 demo/sentence_similarity/README.md create mode 100644 tutorial/autofinetune.ipynb diff --git a/demo/sentence_similarity/README.md b/demo/sentence_similarity/README.md new file mode 100644 index 00000000..f99ea2ab --- /dev/null +++ b/demo/sentence_similarity/README.md @@ -0,0 +1,39 @@ +# Word2vec + +## 关于 + +本示例展示如何使用word2vec_skipgram Module进行句子相似度预测。 + +word2vec_skipgram是对中文词语的向量表示,可以用于进行各类NLP下游任务等。 + +## 准备工作 + +在运行本目录的脚本前,需要先安装1.4.0版本以上的PaddlePaddle(如果您本地已经安装了符合条件的PaddlePaddle版本,那么可以跳过`准备工作`这一步)。 + +```shell +# 安装GPU版本的PaddlePaddle +$ pip install --upgrade paddlepaddle-gpu +``` + +如果您的机器不支持GPU,可以通过下面的命令来安装CPU版本的PaddlePaddle + +```shell +# 安装CPU版本的PaddlePaddle +$ pip install --upgrade paddlepaddle +``` + +在安装过程中如果遇到问题,您可以到[Paddle官方网站](http://www.paddlepaddle.org/)上查看解决方案。 + +## 预测 + +```shell +python sensim.py +``` + +程序运行结束后, 可以看待预测的两个文本的余弦相似度 + +``` +text_a: 驾驶 违章 一次 扣 12分 用 两个 驾驶证 处理 可以 吗; text_b: 一次性 扣 12分 的 违章 , 能用 不满 十二分 的 驾驶证 扣分 吗; cosine_similarity: 0.39889 +text_a: 水果 放 冰箱 里 储存 好 吗; text_b: 中国银行 纪念币 网上 怎么 预约; cosine_similarity: -0.08258 +text_a: 电脑 反应 很 慢 怎么 办; text_b: 反应 速度 慢 , 电脑 总是 卡 是 怎么回事; cosine_similarity: 0.40820 +``` diff --git a/tutorial/autofinetune.ipynb b/tutorial/autofinetune.ipynb new file mode 100644 index 00000000..8e93301b --- /dev/null +++ b/tutorial/autofinetune.ipynb @@ -0,0 +1,65 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 利用PaddleHub Auto Fine-tune进行自动超参搜索\n", + "\n", + "## 一、简介\n", + "\n", + "机器学习训练模型的过程中自然少不了调参。模型的参数可分成两类:参数与超参数,前者是模型通过自身的训练学习得到的参数数据;后者则需要通过人工经验设置(如学习率、dropout_rate、batch_size等),以提高模型训练的效果。当前模型往往参数空间大,手动调参十分耗时,尝试成本高。PaddleHub Auto Fine-tune可以实现自动调整超参数。\n", + "\n", + "PaddleHub Auto Fine-tune提供两种搜索超参策略:\n", + "\n", + "* HAZero: 核心想法是通过对正态分布中协方差矩阵的调整来处理变量之间的依赖关系和scaling。算法基本可以分成以下三步: 采样产生新解;计算目标函数值;更新正太分布参数。调整参数的基本思路为,调整参数使得产生好解的概率逐渐增大\n", + "\n", + "* PSHE2: 采用粒子群算法,最优超参数组合就是所求问题的解。现在想求得最优解就是要找到更新超参数组合,即如何更新超参数,才能让算法更快更好的收敛到最优解。PSO算法根据超参数本身历史的最优,在一定随机扰动的情况下决定下一步的更新方向。\n", + "\n", + "\n", + "PaddleHub Auto Fine-tune提供两种超参评估策略:\n", + "\n", + "* FullTrail: 给定一组超参,利用这组超参从头开始Finetune一个新模型,之后在数据集dev部分评估这个模型\n", + "\n", + "* ModelBased: 给定一组超参,若这组超参来自第一轮搜索的超参,则从头开始Finetune一个新模型;若这组超参数不是来自第一轮搜索的超参数,则程序会加载前几轮已经Fine-tune完毕后保存的较好模型,基于这个模型,在当前的超参数组合下继续Finetune。这个Fine-tune完毕后保存的较好模型,评估方式是这个模型在数据集dev部分的效果。\n", + "\n", + "## 二、准备工作\n", + "\n", + "使用PaddleHub Auto Fine-tune必须an\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.8" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} -- GitLab