This is the README file for OurNet::FuzzyIndex, an inverted search engine for double-byte characters, by Elixir Group and OurInternet Inc. * Installation libOurNet uses the standard perl module install process: perl Makefile.PL make make install Note that scripts in bin/ directory could be useful tutorials, too. * Copyright Copyright 2001 by Autrijus Tang , Chia-Liang Kao . All rights reserved. You can redistribute and/or modify this bundle under the same terms as Perl itself. * Introduction It is often critical for a site to have its own index engine, either for user to search the vast amount of data, to auto-generated "related links" for each page, or to associate external information according to their contents. But traditionally, such packages comes as a fixed "black-box", forcing you to represent the data in a certain format, and offers no room for extensions or improvements. OurNet::FuzzyIndex uses Berkeley DB, a high-performance embedded database system used by sendmail, Netscape Navigator among others, to store its index data. This allows lightning-fast search speed while consuming very little CPU/Memory resources, makes it the ideal solution for mid-to-high volume service sites. It also supports a distributed databases option, which optimizes each query to access only a small portion of database, providing even more scalability. OurNet::FuzzyIndex supports multilingual contents both in Unicode or locale encoding, multiple query syntax/options (e.g. Exact, Boolean, Fuzzy & Natural Language), and a totally extensible API supporting outside filtering/parsing/translation components. OurNet::FuzzyIndex poses no limits as to which format the data is in, or where it should be stored. It accepts any source of contents, whether it's from a local file, a database entry, or external data fetched by OurNet::Query engine. * OurNet::ChatBot Although a search engine can find links relevant to user's queries, it does not provide answer to concrete questions for Q&A services, like Troubleshooting, Online Support, Call Center and Knowledge Bases. These sites usually needs an Eliza-like "virtual personality" to interact with user, directing them to relevant parts of the content instead of a hyperlink to a 100-page-long online manual. Traditionally, interactive query systems like Ask Jeeves requires a hierarchical structured database, extensive chat-scripts, and could only handle a specific domain of keywords. OurNet::ChatBot require no reformatting of existing contents at all; it can automatically parse paragraphs and sentences, then convert the weighted data into a OurNet::FuzzyIndex database. You can also specify additional parameters like keywords, weights and grammar at any time. OurNet::ChatBot accepts multilingual natural language questions, and provides the most suited answers by analyzing the index for each entry's frequency, relevancy and importance. Additional references and links are also included in the output. The Context-Free feature of OurNet::ChatBot also offers other applications other than Q&A services, such as to instantly turn a huge body of articles and speeches into a "virtual personality" of their author to chat with users!