Semantic Polynomials

Introduction

Words can be measured rather than defined. The measure of a word is how many contributing degrees of freedom are used. For example, it takes a minimum of three concepts to create the space necessary to express the notion of “refreshing” {taste, temperature, hydration} for 95% of use cases. The notion of “soothing” takes five conceptual axes.

Dataset

In[]:=
(*Semanticvectorsforwordsaround"soothing"*)​​semanticVectors=<|​​"Soothing"-><|"PhysicalRelief"->1,"EmotionalRelief"->1,"Rhythm"->1,"Intent"->0.5,"Cultural"->0.25|>,"Calming"-><|"EmotionalRelief"->1,"Intent"->1,"Rhythm"->0.5|>,​​"Comforting"-><|"Intent"->1,"EmotionalRelief"->1,"Cultural"->0.75|>,"Relaxing"-><|"PhysicalRelief"->0.8,"EmotionalRelief"->0.6,"Rhythm"->0.6|>,​​"Sedative"-><|"Pharmacological"->1,"PhysicalRelief"->1,"Consciousness"->0.8|>​​|>;​​​​
Out[]=

Unifying Semantic Polynomials with Emotional Flags

In[]:=
emotionalFlags={"INTERESTED","LIKE","SURE","FEAR","INTENSE"}​​​​emotionalStates=Tuples[{0,1},Length[emotionalFlags]]​​​​ClearAll[x1,x2,x3]​​​​semanticPolynomials={"Agency"->x1^2+x2,"Certainty"->x2^2-x3,"Warmth"->x1*x3}​​​​f=Function[e,{e[[1]]+e[[2]],e[[3]]+e[[4]],e[[2]]*e[[5]]}]​​​​semanticPoints=f/@emotionalStates​​​​ContourPlot3D[x1^2+x2==2,{x1,0,2},{x2,0,2},{x3,0,2}]​​​​gradCertainty=Grad[x2^2-x3,{x1,x2,x3}]​​​​gradInterest=Grad[x1^2+x2,{x1,x2,x3}]​​​​credibilityField=gradCertainty+0.5*gradInterest
Out[]=
{INTERESTED,LIKE,SURE,FEAR,INTENSE}
Out[]=
{{0,0,0,0,0},{0,0,0,0,1},{0,0,0,1,0},{0,0,0,1,1},{0,0,1,0,0},{0,0,1,0,1},{0,0,1,1,0},{0,0,1,1,1},{0,1,0,0,0},{0,1,0,0,1},{0,1,0,1,0},{0,1,0,1,1},{0,1,1,0,0},{0,1,1,0,1},{0,1,1,1,0},{0,1,1,1,1},{1,0,0,0,0},{1,0,0,0,1},{1,0,0,1,0},{1,0,0,1,1},{1,0,1,0,0},{1,0,1,0,1},{1,0,1,1,0},{1,0,1,1,1},{1,1,0,0,0},{1,1,0,0,1},{1,1,0,1,0},{1,1,0,1,1},{1,1,1,0,0},{1,1,1,0,1},{1,1,1,1,0},{1,1,1,1,1}}
Out[]=
{Agency
2
x1
+x2,Certainty
2
x2
-x3,Warmthx1x3}
Out[]=
Function[e,{e〚1〛+e〚2〛,e〚3〛+e〚4〛,e〚2〛e〚5〛}]
Out[]=
{{0,0,0},{0,0,0},{0,1,0},{0,1,0},{0,1,0},{0,1,0},{0,2,0},{0,2,0},{1,0,0},{1,0,1},{1,1,0},{1,1,1},{1,1,0},{1,1,1},{1,2,0},{1,2,1},{1,0,0},{1,0,0},{1,1,0},{1,1,0},{1,1,0},{1,1,0},{1,2,0},{1,2,0},{2,0,0},{2,0,1},{2,1,0},{2,1,1},{2,1,0},{2,1,1},{2,2,0},{2,2,1}}
Out[]=
Out[]=
{0,2x2,-1}
Out[]=
{2x1,1,0}
Out[]=
{1.x1,0.5+2x2,-1.}

Attitude Representation:Boolean Microstates

In[]:=
(*DefineAttitudebasisasalistofsymbolicfeatures*)attitudeBasis={Interested,Like,Sure,Fear,Intense};​​​​(*Generateall2^5possibleAttitudeinstantiations*)​​attitudeStates=Tuples[{False,True},Length[attitudeBasis]];​​​​(*Createlabeledrulesforeachinstantiation*)​​attitudeInstances=Map[AssociationThread[attitudeBasis->#]&,attitudeStates];​​​​(*Optional:Tagmeaningfulcombinationswithknownlabels*)​​labeledAttitudes=Select[attitudeInstances,#[Interested]&&#[Like]&&#[Sure]&&!#[Fear]&&!#[Intense]&];

Semantic Polynomial Construction

In[]:=
(*MapBooleanstatestovectorform*)toBinaryVector[assoc_]:=Values[assoc/.{True->1,False->0}];​​​​binaryVectors=toBinaryVector/@attitudeInstances;​​​​(*Polynomialbasis:variablesx1tox5foreachBooleandimension*)​​Clear[x1,x2,x3,x4,x5];​​vars={x1,x2,x3,x4,x5};​​​​(*DefineageneralpolynomialoverBooleanspace*)​​(*Useuptoquadraticterms*)​​semanticPolynomial=a0+a1x1+a2x2+a3x3+a4x4+a5x5+a12x1x2+a13x1x3+a14x1x4+a15x1x5+a23x2x3+a24x2x4+a25x2x5+a34x3x4+a35x3x5+a45x4x5;​​​​(*Assignsampleweightstoattitudevectors*)​​sampleWeights=RandomReal[{0,1},Length[binaryVectors]];​​​​(*Constructsystemofequationstosolveforcoefficients*)​​Xmatrix=Table[semanticPolynomial/.Thread[vars->binaryVectors[[i]]],{i,Length[binaryVectors]}];​​​​coefficients=LinearSolve[Xmatrix,sampleWeights];(*OrFit/LeastSquares*)
LinearSolve
:Argument {a0,a0+a5,a0+a4,a0+a4+a45+a5,a0+a3,a0+a3+a35+a5,a0+a3+a34+a4,a0+a3+a34+a35+a4+a45+a5,a0+a2,a0+a2+a25+a5,22} at position 1 is not a non-empty rectangular matrix.

Emergent Properties: Credibility and Judgment

Population Aggregates

References

AI conversation thread that led to this approach
https : // chatgpt . com/share/6830 dd91 - 74 b4 - 8008 - 802 f - eade3952fe5d
https : // chatgpt . com/share/683827 e3 - 8 dd0 - 8008 - 9 a89 - c70e6e5f13bb