1.算法复杂度
时间复杂度和空间复杂度,这是任何AI工程师必须要深入理解的概念。对于每一个设计出来的算法都需要从这两个方面来分析。
int a = 0, b = 0; for (i = 0; i < N; i++) { # O(N)+O(N)=2*O(N)=O(N) a = a + rand();# N*1个操作 = O(N) b = b + rand();# N*1个操作 = O(N) } for (j = 0; j < N/2; j++) { b = b + rand(); # N/2 *1个操作 = 1/2*O(N)=O(N) }
O(N)代表复杂度。
2.搭建一个智能客服系统
根据语料库(就是上图中的12个问答对),计算用户输入的问题与语料库问题的相似度,将相似度最高的回答返回。
英文分词预处理操作:spell correctness(拼写纠错)、找出原形、stopwords(停用词过滤)、word filter(过滤词)、同义词
文本--->向量的方法:boolean vector(布尔向量)、conf vector(统计词出现的频率)、TF-IDF、word2vec(词向量)、seq2seq
计算相似度(给定2个向量):欧式距离、cos 距离、jacrad 距离