近期半年一直忙於項目,博客也很是少更新咯。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)即是他的功績。