An all-in-one R package for the assessment of linguistic matching and/or accommodation.
features
- Input raw text, a document-term matrix (DTM), or LIWC output.
- Apply various weighting functions to a DTM.
- Measure similarity and/or accommodation with various metrics.
- Calculate standard forms of Language Style Matching (LSM) and Latent Semantic Similarity (LSS).
resources
- Documentation and guides:miserman.github.io/lingmatch
- Dictionary repository:osf.io/y6g5b
- Latent semantic space repository:osf.io/489he
- Dictionary builder:miserman.github.io/dictionary_builder
installation
Download R fromr-project.org, then install the package from an R console:
Release (version 1.0.7)
install.packages("lingmatch")Development (version 1.0.8)
# install.packages("remotes")remotes::install_github("miserman/lingmatch")And load the package:
examples
Can make a quick comparison between two bits of text; by default this will give the cosine similarity between raw word-count vectors:
lingmatch("First text to look at.","Text to compare that text with.")Or, given a vector of texts:
text=c("Why, hello there! How are you this evening?","I am well, thank you for your inquiry!","You are a most good at social interactions person!","Why, thank you! You're not all bad yourself!")Process the texts in one step:
# with a dictionaryinquirer_cats=lma_process(text, dict="inquirer", dir="~/Dictionaries")# with a latent semantic spaceglove_vectors=lma_process(text, space="glove", dir="~/Latent Semantic Spaces")Or process the texts step by step, then measure similarity between each:
dtm=lma_dtm(text)dtm_weighted=lma_weight(dtm)dtm_categorized=lma_termcat(dtm_weighted,lma_dict(1:9))similarity=lma_simets(dtm_categorized, metric="canberra")Or do that within a single function call:
Or, if you want a standard form (as in this example), specify a default:
similarity=lingmatch(text, type="lsm")$sim