Semantic Polynomials
Semantic Polynomials
Introduction
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
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
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/@emotionalStatesContourPlot3D[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+x2,Certainty-x3,Warmthx1x3}
2
x1
2
x2
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
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
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*)
Emergent Properties: Credibility and Judgment
Emergent Properties: Credibility and Judgment
Population Aggregates
Population Aggregates
References
References
https : // chatgpt . com/share/6830 dd91 - 74 b4 - 8008 - 802 f - eade3952fe5d
https : // chatgpt . com/share/683827 e3 - 8 dd0 - 8008 - 9 a89 - c70e6e5f13bb
