BinaryJaccardCoefficient - Maple Help

Home : Support : Online Help : Education : EssayTools : BinaryJaccardCoefficient

EssayTools

 JaccardCoefficient
 compute the Jaccard coefficient of two arrays
 BinaryJaccardCoefficient
 compute the binary Jaccard coefficient of two arrays

 Calling Sequence JaccardCoefficient( v1, v2 ) BinaryJaccardCoefficient( v1, v2 )

Parameters

 v1, v2 - vector or list of integers

Description

 • The Jaccard coefficient is a measure of similarity between two vectors.

$\frac{\mathrm{v1}·\mathrm{v2}}{{\left|\mathrm{v1}\right|}^{2}+{\left|\mathrm{v2}\right|}^{2}-\mathrm{v1}·\mathrm{v2}}$

 • In binary form, where the vectors contain 1's and 0's, the formula can be expressed in set notation.

$\frac{\left|\mathrm{v1}\cap \mathrm{v2}\right|}{\left|\mathrm{v1}\cup \mathrm{v2}\right|}$

 • Both v1 and v2 must be the same size.
 • In the context of text comparison, v1 and v2 could be a count of the occurrences of certain words within two essay sets.  In the binary form v1 and v2 would contain 1 for the presence of a word, and 0 for its absence.
 • For positive integer counts, the Jaccard and BinaryJaccard coefficients will range from 0 to 1, where 1 is a perfect match, and 0 indicates no overlap.  The higher the score in-between, the more similar the vectors.
 • The Binary form of this command will accept any vector as input and interpret all non-zero entries to 1s.
 • These functions are part of the EssayTools package, so they can be used in the short form, for example, JaccardCoefficient(..), only after executing the command with(EssayTools). However, they can always be accessed through the long form of the command names by using, for example, EssayTools[JaccardCoefficient](..).

