A linguistic expression represents vague human terms such as "very small", "extremely big" etc. Such notions are
always reasoned within a given context. lingexpr
returns a function that models a selected linguistic expression.
Accordingly to the given context
, atomic
expression (such as "small", "big") and a linguistic hedge
(such as
very
, extremely
), the returned function transforms numeric values into degrees (from [0, 1]
interval),
at which the values correspond to the expression.
lingexpr(
context,
atomic = c("sm", "me", "bi", "lm", "um", "ze", "neg.sm", "neg.me", "neg.bi",
"neg.lm", "neg.um"),
hedge = c("ex", "si", "ve", "ty", "-", "ml", "ro", "qr", "vr"),
negated = FALSE,
hedgeParams = defaultHedgeParams
)allowed.lingexpr
Returns a function with a single argument, which has to be a numeric vector.
An object of class matrix
(inherits from array
) with 9 rows and 11 columns.
A context of linguistic expressions (see ctx3()
, ctx5()
, ctx3bilat()
or ctx5bilat()
)
An atomic expression whose horizon we would like to obtain
The type of the required linguistic hedge ('-' for no hedging)
Negate the expression? (For instance, "not very small".) Negation
is done using the invol.neg()
function.
Parameters that determine the shape of the hedges
Michal Burda
Based on the context type, the following atomic expressions are allowed:
ctx3()
(trichotomy): small, medium, big;
ctx5()
(pentachotomy): small, lower medium, medium, upper medium, big;
ctx3bilat()
(bilateral trichotomy): negative big, negative medium, negative small,
zero, small, medium, big;
ctx5bilat()
(bilateral pentachotomy): negative big, negative medium, negative
small, zero, small, medium, big.
The values of the atomic
parameter have the following meaning (in ascending order):
neg.bi
: big negative (far from zero)
neg.um
: upper medium negative (between medium negative and big negative)
neg.me
: medium negative
neg.lm
: lower medium negative (between medium negative and small negative)
neg.sm
: small negative (close to zero)
ze
: zero
sm
: small
lm
: lower medium
me
: medium
um
: upper medium
bi
: big
hedge
parameter has the following meaning:
ex
: extremely,
si
: significantly,
ve
: very,
ty
: typically,
-
: empty hedge,
ml
: more or less,
ro
: roughly,
qr
: quite roughly,
vr
: very roughly.
Accordingly to the theory of linguistic expressions by Novak, not every hedge is applicable to each atomic expression. The combinations of allowed pairs can be found in allowed.lingexpr. Trying to create forbidden combination results in error.
horizon()
, hedge()
, fcut()
, lcut()
, ctx()
small <- lingexpr(ctx3(0, 0.5, 1), atomic='sm', hedge='-')
small(0) # 1
small(0.8) # 0
plot(small)
verySmall <- lingexpr(ctx3(0, 0.5, 1), atomic='sm', hedge='ve')
plot(verySmall)
Run the code above in your browser using DataLab