An open API service indexing awesome lists of open source software.

https://github.com/jparkerweb/extract-topics

👽 Extract Topics ⇢ use LDA (Latent Dirichlet Allocation) to extract topics from text
https://github.com/jparkerweb/extract-topics

extraction lda nlp text topic topic-extraction

Last synced: 11 months ago
JSON representation

👽 Extract Topics ⇢ use LDA (Latent Dirichlet Allocation) to extract topics from text

Awesome Lists containing this project

README

          

# 👽 Extract Topics
Use LDA (Latent Dirichlet Allocation) to extract topics from text

Simple NPM package for using Latent Dirichlet Allocation (LDA) for topic modeling on text inputs.

![extract-topics](extractTopics.jpg)

## Install

Install dependencies:

```bash
npm install extractTopics
```

## Usage

```bash
import { extractTopics } from 'extractTopics';

const result = await extractTopics(text, { numTopics, numTerms });

console.log(result);
```

## API

### topicExtraction(text, options)

Extracts topics from input text using LDA.

#### Parameters

- `text` (string): The input text to analyze
- `options` (object):
- `numTopics` (number, optional): Number of topics to extract. Default: 2
- `numTerms` (number, optional): Number of terms per topic. Default: 5

#### Returns

Returns a Promise that resolves to the LDA analysis result.

### Example script

```bash
npm run example
```

The example will:
1. Load sample text documents
2. Apply LDA to extract the main topics
3. Output the discovered topics and their key terms

## About LDA

LDA is an unsupervised learning method that discovers topics in text documents. It views documents as random mixtures over latent topics, where each topic is characterized by a distribution over words.

---

#### Project reference
- https://www.npmjs.com/package/ldawithmorelanguages