Tuesday, August 22, 2017

Wednesday, August 16, 2017

Monday, August 7, 2017

Juxtaposition - a most elementary of mental operations

I cannot get any further back in my mind than to the place where I posit an entity by naming it or in some other fashion. And soon after that comes the idea of juxtaposing multiple entities, where I bring up several things in "my mind's eye". When I juxtapose two things, one of several events occurs: compatibility, alternation, or grouping. [Or sequencing.]

When I juxtapose two noun objects, they sit side by side
When I juxtapose two types of attribute - like red and square, they may form a composite attribute.
When I juxtapose two values of the same attribute - like red and blue or circular and square, they cannot merge and, at best, split a prior object into parts.

Some of the point here, is that your VARs that act as parents over a collection of children should be organized so they are one of the above: alternative, compatible, or groupable. Per what I have was saying about AODiagrams.

Les Fleurs du Jour

Saturday, August 5, 2017

Context grabbing VARs -

I don't know if I have the gist of it but consider this AODiagram interpretation of some basics:
If Narwhal is using a concept tree whose nodes could be labeled as (parents of) compatible, group-able, or alternative children, then I could implement code that checks recently mentioned VARs to see if any are found under a parent labeled in one of those ways.
The purpose of this is to manage indefinite words that refer to context (eg 'it', 'both', 'compare', 'choose',...) . "It" and "both" refer to group-able entities. "Both" also refers to compatible entities. "Choose", "What is the difference" refer to alternative entities.

Wednesday, August 2, 2017

The Vatican should be coming out with a chatbot any day now

So you can talk to God, or maybe the voice of God.

Monday, July 31, 2017

Flowers - July 31

Might as well keep a record:

Wednesday, July 26, 2017

Flower arrangements at work

A month or so ago a colleague and I moved a table and chairs into a spot in the 2nd floor atrium, to create a little place where people could sit and talk. Later I started putting wildflowers in a vase on the table, and I have been doing more and more careful arrangements. Here is my most recent one, which I like a lot:
Lupine, Queen Anne's Lace, and some kind of ground pea.

In the form of wampum:

Monday, July 24, 2017

Narwhal makes it easy

I gotta brag. Programming a chatbot with Narwhal turns out to be a breeze. Everything falls into place easily, expansions occur as needed, in a balanced and maintainable way, and the ideas feel mellifluous.

Saturday, July 22, 2017

An asymmetry of gender grammar

I note that "him" is distinct from the possessive "his" but that "her" is not distinct from its possessive form. So it easy in English to distinguish between talking about a man and talking about his possessions but it is not easy to do that with a woman - as if it did not matter.

Wednesday, July 19, 2017

Topic/Subject matter in language is the same as 'key' in music

From the edge of sleep comes this insight: that jumping without modulation from one key to another is very similar to jumping from one topic to another. Modulation in music would have its equivalent in language in the 'sequitur' from one topic to another.

Monday, July 17, 2017

Another joke about MBL Friday Evening Lectures

Went to a Friday Night Lecture and one of the speakers favorite methods was to "find out what happens in mice". I was dozing off thinking "what happens in mice stays in mice".

Friday, July 14, 2017

Overheard at the beach

