
Terms that describe why a document is related to another (DTerms)
Source:R/coupling_descriptive.R
descriptive_terms.RdThe second contribution of (Liu 2017)
: given two
documents, it extracts the words of the titles of the references of one
(to) that best indicate in what respect it is related to the other
(from). It complements coupling_descriptive(): the weight says how
much two documents are related, the terms say why.
Arguments
- dt
A data frame or a
data.tableof direct citations, one row per link between a citing document and a cited reference. It is not modified.- source
Character scalar. The column of the citing documents: they are the nodes of the coupling network.
- ref
Character scalar. The column of the cited references.
- title
Character scalar. The column with the title of the cited reference (one title per reference).
- from, to
Identifiers of two documents (values of
source).- n_terms
Number of terms to return.
- stopwords
Character vector of words to ignore in the titles (
NULL: none).
Details
The descriptive strength of a term \(t\) is (Eq. 6 of the paper)
$$D(t) = \frac{\sum_{r' \in R_{to},\, t \in T(r')} \max_{r \in R_{from}} \mathrm{Sim}(r, r')}{|R_{to}|}$$
with \(\mathrm{Sim}\) the reference similarity of coupling_descriptive().
The n_terms terms with the highest strength are returned (the paper
suggests about 10, the length of a title). The relation is not symmetric:
swap from and to to explain the relation the other way.
Intuition
A document cites references for each of its issues. The references of
to that have a close match among the references of from are the
issues the two documents have in common, and the words of their titles
name these issues. A word is a good descriptor if it appears in many
references of to, and if these references are close to references of
from.
References
Liu R (2017). “A New Bibliographic Coupling Measure with Descriptive Capability.” Scientometrics, 110(2), 915–935. doi:10.1007/s11192-016-2196-7 .
See also
Other coupling measures:
biblio_coupling(),
coupling_angle(),
coupling_descriptive(),
coupling_jaccard(),
coupling_similarity(),
coupling_strength(),
coupling_vladutz()
Examples
library(biblionetwork)
toy <- data.frame(
doc = c("a", "a", "b", "b"),
ref = c("r1", "r2", "r1", "r3"),
title = c("inflation expectations", "oil supply shocks",
"inflation expectations", "supply shocks prices")
)
descriptive_terms(toy, "doc", "ref", "title", from = "a", to = "b")
#> term strength
#> <char> <num>
#> 1: expectations 0.50
#> 2: inflation 0.50
#> 3: prices 0.25
#> 4: shocks 0.25
#> 5: supply 0.25