DeepQA 地址: https://github.com/Conchylicultor/DeepQA
测试环境: IMAC
安装Python 3.5
下载python3.5 https://www.python.org/
https://www.python.org/ftp/python/3.5.4/python-3.5.4-macosx10.6.pkg

配置MAC python 默认版本

每个技术

工作中的技术需求 的技术场景
帮助小白用户 和 在考试成绩遇到瓶颈 , 以及 效率底下的用户

用到的算法
模型
seq2seq
LSTM

算法原理

算法的输入 输出(输入如何得到,输出如何评价,输出如何应用到现实场景里面)

原始输入: 平时积累的预料回答内容, 网站拍取的习题问答 和 做题经验内容
数据第一阶段输出: Cornell数据集

定义输入值 接着定义网络的输入值,根据标准的seq2seq模型,一共四个:
1. encorder的输入:人物1说的一句话A,最大长度10 2. decoder的输入:人物

2回复的对话B,因为前后分别加上了go开始符和end结束符,最大长度为12

3. decoder的target输入:decoder输入的目标输出,与decoder的输入一样但只有end标示符号,可以理解为decoder的输入在时序上的结果,比如说完这个词后的下个词的结果。

4. decoder的weight输入:用来标记target中的非padding的位置,即实际句子的长度,因为不是所有的句子的长度都一样,在实际输入的过程中,各个句子的长度都会被用统一的标示符来填充(padding)至最大长度,weight用来标记实际词汇的位置,代表这个位置将会有梯度值回传。

深度学习
RNN
构建RNN 代码:

def create_rnn_cell():
    encoDecoCell = tf.contrib.rnn.BasicLSTMCell(  # Or GRUCell, LSTMCell(args.hiddenSize)
        self.args.hiddenSize,
    )
    if not self.args.test:  # TODO: Should use a placeholder instead
        encoDecoCell = tf.contrib.rnn.DropoutWrapper(
            encoDecoCell,
            input_keep_prob=1.0,
            output_keep_prob=self.args.dropout
        )
    return encoDecoCell

encoDecoCell = tf.contrib.rnn.MultiRNNCell(
    [create_rnn_cell() for _ in range(self.args.numLayers)],
)

 

 

LSTM

算法原理

算法的输入 输出(输入如何得到,输出如何评价,输出如何应用到现实场景里面)

原始输入: 平时积累的预料回答内容, 网站拍取的习题问答 和 做题经验内容
数据第一阶段输出: Cornell数据集

定义输入值 接着定义网络的输入值,根据标准的seq2seq模型,一共四个:
1. encorder的输入:人物1说的一句话A,最大长度10 2. decoder的输入:人物

2回复的对话B,因为前后分别加上了go开始符和end结束符,最大长度为12

3. decoder的target输入:decoder输入的目标输出,与decoder的输入一样但只有end标示符号,可以理解为decoder的输入在时序上的结果,比如说完这个词后的下个词的结果。

4. decoder的weight输入:用来标记target中的非padding的位置,即实际句子的长度,因为不是所有的句子的长度都一样,在实际输入的过程中,各个句子的长度都会被用统一的标示符来填充(padding)至最大长度,weight用来标记实际词汇的位置,代表这个位置将会有梯度值回传。
Continue reading