johnwdubois / rezonator

Rezonator: Dynamics of human engagement
35 stars 2 forks source link

Pipeline to NLP resources (e.g. Python server) to annotate Rezonator data #97

Open johnwdubois opened 5 years ago

johnwdubois commented 5 years ago

Background

  1. The work that Rezonator does (e.g. analyzing corpus data) can benefit from the tools of NLP (Natural Language Processing), especially Python libraries. Rather than reinventing the wheel, Rezonator should draw on available NLP tools whenever possible.
  2. One way is to build a pipeline and/or API for processing our corpus data using various NLP tools, integrating these tools with Rezonator as a way to enrich the information available to draw on.
  3. One key goal is to implement client/server architecture for interacting with a Rezonator file.
  4. The ultimate goal is to process corpus data (e.g. transcriptions) and bring new analytical information (coreference, tagging, parsing) into Rezonator. Especially interesting are tools that can contribute to analyzing coreference and resonance (see below).

What to do Create a pipeline to send packets of Rezonator data to and from Python servers/libraries, to analyze the data using NLP tools.

  1. Server and API info for spaCy
  2. Dependency. For example, use the spaCy displaCy demo to generate a dependency tree for a sentence, and insert the analysis in the Tree tab of Rezonator.
  3. Use a pipeline to add NLP information to Rezonator files:

Example
Dependency syntax & Part of Speech annotation via the displaCy (spaCy) web server:

Spacy demo - displaCy

Resources

NLP

Tools that may be relevant to Natural Language Processing:

  1. HuggingFace NLP (course)
  2. HuggingFace NLP (demo)
  3. HuggingFace NLP (GitHub)
  4. HuggingFace (general)
  5. Spacy.
  6. Stanford CoreNLP
  7. Prodigy (Spacy) [paid]

Resonance

Tools that may be relevant to resonance:

  1. word2vec
  2. sense2vec (Spacy)
  3. pair2vec (paper)
  4. pair2vec (GitHub)
  5. Graph analysis
  6. ALIGN: Linguistic alignment (GitHub)
  7. ALIGN (PsyArXiv Preprint)
  8. See also PyLangAcq: Language Acquisition Research in Python
  9. XML: CHAT format from CHILDES (TalkBank).

GameMaker

  1. Kaguva
  2. Python server - GM client
  3. gamemaker-server
  4. https://forum.yoyogames.com/index.php?threads/network-packet-modified-between-python-and-gml.94519/#post-568268

[OLD]

For more ideas, see Linguistics/NLP MultiPlayer Cloud for GameMaker Studio 2 (asset webpage) MultiPlayer Cloud for GMS2 (forum) Client-server architecture (thread)
https://forum.yoyogames.com/index.php?threads/gamemaker-and-server-side-code.92788/#post-557706 graph analysis

The following seem dated, but possibly relevant:
Suspendee Studios Networking Engine video Suspendee Studios Networking Engine Suspendee Studios Networking Engine course

kayaulai commented 3 years ago

Thanks to spacyr this may be possible using rezonateR now:

https://github.com/johnwdubois/rezonateR/issues/49