As a guy, I really don't know what is in women's minds, or what sorts of things they talk about when guys are not around. So it was a treat at the beach where I was standing up to mid-chest in water, and two teenage girls paddled bye, talking and not noticing that I was there. They were looking over at a rock [Paradise Rock - we're at Stoney Beach in Woods Hole] where some people they know were diving into and playing around. The dialog was this:

 - Who are the boys?
 - No idea
 - Maybe cute?
 - Let's go find out

Tuesday, July 4, 2017

The Future of Digital Dentistry is "mind share"

I want to tell a certain stalwart of the Dental industry (for whom I have a certain affection) that this is not a winning business model:
Compete by having a more sincere desire than competitors to do the right thing.
 It is a way to guarantee a stable stock price or a slowly declining one. However to triple the stock price and compete with the companies currently earning 5x as much in the Dental industry (namely Patterson and Schein) can only happen if this stalwart company takes on the business model of:
Occupy the minds of more dentists, labs, and customers, than any other company.
Now: you can only occupy the mind with a product that has the capacity to occupy minds - namely a communication product, not a family of well marketed dental parts. Hence dental communication must become the product.

Tuesday, June 27, 2017

User's selecting a personality type for the chatbot they talk to

I was thinking it would not be hard to have a number of auxiliary responses that can be peppered into an otherwise straight chatbot dialog for product ordering. By grouping such responses into different types you could easily achieve a sense of "businesslike" (no added phrases); "playful" (added phrases are jokes); or "abusive" (added phrases make fun of the user).
No sooner thought than the obvious comes up: how many people will choose an abusive dialog?
Joking aside, another type is "helpful" (added phrases are recommendations  and pieces of relevant information).

Sunday, June 25, 2017

What is a conversation?

There are surely many ways to look at "what is a conversation?" One would be from the outside where you classify conversation modes into "harmonious" or "discordant". Another might be to acknowledge that different conversational roles are possible for the conversants. So free-form discussion between "equals" is different from instruction from teacher to pupil, or from boss to assistant.

Perhaps a flaw in generic chatbot thinking is that no such role definition is needed, or that discussion between equals is the correct default. But for a good order chat bot, my vision is that it is taking instructions from the boss, asking intelligent questions, and offering helpful reminders and suggestions. But it does not need any more of an agenda than to keep the discussion focused on an order being completed and moving forward.
Update: Another conversational mode is where two people share an agreement - whether about something they observe together, or something they speculate on - painting pictures for each other.

Friday, June 23, 2017

We still look ok

 
I guess I like this picture. Taken by Gail Coolidge.

Wednesday, June 21, 2017

Narwhal as a chatbot platform

I put Narwhal in place with the idea of inventing a computer language in which to write English language recognition software. It works fine and I can build a chat bot with it. However, having a computer language is not the same as knowing how to write good programs using it. This gives me a new hill to climb - a hill of how topics can shift dynamically during a conversation. And how that becomes an architecture supported by Narwhal.
As I think about it, it all amounts to the question: what is a conversation? [Which has not yet been within Narwhal's scope.]

Monday, June 19, 2017

Does the tree know about the branch?

I think the tree knows about the branch but the branch does not always know about the tree.

"Liquid, out of my body"

I had a rare moment before being completely awake this morning, where I was in the shower and had a thought that was not that far gone when I made a mistake based on it, causing me to focus and recall the details of the thought. You are always wondering if you think only in pictures, or only in words, or whether there are non verbal, non image modalities. But usually the thought is gone by the time you get around to considering these questions.

In detail: I have an infected ear that I was trying to sooth by standing in the shower and angling my head so the shower spray could reach as far as possible into my ear. I was also brushing my teeth - which is a little awkward with your head tilted a bit on its side. So when it came time to empty my ear, un-tilt my head and have the water drip out, I made a mistake: I spat out the tooth paste foam in my mouth instead. Immediately I set about looking back at the thought I had had that created the plan so poorly executed: the thought was a collection of pictures, held together in a narrative structure: I picture "Liquid" as a vesicle in my head, and "out from body" is a channel opening from that vesicle to the outside of my body, and the liquid escaping that way. For some reason I engaged the mouth "vesicle" rather than the ear "vesicle".
I do not know if "Liquid, out of my body" is a combination of ideas already resident in my mind, ready at any time to be used is situations of expelling liquids, as a fixed part of my planning/action repertoire. Or if such a plan could exist on-the-fly, meeting the needs of the situation creatively. In either case, the thought takes the form of pictures in a matrix of narrative.
So there Wittgenstein!

Sunday, June 18, 2017

Rethinking chatnode architecture

As long as it is the conventional way to do something, it is probably wrong. Or at least it could be done better. You can look at the diagrams I posted previously and they may even be correct but what is wrong is the idea that these are "chat" nodes. I think the more correct idea is "data" nodes.
But here is the best insight: that responses can be based on which combination of data nodes are activated by a given input text.

Friday, June 16, 2017

Peter Waksman 1977 - 2017

My favorite picture of me:
And here we are 40 years later

Monday, June 12, 2017

[Better] Chat node architecture

Here the "responder" R is an object with a member R.response( ). There is only one responder in the program so, if you are in its namespace, it can be accessed directly as a global variable and its response() method can be swapped for different things.
Things inside the namespace, can pass R as an argument to sub chats outside the namespace. Inside the namespace, you can set the "global" R.response() back to a parent value after sub-processing. Outside the namespace you also set it back to your parent, but using a passed in version of R rather than accessing a global.

Friday, June 9, 2017

[WRONG] ChatNode architecture

A [WRONG] rudimentary version:
It should be understood that a chat node has a member called Responder that is currently responsible for handling text in and out. The outermost Responder is always in use but sometime is set to one of the sub nodes or sub sub nodes. It is still a brittle architecture.

Here a chat node "home" constructs a sub node during its __init__(). When it constructs the sub node, it passes itself into the sub node as a member 'Parent' of the sub node. Later events can pass control to the sub node via setResponder() and back to the home via restoreControlToParent().
In this way the home node can decide when to handoff responsibility to the sub chat, but it might not get control back. In practice the home node delegates a sub topic to the sub node and gives it responsibility for what to do next.
Example: a Yes/No sub chat can be initiated from a home node, store the result, and return control to the home. It is up to the home node to not lose the context that the question applied to. ETC ETC.

Thursday, June 8, 2017

Why you want a sub-chatnode to come and go

A good example is where you need to ask the client a yes/no question. It would be nice to hand-off control to a chatnode designed for that. How it handles non-answers could be app specific.

Tuesday, June 6, 2017

Doing some more coding

So I coded a ChatNode base class in Python that has a respondText() method. The object contains a set of underlying NARs and wants to be a "center of language processing" for a particular topic. Topics and sub-topics appear to be organized like VARs and so maybe the ChatNodes should be organized in the same way. But what is the natural mode of coexistence for a collection of ChatNodes? I think it might be smart to think of it more in terms of the pieces of data that are maintained within different customized ChatNodes and how those pieces of data are inter related.

I give you: the abutment order, which is part of a  case, which is part of an account. And this order has a past, a present, and a future. And in this order there may be an implant, and an abutment, and a crown or bridge. But the order may also exist in time and space, and even contain a whole discussion of pros and cons, telephone calls back and forth, dentists consulted, box contents, and advice about handling. Not to mention questions.

But that is it. It is doable because, luckily, the most efficient way to store all those intersecting attributes of the "order" are in the narratives that you use to capture the request.

Doing some coding

Man, I did some hard work yesterday and introduced integer variables, which I call "unknowns", into the text, VAR, and NAR handling for Narwhal. This comes hard on a previous week where I introduced recordSlotEvents( ) and got to 1-segmented text. This segmentation shows the data that has been accumulated on the way through a sentence by a given NAR. So today I introduced floating point unknowns and I am proud that the architecture of Narwhal allows adding unknowns in just a couple afternoons, after work.
So, when I use recordSlotEvents( ) for a NAR with a slot containing an integer unknown (INTx) -  sure enough  - the integer entered in the text re-appears in the data. Same for a floating point unknown (FLOATx).
The reason we need this in Narwhal is so it can handle communications with information that is to be relayed rather than absorbed. (I guess it is like delayed recognition.) This is the case for the chatbot I am building for work (at home).

I won't take the time to say this correctly but there is an interesting thing about the "boundary" between when you can get away with a collection of constants versus when you have to deal with actual unknowns. For tooth numbers, input by a user, I can look for the words "one", "two", up to "thirty two" and I can have each one in my program as part of a VAR tree of constants. But I cannot do the same thing for an arbitrary 8 digit number - not for a fundamental reason but for one of convenience. If you had the time, you could avoid using "unknowns".

Friday, June 2, 2017

If the first twenty years of searching for data....

were about finding something somewhat "relevant" to your search, then what if the next twenty years of searching for data be about providing structured information for your search.

A mission statement

I thought of this because it made sense for certain dental industry stalwarts for whom I have a certain affection:
To get customers the knowledge and information they need to place a correct order

I was thinking that a way to do that is:
To be inside the minds of all the Dental and  Dental Lab professionals

 I was thinking a way to do that is:
To be on every desktop in a Dental Office or Lab, as a daily tool

Actually I was thinking the "wave" of communication of the recent past: from phones to internet, to social media, and [I hope] to language interfaces. It suggests that the dynamic and successful Dental Product vendor will be riding the wave. Which means it succeeds by enhancing the types of communication - like training, "other customers also ordered this", good option management during ordering, etc; all in ways that are possible through the newest technologies - not just the internet, not just social media, but voice activated assistants.
For example your social media strategy needs to be coordinated with your training and information sharing functions.
At the root of that is a piece of software on the desktop of everyone who seeks dental information in general. The "Smart Catalog". That would be a steep slope to climb: to be better than Google.

Thursday, June 1, 2017

Design informed by the nature of reality

It is not every day that in the middle of program design you stop to consider the nature of reality. But that happens with this language programming stuff. I am thinking about "slot events" where a partially filled NAR "finds" a new slot to fill, in the text it is reading.

Wednesday, May 31, 2017

Math about Language is an "unsearchable expression" in Google

An unsearchable expression is an expression which, when entered into Google search, is always misinterpreted. Even when it is not completely unsearchable, if the answer you seek is several search pages deep it might as well be. My wife's name used to be pretty unsearchable. Such is the case when I search for discussions of the many interesting math problems associated to language and...I cannot even tell if such exist because the phrase "math about language" is (mis)interpreted as "language + math" and Google insists that what is relevant are discussions of math as a language. Which is a poor interpretation of the throwaway word "about".

So I am somewhat sorry for Google. They appear to have no f*-ing clue about the difference between search and single word association. Oops another clothe less emperor! On the other hand perhaps 95% of the world is happy with single word association.

Tuesday, May 30, 2017

The Mind's Eye - Who has the patent on voice controlled VR?

There is no internal mental picture when looking at an external picture. So the key to getting into someone's mind's eye is to have them look at something external.

The "mind's eye" is a surprisingly unused term. So let me copyright its use in describing or naming a VR/AR display that is language controlled - so you see what you speak about. I wonder who has the patent on voice controlled graphics and VR/AR in general? If nobody does, then I am claiming it right here. Sure they have voice controlled navigation but not voice controlled definition and changes to the content of the scene.

Imagine that as I speak of faeries they dance before my eyes?

Monday, May 29, 2017

Augmented Reality Design - using voice commands

It seems counter intuitive that it might be easier to do a 3D design with language than with 3D interactive tools. As long as the object being designed has well named parts and relationships it might be easier to say something. Like for an abutment where you say: "make the core a little thicker"; "increase the mesial tilt"; or "make the lingual margin a little deeper".
So to go whole hog: imagine wearing AR goggles but using voice to design an object.

Negatives are a reversed polarity without sentiment

I was just thinking about a Narwhal app where all there is no use of the exclusive '|' for VAR building. So all the VARs have exclusive = False and there is no sentiment involved. However in processing sentences with NOT/BUT and such things, there will still be a sign value associated to a filled NAR. So in this case those controls behave more like booleans.

Sunday, May 28, 2017

Augmented Reality Dialog: Sharing a mental picture during a conversation

There is a really deep idea here but I only know it from an example.

Suppose a customer wants to talk to someone about an abutment design. They have the conversation and can agree and then share a sketch of the abutment. The design sketch does not update during the conversation but rather the designer renders the sketch afterwards and turns it around as quickly as possible to show the customer.
Now suppose that rather than a designer, the customer is interacting with a chatbot that could perform the rendering automatically as the customer speaks, to confirm an understanding of what was said. Then this would be like the customer having a conversation (in this case with an automated assistant) and seeing or sharing the mental picture as part of the conversation.

With the possibilities of Augmented Reality (AR) and Virtual Reality (VR) these days, it is not too far a leap to imagine two people conversing this way and using headsets to display a shared concept formed during the conversation. Unlike a game the view updates per the conversation not per actions and the scripted scenario of a game. We'll call this Augmented Reality Conversation - as if it existed.

Saturday, May 27, 2017

Free Fall Coding

Bug free design and good procedures such as unit testing, code reviews, and QA are considered good software development practice. But I want to say that sometimes it is more important to create the bugs than to avoid them. There is an even wilder approach to software development which we can call free fall development. You do no regression testing because you want regression. And then, even worse, you operate with no version control. This allows you to totally break everything routinely and deal with the panic. Such shakeups are good for the organic and robust development of new ideas.

I don't seriously propose free fall development but if you want a hip software team, they should incorporate some of its principles

Tuesday, May 23, 2017

I am a victim of beauty

I am a victim of beauty
Held hostage by obsession

Monday, May 22, 2017

Hunting for rock piles everywhere else

I got good at looking for arrowheads here in the near barren fields of Concord - a tough regime. So now I am able to find stone tools anywhere on the planet. In most places the people do not know how to see such things so you can find hand axes in the roadside debris.
But rock piles are something that I assume have much less global span than stone tools in general. The same principle holds: I have learned how to see something that most people do not know how to see. It leads to wondering: where else in the US are there rock piles? They could be pretty inconspicuous. Can they be found coast to coast?

Does each narrative structure support a fixed set of querries?

Suppose you have a reader with nars like X_/A or X->Y. After a read operation you ought to be able to query the reader in forms that correspond to the nature of those nars. Some examples:
if X->Y is in the reader you should be able to ask: where, when, how? For X_/A you should be able to ask about intensity or some such. 

Update: Since a NAR has four sub-nars (thing, action, relation, and value) you should be able to say:
nar.Thing(), nar.Action(), nar.Rleation(), or nar.Value(). Each of these is a query that should return VARs that fill the identified slot. This gets confusing for nars with ORDER>1. Working on it...
Update June 2: Got it working nicely via a concept called "lastConst".

Sunday, May 21, 2017

Scalable expectation

I was thinking that expectation might have an intensity scale. So I could be driving and the story is driving,driving,driving or (get there)*,(get there)*,(get there)* and that it might be reasonable to consider this in a scale. The idea is that you could be a little impatient.
Then I was thinking about the concept of "home" and how being at "home" has the property that I can relax and stop thinking about how to change my location. If I am not home I am trying to get home. On a side track, I think that 'home' has a special place in narrative structure, like 'I'.

Slot Events, Short Commas, and the pursuit of the Golden Algorithm

The "Golden Algorithm" is the correct (but elusive) mechanism for filling N-segmented text, as I was discussing here. So I have been thinking harder about low level things and a couple of flaws in previous thinking are as follows:
  • When a slot is to be filled and has already been filled, it is kind of an error condition and simply overwriting the slot and closing ones eyes to it must be wrong.
  • When a NAR gets completed it should be vaulted in association with the current segment index, not the index of the subsequent control
  • There is no mechanisms for saying: enough time has gone by, let's vault if we have something.
Anyway, a slot event is where we go to fill a slot and the event results in a change according to the prior state of that slot as well as the others (it could be filled or not, they could be filled or not). A short comma is one that has scope of prior text having a small number (below some threshold) of words. The short comma is helpful when handling lists like lists of word/value pairs.

As for the Golden Algorithm, it requires that slots of higher level narratives be scored according to the scores for the lower level narratives in the slot. That requires a lot more local vaulting of partial results and a different feel. So those new ideas are coming, along the way.

Friday, May 19, 2017

Here is a joke: replace government with AI

It is a joke because governing is quite complicated and AI is quite incompetent. But you do see several articles a week about how "AI will revolutionize X"; so I bet you could get away with writing an Onion, tongue-in-cheek article where X=government.

Wednesday, May 17, 2017

Combinatoric complexity of NLP versus simplicity of Narhwal

Taking an absolutely canned example of someone wanting to order a product of name X. Here are some simple forms:

order X
I need to order X
I want to order X
we want X
please make me an X

This small variety already stresses out the combinatoric, part of speech based, match algorithm, and never comes to grip with the concepts involved: AGENCY{I, me, we}; MOTIVE{need, want}; dull words {to, an, please}; the ORDER {order,make} and the undefined object X. So in Narwhal (which doesn't actually support variables like X but let's pretend and call it 'x') you write
GIMME = attribute(AGENCY,MOTIVE) 
followed by
event([GIMME], x, ORDER)
This gets a score of 1.0 on every example, except for "we want X". Since this sentence is missing the ORDER verb is get's no score according to current implementation. One workaround is to add a narrative attribute(GIMME,x) which does get a 1.0.
So at the expense of every keyword list being in the right place and thinking through the necessary narratives, the Narwhal programmer can accomplish a lot in a very few simple lines that require them to actually understand the concepts being programmed as concepts not as words.

If I was not such an lazy intellectual I would try to make this point exactly and publish it. After spending a week playing with AIML, I find the the majority of the programming effort goes into handling the variations in the words that are the least important. Quite literally, AIML is designed to spot the pattern of words around the key nouns in the input, so those same nouns can be substituted [without their meaning being important] into different patterns of words in the output. It is designed to not care about  the meaning of the topic defining words. Narwhal could not be more opposite in that regard - it is focused entirely on locating important topic words while remaining as oblivious as possible to the varying pattern of irrelevant words around the topic words.

Tuesday, May 16, 2017

Is there a STANDARD word tree?

Riffing on the previous post and some mulled ideas, imagine putting words into PyDictionary and getting back definitions, to then take words from the definitions and feed them back - again - into PyDictionary. You'll get cycles and cascades and all the fun you could hope for - very much especially when you drop out words of high frequency (short words). Somehow the structure of the set of cycle you get, whatever the heck it is, embodies PyDictionary concept of word meanings.
What I want to know is how to turn a cycle diagram like that into an organized tree of related meanings.
By it is not just the building of it. Suppose you already had such a tree, or little piece of it: could it to be a standard? Would people agree? It would be a meaning standard.

Guess the topic tree structure from a sentence with its keywords

I am browsing someones GitHub project (https://github.com/natsheh/sensim), which is about a metric of similarity between sentences, and am thinking: how would I do this calculation?

Since Narwhal is about goodness of fit between a narrative and a sentence, it is tempting to calculate a distance between sentences by regarding one of them as a narrative and the other as a sentence (the answer could be different if you reversed the roles of the two). But what is missing in this is how does one reconstruct a topic tree that encompasses the 'narrative' sentence?

Or maybe a better question is about how to build a tree from a whole corpus of sentences. So go like this: find the most unique words and look them up in PyDictionaries and get their synonyms. Now go discover some corpus that is rich in these same words and their synonyms. So: given two lists  of synonyms A and B and a cloud of sentences enriched with all the synonyms [not just A and B], how would you know when to have B below A in the tree?

The example is: "loud" implies a sound; and "noise" implies a sound. So if "loud", "noise", and "sound" are in synonym lists, then "loud" and "noise" should be below "sound". Can this be deduced automatically somehow?

You might ask: is there anything out there in 'reality' that guarantees these words should be in this relationship? I think the answer must be "no" since they are words. I cannot see how you would construe the relation between "loud" and "sound" as factual. But it sure does a good masquerade of it.

Monday, May 15, 2017

OS vulnerabilities are unnecessary and are just a money saving strategy for OS vendors.

A lot of huffing and puffing about the "WannaCry" virus attacking the world - reminds me that the whole computer 'virus' thing is based on making an OS vulnerable deliberately so it can receive cheap upgrades. In fact, OSs do not need to be soft-writable but could be burnt into silicon and as invulnerable as a light bulb. Problem is that Microsoft is addicted to a plastic, writable, operating system so it can roll out upgrades at little to no cost. They fix things when they get around to them and roll out a patch - business as usual.

Here is the thing: if PC motherboard architects wanted to, they could design a system that was largely constant and which only allowed writable memory is constrained "sandbox" areas. All files could be recoverable at all times. The question is: why don't they? My guess is: no business case for it and a lot of conventional thinking. A smart computer scientist could solve this problem.

I think OS upgrades should be delivered the way Kodak "Brownie" flash bulbs were delivered: in packages of several disposable bulbs per package. Unscrew the old OS and plug a new one into the socket. Meanwhile the only vulnerable part of the computer would be a file repository that you could lose and not care, while routinely backing it up.

As I wrote (somewhere) a "flash bulb" strategy for a disposable OS is quite financially problematic for companies like Microsoft and Apple; as the "light bulb socket" would require an API spec that eliminated the monopolies these companies enjoy.

Sunday, May 14, 2017

Friday, May 12, 2017

The urge for home

Is there not such a thing?

My learning stages for language processing

It is so idiosyncratic (not counting my math background):
1. Did the automated reading project, the "note reader", for customer order notes. [C++]
2. Built a noise reader at home, re-implementing ideas from work. [C++ and Python]
3. Created narhwal - the long term project that should contain all. [Python]
4. Started designing the "naomi" chatbot to accomplish more than the note reader: have to have language responses; cannot bail with an "alarm" category...or much less often; have to know when enough has been said to proceed; have to alter responses on the way through; etc. [Python and maybe - with a colleague- Java Script.]

We'll see how it goes with my learning curve. At my age, all learning curves are races with senility.

Sunday, April 30, 2017

White Throated Sparrow

The high whistle of a white throated sparrow takes me all the way back.

Tuesday, April 25, 2017

The Rock Piles blog must be influential

I was just backtracking visitor logs on the Rock Piles site and people are visiting for all kinds of different articles - no doubt the result of searches they are doing. The articles they find are from all different periods of the blog's history. It is an archive not an active news site. As I look at it, the posts cover a reasonably wide variety of subjects centered around ceremonial stonework, but also with arrowheads and other more general archeology or Native American cultural topics - as posted by my guest authors. There are thousands of articles and thousands of readers every month. Right now it stands at around 4.8 thousand readers this month.
I don't know how many of those are repeat visitors but most of them are not. That means I am reaching a large number of people interested enough in such archeological topics to do online searches. I find it sort of weird to put some minor random thought into a post and have someone in Oregon read it the next day. I also find it weird to hear ideas that originated with this blog coming back at me from some other direction - like an echo. For example, I have been hammering away at certain concepts - like rectangular mounds with hollows being burials and *blink* it seems to now be an established fact.

N-segmented text

Continuing the idea from here: if we pass several first order NARs across the segmented text, they may individually or together get a result at any "control" in the segment. The hard part would be higher order NARs getting passed across such a combination of lower order NARs and un consumed VARs in the original segment. I need to develop an infrastructure for managing such overlays of higher and higher order NARs "above" the original segmented text.

The rolling up of the text into the segment (sequence of VARs) and the rolling up of the segment into higher and higher order NARs - leads to the idea that once the text is prepared, all the meaning has already been established. In other words, the rolled up input is the output.

I am grasping but do believe there is a "beautiful theorem" in there somewhere.

Monday, April 24, 2017

Verbs mixed with adjective and the power of the '[ ]' notation for implicitness

I was making up an example of a statement that combined verbs and adjectives and the following, not entirely natural, example came up:

Jon shot a goose that cooked up pretty good

A couple of sort-of interesting things come up as I try to "diagram" it using proto semantics. 

Jon-shot->Goose, [We]-cooked->Goose, [?]_/good

I am using '?' to indicate the ambiguity of whether the cooking or its result was good. Since it is implicit, and since there is a truism that makes them somewhat equivalent, you can see why it is easier to just leave it implicit.

Something like an inserted "We" is needed. Which suggest the general rule of narrative continuity allowing  arbitrary insertion of "I" or "We". This is allowed because they are always in context just as the subject of a story is always in context. [Added: in other words they are global variables]

I think it is good that the proto semantic notation stumbles on exactly the ambiguities that are present in the sentence. The word "that", leaves us uncertain if the entire situation is being described as 'good' or a sub part of it. One does, in fact, sense that ambiguity but also that the ambiguity is not important; which is because of Truism 8 "If an action is described as a success, its outcome is assumed to be good". 

Sunday, April 16, 2017

"Sounds Big: The Effects of Acoustic Pitch on Product Perceptions,"

The article about the article did not mention a discussion of why low pitched sounds are associated with thinking things look larger.

It sounds like the same as the moon on the horizon looking bigger. The connection would be that low pitched sounds carry further so their sources are judged to be further away - hence appearing larger. Same as light being fainter on the horizon. Thanks G.Berkeley.

Tuesday, April 11, 2017

Dear Reader from Italy

Regular readers are so rare, I would be grateful if you would leave a comment. 

Saturday, April 8, 2017

Nesting of narratives and text processsing

The puzzle is how to fit a complex narrative to a text, where the complex narrative nests sub narratives. I had the following thought while riding the Red Line somewhere around Central Square: 

 - First text is processed by being broken up into tokens. The result is called "tokenized text."
 - Next tokens are processed by conversion into a sequence of VARs, including NULL_VAR for tokens that are not recognized. The result is called "segmented text".
 - Now the smallest pieces of sub narrative can be "rolled" over the segmented text to produce a processing of the text into higher and higher order results - you could call them "n-segmented text"....and so on with n increasing with the order of the narrative.

Tuesday, April 4, 2017

More semantic personality profiling - how people summarize and how narratives nest inside narratives

The previous post considered asking different people who had experienced the same thing (a subway ride, buying a dress, etc.) to give a short description. This was to be followed by quantitative study of the notational description of the text - via sentence structure (SnG) and/or via proto semantics. Here is a different question, that can be part of the study:

Ask a participant in the study to give a very brief summary. Then ask for a longer one. Then ask for more details. What forms are present in reversing the summary? You could also ask participants to read a short paragraph and provide a summary, or read a sentence and provide an imaginary flushing out of the story's details.

The purpose of this study is to gather information about how narratives are nested within narratives - and how that varies from person to person.

Saturday, April 1, 2017

How much semantic variation is there person-to-person?

I am railing against the paucity of vocabulary for describing mental states and how it has left us, we who wish to analyze language, with a complete lack of information about how diverse the use is of -say- native English. The problem is that most folks don't know proto semantic notation so they have little hope of capturing specific meanings (absent their representation by words and phrases, i.e. syntax-N-grammar) let alone person-to-person variation. So here is the experiment I would want to do. There is a PhD thesis here:
As much as possible ask 10 or so people for a short description of the same thing that they experienced (a ride on the subway, or a trip to buy groceries, or etc.) The questions to answer are:
  • Do different people use different concepts to describe the same things? How much variety is there?
  • Do different people use the different phrases to describe the same concepts?
  • Do different people use the same phrases to describe different concepts?
The approach is to take a short paragraph from each person. Transcribe the paragraph into proto semantic notation and transcribe it into traditional S-n-G notation. The answer to the questions come from quantifying the comparison of these pieces of notation, person-to-person.

We could call this a profiling of language personality. It is an intrinsically interesting topic - the empirical classification of people by their language use parameters. You could have someone with broad vocabulary saying nothing but a few routine things and someone with a limited vocabulary using a broad variety of concepts and saying a good deal. You could have bell shaped curves. The point is that these interesting things cannot be studied with S-n-G notation alone but they can be studied with that plus proto semantic notation.

Like any other form of profiling, doing it for language personality would be a basis for discrimination. Is it OK to discriminate based on language personality? Clearly not, because your references are always based on some other discrimination. But analyzing differences is not the same as basing discrimination on them.

Thursday, March 30, 2017

Airplane in E minor

I am watching a Netflix show and, out of the blue, decide to stop and play the bit of music - a requiem - that I was trying to compose recently. I always try to anticipate the sound of the first note I hit, so I sing it before hand. In this case, I turned on the keyboard, and was about to do that when I realized that the note I was about to sing was actually the engine note of a passing airplane.

But I went ahead and sang it anyway and then played the keys for the required E minor and -  what do you know - it is exactly the right note. The keyboard E matched the airplane E matched the voice E. And that must be why, out of the blue, I thought to stop watching TV and start playing music. I don't have any noticeable perfect pitch but I might have some perfect pitch based associations.

Wednesday, March 29, 2017

My great grandfather

A Mitnik:

The innocence of ageism and corporate mono culture

I am past 60, easily flustered, and often make in-explicable mistakes with details. I try to catch the mistakes using new error checking strategies - but not entirely successfully. I almost always get the inequalities backwards, the first time I code something. Or I can spend several minutes trying to copy, rename, and move four files using Windows Explorer on a crowded desktop. Something routine like that can be quite error prone. It is embarrassing.

Today I took an employment interview "quiz" with a time limit. About 15 minutes into the allowed 45 minutes I started feeling fatigued. I continued and soon got stumped on a question involving filling in missing entries of a table. This question required me to read and understand the column headings (which were multiply nested) and I took too long. A few minutes later the time is almost up and I am having trouble taking 5% of 600,000 and wanting to check my work. I assure the reader I know how to do arithmetic but that is how flustered I get. It is too bad. It is embarrassing.

So here is the ageism: They expect me to learn quickly and understand a piece of data with complex layout - and they expect me to do it at the same speed as a smart college student. No fair! They also expect me to keep my cool under pressure. I never could, but the impact is far worse today than it was when I was twenty five. No fair!

I think that is the end of that interview. It was my mistake to put myself in the path of its youthful bias. I understand it because I might not hire me either.

There was a different sort of bias on display with today's quiz, aside from ageism. As a geometer I tend to think visually. As an experienced engineer I often know the answers in general and I have no trouble being inventive when needed. Those are the things I would brag about. But on today's "quiz" there was no geometry; no testing of knowledge; and never mind about creativity. Instead they tested a kind of algebra and logic reflecting the mental skills of the test designers - skills that are poorly aligned with mine, independently of my age. This is how an employment culture filters out the "different" and becomes a mono-culture. My guess is that mono-culture is not healthy for the company but, in any case, I do not expect potential employers to solve the problem of my getting old.

Thursday, March 16, 2017

Just sketching an idea

I am beginning to acknowledge that syntax-n-grammar are not completely good for nothing subjects. From a slightly more enlightened position, I can see that syntax-n-grammar give the mind an opportunity to see patterns in the words that are being used - so that recognized pattern of words can be used to fill in a narrative - almost independently from what narrative is being filled. Syntax could fill more than one narrative. The point is that it functions to predict the next words in the same way that narratives function to predict the next meaning.
I like the idea that syntax is a means for extrapolating to future words.

Tuesday, March 14, 2017

Morgan Leslie-Waksman Learning Language

My granddaughter is going through games with her parents; for example looking at a picture book and saying "where is the duck?" and answering "there is the duck" (while pointing). And then "where is the pony?", etc. Soon Morgan can play the game and answer correctly. Then her parents play a more complicated game of "what sound goes the duck make?" "quack, quack". And "what sound does the pony make" "neigh, neigh".
So the game gets more complicated and each game can build on top of the last. So at first she may be learning the word "duck" and noticing the similar patterns of duck on the page or in different contexts where the word is used. She also learned the word "where is" and learned about pointing. In the next game she learned to connect the word "duck" to a different kind of pattern for the "quack" sound.
Some things Morgan needs to learn these games are: an ability with pointing; an ability to see similarity; and a desire to imitate. In the process she acquires the language of animal names, their sounds, their appearances, as well as the game words themselves "where" and "what sound". Possibly she picks up words like "the", "and", "a" - imitating the overall form of expressions she hears.
Then Morgan begins two word sentences. For example she says "Two cars" or "Two boats" but does not use the word "three". Her use of "two" may be related to a desire she has for symmetry - when I draw on one of her hands, she wants me to also draw on the other. Two word sentence like these are a description (to this adult observer).
She also says "Bye Pete" and "Bye ..." to describe something going out of view or changing its relation to her (to this adult observer).

LittleShift

This is transformative: a chatbot that, although artificial, helps you talk out the things that are causing you stress. https://www.littleshift.co/?ref=botlist

It didn't work the way I wanted it to but it is a great idea.

Thursday, March 9, 2017

Driverless cars are a waste of time

Point #1 is that it may be comparatively simple to automate driving down a straight road with no oncoming traffic, pedestrians, or any other sort of confusion. That is one extreme. The other is all the un-expect-able events that an adult human has learned to handle specifically as well as in general. Sure you can write programs to do any one of those things but we are not much closer to creating that sort of artificial intelligence than we were before the advent of the computer. So Point#1 is that driver-less cars are much further from reality than the AI clowns can admit.

Point #2 is that cars are a stupid way to move large number of people anyway, and trying to automate a dumb solution is an even dumber solution. What works for public transit is buses and trains. Point#2 is: we should figure out how to merge the best of the train/bus concept and the best of the car concept with these goals: minimum commute times [I assume this is about commuting not road trips], minimum adult supervision. Maximum freedom to use the system or not.

Proposal: Suppose cars and highways had built in "networked" functionality and suppose you drive up to the 2nd from fastest lane. You push a button and it tells the networked system to please take over and move you into the fast lane. It does and for a while your car is part of a train and you can doze/read/or watchTV. When you want to exit the fast lane, you push a button and the system returns you to the non-automated lane. After which you control the vehicle.
In a crowded city, you would request to leave your parking space, once on the city road "grid" everything is managed as a single network application. You ask to park when you get to your destination. [Ignoring the obvious problem that there may be no place to park. But of course the network already knows about that.] Traffic lights are coordinated with the system and optimized as much as possible. Here "opting out" of system is more problematic.

Tuesday, March 7, 2017

My semiconductor "event" pattern recognition patent

All I really wanted was to have my patent application US 20040175943 A1 get out there. I guess it did since I just found this on Google. The chi-squared formula applied by relative area, as in the above, is a key mechanism for measuring event position data against specific reference regions, such as illustrated:
Clearly the collection of fixed regions, with chi-squared calculated for each, gives you a mechanism for embedding patterns of dot scatter into a vector space - one dimension per region. Also you can see that there are families of region (the rows in 2nd pic) that differ by a group operation or "symmetry".

Here is part of the point, a program can be carried out with this way of measuring shape that goes further than the one I tried to do in grad school. So imagine representing a region by a pale gray transparent value inside the region. Imagine the darkness of the gray is a function of the chi-squared of the region versus a fixed scatter of event dots. Now superpose the transparency of many different regions over the pattern and I am confident the result is a sketch of the pattern. Thus in a real sense a pattern is the weighted sum of all the sub regions, weighted by the chi-squared. If I was a stronger mathematician, I would defend the formula

Saturday, March 4, 2017

Mathematics as a Language versus Mathematics about Language

Good luck getting Google to make that distinction! It does eventually provide links to the latter subject but they are scattered among a large number of links to the former. My question is, why cannot we expect a search engine to distinguish between Math as Language versus Language as Math? Why must "as" and "about" be ignored by the search engine?

Friday, March 3, 2017

The "I have no f*cking idea" tax deduction for the IRS form

The IRS tax form should allow you to declare anything of value less than $3,000 in a category called "I have no fucking idea how to declare this".

Thursday, March 2, 2017

Narwhal TODO

Haven't worked on Narwhal since releasing v2.0. I need a problem to solve to push into new areas. In general, some new areas include:
  • Proper handling of lists and numbers - so design info can be read systematically
  • The noun-less sort of conversational "echoing" of the chatbot world indicates a concept of "context", with actors and objects. Narwhal might consider doing this or re-instituting the "total narrative" idea.
  • Stories inside of stories. How is it so simple that a story like "I am making toast" can nest sub-stories like: "I am getting sliced bread out of the freezer".."I am taking slice out of package"...."I am putting slice in toaster and starting the toaster"....
  • How to deploy machine learning? This is a tool looking for an application but I am sure there are possibilities for automatic detection of keywords, and also automatic detection of narratives. Although unclear how, following up on a clue from Gamalon, the goodness of fit score could appear as a weight in a diagram. Not sure if that is a useful direction for thought.

Wednesday, March 1, 2017

Things rich people say (next)

"The '61 is slightly more tannic than the '59."
Variants from my old friend David Kabat:
 - "You can still smell the oak barrel"
 - "The bouquet is a bit flowery"

Monday, February 27, 2017

A truism of rhetoric

Repeating myself, there is a truism of rhetoric of the form:

Being in the same category is "excited" when both X and Y are mentioned and even more excited when three things from the same category are mentioned. The category remains dormant until at least two things from it are mentioned. 
Again: Truism 4 says "things remain the same" and this is applied to a comparison of past versus present; so the "thing" has assumed constancy in time. With the rhetorical truism, the impulse is the same as T4 but, in its case, "thing" is the next member of the category. So the assumed constancy is between members of the category. With eg the bird category and the migrates (yes/no) attribute, the attribute is not entirely independent of the category. If someone mentions terns migrating and swallows migrating then the next mention of a bird ("robin") carries with it the assumption that the subject matter is birds that migrate. Changing the scope from migrating birds to birds in general calls for the use of "but".
I am still trying to figure this out. "Things remain the same" applied to rhetoric, says that the scope of the topic remains the same. (First shivers in the direction of "context".)

Thursday, February 23, 2017

I just won a Google prize

The one when you get a single search result:
Now we know, for example that Google does not index the journals where I publish...what were their names again?
Added: IOSR Journal of Engineering
Added: DuckDuckGo finds at least one relevant result and several more that are irrelevant.

Wednesday, February 22, 2017

Syntatic Truism 4

An example of a parallelism in rhetoric (quite similar to the semantic Truism(s) 4 a,b,and c) is the following:
The sky was red
The car was red
Her lipstick was red
But the blood was black against the snow
Wait, that's not right, isn't that just 4A? How about...
Artic Terns migrate
Swallows migrate
Robbins used to migrate
But now they are around all winter
With the use of "but" these clearly are using implicit assumptions of some kind. Is it just a byproduct of parallel phrasing or is it more? I am wondering about the sudden and spontaneous conversion of the word "migrate" into a category from which we can say the last line of the stanza is excluded.

Exclusion from a category is hardly the stuff of proto semantics. So for now let's go with this: parallel phrasing can create categories and a higher level truism accompanies the lower level Trusim 4: It says if "X in category" then also the next "Y in category".

I want voice activated keyboard shortcuts in Windows 11

I don't mean voice dictation, I mean voice enhanced typing. And I don't want to have to program macros either. I say this with no hope Microsoft is listening but, some basic keyboard improvements are right there for whoever can integrate them into Word. A redesign of the basic keyboard is imminent. The point is to solve these sorts of headache:
  • swapping words
  • putting words in quotes, after the fact
  • fixing a recent typo
Generally these include marking a position, doing something, then returning the cursor to its original mark. Which suggests a little voice activated set of commands: "mark.. (select word1, select word2)...verb". Where the verb could be "swap", "quote", "fix".

Tuesday, February 21, 2017

To my reader from Florida

You are one of only two people who occasionally reads this blog. I know who the other is but who are you? Send an email or leave a comment.
And bye the way: thank you very much for visiting.

Oliver Wendell Holmes's "Free Speech" Limitation versus Fake News

I recall (maybe incorrectly) the OWH used the example of shouting "Fire!" in a crowded theater where there is no fire, as a an example where speech should not be "Free".
I am not sure of the reasoning but clearly such "speech" causes harm and is equivalent to fake news stories that cause damage. Why then are the people who create Fake News not being prosecuted for negligent damage? are they?

Saturday, February 18, 2017

Voice Enhanced Keyboards

For a long time I have been wrestling with the idea that the keyboard is a pain when it comes to slight edits to what you just typed. Two examples are: when I decide, afterwards, that a word should appear in quotes; or when I spot a typo several words back. It is a total pain to change small things like that and, generally, whatever you do takes about the same time as going back to the error and retyping everything. That is because typing words is much faster than correcting the typos. Moving the cursor around is so time consuming and may move the right hand back and forth from the keyboard to the mouse.
So I have been wondering about magic keystrokes or other things that could be embedded in conventional word processing that would solve the problem. Here is an answer: voice activated keyboard shortcuts and edits. So you might highlight a word with the mouse, hold the control key, and say "quote". Or hold the control key and say "end" or "end paragraph". This has lots of possible advantages in avoiding moving the right hand back and forth from the keyboard to the mouse - during edits. Or in keeping both hands on the keyboard for other operations.
I see that such things already exist. I am not surprised but I think some things, like quoting, are not easy to implement as a keyboard macro, so perhaps there is still room for some new ideas.

Wednesday, February 15, 2017

What are chatbots for?

I am doing a survey on chatbots.org about what is the purpose of the various forum poster's personally developed chatbot. So far, 3 out of 3 report their chatbots are "pets" either for their own entertainment or for someone else's.
I am puzzled. Is this a disconnect between an old guy and a younger generation, where I am focused on how to get work done using a chatbot, and these younger (?) programmers are focused on how to get entertained? Is this the post-reality world I have been reading about where games are real and reality doesn't exist? Somehow I suspect: no, it is a field that attracts people who are not engaged in traditional business and have no experience with business applications.
Added:  It has something to do with the view that language is comprised, at the lowest level, of sentence structure. These chatbots are good at using the structure of the sentences to simulate appropriate responses where nouns of the response are simply substituted from nouns of input sentences. My (flabbergasted) response is that this is not a story: "noun verb noun".

AI Startup Gamalon

Read: Bayesian Program Synthesis (BPS). The technology is such that it writes and rewrites its own Bayesian programs. 

Sounds like Data Equilibrium and AODiagrams. Check it out on Source Forge
Added:  I was wrong, it is much more like Narwhal.
Added: Wrong again. I watched a great TED talk from the founder of Gamalon at 2:30 AM and then went back to bed to think about it. That fellow understands perfectly well that models, which he calls "stories", are critical in forming a machine learning solution. He also vindicates my impression that (1) AI is not new but is being amp'ed up by powerful machinery and data bases; and (2) that 90% of the AI startups [of which there are many in the Boston area these days] do not understand the importance of "stories" and, by implication, those startups will fail.
Good stuff! He is right. He also tried to introduce the principle of using the goodness of fit as a weighting factor in a Bayesian Network. Not sure what he means there.
Added: In Bayesian networks it is the connections between nodes that get weighted, so to make sense of what he said, is to put narratives in the role of connections between nodes of a graph. But you know, there are more than one way these nodes can be connected in different narrative structures. Still not sure I get it.

Saturday, February 11, 2017

Friday, February 10, 2017

Tired of reading about AI from authors who really do not understand it

Just read another article that started, sensibly enough, with discussion of fake news and the problems with blind use of technology. The author then pivots toward discussing the great new advances in AI brought about by "Deep Learning". Maybe I need to read more but, last I checked, that was just a re-branding of back propagation and convolutional neural nets. Things that are not new.

My theory, currently is that the advances in AI have to do with Nuance engineers spreading out into industry, bringing technical secrets with them, about voice signal vectors [in particular 30 years of knowledge about what parts of the signal are most relevant], making it possible for Amazon to reproduce the technology in under 10 years, and same for Microsoft. IBM has been doing it longer than Nuance and, I assume, had their own expertise in voice signals.

Anyway, no, there are no such advances. Just another cycle of hype and much more data and more powerful computers...making it harder to see that the emperors clothes are still "new".

Added: but every day my reading of "Venture Beat" finds another example of an author talking about how AI is going to revolutionize [fill in the blank]. It is kind of tiresome because there is no free lunch and just like voice recognition, finding the proper feature vectors for a given subject area is not automated, it is not provided by statistical ("neural net") models of AI, and it may take several years to get started in any new subject area.

Thursday, February 9, 2017

Context when following a story

There is a property of an account that brings context into the narrative as it begins, and is maintained in a sort of equilibrium on the way through such that when the account is over there is a sense of completion that absolutely is quantifiable. [I wish I could convince mathematicians of that.] So for example if something is brought up in one place, its relevance needs to be resolved in another - otherwise there is a sense of a loose end or an irrelevance in retrospect. Or if the topic jumps suddenly there is a sense of  irrelevance that is direct and not in retrospect.
Consider the example: "I was hungry so I repainted the garage". This is a non sequitur but it could be  salvaged if before hand we heard this account:
I came to town penniless and saw a woman and asked her if she had any work I could do. She said she did and that the garage needed repainting. But she couldn't pay me - although she was going to fix dinner later which I could share, if I did the work. I was hungry so I repainted the garage.

A further aspect of what the account brings with it as it begins is whether or not you accept some actor or entity within it. For example, when a story begins with "I" it always has that authoritative context.
Added: When a person is telling a story, the "I" derives its context directly from the person speaking. I suppose "You" must also be a beginning with automatic context as might be anything mentioning the present currently being shared.

Antoine Bordes Artificial Tasks for Artificial Intelligence

Cribbing from a forum post by Merlin on Chatbots.org. He is discussing:
Antoine Bordes Artificial Tasks for Artificial Intelligence, ICLR keynote, 2015.
Example Task:
John is in the playground.
Bob is in the office.
John picked up the football.
Bob went to the kitchen.
Where is the football?  A:playground
Where was Bob before he went to the kitchen? 
This is very thought provoking. To answer correctly requires knowing the src/target roles for the event words "in", "picked up", and "went to" but not much else. It is like Narwhal without the application keywords. It sure would be worthwhile to be able to extend the internal GENERAL_OP tree of Narwhal, to include an EVENT_OP tree.

Another idea arising from this "Example Task" is that  - surely - this is not all of AI because answering the such questions correctly is content-independent. It would be very worthwhile layering an ability, on top of Narwhal, to match the original word in the text (as in "snippet" of the NarRecord) to the same word appearing in the question or being inserted in an artificial answer. So with something like an EVENT_OP tree what we have is not a narrow world but a narrow world template.

Another idea for Narhwal is that, as a NWSReader's vaults are filled while reading a text segment, a separate structure of "context" can evolve along side. This context includes changes and time differences to handle questions like "Where was Bob before he went to the kitchen?".

The new Rodney King

"Can't we all just watch the same shows?"

Saturday, February 4, 2017

Getting started on a moose carving

Wood is beautiful.
Added: The actual result rarely lives up to the potential you see at this stage.

Open standards and voice activation in dentistry

I believe the treatment plan, without associated patient data, belongs to the Doctor and must become a standardized piece of data that the Doctor can make public as part of a bid/ask process. The standard piece of data (an XML format) might have links to patient data, constrained by HIPAA; but these links could not be accessed without the right permissions. At work I am promoting the idea of such a standard. HIPAA should not be preventing dentistry from entering the 20th century :)

I am behind the curve on voice activation: Dentrix is already doing voice-to-treatment plan for periodontal probe numbers. So if I build it they won't be coming. However, there might be a competitive advantage to producing data using an open standard for the treatment plan.

Just so someone else cannot claim the idea: the use of structured language to help the machine get accurate information is one possibility. For example, with periodontal probe numbers you might implement some canned commands like:
Number 8
Back
Next
Wait
Resume
Lingual
2-1-2

Thursday, February 2, 2017

Political software

I doesn't take a rocket scientist to see that the cellphone could change the way politics works in America, specifically in terms of the its potential to get people to act collectively. Group messaging applications could to do this.
This reminds me of the people who built a website to find the nearest swing district.

Uber for Dentists - a million dollar idea...if it doesn't already exist (2)

Software that supports bidding on dental lab work. Whoever builds that marketplace, that auction house, would get a cut. Some kind of Uber for dentists.
Update:  The problem is that HIPAA regulations make it impossible to share the kinds of patient records that you would need to share for a public marketplace.

However I see a way around that: defining a version of the "dental treatment plan" as essentially a vector of numbers that could not possibly be interpreted as containing a patients identity. The argument is that (a) at most it expresses a doctor's description; and (b) you cannot claim identity for a numeric vector. If anyone tries to make a HIPAA issue out of it - then argue it in court.
Once that's established, the dental lab "bid" can begin with the posting of a work description in those abstract "treatment plan" terms. The actual negotiations then takes place between parties that do have HIPAA compliance. In other words, a bid is not subject to HIPAA if done in terms of an abstract treatment plan.

Groupon for boycotts - a million dollar idea...if it doesn't already exist

A messaging App/Website that facilitates group boycotts of advertisers - synchronized on tracking of particular media - thus becoming an electronic parasite able to capture, connect, boycott, and punish! Problem: who decides which media to track?See GrabYourWallet

lingopsychology

Wow! I just found a word that hasn't already been co-opted. So Lingopsychology can be the name for: the study of psychological aspects of involvement with a narrative.
For fun, here are some characteristic types of involvement in a narrative:
 - You hear talking but aren't listening
 - You hear talking and are listening with "1/2 and ear" for topics that interest you if they come up
 - You hear talking and are listening but are distracted
 - You are listening but it is not interesting and engaging
 - You are listening and being surprised
 - You are listening and engaged in the outcome emotionally ("engaged in a narrative preference")
 - You are listening and forming plans, perhaps believing or disbelieving what is heard
I can't get my mind around the difference between these last two, the difference between planning and reacting emotionally.

Tuesday, January 31, 2017

Some kind of watershed moment for this Sphinxmoth blog

For the first time, when I type "Barbara Waksman" into Google, the first link is to this blog. They may be tweaking the algorithms. I am pretty sure the quotation mark behavior changed in the last week. They might also be giving Sphinxmoth just a tiny bit higher priority for the obscure reason that I have been getting a few more visitors than usual. The "51-state flag" remains the only thing anyone ever comes to Sphinxmoth to read. But 1 visitor from Oberlin and 1 visitor from Miami - reading the real stuff - may have tipped the Google scale.

Monday, January 30, 2017

Just asking....dont mean to be political or anything like that...but...

Is there a law that says a tech company can't cut off free products - like Facebook, Google search, Wikipedia, Twitter, etc, from certain parties that are deemed "undeserving"? Like how about Google says: no more free searches if you work for government; or Facebook says: no free accounts for government employees. Or Twitter shuts down if you live in DC?

That sort of thing. Is there something stopping these companies from building their own walls? If so, then posting pictures of civil rights icons and making vague statements about corporate values are pretty weak tea. How about a user policy against vitriol, that gets enforced in a spotty way? Or are these famous tech companies chicken? [We used to say: "Puk....Puk....Puk"].

PTVS is great...but

(P)ython (T)ools for (V)isual (S)tudio are great. But the red squiggles (telling me I have an illegal python file format) are way too aggressive. When I am typing a comment it is busily trying to correct my indents, and when I type a blank line with the cursor not on a tab stop, more red squiggles for a while; until PTVS decides..."oh I guess it is OK".
Dear Microsoft: please put in a fixed 3 second delay before any red squiggles. For God's sake! At least give me a chance to finish typing.

PERSONAL chat bots and dealing with faceless beurocracies - and THEIR corporate chat bots

Sure big companies can save money and improve the customer service but do I want to wait around for my insurance carrier to get it together? What if their business model includes giving me the run around?
This is one (more) example of why we need personal chatbots to do our bidding on the internet. I want to be able to tell my chatbot: call the insurance company, talk to their chatbot (or a person if they have one) and find out why they denied my recent claim.

Saturday, January 28, 2017

Thoughts in the shower

Narwhal is pushing me in more mathematical direction with the idea of a segmented text supplanting the idea of tokenized text. Instead of tokens, a 'segment' replaces words of text with keyword id's called VARs. The VAR also stores the indices of tokens where they are found.

In the shower I was thinking about segmented text and the analogy to a spatial curve. We fit a narrative frame to the segment analogously with fitting a Frenet frame to the curve. So in the shower I ask "what do the Truisms have to do with this?". And that reminds me that things like Truism 4 are specifying the "parallel transport" for some of the dimensions of the moving frame, and that reminds me that the concept of Narrative Continuity introduced in Elements, which refers to a kind of connectivity property of coherent narratives. This needs to be seen as a kind of topological property of the segmented text.
In turn, I am reminded that the definition of Narrative Continuity is made awkward by the possibility of a sub narrative structure where a local variable introduced in one place doesn't occur in the next sub narrative but does occur in a later one. A key mathematical trick is to define away the problem. This leads to the idea of a coherent segment as one that can be divided into sub segments s1,s2,...., sN so that if a local VAR appears in si then either it also appears in si-1 or in si+1. All other VARs are assumed global.
Lemma: The alternating sum of the local VARs in a coherent segment cancel.
Proof: definition of coherent segment.
Coming back to the relation of Truisms to segment text, a Truism is an insert-able segment. So I guess the Truisms represent transformations or dimensions in the total space that permit narrative coherence to be implicit in the segmented text. It is like a Truism allows continuity violations...have to think about that.

Friday, January 27, 2017

"Announce.txt" from Narwhal

Contains something along these lines:
Version 1 uses direct text processing, which leads to the same KList lookups occurring over and over - completely inefficiently. It was my goal for the code to be true to an intuition about the "moving topic", so pre-processing the text wasn't allowed. Now for performance I may need to move past intuition and need to conceptualize entities that are not directly intuitive. In particular concepts of 'token' need to be replaced with concepts of filled VAR. A sequence of tokens is replaced by a sequence of filled VARs called a "segment". Tokenizing is replaced by segmentation. All other operations, up to the NWReader, need to be re-written using segmented text.
But I have to develop new intuitions for segments. They will be the "spatial curves" to which we fit the moving frames of narrative.
I like that last sentence.

Voice interfaces can be more efficient than button pushing

I was trying to decide whether the final filled narrative, extracted from text, should be boiled down into a compact "final" data structure. To my surprise every "compact" structure" forced me to make choices that limited what was being stored and that **surprise!** the most compact data structure was the narrative itself. In other words the narrative 'format' is closer to how we think and tabular or hierarchical formats of the content have more unnatural structure and less information.

Sunday, January 22, 2017

I dreamt I was a butterfly

"I dreamt I was a butterfly....Now I do not know whether I was then a man dreaming I was a butterfly, or a bird dreaming I was a butterfly".

Friday, January 20, 2017

Wouldn't you want to domesticate a moose?

Yeah well apparently its hard cuz they want to roam around in solitude most of the time over a large area - they are not herd animals. It would take time to develop different personalities.

Thursday, January 19, 2017

Pragmatic Linguistics is Begging to be Formalized

In "Elements of Narrative" I write:
 "I  find  that what  I  call narrative structure not only meets the requirements for a Sematic Frame as described by [Fillmore 3], but also gives a more specific representation to some of the ideas of semantic implicature [Grice 4] and semantic underderminacy [Carston 5, Belleri 6]. "
I should have added - "an area of pragmatic linguistics that is begging to be formalized."

Monday, January 16, 2017

pre occupations of the moment

I am lucky to have so many things going on in a brain that just wants to roll over and go back to sleep on a weekend:
  • ver.2 of Narhwal uses segmented indexing, rather than text, to fix performance problems
  • 'boolean' rules of value - how value propagates and combines from sub narrative to larger narrative
  • topology of narrative. Things like circular stories are invariant under word substitution. Narrative Continuity might be expressed as a rule of "conservation of energy" saying that all local variables cancel when we take alternating sums of sub narrative variables
  • set up dropbox for family photos
  • send out Impatience When a Red Light Turns Green for comments
Or I could hang out and watch TV. Tomorrow I have to go back to work where the pre-occupations are different and related to dentistry:
  • new features in the Virtual Articulator, for manipulating the Keep Out Zone (KOZ), user training, and patent filings related to crown design tools.
  • regular work on automation enhancements
  • start listening to voice recordings from customer service
  • make a scene about antiquated product catalogues

Sunday, January 15, 2017

Claims to old Semiconductor Metrology and Defect Inspection Algorithms

Just for the record, Nanometrics bought Soluris, bought IVS where I developed the 'ripple' algorithm - for finding and measuring sub "peaks" in an optical signal. I also did the contact ("via") measurement algorithms. Tony Saporetti was one of three founders of IVS and did the initial metrology algorithms using WWII radar algorithms - based on the mean of a Gaussian to measure the location of a "peak" in a signal. He also was an original specifier of "frame grabber" electronics and the start of modern digital imaging - a real smart engineer. Insiders at Nanometrics will know that optical metrology depends on this use of the Gaussian mean. Tony also did the auto focus algorithm and for years the people at Cognex (every time I made the mistake of interviewing there) tried to pry the concept from me [guys: look up the "triangle inequality"]. But I figured out how to latch onto sub peaks in an optical signal and how to measure between inflection points and that is a key technology also.

Just for the record, KLA's bin defect pattern recognition uses the corpse of an algorithm I developed for a failed startup called "Applied Geometry Inc". The algorithm is the application of chi-squared to point scatters in a gridded field of view, where you count events in a grid cell and compare the distribution to what it would be if there was no spatial pattern to the events. A good basic algorithm for measuring goodness of fit between a pattern (usually an outline in 2D) and a scatter. I filed a patent but it got rejected for the strangest reason - the reviewer took issue with my using the word "dotted" to describe a line in a diagram. The patent application must be on file.

These algorithms still exist and are in use, although the companies got bought by larger and larger parents.

Saturday, January 14, 2017

A circular narrative always has narrative continuity

I just wrote a circular narrative [here] that ends where it begins. In the context of each local variable reappearing in a subsequent sub narrative as the definition of narrative continuity, it always holds when the narrative ends using the same variables it begins with.

Thursday, January 12, 2017

Writing a paper

I particularly like these lines, where I am commenting on the Bloom baby experiment: 
It is possible that babies recognize the sequence of a chest being closed – in fact that is one of the premises of the research. To the baby, the frustrated bunny is involved in a “Contrast” that is “Resolved” when the brown teddy bear helps him. In the second episode the white bunny is associated with the “Contrast” being not “Resolved” and perhaps this makes the baby uncomfortable. By this interpretation, pre verbal babies already have the narrative preference. They like one story more than the other.

So it would be like showing a puppet show to a New York commuter involving cars and red lights turning green; and determing later whether the driver who did or didn’t go when he had chance was a bad guy.  

Kirsten Dunst

My wife and I were trying to remember the name of the actress and I was remembering one visual image of her face and outfit and not able to retrieve the name from this old memory. So I deliberately tried to remember her face and outfit from a different movie and - sure enough - the name came floating up as well.

Saturday, January 7, 2017

Manipulators

I am posting this lest I forget about it, as an unfinished idea. It is about a meta notation on top of proto semantics. Some of it is pretty unclear particularly the notational substitution '=>' versus a semantic '::'. So for what it is worth:

With reference to the proto semantics, here we develop some abstract entities built from sets of proto semantic narratives.

Narrative Context
To analyze the meaning of a sentence dynamically as it begins, continues, and ends requires some kind of space or context comprising a set of narrative fragments (with an internal structure that remains TBD). To represent the set, use curly braces around the narratives and use semi-color ‘;’ to separate them as elements of the set. For example {X_/A} is a context containing one narrative ‘X_/A’. And
{ X->T ; T_/A } is a context containing two narratives ‘X->T’ and ‘T_/A’.

Narrative equivalence
An immediate advantage of this notation is the possibility of an equivalence relation between narratives other than exact identity. For example, we will be able to equate {(X)} and {X} and assume other equivalences like {X_/(A_/B)} and  {(X_/A)_/B}. Therefore we define a one-way equivalence ‘=>’ which permits substitution of the right hand side for the left hand side; and we write ‘=’ for bi-directional substitution. I will also use a ‘+’ to indicate that two contexts in braces are part of a single larger context. Some typical eqivalences are given later as “postulates”.

Effects – notation relating actions to persistent properties
An effect is a persistent attribute arising from a action. As a covenience, for an effect A we use the notation dA to indicate the action it arises from or is changed by. Thus the verb narrative:
        X-dA -> Y
Corresponds to to the property:
        Y_/A
For example we will write
        {X-dA->Y} => {Y_/A}
This convention can be modified or extended as needed to handle other aspects of the action/attribute relation, for example changes to the actor and differences between beginning and ending of a persistent property.

This convention is not part of proto semantics because it is a notational convention and not part of a narrative.

Another immediate advantage of the curly brace notation is the possibility of symbolic definition like the following.
Postulates
Notational equivalences
{(X)} => {X}
{X}+{Y} = {X ; Y} 
{X_/[A]} = {[X_/A]}
{XdA->Y} => {Y_/A}
X**=>X (WRONG!)
There are probably many other notational equivalences that could be assumed. 
{X ; Y } =  {X,Y}
{ X_/(A_/B) } = { (X_/A)_/B }
{X->Y, Z->Y } = {(X,Z)->Y }
{X->Y, X->Z} = {(X->(Y,Z)}
 X::(Y,Z) = (X::Y,X::Z)
[X::Y]* = [X::Y*]

etc.
Dynamic equivalences (and the ghosts of syllogism)
{XdA->Y} => {Y_/A; X_/A’ }  (This is the assumption of effects)
{A::B} => {B}
{A::B} + {B::C} => {A::C}    
{A::C} => {A::[B]} + {[B]::C}

Manipulators

Then there are those myriad of grammatical modifiers: plurals, possesives, genders, etc. What do they do? They imbue the existing narrative fragment with auxilliary meanings, and luckily that can be expressed in the proto semantics using ‘_/’. But there is no end in sight for what conventions can be assumed about the implicit ‘[Z]’ in a particular manipulator. It is a large family of entities.
A manipulator is a narrative valued function M() returning a narrative. They typically take the form:
M(X) = [X_/Z]
(Although I am sure you can come up with others.) For example “he” is a function M(X)=[X_/male]. The gender can remain implicit unless neded for later narrative continuity.

I don’t know how to formulate this. But by 6N,  ‘X_/[Z]’ is expected to be followed by ‘X_/Z’.
Quantifiers
The parts of speech known as quantifiers or determiners such as “all”, “one”, “some”, “most”, “much”, “fifteen”, “every”, “the”, “a” are set-theoretic and beyond the scope of proto semantics. For now let us ignore words like “the” or “a” if they occur in an expression to be analyzed. In the same spirit, let us treat pluralized entities as nouns of type ‘thing’.
Pronouns
The word “she” adds female attribute to the noun role:
“she was hungry”
If desired we can diagram this with a plus sign and an implicit additional fragment:
        {she_/hungry} + {[she_/female]}
Conjunctions
From our point of view, the conjunctions are a mixed bag. The word “because” is equivalent to the becoming operator ‘::’.   The words “and” and “or” perform the consecutive operator ‘,’. They take their meaning from the entities being juxtaposed. 
One version of the word “and”, in an asymmetric use, anticipates what follows:
“I was hungry and…”
We can diagram this as:
        {I_/hungry} + {[Z]}
Words like “but”, and “while” are particularly interesting as they both anticipate and exclude:
“I was hungry but…”

6 THE GHOST OF SYLLOGISM
A more dynamic view of narrative allows for a collecion of narrative fragments to evolve together within a context. Let me assume the context for an expression has already been narrowed down to being the description of an object – even (why not) an instance of a C++ object with a default constructor. Call this class the topic, or the narrow world, or the frame.
An expression comes in and is determined to be about the topic or not. If it is about the topic it is examined by the object instance and becomes part of its description – something you can now query the object about. It has become available information.
In this dynamic context a variety of narrative fragments can be considered equivalent and to define this equivalence we define resolution. We say a narrative resolves to another narrative when we observe it happening or wish to postulate that it happens. Here are some postulates:


The Diagramming Loop

Practical language recognition builds up dictionaries and narrative fragments, etc. But there is a lot of work needed to parse and prepare incoming text.

You have incoming text: 
~~~~~~~~~~~~~~~~~~~~~~~
You need topic specific dictionaries, fragments, punctuation handling, and other things in order to consider all possible meaningful tokenizations. For example “subgingival” could be broken in two, and “1.7 mm” could be retained as a single token. However you do it, you end by considering one or more tokenizations:

Assume we have “dictionaries” (small synonym lists) D1, D2, D3 and one narrative fragment N(d1,d2,d3) where the di are from dictionary Di; and a tokenization.
~~~  ~~~  ~  ~~~~~ ~~  ~~~~~
Every token should be marked as something in a known dictionary, or as an unrecognized dreg. (The basic rule for dregs is that if they come in a group you can ignore them as off topic. But when they are mixed with dictionary words, it is a bit riskier to ignore them.) Anyway, you get an ordered list of tokens:
~~~   ~~~   ~   ~~~~~   ~~   ~~~~~
Let D be the union of the Di. Here is an algorithm:
Step Find the first element of D among the ordered tokens, fill in that entry in N() . Then read to the right looking for other dictionary entries. Either all slots of N() are filled or we run out of tokens. The result is a partially or completely filled narrative object, say N1. Now throw away all tokens used and keep the dregs. If what is left is more than dregs, repeat the Step to produce another partially or completely filled N2. Proceed this way generating N1,N2, etc. until all that is left is dregs. The N1, N2, etc. are the candidate interpretations of the text. 


The theory of Best Models says we can entertain all the alternative Nj, and try to choose one based on a “goodness of fit measure”.  For the most part this will be a measure of how completely the narrative is filled and how “cleanly” within the grammar of the source language. Starting to get it? I think I am.