ReSyn-Set2Regex / README.md
mrseongminkim's picture
Add model card
7def880 verified
|
Raw
History Blame Contribute Delete
2.57 kB
---
license: apache-2.0
library_name: resyn
pipeline_tag: text-generation
tags:
- regex
- regex-synthesis
- program-synthesis
- pytorch
- model_hub_mixin
- pytorch_model_hub_mixin
- set2regex
datasets:
- mrseongminkim/ReSyn
---
# ReSyn — Set2Regex
This repository contains the pre-trained **Set2Regex** model presented in the paper [ReSyn: A Generalized Recursive Regular Expression Synthesis Framework](https://huggingface.co/papers/2603.24624).
ReSyn is a synthesizer-agnostic divide-and-conquer framework that decomposes complex regular expression synthesis problems into manageable sub-problems by adaptively predicting whether to split examples sequentially (Concatenation) or group them by structural similarity (Union).
**Set2Regex** is the core neural synthesizer. Given a set of positive and negative example strings, it autoregressively generates a regular expression that matches every positive string and rejects every negative string. It encodes the example set with a hierarchical (character-level then string-level) Transformer and decodes the regex with set- and string-conditioned Transformer decoders. Greedy, top-k/top-p sampling, and beam search decoding are supported (see `predict`).
## Links
- **Paper:** [ReSyn: A Generalized Recursive Regular Expression Synthesis Framework](https://huggingface.co/papers/2603.24624)
- **GitHub Repository:** [mrseongminkim/ReSyn](https://github.com/mrseongminkim/ReSyn)
- **Dataset:** [mrseongminkim/ReSyn](https://huggingface.co/datasets/mrseongminkim/ReSyn)
## Usage
These are custom PyTorch models that use [`PyTorchModelHubMixin`](https://huggingface.co/docs/huggingface_hub/package_reference/mixins#huggingface_hub.PyTorchModelHubMixin). The model class is defined in the [GitHub repository](https://github.com/mrseongminkim/ReSyn); clone it first so that the `ReSyn` package is importable, then:
```python
from ReSyn.model import Set2Regex
model = Set2Regex.from_pretrained("mrseongminkim/ReSyn-Set2Regex").eval()
```
See [`ReSyn/server.py`](https://github.com/mrseongminkim/ReSyn/blob/main/ReSyn/server.py) for the full input encoding / output decoding used at inference time.
## Citation
If you find this work useful, please cite:
```bibtex
@inproceedings{kim2026resyn,
title={ReSyn: A Generalized Recursive Regular Expression Synthesis Framework},
author={Kim, Seongmin and Cheon, Hyunjoon and Kim, Su-Hyeon and Han, Yo-Sub and Ko, Sang-Ki},
booktitle={Proceedings of the Thirty-Fifth International Joint Conference on Artificial Intelligence (IJCAI-26)},
year={2026}
}
```