diff --git a/README.md b/README.md index c1587ae..31a6cf5 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # Reflection_Summary -1. 以下内容为我作为面试管的提问,以及陪伴实习生同学@[tcandzq](https://github.com/tcandzq)参加2020届校招面试各类算法问题及个人理解的汇总 -2. 各种解答均为我的理解和看法,一定有存疑和不完善的地方,欢迎大家补充和质疑打脸 -3. 另外,恭喜[tcandzq](https://github.com/tcandzq)收割到腾讯UGC,阿里算法中台,头条广告推荐offer,:clap: -4. 部分内容为**手记**pdf内容,因为公式实在太多,手写比较快,笔记潦草,见谅 +1. 以下内容为我作为面试管的提问,以及陪伴实习生同学@[tcandzq](https://github.com/tcandzq)参加2020届校招面试各类算法问题及个人理解的汇总,另外,恭喜[tcandzq](https://github.com/tcandzq)收割到腾讯UGC,阿里算法中台,头条广告推荐offer,:clap: +2. 部分内容为**手记**pdf内容,因为公式实在太多,手写比较快,笔记潦草,见谅,内容部分会引用第三方的观点,但是一定会结合自己的感受和体会,**一定有存疑和不完善的地方**,欢迎大家补充和质疑打脸 +3. 现在算法工程师的面试以下内容都不会直接提问,而是以项目交流的方式去挖掘在一个问题上的理论理解的深度,建议大家结合实际工作中的case去思考 +4. 另外,打个广告,南京蓝厂nlp/推荐均有坑位,做的方向是资讯的信息流推荐和短/小视频推荐,欢迎勾搭,广告完 *** # 基础概念 @@ -327,6 +327,8 @@ - [怎么确定LDA的topic个数](自然语言处理/LDA.md#L164) - [LDA和Word2Vec区别?LDA和Doc2Vec区别](自然语言处理/LDA.md#L164) - [LDA算法里面Dirichlet分布的两个参数alpha和beta怎样确定?trick?](自然语言处理/LDA.md#L164) + - [使用过LDA,你有什么问题?](自然语言处理/LDA.md#L164) + - [你用真实用过吗?对比过效果吗?](自然语言处理/LDA.md#L164) - LSTM - GRU - Bert:[实现/使用的代码](https://github.com/sladesha/deep_learning/tree/master/Bert) @@ -345,6 +347,8 @@ - [平时用官方Bert包么?耗时怎么样](自然语言处理/Bert.md#L164) - [你觉得BERT比普通LM的新颖点](自然语言处理/Bert.md#L164) - [elmo、GPT、bert三者之间有什么区别](自然语言处理/Bert.md#L164) +- 文本相似度计算 + - [有哪些常用的方法](自然语言处理/文本相似度计算.md#L164) # 推荐 - DIN:[实现/使用的代码](https://github.com/sladesha/deep_learning/tree/master/DeepInterestNetwork) diff --git "a/\350\207\252\347\204\266\350\257\255\350\250\200\345\244\204\347\220\206/LDA.md" "b/\350\207\252\347\204\266\350\257\255\350\250\200\345\244\204\347\220\206/LDA.md" index 5d78207..af6cd6a 100644 --- "a/\350\207\252\347\204\266\350\257\255\350\250\200\345\244\204\347\220\206/LDA.md" +++ "b/\350\207\252\347\204\266\350\257\255\350\250\200\345\244\204\347\220\206/LDA.md" @@ -80,4 +80,27 @@ - alpha越小,文档属于某一个主题的概率很大,接近于1,属于其他主题的概率就很小,文章的主题比较明确 - beta同理,但是一般不会刻意去改beta,主要是压缩alpha到一定小的程度 - chucksize大一些更新的过程比较平稳,收敛更加平稳 -- 迭代次数一般不超过2000次,200万doc大约在2300次收敛 \ No newline at end of file +- 迭代次数一般不超过2000次,200万doc大约在2300次收敛 + +# 使用过LDA,你有什么问题? + +- 这个算法本身的一些问题,比如 + - LDA 产生的主题往往被高频词占据,这种现象导致低频词在实际应用中的作用非常有限 + - 词袋模型的通病,顺便还可以考一下词袋模型有哪些 + - 泛化能力差,对新词的接受程度不如一些字级别的算法强 +- 实际使用的时候要注意的问题,比如 + - 短文本效果差。lda用的是近似统计推断的方式,通过观察单个词所属的主题分布推断整句所属的主题,短文本中的词个数少,观测结果少,得到的结果不置信,也就是数据sparisty问题 + - 主题个数太黑盒,连预估的搜索区间都没办法很好给出,取决于文章属性,文章质量,以及最后想得到的主题粗细力度 + - 对通识性的内容效果好,对突发性的内容效果差。可以识别法律相关的内容,因为它们不咋变化,聚出来的可以长时间复用;但是对热点资讯就不好,因为热点是一阵一阵的,很难长久化复用 + +# 你用真实用过吗?对比过效果吗? + +我觉得gensim和sklearn里面的两个我就不说了,gensim里面的可以做困惑度gridsearch,比较舒适;sklearn的便捷性高,计算速度相对于gensim的,我个人感觉更快,而且参数解析更加清晰。 + + + +除此之外,个人强推warplda,这个模型的计算是用的吉布斯采样替代了以上两种模型的变分推断,理论上效果更好,(小声bb,其实没有很大差异),速度也是o(1)的,主要是还方便集成到familia的框架下。 + + + +另外就是lightlda,这个没用过,但是业界传的还行,也可以试试,综合建议lightlda或者warplda吧。 \ No newline at end of file diff --git "a/\350\207\252\347\204\266\350\257\255\350\250\200\345\244\204\347\220\206/\346\226\207\346\234\254\347\233\270\344\274\274\345\272\246\350\256\241\347\256\227.md" "b/\350\207\252\347\204\266\350\257\255\350\250\200\345\244\204\347\220\206/\346\226\207\346\234\254\347\233\270\344\274\274\345\272\246\350\256\241\347\256\227.md" new file mode 100644 index 0000000..605a54f --- /dev/null +++ "b/\350\207\252\347\204\266\350\257\255\350\250\200\345\244\204\347\220\206/\346\226\207\346\234\254\347\233\270\344\274\274\345\272\246\350\256\241\347\256\227.md" @@ -0,0 +1,3 @@ +# 有哪些常用的方法 + +今晚没空了,待补充 \ No newline at end of file