Examples

 > $\mathrm{with}\left(\mathrm{EssayTools}\right)$
 $\left[{\mathrm{AppendToWordList}}{,}{\mathrm{BinaryCosineCoefficient}}{,}{\mathrm{BinaryDiceCoefficient}}{,}{\mathrm{BinaryJaccardCoefficient}}{,}{\mathrm{BuildScoreModel}}{,}{\mathrm{CosineCoefficient}}{,}{\mathrm{CountMisspellings}}{,}{\mathrm{CountUseOfAllWords}}{,}{\mathrm{CountUseOfEachWord}}{,}{\mathrm{DetectPlagiarism}}{,}{\mathrm{DiceCoefficient}}{,}{\mathrm{GetWordList}}{,}{\mathrm{GetWordTable}}{,}{\mathrm{IsAdjective}}{,}{\mathrm{IsAdverb}}{,}{\mathrm{IsConjunction}}{,}{\mathrm{IsDefiniteArticle}}{,}{\mathrm{IsIndefiniteArticle}}{,}{\mathrm{IsInterjection}}{,}{\mathrm{IsIntransitiveVerb}}{,}{\mathrm{IsNominative}}{,}{\mathrm{IsNoun}}{,}{\mathrm{IsNounPhrase}}{,}{\mathrm{IsPlural}}{,}{\mathrm{IsPreposition}}{,}{\mathrm{IsPronoun}}{,}{\mathrm{IsTransitiveVerb}}{,}{\mathrm{IsUsuallyParticipleVerb}}{,}{\mathrm{IsVerb}}{,}{\mathrm{JaccardCoefficient}}{,}{\mathrm{Lemma}}{,}{\mathrm{Misspellings}}{,}{\mathrm{PartOfSpeech}}{,}{\mathrm{QuadraticWeightedKappa}}{,}{\mathrm{Reduce}}{,}{\mathrm{Score}}{,}{\mathrm{SetWordList}}{,}{\mathrm{SimilarityScore}}{,}{\mathrm{SpellCorrectWord}}{,}{\mathrm{WordUse}}\right]$ (1)
 > $\mathrm{JaccardCoefficient}\left(\left[1,2,3\right],\left[1,2,3\right]\right)$
 ${1.}$ (2)
 > $\mathrm{BinaryJaccardCoefficient}\left(\left[1,2,3\right],\left[1,2,3\right]\right)$
 ${1.}$ (3)
 > $\mathrm{JaccardCoefficient}\left(\left[1,0,1\right],\left[0,1,0\right]\right)$
 ${0.}$ (4)
 > $\mathrm{BinaryJaccardCoefficient}\left(\left[1,0,1\right],\left[0,1,0\right]\right)$
 ${0.}$ (5)
 > $\mathrm{JaccardCoefficient}\left(\left[1,0,4\right],\left[0,1,1\right]\right)$
 ${0.2666666667}$ (6)
 > $\mathrm{BinaryJaccardCoefficient}\left(\left[1,0,4\right],\left[0,1,1\right]\right)$
 ${0.3333333333}$ (7)
 > $\mathrm{Asimov}≔"The most exciting phrase to hear in science, the one that heralds new discoveries, is not \text{'}Eureka!\text{'} but \text{'}That\text{'}s funny...\text{'}":$
 > $\mathrm{Heisenberg}≔"It is not surprising that our language should be incapable of describing the processes occurring within the atoms, for, as has been remarked, it was invented to describe the experiences of daily life, and these consist only of processes involving exceedingly large numbers of atoms. Furthermore, it is very difficult to modify our language so that it will be able to describe these atomic processes, for words can only describe things of which we can form mental pictures, and this ability, too, is a result of daily experience. Fortunately, mathematics is not subject to this limitation, and it has been possible to invent a mathematical scheme - the quantum theory - which seems entirely adequate for the treatment of atomic processes; for visualization, however, we must content ourselves with two incomplete analogies - the wave picture and the corpuscular picture.":$
 > $\mathrm{Born}≔"The ultimate origin of the difficulty lies in the fact \left(or philosophical principle\right) that we are compelled to use the words of common language when we wish to describe a phenomenon, not by logical or mathematical analysis, but by a picture appealing to the imagination. Common language has grown by everyday experience and can never surpass these limits. Classical physics has restricted itself to the use of concepts of this kind; by analysing visible motions it has developed two ways of representing them by elementary processes; moving particles and waves. There is no other way of giving a pictorial description of motions -- we have to apply it even in the region of atomic processes, where classical physics breaks down.":$
 > $W≔\mathrm{CountUseOfEachWord}\left(\left[\mathrm{Asimov},\mathrm{Heisenberg},\mathrm{Born}\right],\left["science","language","atomic","describe","phrase","exciting","mathematical"\right]\right)$
 ${W}{≔}\left[\begin{array}{ccccccc}{1}& {0}& {0}& {0}& {1}& {1}& {0}\\ {0}& {2}& {2}& {3}& {0}& {0}& {1}\\ {0}& {2}& {1}& {1}& {0}& {0}& {1}\end{array}\right]$ (8)
 > $\mathrm{JaccardCoefficient}\left(W\left[1\right],W\left[2\right]\right)$
 ${0.}$ (9)
 > $\mathrm{JaccardCoefficient}\left(W\left[2\right],W\left[3\right]\right)$
 ${0.6666666667}$ (10)
 > $\mathrm{BinaryJaccardCoefficient}\left(W\left[2\right],W\left[3\right]\right)$
 ${1.}$ (11)
 > $\mathrm{allwords}≔\mathrm{map}\left(x↦\mathrm{op}\left(\mathrm{StringTools}:-\mathrm{Words}\left(x\right)\right),\left\{\mathrm{Asimov},\mathrm{Born},\mathrm{Heisenberg}\right\}\right)$
 ${\mathrm{allwords}}{≔}\left\{{"\text{'}"}{,}{"\text{'}Eureka"}{,}{"\text{'}That\text{'}s"}{,}{"Common"}{,}{"It"}{,}{"The"}{,}{"There"}{,}{"a"}{,}{"ability"}{,}{"able"}{,}{"and"}{,}{"apply"}{,}{"are"}{,}{"as"}{,}{"atomic"}{,}{"atoms"}{,}{"be"}{,}{"been"}{,}{"breaks"}{,}{"but"}{,}{"by"}{,}{"can"}{,}{"common"}{,}{"consist"}{,}{"content"}{,}{"daily"}{,}{"down"}{,}{"even"}{,}{"fact"}{,}{"for"}{,}{"form"}{,}{"funny"}{,}{"giving"}{,}{"grown"}{,}{"has"}{,}{"have"}{,}{"hear"}{,}{"heralds"}{,}{"however"}{,}{"in"}{,}{"invent"}{,}{"is"}{,}{"it"}{,}{"itself"}{,}{"kind"}{,}{"large"}{,}{"lies"}{,}{"life"}{,}{"limits"}{,}{"logical"}{,}{"mental"}{,}{"modify"}{,}{"most"}{,}{"motions"}{,}{"moving"}{,}{"must"}{,}{"never"}{,}{"new"}{,}{"no"}{,}{"not"}{,}{"numbers"}{,}{"of"}{,}{"one"}{,}{"only"}{,}{"or"}{,}{"origin"}{,}{"other"}{,}{"our"}{,}{"phrase"}{,}{"physics"}{,}{"picture"}{,}{"quantum"}{,}{"region"}{,}{"result"}{,}{"scheme"}{,}{"science"}{,}{"seems"}{,}{"should"}{,}{"so"}{,}{"subject"}{,}{"surpass"}{,}{"that"}{,}{"the"}{,}{"them"}{,}{"theory"}{,}{"these"}{,}{"things"}{,}{"this"}{,}{"to"}{,}{"too"}{,}{"two"}{,}{"use"}{,}{"very"}{,}{"visible"}{,}{"was"}{,}{"wave"}{,}{"waves"}{,}{"way"}{,}{"ways"}{,}{"we"}{,}{"when"}{,}{"where"}{,}{"which"}{,}{"will"}{,}{"wish"}{,}{"with"}{,}{"within"}{,}{"words"}{,}{"Classical"}{,}{"Fortunately"}{,}{"Furthermore"}{,}{"adequate"}{,}{"analogies"}{,}{"analysing"}{,}{"analysis"}{,}{"appealing"}{,}{"classical"}{,}{"compelled"}{,}{"concepts"}{,}{"corpuscular"}{,}{"describe"}{,}{"describing"}{,}{"description"}{,}{"developed"}{,}{"difficult"}{,}{"difficulty"}{,}{"discoveries"}{,}{"elementary"}{,}{"entirely"}{,}{"everyday"}{,}{"exceedingly"}{,}{"exciting"}{,}{"experience"}{,}{"experiences"}{,}{"imagination"}{,}{"incapable"}{,}{"incomplete"}{,}{"invented"}{,}{"involving"}{,}{"language"}{,}{"limitation"}{,}{"mathematical"}{,}{"mathematics"}{,}{"occurring"}{,}{"ourselves"}{,}{"particles"}{,}{"phenomenon"}{,}{"philosophical"}{,}{"pictorial"}{,}{"pictures"}{,}{"possible"}{,}{"principle"}{,}{"processes"}{,}{"remarked"}{,}{"representing"}{,}{"restricted"}{,}{"surprising"}{,}{"treatment"}{,}{"ultimate"}{,}{"visualization"}\right\}$ (12)
 > $W≔\mathrm{CountUseOfEachWord}\left(\left[\mathrm{Asimov},\mathrm{Heisenberg},\mathrm{Born}\right],\mathrm{allwords}\right)$
 ${W}{≔}\begin{array}{c}\left[\begin{array}{ccccccccccc}{2}& {0}& {0}& {0}& {0}& {0}& {0}& {0}& {0}& {0}& {\dots }\\ {0}& {0}& {0}& {0}& {0}& {0}& {0}& {2}& {1}& {1}& {\dots }\\ {0}& {0}& {0}& {0}& {0}& {0}& {0}& {3}& {0}& {0}& {\dots }\end{array}\right]\\ \hfill {\text{3 × 160 Array}}\end{array}$ (13)
 > $\mathrm{JaccardCoefficient}\left(W\left[1\right],W\left[2\right]\right)$
 ${0.07803468208}$ (14)
 > $\mathrm{JaccardCoefficient}\left(W\left[1\right],W\left[3\right]\right)$
 ${0.08474576271}$ (15)
 > $\mathrm{JaccardCoefficient}\left(W\left[2\right],W\left[3\right]\right)$
 ${0.4592760181}$ (16)

Compatibility

 • The EssayTools[JaccardCoefficient] and EssayTools[BinaryJaccardCoefficient] commands were introduced in Maple 17.