Skip to main content

Latent Interview Protocol Engineer (LIPE)

Project description

Latent Interview Protocol Engineer (LIPE)

PyPI License: MIT Python Version

Latent Interview Protocol Engineer (LIPE) is a Python utility for mapping the latent structure of interview corpora. It builds on the Interactive Topic Model to recover recurring protocol questions, support qualitative labeling/merging/splitting, and visualize interview flows. It's primary goal is to help researchers effectively navigate and explore their interview corpus.

  • Mapping out the underlying structure of a corpus of interviews
    • The underlying assumption is that in interviews on a certain topic, there will be an underlying set of key questions that are explored. These questions often follow a certain logic (e.g., if interviewer says X then ask Y else ask Z). We refer to this underlying set of key questions and how they connect as the interview protocol. In more structured interviews, this protocol might be known before hand, but often, interviewers may diverge from it as the interview question molds to the nuances of the phenomena. Other times, there may not even be an explicit protocol to start with. The goal of LIPE is to recover this interview protocol as it is latently expressed across a corpus of interviews.
    • Protocol questions are distinct from incidental questions, such as specific follow up questions or clarification questions, in that protocol questions characterize the entire corpus of interviews. As such, we can expect protocol questions to occur in a significant portion of the interviews, even if they are worded slightly differently.
    • Whether a question is protocol or incidental also depends on the researcher's conception of what questions are important. This is why it is important for researchers to be able to have full control over what is determined to be a protocol question.
    • LIPE provides an interface (building on the Interactive Topic Model) for researchers to qualitatively examine, label, merge, and split questions.
  • Navigating mapped out interview corpora
    • Once a corpus of interviews has been mapped out, researchers can use it to navigate the otherwise unwieldy corpus.
    • LIPE allows researchers to extract responses to particular protocol questions across the corpus. These responses include responses to any follow up questions.
    • LIPE also includes basic exploratory tools for the answers to particular questions including visualizations and topic models of the answers.
  • LIPE takes as an input a structured dataframe where each row is a line from an interview. Each line needs to have an interview ID, line ID, and speaker ID in addition to the text for that line.

Requirements

LIPE requires Python 3.8+ and the following packages:

numpy, pandas, scipy, scikit-learn, umap-learn, hdbscan, sentence-transformers, plotly, networkx, pyvis, wordcloud, spacy, nbformat, interactive-topic-model

These will be installed automatically with pip, but see requirements.txt for details.

Quick Start

Installation

pip install lipe

Basic Usage

import pandas as pd
from LIPE import LIPE

lines = pd.read_csv("toy_interviews.csv")

l = LIPE(lines)

l.get_question_info()

API Reference

See the example notebook for a full workflow. For detailed API documentation, see the docstrings in core.py or use Python's help() function after importing LIPE.

Features

  • Recover protocol questions from interviewer lines
  • Manual labeling, merging, splitting, and archiving of questions
  • Extract answers by question (lines, merged, or sentence-level)
  • Transition graph construction and visualization
  • Answer-level analytics (TF-IDF, word clouds, LDA, embedding plots)

Examples

See example.ipynb for a full workflow using a toy dataset.

Contributing

Contributions are welcome! Please open an issue or pull request. See CONTRIBUTING.md if available, or contact the maintainer for guidance.

Support & Contact

For questions, issues, or feature requests, please open an issue on GitHub or contact the maintainer at [your-email@example.com].

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lipe-0.2.0.tar.gz (395.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lipe-0.2.0-py3-none-any.whl (394.1 kB view details)

Uploaded Python 3

File details

Details for the file lipe-0.2.0.tar.gz.

File metadata

  • Download URL: lipe-0.2.0.tar.gz
  • Upload date:
  • Size: 395.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for lipe-0.2.0.tar.gz
Algorithm Hash digest
SHA256 2c6ce2d630a06d8d5f8ce24f7c073653fa5c910a688b17f87e140c7c26f86b3e
MD5 ca907a8dc2657a92a5ecb2347069fe65
BLAKE2b-256 501b7aa61b74ad699cedafe1f9a3272ec14983f0d671d6aa6bdc2dd02959a414

See more details on using hashes here.

File details

Details for the file lipe-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: lipe-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 394.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for lipe-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a5b94461dde048f430c7dc787e2cdf9866fb40b48a5f990f1e6f89f3a348c544
MD5 1e4288ce347a438d837629b6bb13a3a1
BLAKE2b-256 37a1417fc2b5b0062bb49acdb9a2f79c124a8abe15a91edd99fc9dfe9d2b8d81

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page