Subject:
|
Element search with fuzzy categories
|
Newsgroups:
|
lugnet.admin.database
|
Date:
|
Fri, 8 Jan 1999 09:51:37 GMT
|
Viewed:
|
816 times
|
| |
| |
OK, here's the fuzzy element search thingie I was mentioning earlier
tonight. It's ugly, it doesn't contain all possible information, and it's
just a proof-of-concept toy -- but it's kinda actually helpful, and its
results are sometimes surprising in a good way.
Let's start with a simple example -- radar dishes:
http://www.lugnet.com/dbtoys/elementsearch/?=radar-dish
It returns 7 pieces...
100% 2x2 Radar Dish
100% 4x4 Radar Dish
100% 6x6 Webbed Radar Dish
100% 8x8 Radar Dish
50% 2x2 Webbed Dish w/ 3L Bent Rod
50% 4x4 Swirl-Pattern Radar Dish
10% 4x4 Umbrella/Radar Dish
But let's say you didn't know that the system categorized these as radar
*dishes*, and you simply entered "radar":
http://www.lugnet.com/dbtoys/elementsearch/?=radar
Then it returns 8 pieces instead of 7...
100% 2x2 Sloped Brick w/ Radar Display
75% 2x2 Radar Dish
75% 4x4 Radar Dish
75% 6x6 Webbed Radar Dish
75% 8x8 Radar Dish
50% 2x2 Webbed Dish w/ 3L Bent Rod
38% 4x4 Swirl-Pattern Radar Dish
8% 4x4 Umbrella/Radar Dish
...and notice that the radar dishes moved downward in the list because it
wasn't so sure this time that you wanted radar dishes -- it figures maybe
you want generic radar stuff, but it'll include radar dishes just in case.
What's happening there is that radar-dish is listed as being a 75% subset of
radar, and it searches down the tree.
Another example -- the concept of "being circular":
http://www.lugnet.com/dbtoys/elementsearch/?=circular
It knows that circular means round, and round means disc, cylindrical,
half-cylindrical, hub, and tire. So it's able to list quite a few pieces
that it figures are circular in some way.
Another one -- roof bricks:
http://www.lugnet.com/dbtoys/elementsearch/?=roof
It's been told that "roof" is associated with anything "low-slope" or
"medium-slope" -- so it lists a whole bunch of sloped bricks without each
brick having to be told that it can be used on a roof.
(A gotcha here, however, is that it lists zany-decorated sloped bricks when
it shouldn't. I'm not sure if this is a failing of the particular data
strucutre it was given, or a failing at a larger level. On the other hand,
with Boolean queries, you should be able to say "show me all the roof stuff
minus decorated stuff".)
http://www.lugnet.com/dbtoys/elementsearch/?=decorated
Most of the items here designated as "decorated" are either 100% or not at
all. Probably, it should count the percentage of surface area or something.
I think it does that on one piece.
OK, back to cooler ones. Let's say you're looking for those flat green
tree-leaf pieces from Dark Forest. They're listed in this particular DB as
3x4 6-Stud and 5x6 14-Stud Foliage Pieces. So if you type "foliage"...
http://www.lugnet.com/dbtoys/elementsearch/?=foliage
...they appear:
100% 3x4 6-Stud Foliage Piece
100% 5x6 14-Stud Foliage Piece
But let's say you can't remember (or aren't aware) that they're called
"foliage" in this DB, but you know that they certainly have something to do
with trees. So you type "tree"...
http://www.lugnet.com/dbtoys/elementsearch/?=tree
...and Bingo! there they are, at a score of 80%:
100% 4.3H Small Conical Tree w/ Round Base
100% 6.3H Egg-Shaped Tree w/ Round Base
100% 6.6H Large Conical Tree w/ Round Base
80% 4-Prong Palm Frond Support
80% DUPLO 5-Cluster Palm Fronds (2x2 top)
80% Large Palm Frond
80% Small Palm Frond
80% 1x1 Palm Tree Trunk Segment
80% 2x2 Palm Tree Trunk Base
80% 3x4 6-Stud Foliage Piece
80% 4x4 Round Tree Stump
80% 5x6 14-Stud Foliage Piece
70% 2x2x2 DUPLO Tree-Trunk Brick
50% 1x3x2 Smooth-Round Half-Arch Brick
50% 1x5x4 Staired Half-Arch Brick
50% 1x6x2 Smooth-Round Full-Arch Brick
50% 1x6x3 Smooth-Round Half-Arch Brick
40% DUPLO Log Pile/Nest (2x2 top)
40% 1x4x4 Staired Half-Inverse-Arch Brick
40% 2x3x2 DUPLO Inverse-Half-Arch Brick
40% 2x6x2 DUPLO Dual-Inv-Half-Arch Brick
16% 4-Prong Lantern Support
15% 1x1x1.3 Half-Round-Top Brick w/Plate
12% 1x1 Nozzle/Palm Tree Trunk Segment
10% 4x8x6 DUPLO Dwelling Wall w/ Door
5% 1x4x1.3 Half-Round-Top Brick w/Plate
Note that there are other things more tree-like listed above the foliage
elements, and many things less-tree-like listed below the foliage elements.
BTW, here's where a configurable relevance cut-off would come in handy. The
bottom-most item, "1x4x1.3 Half-Round-Top Brick w/Plate" is only there
because it's part of the "half-arch" category, which is part of the "branch"
category, which is part of the "tree" category.
Say, why on Earth is the "4x8x6 DUPLO Dwelling Wall w/ Door" element listed
under "tree"? Because the texturing on it is made to look as though it was
carved out of a giant-diameter tree (so this one is technically relevant to
"tree," albeit only slightly).
Let's try some more... Looking for those bendy-arm thingies from Divers
sets? They show up under "hinge":
http://www.lugnet.com/dbtoys/elementsearch/?=hinge
But they also have their own category:
http://www.lugnet.com/dbtoys/elementsearch/?=bendy-link
How about anything with or related to a Technic peg?
http://www.lugnet.com/dbtoys/elementsearch/?=peg
Skeleton parts:
http://www.lugnet.com/dbtoys/elementsearch/?=skeleton
100% Skeleton Head
100% Skeleton
80% Extra Skeleton Arm
And note that "skeleton" is an 80% subset of "undead":
http://www.lugnet.com/dbtoys/elementsearch/?=undead
80% Ghost Shawl (no minifig)
80% Mummy Head
80% Skeleton Head
80% Skeleton
64% Extra Skeleton Arm
64% Mummy Legs Piece w/ Toes
64% Mummy Torso w/ Gold/Red Neck
64% 1x4x6 Sarcophagus Top
64% 2x4x6 Sarcophagus Bottom
56% Pharoah Headdress Piece
40% 12.5" Mummy Container w/ Sticker from 5948
(Pharoah stuff is pulled in because "mummy" is pulled in.)
BTW, "mummy" is listed as an 80% subset of "egypt":
http://www.lugnet.com/dbtoys/elementsearch/?=egypt
100% 2x2 Egyptian Map Tile, 20/Khnum/Ram
100% 2x2 Egyptian Map Tile, 40/Jackal/Anubis
100% 2x2 Egyptian Map Tile, 60/Thoth/Ibis
100% 2x2 Egyptian Map Tile, 80/Horus/Falcon
80% Hieroglyphic Sticker Sheet from 5938
80% Mummy Head
80% Pharoah Headdress Piece
80% 1x1 Round Plate w/ 4-Sphere Pyramid
80% 1x16 Brick w/ Snakes/Feathers
80% 1x2x5 Hieroglyph Brick, Arm/Bird/etc.
80% 1x2x5 Hieroglyph Brick, Bird/Owl/etc.
80% 1x2x5 Hieroglyph Brick, Eye/Bird/etc.
80% 1x2x5 Hieroglyph Brick, Sun/Sun/etc.
80% 1x6x5 Hieroglyph Brick, 3 People
80% 1x6x5 Hieroglyph Brick, Large Owl/Bug
72% 1x4 Tile w/ Death-Ray Do-Not-Enter
64% Mummy Legs Piece w/ Toes
64% Mummy Torso w/ Gold/Red Neck
64% 1x4x6 Sarcophagus Top
64% 2x4x6 Sarcophagus Bottom
40% 12.5" Mummy Container w/ Sticker from 5948
Food for thought: If there were a category called desert, you'd want Egypt
to come up under desert, but not mummies (right?). How can "stops" be put
in to halt expansions like that?
Back to more examples. One of my favorites is "weapon":
http://www.lugnet.com/dbtoys/elementsearch/?=weapon
(it's got plenty of room for subsets.)
Here's a fun one -- "pizza":
http://www.lugnet.com/dbtoys/elementsearch/?=pizza
100% 2x2 Round Tile w/ Pizza
80% Pizzeria Sticker Sheet from 6350
80% 1x2x1 "PIZZERIA" Thin-Wall
5% Hand-Held Round Paddle
5% Rowboat Oar
The paddles and rowboat oars have to do with pizza because they're sometimes
used to serve the pizza or put it into/pull it out of the brick oven.
And here's one with some unexpected results -- "baseplate":
http://www.lugnet.com/dbtoys/elementsearch/?=baseplate
Finally, a language-mapping experiment -- "tyre" to "tire":
http://www.lugnet.com/dbtoys/elementsearch/?=tyre
This was simply accomplished by setting up "tire" as 100%-subset of "tyre,"
or in other words that "tyre" maps to "tire." This is an example of a
category-object that's actually a word rather than a concept or attribute.
Well, you can play around with it and see what you think. Keep in mind that
it's just a proof-of-concept experiment and it's not supposed to be complete
or truly accurate. But it was enough to convince me that nested fuzzy set
memberships are a pretty powerful tool to help you find things quicker.
--Todd
|
|
Message has 1 Reply: | | Re: Element search with fuzzy categories
|
| Wow! (...) Why would you not want mummies in the desert? Ok I can sort of see why, but they are related, (By about 80% :) The percentage cutoff would be useful here. If the cutoff is set to x% then once a subgroup falls below x% relative to the (...) (26 years ago, 10-Jan-99, to lugnet.admin.database)
|
5 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
Active threads in Database
|
|
|
|