# Second-order co-occurrence pointwise mutual information

In computational linguistics, second-order co-occurrence pointwise mutual information is a semantic similarity measure. To assess the degree of association between two given words, it uses pointwise mutual information (PMI) to sort lists of important neighbor words of the two target words from a large corpus.

## History

The PMI-IR method[clarification needed] used AltaVista's Advanced Search query syntax to calculate probabilities. Note that the "NEAR" search operator of AltaVista is an essential operator in the PMI-IR method.[citation needed] However, it is no longer in use in AltaVista; this means that, from the implementation point of view, it is not possible to use the PMI-IR method in the same form in new systems. In any case, from the algorithmic point of view, the advantage of using SOC-PMI is that it can calculate the similarity between two words that do not co-occur frequently, because they co-occur with the same neighboring words. For example, the British National Corpus (BNC) has been used as a source of frequencies and contexts.

## Methodology

The method considers the words that are common in both lists and aggregate their PMI values (from the opposite list) to calculate the relative semantic similarity. We define the pointwise mutual information function for only those words having ${\displaystyle f^{b}(t_{i},w)>0}$,

${\displaystyle f^{\text{pmi}}(t_{i},w)=\log _{2}{\frac {f^{b}(t_{i},w)\times m}{f^{t}(t_{i})f^{t}(w)}},}$

where ${\displaystyle f^{t}(t_{i})}$ tells us how many times the type ${\displaystyle t_{i}}$ appeared in the entire corpus, ${\displaystyle f^{b}(t_{i},w)}$ tells us how many times word ${\displaystyle t_{i}}$ appeared with word ${\displaystyle w}$ in a context window and ${\displaystyle m}$ is total number of tokens in the corpus. Now, for word ${\displaystyle w}$, we define a set of words, ${\displaystyle X^{w}}$, sorted in descending order by their PMI values with ${\displaystyle w}$ and taken the top-most ${\displaystyle \beta }$ words having ${\displaystyle f^{\text{pmi}}(t_{i},w)>0}$.

The set ${\displaystyle X^{w}}$, contains words ${\displaystyle X_{i}^{w}}$,

${\displaystyle X^{w}=\{X_{i}^{w}\}}$, where ${\displaystyle i=1,2,\ldots ,\beta }$ and
${\displaystyle f^{\text{pmi}}(X_{1}^{w},w)\geq f^{\text{pmi}}(X_{2}^{w},w)\geq \cdots f^{\text{pmi}}(X_{\beta -1}^{w},w)\geq f^{\text{pmi}}(X_{\beta }^{w},w)}$

A rule of thumb is used to choose the value of ${\displaystyle \beta }$. The ${\displaystyle \beta }$-PMI summation function of a word is defined with respect to another word. For word ${\displaystyle w_{1}}$ with respect to word ${\displaystyle w_{2}}$ it is:

${\displaystyle f(w_{1},w_{2},\beta )=\sum _{i=1}^{\beta }(f^{\text{pmi}}(X_{i}^{w_{1}},w_{2}))^{\gamma }}$

where ${\displaystyle f^{\text{pmi}}(X_{i}^{w_{1}},w_{2})>0}$ which sums all the positive PMI values of words in the set ${\displaystyle X^{w_{2}}}$ also common to the words in the set ${\displaystyle X^{w_{1}}}$. In other words, this function actually aggregates the positive PMI values of all the semantically close words of ${\displaystyle w_{2}}$ which are also common in ${\displaystyle w_{1}}$'s list. ${\displaystyle \gamma }$ should have a value greater than 1. So, the ${\displaystyle \beta }$-PMI summation function for word ${\displaystyle w_{1}}$ with respect to word ${\displaystyle w_{2}}$ having ${\displaystyle \beta =\beta _{1}}$ and the ${\displaystyle \beta }$-PMI summation function for word ${\displaystyle w_{2}}$ with respect to word ${\displaystyle w_{1}}$ having ${\displaystyle \beta =\beta _{2}}$ are

${\displaystyle f(w_{1},w_{2},\beta _{1})=\sum _{i=1}^{\beta _{1}}(f^{\text{pmi}}(X_{i}^{w_{1}},w_{2}))^{\gamma }}$

and

${\displaystyle f(w_{2},w_{1},\beta _{2})=\sum _{i=1}^{\beta _{2}}(f^{\text{pmi}}(X_{i}^{w_{2}},w_{1}))^{\gamma }}$

respectively.

Finally, the semantic PMI similarity function between the two words, ${\displaystyle w_{1}}$ and ${\displaystyle w_{2}}$, is defined as

${\displaystyle \mathrm {Sim} (w_{1},w_{2})={\frac {f(w_{1},w_{2},\beta _{1})}{\beta _{1}}}+{\frac {f(w_{2},w_{1},\beta _{2})}{\beta _{2}}}.}$

The semantic word similarity is normalized, so that it provides a similarity score between ${\displaystyle 0}$ and ${\displaystyle 1}$ inclusively. The normalization of semantic similarity algorithm returns a normalized score of similarity between two words. It takes as arguments the two words, ${\displaystyle r_{i}}$ and ${\displaystyle s_{j}}$, and a maximum value, ${\displaystyle \lambda }$, that is returned by the semantic similarity function, Sim(). It returns a similarity score between 0 and 1 inclusively. For example, the algorithm returns 0.986 for words cemetery and graveyard with ${\displaystyle \lambda =20}$ (for SOC-PMI method).