1、Information Retrieval and WebSearch信息检索与Web搜索,信息检索是指从大规模数据集合中搜索满足我们需求的信息(通常是非格式化数据,如文本);
commoncrawl是EUplanetData项目的产物,里面还有很多对webtables或半结构化数据解析的结果,或带RDFa,microformats等语义标注的网页的解析和分析,是做实验和了解web的好途径。
从效果来看,数据的采集,结构化或语义数据的生成是离线过程最重要的,在线过程中,语义匹配,甚至是支持自然语言查询的直接回答是关键。
斯坦福大学课程:http://web.stanford.edu/class/cs276/
2、DataMining数据挖掘,大数据分析的理论核心就是数据挖掘算法,指从大量的数据中通过算法搜索隐藏于其中信息的过程。正是因为有这些数据挖掘的算法,我们才能更快速的处理大数据;
伊利诺伊大学芝加哥分校的课程:http://www.cs.uic.edu/~liub/teach/cs583-spring-12/cs583.html
3、MachineLearning机器学习,机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。通过机器学习算法,计算机从数据中自动分析获得规律,并利用规律对未知数据进行预测;
斯坦福大学的CS229:http://cs229.stanford.edu/
机器学习的工具很多,这里主要推荐:
主要使用Java平台的Weka((http://www.cs.waikato.ac.nz/ml/weka/))和Python下的Sci-kitlearn(https://github.com/scikit-learn/scikit-learn/)。它们均集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则。Weka还提供了十分方便的可视化界面。
4、NaturalLanguageProcessing自然语言处理,对于文本类型的数据,自然语言处理是必不可少的一门学科。通俗的讲,自然语言处理是探讨如何让计算机“理解”自然语言;
斯坦福大学CS224N/Ling284:NaturalLanguageProcessing
NLP的常用工具主要有NLPIR(http://ictclas.nlpir.org/)、FNLP(github.com/xpqiu/fnlp/)、StanfordNLP(http://nlp.stanford.edu/)、OpenNLP(http://opennlp.apache.org/)等;
5、KnowledgeRepresentationandSemanticTechnologies知识表示和语义技术,相比前面所提到的智能算法不同,这里更强调智能数据(smartdata),研究数据的表示,尤其是语义表示和上层对应的推理、查询、和语义搜索等应用涉及到的技术;
Sesame(www.openrdf.org/,Sesame是早期一个欧盟项目的产物),针对RDF数据管理提出的一个通用的系统框架,提供了非常开放的API接口,使得人们可以很方便地集成不同的存储系统,推理引擎以及查询引擎等;
Jena(https://jena.apache.org/),Jena是惠普实验室做的;