Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 29.545.900 Times

Search::ContextGraph 0.15

  Date Added: August 13, 2010  |  Visits: 823

Search::ContextGraph

Report Broken Link
Printer Friendly Version


Product Homepage
Download (70 downloads)



Search::ContextGraph is a Perl module for spreading activation search engine. SYNOPSIS use Search::ContextGraph; my $cg = Search::ContextGraph->new(); # first you add some documents, perhaps all at once... my %docs = ( first => [ elephant, snake ], second => [ camel, pony ], third => { snake => 2, constrictor => 1 }, ); $cg->bulk_add( %docs ); # or in a loop... foreach my $title ( keys %docs ) { $cg->add( $title, $docs{$title} ); } # or from a file... my $cg = Search::ContextGraph->load_from_dir( "./myfiles" ); # you can store a graph object for later use $cg->store( "stored.cng" ); # and retrieve it later... my $cg = ContextGraph->retrieve( "stored.cng" ); # SEARCHING # the easiest way my @ranked_docs = $cg->simple_search( peanuts ); # get back both related terms and docs for more power my ( $docs, $words ) = $cg->search(snake); # you can use a document as your query my ( $docs, $words ) = $cg->find_similar(First Document); # Or you can query on a combination of things my ( $docs, $words ) = $cg->mixed_search( { docs => [ First Document ], terms => [ snake, pony ] ); # Print out result set of returned documents foreach my $k ( sort { $docs->{$b} <=> $docs->{$a} } keys %{ $docs } ) { print "Document $k had relevance ", $docs->{$k}, "n"; } # Reload it my $new = Search::ContextGraph->retrieve( "filename" ); Spreading activation is a neat technique for building search engines that return accurate results for a query even when there is no exact keyword match. The engine works by building a data structure called a context graph, which is a giant network of document and term nodes. All document nodes are connected to the terms that occur in that document; similarly, every term node is connected to all of the document nodes that term occurs in. We search the graph by starting at a query node and distributing a set amount of energy to its neighbor nodes. Then we recurse, diminishing the energy at each stage, until this spreading energy falls below a given threshold. Each node keeps track of accumulated energy, and this serves as our measure of relevance. This means that documents that have many words in common will appear similar to the search engine. Likewise, words that occur together in many documents will be perceived as semantically related. Especially with larger, coherent document collections, the search engine can be quite effective at recognizing synonyms and finding useful relationships between documents. You can read a full description of the algorithm at http://www.nitle.org/papers/Contextual_Network_Graphs.pdf. The search engine gives expanded recall (relevant results even when there is no keyword match) without incurring the kind of computational and patent issues posed by latent semantic indexing (LSI). The technique used here was originally described in a 1981 dissertation by Scott Preece..

Requirements: No special requirements
Platforms: Linux
Keyword: Contextgraph Docs Document Documents Engine Libraries Perl Module Programming Search Search Engine Searchcontextgraph Spreading Spreading Activation
Users rating: 0/10

License: Freeware Size: 95.23 KB
USER REVIEWS
More Reviews or Write Review


SEARCH::CONTEXTGRAPH RELATED
Libraries  -  Alien Perl module 0.91
Alien Perl module package contains external libraries wrapped up for your viewing pleasure! SYNOPSIS perldoc Alien; Alien is a package that exists just to hold together an idea, the idea of Alien:: packages, so there is no code here, just...
10.24 KB  
Libraries  -  DynaPage::Document 0.90
DynaPage::Document is a Perl module with DynaPage Document container. SYNOPSIS: step1 - document ( create file mydoc.document ) ---[content of mydoc-document.info]--- !include.template =- mydoc-template.htmt my-title =- This is single line...
14.34 KB  
Libraries  -  Data::Type::Docs 0.01.15
Data::Type::Docs is a Perl module with the manual overview. MANUALS Data::Type::Docs::FAQ Frequently asked questions. Data::Type::Docs::FOP Frequently occuring problems. Data::Type::Docs::Howto Point to point recipes how to get...
70.66 KB  
Libraries  -  Pod::WSDL 0.05
Pod::WSDL is a Perl module that creates WSDL documents from (extended) pod. SYNOPSIS use Pod::WSDL; my $pod = new Pod::WSDL(source => My::Server, location => http://localhost/My/Server, pretty => 1, withDocumentation => 1); print...
27.65 KB  
Libraries  -  Circa::Indexer 1.18
Circa::Indexer is a Perl module that provides functions to administrate Circa, a www search engine running with Mysql. SYNOPSIS use Circa::Indexer; my $indexor = new Circa::Indexer; die "Erreur la connection MySQL:$DBI::errstrn" if...
64.51 KB  
Libraries  -  Getopt::Clade 0.0.1
Getopt::Clade is a Perl module with command-Line Argument Declaration Engine. This module is a placeholder for the real Getopt::Clade module. The module was supposed to be released by July 2005, to support the book "Perl Best Practices"....
3.07 KB  
Libraries  -  Docs::US_DOD::STrP 0.06
Docs::US_DOD::STrP is a Perl module. The Software Transition Plan (STrP) identifies the hardware, software, and other resources needed for life cycle support of deliverable software and describes the developers plans for transitioning...
163.84 KB  
Libraries  -  OpenGeoDB Perl module 0.4
OpenGeDB Perl module is a module to access the OpenGeoDB database and calculate all ZIP codes in a certain radius..
3.07 KB  
Libraries  -  Games::Irrlicht 0.04
Games::Irrlicht is a Perl module that use the Irrlicht 3D Engine in Perl. SYNOPSIS package MyGame; use strict; use base Games::Irrlicht; use Games::Irrlicht::Constants; get EDT_SOFTWARE etc # override methods: The Why When building...
39.94 KB  
Network & Internet  -  MyCMS perl module 1.0
MyCMS perl module provides the MN::CMS Perl module used by the MyCMS. MyCMS perl module contains Perl object classes to manage the data of MyCMS (such as articles, links, and images). MN::CMS is a perl module that allows you to manage an...
16.38 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by freedesktop.org, it is used to describe information about an application such as the name and...
327.68 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB  
Libraries  -  App::SimpleScan::Substitution::Line 2.02
App::SimpleScan::Substitution::Line is a line with optional fixed variable values. SYNOPSIS my $line = App::SimpleScan::Substitution::Line->new(" this "); # Use only this value when substituting " ". $line->fix(substituite =>...
54.27 KB