`
kongshanxuelin
  • 浏览: 931246 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

新一代聚类搜索引擎

阅读更多

目前包括百度,google,搜搜,Yahoo等搜索引擎提供的是通用搜索方式,我们试想一下,如果将搜索出来的结果自动分类,那应该是多么美妙的一件事情,如您搜索“Ajax”,会自动按如下分类,如下图:

 

 

目前已有此类的开源项目,Carrot2,使用起来非常简单,但由于中文的聚类算法和英文的聚类算法存在比较大的差异,所以更多的时间是花在中文算法的聚类上,Carrot2的官方地址:http://project.carrot2.org/

目前搜索引擎逐步在细分市场,目前市面上还存在多个垂直搜索引擎,人肉搜索(其实主要也是人的相关性研究),如Google的生活搜索等,的确,现在的搜索引擎产品正慢慢的更加贴近人性化设计。

Carrot2自带的一个文档聚类的例子源代码如下:

        try {
            /*
             * Initialize local controller. Normally you'd run this only once
             * for an entire application (controller is thread safe).
             */
            final LocalController controller = initLocalController();

            /*
             * Once we have a controller we can run queries. Change the query
             * to something that is relevant to the data in your index.
             */
            
            // Data for clustering, containing documents consisting of 
            // titles and bodies of documents.
            String [][] documents = new String [] [] {
                { "Data Mining - Wikipedia", "http://en.wikipedia.org/wiki/Data_mining" },
                { "KD Nuggets", "http://www.kdnuggets.com/" },
                { "The Data Mine", "http://www.the-data-mine.com/" },
                { "DMG", "http://www.dmg.org/" },
                { "Data Mining", "http://www.gr-fx.com/graf-fx.htm" },
                { "Data Mining Benchmarking Association (DMBA)", "http://www.dmbenchmarking.com/" },
                { "Data Mining", "http://www.computerworld.com/databasetopics/businessintelligence/datamining" },
                { "National Center for Data Mining (NCDM) - University of Illinois at Chicago", "http://www.ncdm.uic.edu/" },
            };
            
            // Although the query will not be used to fetch any data, if the data
            // that you're submitting for clustering is a response to some
            // search engine-like query, please provide it, as the clustering
            // algrithm may use it to improve the clustering quality.
            final String query = "data mining";
            
            // The documents are provided for clustering in the 
            // PARAM_SOURCE_RAW_DOCUMENTS parameter, which should point to
            // a List of RawDocuments.
            List documentList = new ArrayList(documents.length);
            for (int i = 0; i < documents.length; i++)
            {
                documentList.add(new RawDocumentSnippet(
                    new Integer(i),  // unique id of the document, can be a plain sequence id
                    documents[i][0], // document title
                    documents[i][1], // document body
                    "dummy://" + i,  // URL (not required for clustering)
                    0.0f)            // document score, can be 0.0 
                );
            }
            
            final HashMap params = new HashMap();
            params.put(
                ArrayInputComponent.PARAM_SOURCE_RAW_DOCUMENTS,
                    documentList);
            final ProcessingResult pResult = controller.query("direct-feed-lingo", query, params);
            final ArrayOutputComponent.Result result = (ArrayOutputComponent.Result) pResult.getQueryResult();

            /*
             * Once we have the buffered snippets and clusters, we can display
             * them somehow. We'll reuse the simple text-dumping method
             * available in {@link Test}.
             */
            Example.displayResults(result);
        } catch (Exception e) {
            // There shouldn't be any, but just in case.
            System.err.println("An exception occurred: " + e.toString());
            e.printStackTrace();
        }
 

 

6
1
分享到:
评论
9 楼 Jatula 2008-10-20  
其实玩过这东西的人都知道,这种去分类的东西,会有一个后果就是数据准,但是要程序去拆分,人工干预很大,已经成了半自动的东西,很不实际,做做小型的还可以,做大型那就要考虑,再说搜索引擎以量和速度排第一,所以这个想法好,但不实际;
8 楼 jiyanliang 2008-10-15  
我来说说我自己的观点。
其实这个和语意搜索有点类似了,或者说比较接近。
我们要进行语意搜索第一步是要建模的,靠什么建模,目前来说使用本体的比较多。
描述本体的语言有很多中,但是他们的共同点就是具有推理功能。
这里的聚类搜索我们可以看成是不同本体相互结合的产物。
7 楼 稻香麦甜 2008-10-15  
感觉这种分类方式只适合
有针对性的搜索人员,有些大众自己都不知道自己的搜索关键词,所以我觉得那个关键词sns还是很有效的!
6 楼 beyondsky 2008-10-15  
聚类算法
5 楼 yajie 2008-10-15  
我想请教一下你网页上面的google广告是怎样弄上去的?
4 楼 firstlight 2008-10-14  
这个哪儿有很新,,,看看网站上的paper 早就有了
3 楼 kongshanxuelin 2008-10-14  
tanguojun 写道

在好的技术需要市场,没有市场的技术都是空谈!

这种技术可以加强用户体验,不能说完全没有市场,大家可能都希望如搜索“Ajax”,帮你的结果自动分类,如Ajax书籍,Ajax公司等,这样看搜索结果更有针对性
2 楼 tanguojun 2008-10-14  
在好的技术需要市场,没有市场的技术都是空谈!
1 楼 emarket 2008-10-14  
孩子,这东西自己拿来玩玩还行,这种自动分类的东西太不实际,关键是没有市场:)

相关推荐

    新一代数据库课件--研究生

    Deep Web是指互联网上未被搜索引擎索引的部分,包含大量动态生成的、非公开的网页。集成Deep Web数据是一项挑战,因为它需要处理复杂的查询接口和权限问题。研究如何有效检索和聚合Deep Web资源,对于扩大信息获取...

    互联网搜索课程part2-MSRA

    《互联网搜索课程part2-MSRA》是微软亚洲研究院在清华大学开设的一门深入探讨互联网搜索与挖掘...微软亚洲研究院与清华大学的合作,确保了课程内容的前沿性和实践性,旨在培养新一代的互联网搜索与挖掘领域的专业人才。

    TextMining01-introduction.pdf

    - **主要应用**:包括新一代搜索引擎、互联网内容安全、企业知识管理等多个方面。 2. **第二章:文本特征提取技术** - 讨论如何从文本中提取有意义的特征,如词汇频率、TF-IDF等。 3. **第三章:文本检索技术** ...

    文本挖掘概述与方法

    文本挖掘的产生背景主要包括数字化文本数量的快速增长、数据结构的转变以及新一代搜索引擎的需求。互联网中超过99%的可分析信息都是以文本形式存在,而大量文本信息的非结构化或半结构化特点给信息检索和处理带来了...

    大数据日知录__架构与算法

    Spark作为新一代的大数据处理引擎,以其内存计算的优势,大大提升了数据处理速度,同时提供了更丰富的数据处理模型,如SQL查询、流处理等。 大数据架构的设计是解决数据处理效率和扩展性问题的关键。通常,大数据...

    史上最全的数据挖掘资料

    - **简介**:这是IBM Almaden研究中心开发的一个多任务数据挖掘系统,旨在为新一代决策支持系统的应用开发提供高效的数据挖掘构件。 - **主要特点**: - 支持大型数据库上的数据挖掘任务,如关联规则发现、序列...

    Oracle全文检索技术在海量数据挖掘中的应用.pdf

    随着技术的演进,全文检索技术已经成为了新一代管理信息系统的代名词,它不仅在传统搜索引擎中占据核心位置,还在智能化、网络化的趋势下展现出良好的发展前景和广阔的应用空间。 6. 具体应用场景分析: 文档中...

    李建伟:Hadoop新技术介绍

    - Solr:是一个开源的搜索引擎,主要用于搜索应用中的实时搜索、全文搜索、自动索引以及聚类等。 - Kafka:是一个分布式流处理平台,它用于处理实时数据流,主要用在构建实时数据管道和流应用中。 - Flume:是一个...

    automated physical database design and tuning

    接下来,书中深入探讨了过去15年中自动化物理设计技术的研究进展,这些进展催生了新一代的调优工具。文章详细讨论了替代方案搜索空间、成本模型的重要性,用于比较不同方案的优劣、遍历和枚举搜索空间的不同机制,...

    用户行为分析系统基于Spark、Hadoop.zip

    Spark作为新一代的大数据处理引擎,相比Hadoop MapReduce,具有更快的计算速度和更灵活的数据处理能力。Spark提供了一个统一的编程模型,支持批处理、交互式查询(Spark SQL)、流处理(Spark Streaming)和机器学习...

    大数据与人工智能创新实验室.pdf

    该实验室的建立是为了抓住国家重大战略发展机遇,特别是针对“互联网+”、大数据、新一代人工智能的推进,以及山西省转型发展的实际需求。下面,将详细说明实验室相关内容所涉及的关键知识点。 首先,大数据是描述...

Global site tag (gtag.js) - Google Analytics