近期半年一直忙于项目,博客也很是少更新咯。css
有几个项目作了很多JS相关的工做,基本都可以利用现成的开源方案。诸如angularJs、requireJs、bootstrap、knockoutJs、TypeScript、Jquery等等;以后也有项目是无UI的,纯后端的内容,主要就是考虑并行、性能、模块化等;以后的很是长一段时间便主要在处理文本挖掘相关的项目(英文项目)。今天正好有空也准备对文本挖掘预处理的流程作一些总结,但愿是干货:html
数据集经过有例如如下的一些途径得到:html5
结合传统SQL中的一些特殊功能,好比Partition,有时会有不错的效果。只是最多压缩空间、缩减特征再用SQL处理。python
很是多时候咱们採用的是词袋模型(bag of words),因此是否切割成句子也无所谓。比較简单的方法就是Python NLTK中的sent_tokenize()函数,用的是punkt算法,论文在这里。web
Windows 8中操做系统也直接提供了拼写检查的COM端口,只是就得多花时间研究啦。算法
这一块属于NLP的范畴,仍是Parsing等应用,要了解NLP原理推荐Coursera上一门不错的课程Natural Language Processingbootstrap
NLTK有一个Stopwords。Matthew L. Jockers提供了一份比机器学习和天然语言处理中常用的停词表更长的停词表。中文停用词戳这里。什么?你问我停用词怎么找到的。我想大概是IDF这种算法吧。后端
简单来说,咱们但愿do、did、done都能统一的返回do。第一种方法叫stem,Porter是比較常见的一种基于规则的算法。网页有snowball工具。也是它的论文。Porter的结果差强人意,单词末尾有e、y的。基本上stem以后都不间了,好比replace->replac。末尾有反复单词的。基本仅仅剩一个了,好比ill->il。api
NLTK中也有Stem库。算法应该是类似的。网络
另一种方法叫lemmatization,就是基于词典作词型转换,NLTK的Stem库中便有WordNetLemmatizer可以使用。
简单来说。Python的NLTK和scikit.learn是很是优秀的工具,另外,R也是不错的一门语言。
可视化的工具可以採用Weka、KNIME、Tanagra、RapidMiner 、Orange、GGobi等。这方面最好的课程当属Andrew Ng的Machine Learning。那个识别猫脸的Google Brain(Deep Learning)即是他的功绩。