题目描述:我们常常会听到深度思考这个词,大家谈谈是如何理解深度思考的。
老师观点:深度思考对我们解决生活和工作中遇到的各种疑难问题非常重要,对程序员朋友而言更重要,因为这能帮助我们更好的理解和挖掘用户的需求,开发出让用户满意的产品。那么如何养成深度思考的习惯呢?个人认为最重要的就是遇到问题自己设身处地先思考,不要去查资料,不要觉得自己不具备这方面的专业知识就打退堂鼓,即使不具备某方面的专业知识,也可以进行深度思考。实际中的问题大都是有真实的应用场景的,接到一个问题,首先在不查资料的前提下,让自己沉浸在这个场景中去思考非常关键。
举个例子,某个公司要开发一个通过声音识别说话人的门禁系统,识别这个部分需要你来负责。接到这个任务,很多人可能第一反应是想一下自己是否具备这方面的专业知识,如果没有,很可能会拒绝这个任务,当然这本身没有什么错,但是这样做就很可能让我们失去一些难得的机会,毕竟能够解决简单问题的人,可替代性就越强。所以,假设我们不具备这方面的专业知识,对这个问题也可以作深度思考,可以想到以下几个方面:
(1)作为门禁系统,是每个人通过说固定的一句话来开门,还是可以说不同的话开门。容易想到,如果每个人都说一句固定的话,那么识别难度会增加,识别的可靠性就会降低,所以可以选择让不同的人自己确定一句话。
(2)每个人说的话时间长度很可能不一样,时间太短样本量太少不易识别,时间太长程序处理时间和存储空间都会相应增加,所以应该对说话时长作限定。
(3)识别方法,简单起见,前期采集每个人的说话样本,实际使用时通过和样本一一比对得出结果,那这里面的细节问题需要考虑,在不同的时刻,说同一句话,采集的语音数据很难完全一样,说话时长、声音大小、声调、音色都可能有一定差异,那么如何比较两个样本数据的相似性,这是一个技术问题,最好能够得出一个概率值。比如,某个人说的一句话和样本甲的相似概率为60%,和样本乙的相似概率为30%,和样本丙的相似概率为3%,…,当然这些概率之和应等于1,可以根据概率大小来判断。
(4)除了样本直接比较的方法还有没有其他方法呢,比如是否可以尝试使用机器学习或深度学习的方法来处理这个问题。
(5)方法选择上,应当考虑样本量,比如这个公司员工是20人或2000人,对方法的要求是不一样的,起码程序运行时间有区别,对主机电脑或服务器要求可能不一样,20人的话也许只需要一台常规电脑就可以,但是2000人的话可能需要一台服务器甚至其他硬件。
(6)评判标准上,需要综合考虑识别时间、准确率、成本开销的平衡。
请同学留下你的答案: