Recall the example bots data that you would need as a bare minimum to build a chat-bot.
Now, lets show the standard table, and then its transpose:
sa: load bots.sw sa: table[bot,*] starts-with |bot: > +---------+---------+---------+---------+------------+-----------------+-----------------+-----------------+-----------------+---------------------+-------------+------------+------------+------------------------+-------------+--------------+------------------+-----------------+----------+-----+----------+-------------+ | bot | name | mother | father | birth-sign | number-siblings | wine-preference | favourite-fruit | favourite-music | favourite-play | hair-colour | eye-colour | where-live | favourite-holiday-spot | make-of-car | religion | personality-type | current-emotion | bed-time | age | hungry | friends | +---------+---------+---------+---------+------------+-----------------+-----------------+-----------------+-----------------+---------------------+-------------+------------+------------+------------------------+-------------+--------------+------------------+-----------------+----------+-----+----------+-------------+ | Bella | Bella | Mia | William | Cancer | 1 | Merlot | pineapples | punk | Endgame | gray | hazel | Sydney | Paris | Porsche | Christianity | the guardian | fear | 8pm | 31 | | | | Emma | Emma | Madison | Nathan | Capricorn | 4 | Pinot Noir | oranges | hip hop | No Exit | red | gray | New York | Taj Mahal | BMW | Taoism | the visionary | kindness | 2am | 29 | | | | Madison | Madison | Mia | Ian | Cancer | 6 | Pinot Noir | pineapples | blues | Death of a Salesman | red | amber | Vancouver | Uluru | Bugatti | Islam | the performer | indignation | 10:30pm | 23 | starving | Emma, Bella | +---------+---------+---------+---------+------------+-----------------+-----------------+-----------------+-----------------+---------------------+-------------+------------+------------+------------------------+-------------+--------------+------------------+-----------------+----------+-----+----------+-------------+Yeah, a line-wrapped mess! Now, this time the transpose:
-- first define some operators: Bella |*> #=> apply(|_self>,|bot: Bella>) Emma |*> #=> apply(|_self>,|bot: Emma>) Madison |*> #=> apply(|_self>,|bot: Madison>) -- show the table: sa: table[op,Bella,Emma,Madison] supported-ops starts-with |bot: > +------------------------+--------------+---------------+---------------------+ | op | Bella | Emma | Madison | +------------------------+--------------+---------------+---------------------+ | name | Bella | Emma | Madison | | mother | Mia | Madison | Mia | | father | William | Nathan | Ian | | birth-sign | Cancer | Capricorn | Cancer | | number-siblings | 1 | 4 | 6 | | wine-preference | Merlot | Pinot Noir | Pinot Noir | | favourite-fruit | pineapples | oranges | pineapples | | favourite-music | punk | hip hop | blues | | favourite-play | Endgame | No Exit | Death of a Salesman | | hair-colour | gray | red | red | | eye-colour | hazel | gray | amber | | where-live | Sydney | New York | Vancouver | | favourite-holiday-spot | Paris | Taj Mahal | Uluru | | make-of-car | Porsche | BMW | Bugatti | | religion | Christianity | Taoism | Islam | | personality-type | the guardian | the visionary | the performer | | current-emotion | fear | kindness | indignation | | bed-time | 8pm | 2am | 10:30pm | | age | 31 | 29 | 23 | | hungry | | | starving | | friends | | | Emma, Bella | +------------------------+--------------+---------------+---------------------+Now it is all nice and pretty!
Now, let's tweak it. In the above case I used all known operators supported by our three bot profiles "supported-ops starts-with |bot: >". We can narrow it down to a list of operators of interest. Here is a worked example:
-- define operators of interest: sa: list-of |interesting ops> => |op: mother> + |op: father> + |op: hair-colour> + |op: eye-colour> + |op: where-live> + |op: age> + |op: make-of-car> -- show the table: sa: table[op,Bella,Emma,Madison] list-of |interesting ops> +-------------+---------+----------+-----------+ | op | Bella | Emma | Madison | +-------------+---------+----------+-----------+ | mother | Mia | Madison | Mia | | father | William | Nathan | Ian | | hair-colour | gray | red | red | | eye-colour | hazel | gray | amber | | where-live | Sydney | New York | Vancouver | | age | 31 | 29 | 23 | | make-of-car | Porsche | BMW | Bugatti | +-------------+---------+----------+-----------+Cool! And it shows some of the power of the BKO scheme, and the usefulness of ket representations of operators (eg: |op: mother>).
Update: I guess they are kind of duals:
foo |Fred> => ...
Fred |op: foo> => apply(|_self>,|Fred>)
No comments:
Post a Comment