Latent Interview Protocol Engineer (LIPE)
Project description
Latent Interview Protocol Engineer (LIPE)
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.
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()
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.
Support & Contact
For questions, issues, or feature requests, please open an issue on GitHub or contact the maintainer at [zacthinks@outlook.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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lipe-0.2.1.tar.gz.
File metadata
- Download URL: lipe-0.2.1.tar.gz
- Upload date:
- Size: 395.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
973dccc8b0f9d598345c70c4ce3941b3f2dc7a8fee0bae9ce0c54565a0ed966a
|
|
| MD5 |
804aefcafa46bc81a4d0791cc5bd6e86
|
|
| BLAKE2b-256 |
d3c502e8f249d35e45b9097d0fc5dfaa79920710a799d3b25e192289056bf27f
|
File details
Details for the file lipe-0.2.1-py3-none-any.whl.
File metadata
- Download URL: lipe-0.2.1-py3-none-any.whl
- Upload date:
- Size: 393.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fee0afa43120df1853a0392755fc7da3b472ec1c7848276d2078f1c2acada662
|
|
| MD5 |
a7b8ea6a111cbd13870de6d89806a452
|
|
| BLAKE2b-256 |
97e39670ab9584cfa1fb64ba6a6077d780e965a7e1638ee999cb0a2098f56412
|