diff --git a/lattices.ipynb b/lattices.ipynb index b16e4f6..98c6d0b 100644 --- a/lattices.ipynb +++ b/lattices.ipynb @@ -12,16 +12,16 @@ "- Very generic math structure\n", "- For practical purposes: just a **finite** set with a subset relation\n", "- Paired with ``fixpoint operators``: functions that either\n", - " - Take a point and follow the lines upwards\n", - " - Stay in the same place\n", + " - Follow the lines upwards\n", + " - Stop\n", "- Conditions above can be relaxed, but at the cost of complexity\n", "\n", "## Lattice programming\n", "- Partial solutions\n", - "- Guaranteed termination\n", + "- Guaranteed termination (through monotonicity)\n", "- Very modular / elegant\n", - "- A sane way to define recursive functions\n", - "- Not an implementation, just an underlying theory to build upon\n", + "- Sane recursive functions - no induction\n", + "- Theory, not implementation\n", "\n", "## Example Visualization\n", "\n" @@ -92,14 +92,10 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Example Fixpoint Operator\n", - "\n", - "- Computation can start at the TOP or BOTTOM and move downwards or upwards in the lattice\n", - "- An operator is just a function that takes and element and moves in a direction consistently\n", "\n", "## Problem\n", "\n", - "- A diagnostic approach to parts of speech tagging (POS tagging)\n", + "- A diagnosis approach to parts of speech tagging (POS tagging)\n", " - Diagnostics propose a tag, then possibly refute it\n", "- POS: noun, verb, adverb, subject\n", "### Lattice\n", @@ -147,10 +143,8 @@ "\n", "- Method stolen from classical linguistics ([uoa reference](https://ezpa.library.ualberta.ca/ezpAuthen.cgi?url=https://academic.oup.com/book/12008/chapter-abstract/161275349?redirectedFrom=fulltext)) ([non uoa, gated](https://academic.oup.com/book/12008/chapter/161275349?login=true))\n", "- Rooted in generative grammar\n", - "- Don't want to misrepresent it, its a lot more sophisticated than what I'm presenting here.\n", - "- General principle is apply rules to rule out possible interpretations\n", - "- I'm not an expert of linguistic diagnosis, I just think it's cool\n", - "- Given a template sentence, decide whether it's true when instantiated\n", + "- Simplified here\n", + "- Operate on template sentences:\n", "- E.g. \"The dog kicked the ball\" -> (\"Who kicked the ball?\", \"Dog\") is true, then dog is NOUN(SUBJECT) \n", "- Oracle-driven\n", " - In classical linguistics, the linguist is the oracle\n", @@ -425,13 +419,11 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Further Ideas\n", - "## A fuzzier approach\n", + "# A fuzzier approach\n", "\n", - "- We're expecting a lot from a our diagnostics to have to \"entirely refute\" a POS, a graded approach would be better\n", - "- That's possible!\n", - "- Now we have triples (word, tag, confidence) and give the diagnostics the ability to lower a confidence level\n", - "- But this is no longer a simple subset relation, so it needs more general-purpose lattice theory." + "- Binary deciding expects a lot from diagnostics\n", + "- Graded approach would be beter\n", + "- Modify to use triple (word: str, tag: str, confidence: float)\n" ] } ],