Internet Oracle Logo

Search For Past Oracularities Help File

You can search for past oracularities of The Internet Oracle (tm) in five ways.
  1. Digest/Question Number. In this option you can enter a Digest Number (between 0 and the most recently indexed Oracle Digest) and optionally a question number. If you enter just the digest number, then the entire digest will be returned. If you enter a digest number and a question number, only a single oracularity will be returned.

    All digests have 10 questions (numbered 1 - 10) except Digest 0 which has 43 questions, and digest 1000 which has 20 (the 10 proper oracularities and 10 'April Fools' questions).

  2. Text Search. In the text search interface, you type in a number of words such as "spice girls vogon death ray", and the engine tries to find oracularities that fit this criteria. All oracularities that include any of the words will be retrieved, unless there are too many matches (see below).

    Order, and case of the words is not considered. There are no binary operators that you can use with this interface (see the binary search engine below if you want functionality like that).

    1. Maximum Number of Oracularities to Return. This option limits the number of oracularities on any one page. Note that you will be able to read other pages after the first one.
    2. Show Brief Quotes of Retrieved Oracularities. This option (clicked by default) makes the search engine list appropriate brief quotes of the returned Oracularities, useful if you are searching for a particular oracularity and don't want to read all the returned references to see which one it is.
    3. Reduce Words if Too Many Matches. In normal circumstances, rather than chug away trying to process 5000 matches for a word like "is", the engine will reduce the number of search words to a manageable number should too many matches be found. Words are dropped from the most common word first, which seems to work reasonably well. Note that the last word is never dropped, even if it is "the".
    4. Sort by, chooses the criteria by which Oracularities are ordered. This is important if you are only viewing some of the oracularities, as the sorting method determines which matching oracularities you'll see.

      The current options are

      • Fit to Query I.e. how many words from the query are present and in what numbers.
      • Digest/Question number. How old the oracularity is.
      • Score. How well the oracularity scored.
    5. Sort: Ascending/Descending. Whether search is ascending or descending.

  3. Binary Search. The binary search engine is being developed now. At present words (including quoted words) can be entered connectd with the operators 'and', 'or', and 'not'.

    Key words can either be a single word, or a string of words with quotes around them. E.g. searching on peter pan will return oracularities with peter and pan somewhere in the text. This may of course return an oracularity with Peter Andre using pan-cakes to help maintain his six-pack. If you search on "peter pan", then only oracularities with that string in it will be returned. You can use either " or # as quotes, but the ending quote symbol must match the starting quote symbol. Case, and the size/character of 'white space' between tokens is ignored.

    If two key words are given with no operator between them (e.g. star trek) then it is assumed that they are linked with an 'and'. Also, if the last word of a query is an operator (e.g. I think not) then that operator is ignored. This means that you never get syntax errors, though things may not work as you expect if you type an actual error. If in doubt, quote keywords.

    Finally, you can access some special variables in your search. These allow you to restrict searches based on question, digest, or voting score. Examples of each are:

    In general, the pattern is keyword op number. Note that the parsing of the number is a bit generous, and you can have whitespace between the integer/fractional parts and the '.'. This will only cause unexpected parses if you are dropping 'ands'. Note that oracularities with no scores will not be retrieved by any expression testing score. Hence, something like not score < 3 will retrieve the entire digest 0 (and others) which have no numbers, but score >= 3 (its logical converse) will not.

    Note that selected= is an exception to the above syntax. The only comparision that can be used is =, and instead of taking a number as its parameter, it takes either a single token, or a string of tokens quoted with either " or # (starting and ending quotes must match).

    Keywords are score, digest, and question. Other keywords may be added in the future, mainly I would like to add search on selecting priest. Operators are <, >, =, <=, >=.

    Some sample queries are:

    • "Bill Clinton" and not "Monica"
    • "Weather With You" and "Crowded"
    • "twisty passages" "look"
    • ("Bill Clinton" and "Hilary") or ("Og" and ogwa)
    • Sushi and score>=3.9
    • selected=Davis and Viagra
    • selected="Steve Kinzler" and digest>800

    Binary search has Sort by, Sort asc/descending and show brief quotes options similar to the text search engine. However there are a few differences:

    • In binary searches, it is sometimes difficult to know which words are being searched for. (E.g. not clinton). Hence the selection of brief quotes from the oracularity can be a bit strange. In some cases, the engine gives up, and prints the first two lines of the question, and the first two lines of the answer.
    • Only oracularities that perfectly match the search criteria are returned. If you're not sure what words are in the oracularity you are searching for, you are advised to use the Text search interface. The text search interface is intended as a crude searching interace, while the binary interface is a finer bladed tool. Hence there is no Fit to Query option for searching with the binary search interface, all returned Oracularities fit 100%.
  4. Direct Access. You can also access oracularities directly by digest and question number. E.g., the address http://www.wmin.ac.uk/cgi-bin/oracle/d=1024,q=2 will retrieve question 5 from digest 1024 directly. This interface was mainly provided so that people could list their own oracularities on their pages without having to use up disk quota to do so.

    You can also do a binary search directly via the web address, although this is a bit tricky. You have to change spaces in your queries to %20 and double quotes (") have to become, wait for it, %26qt%3B !!! This interface is not really intended for human use, but for the The Natural Language Interface. A sample query is: http://www.wmin.ac.uk/cgi-bin/oracle/binary=%20og%20and%20ogwa%20and%20not%20%26qt%3BThe%20Oracle%20%26qt%3B. Masochists, start typing now.

  5. The Natural Language Interface. This is a very highly experimental Machine Learning Natural Language Interface. "Very Highly Experimental" should be read as "Doesn't Work Very Well". It's part of my personal research (I'm an AI Lecturer at the University of Westminster), and theoretically, if people spent some time selflessly teaching it, it could become a good Natural Language Interface to the oracularities. I.e. you could type in something like Show me some Oracularities where Bill Clinton dies, and it would find them for you. In actual fact, what is likely to happen if you type this in is that it will find oracularities with no resemblence whatsoever. You then would (if you were so kind :-) ) type in a database query such as "Bill Clinton" and (dies or killed or shot or dead) and show the system how the words in the first sentence match those in the second. Then, if someone else came along and asked Show me some Oracularities where Ginger Spice dies, the database would probably find them. If someone typed in Show me some Oracularities where Ginger Spice sings, it might work, if the word sings has been mentioned somewhere, etc.

    It probably takes some getting used to, but hopefully the process of using it shouldn't be too tricky to work out. One thing, when you match words in sentences to other words, don't worry about grammar, etc. Just match the words that it seems to you should be matched (words that are identical are matched automatically, though you can unmatch them if you like).

    Note, that to teach the system, you need to know how to make queries using the Binary Search Interface, as this is what the Natural Language Interface uses to execute queries..

    As a word of advice, try some simple sentences first, then build up to more complex ones if the system can handle the simple ones first. I would greatly appreciate hearing about people's experience with the system by email or other methods.

Return to the Search Engine..
Programming, Music, and Page by Ross Clement.

"The Internet Oracle" is a trademark of Stephen B. Kinzler.