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

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

Serving Software Downloads in 956 Categories, Downloaded 50.222.114 Times

Search::ContextGraph 0.15

  Date Added: August 13, 2010  |  Visits: 1.095

Search::ContextGraph

Report Broken Link
Printer Friendly Version


Product Homepage
Download (92 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  -  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  
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  
Libraries  -  Dir::Which 0.3
Dir::Which is a Perl module to search for directory entries in a list of directories. SYNOPSIS use Dir::Which qw/ which /; @entries = which( -entry => "myprog.conf", -env => "myprog_path", -defaultpath =>...
5.12 KB  
Libraries  -  Search::Dict 5.8.8
Search::Dict is a Perl module to search for key in dictionary file. SYNOPSIS use Search::Dict; look *FILEHANDLE, $key, $dict, $fold; use Search::Dict; look *FILEHANDLE, $params; Sets file position in FILEHANDLE to be first line greater...
12.2 MB  
Libraries  -  File::Locate 0.61
File::Locate is a Perl module to search the (s)locate-database from Perl. SYNOPSIS use File::Locate; print join "n", locate "mp3", "/usr/var/locatedb"; # or only test of something is in the database if (locate("mp3",...
20.48 KB  
Libraries  -  MP3::Find 0.06
MP3::Find is a Perl module to search and sort MP3 files based on their ID3 tags. SYNOPSIS # select with backend you want use MP3::Find qw(Filesystem); print "$_n" foreach find_mp3s( dir => /home/peter/cds, query => { artist => ilyaimy,...
29.7 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  -  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  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
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  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Libraries  -  wolfSSL 4.0.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
3.88 MB  
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