semvec/pypi-packages huggingface dataset:
SimpleTopicModel 0.0.8
An NLP Package for generating Topic Models

# SimpleTopicModel
Easily identifying themes in text

![image](https://github.com/DecafSunrise/SimpleTopicModel/assets/36832027/3555d505-392a-4729-bdc6-9256079a376d)

## What is this?
This is a package that wraps up common theme identification (Topic Modeling) techniques in Python. SimpleTopicModel is currently under development, and subject to change.

## How do I get it?
Currently, you can git clone this repo and import it locally. Be sure to run `pip install -r requirements.txt` in the repo folder, to ensure you've got the relevant requirements.

I'm working on setting up a pypi release, slated for the near future.

## How do I use it?
![image](https://github.com/DecafSunrise/SimpleTopicModel/assets/36832027/b32ef2d3-c9fd-4304-864a-3d873c5bbe7e)
Use couldn't be easier. Most topic modeling techniques follow the same paradigm:
1. **Convert your text to numbers (embeddings)**: The excellent `Sentence-Transformers` package does this for us, using Microsoft's Mini-LM model.
2. **Reduce Dimensionality**: This package uses `UMAP`, but you could substitute TSNE or PCA if you wanted to.
3. **Cluster**: We're using `HDBSCAN` to build hierarchial clusters (which we'd like to traverse in a later release), but you could also use a KNN, GMM, etc.
4. **Visualize (Optional)**: This displays the reduced dimension embeddings in 3d (or 2d) space, so you can get a feel for how "tight" the clusters are.

## What's next?
- Clean up/professionalize this repo & releases
- Add automated cluster naming techniques (cTF-IDF, LLM-assisted naming, etc)
- Make a sweet logo & eyecatching graphics
- Fix the docs page

## Acknowledgements:
This builds on previous work including [Gensim (LDA)](https://radimrehurek.com/gensim/), [BERTopic](https://maartengr.github.io/BERTopic/index.html), [Top2Vec](https://github.com/ddangelov/Top2Vec), and [pyLDAvis](https://pypi.org/project/pyLDAvis/). They're all excellent, more mature alternatives to SimpleTopicModel, and I'd encourage you to go check them out!
ooxmilker 0.0.3
An Office Open XML parser that outputs HTML.
Requires Python: >=3.6

OOXmilker is an Office Open XML parser that outputs HTML. It takes any Word (.docx, .docm), Excel (.xlsx, .xlsm), PowerPoint (pptx, pptm) or Visio (.vsdx, .vsdm)<sup>1</sup> file as an input. It returns every paragraphs from the file, one after the other.

## Installation:

This package can be installed using the following instruction in a console:
```bash
pip install ooxmilker
```

## Usage:

Once the package installed, the module can be imported like so:
```python
import ooxmilker
```

To use OOXmilker, make a call to `read()` function. This function takes a **string** representing the path to an Office Open XML file as argument. `read()` being a generator function, it must be part of some sort of loop. 

For example, the following script prints each paragraph from a Word file.
```python
file_path = "C:\\Documents and Settings\\Guest\\My Documents\\document.docx"
for p in ooxmilker.read(file_path):
    print(p[0])
    print(p[1])
```
Each iteration returns a **tuple** with 2 values. In the example above, value `p[0]` is a **string** containing a single paragraph from *document.docx* with some HTML tags. Value `p[1]` is a **dictionary** providing context information on the paragraph.

| Key | Possible Values | Description |
|---|---|---|
| tbl | `True`  `False` | If True, the content is located inside a table. Does not apply to Excel files. |
| chg | `True`  `False` | If True, the content contains changes (insertions or deletions). Applies to Word files only. |

Continuing with the same example, `p[1].get("tbl")` would either return a **boolean** `True` or `False`. If True, the paragraph is part of a table; if False, the paragraph is not part of a table.

## Compatibility

OOXmilker needs Python 3.6 to work.

Features from Office Open XML format and their respective compatibility when using OOXmilker will be listed in the near future.

1\. Visio is not part of the OOXML standard, but still close enough for OOXmilker.