RISC is an open-source Python package data generator. It generates look-alike automobile insurance contracts based on the Quebec regulatory insurance form in French and English.
Use RISC to generate look-a-like Quebec Car insurance forms (FPQ1) both in French and English. RISC simulation is deterministic; thus, it can generate an aligned insurance contract (i.e. same driver data) using an initial seed. RISC uses a pretrained TVAE model on a private dataset to generate look-a-like car protections. See our article here for more detail about RISC implementation and generated the RISCBAC dataset specification.
RISC was written in Python 3.9 and is compatible with the latest version of PyTorch and Python >= 3.8 (SciPy seems difficult to build on Python 3.11. Thus, we don't support Python 3.11 for now).
from risc_generator import TVAEFPQ1ContractFaker
seed = 42
n = 10
# Let's sample 10 insurance English insurance contracts (default configuration).
en_fpq1_synthetic_dataset = TVAEFPQ1ContractFaker(seed=seed).sample_contracts(number_sample=n)
# Now, let's do it for French contracts.
fr_fpq1_synthetic_dataset = TVAEFPQ1ContractFaker(language="fr", seed=seed).sample_contracts(number_sample=n)
# Since we have used the same seed, both datasets share the same insuree information.
# Use our own TVAE model:
fpq1_synthetic_dataset = TVAEFPQ1ContractFaker(tvae_synthetic_data_faker_model_path="a_path_to_a_tvae_.pkl",
language="fr", seed=seed).sample_contracts(number_sample=n)
# You can also create a new FPQ1ContractFaker using another type of model using our interface.
from risc_generator import FPQ1ContractFaker, ProtectionsFaker
class RuleBaseFPQ1ContractFaker(FPQ1ContractFaker):
def __init__(self, language: str = "en", seed: int = 42):
protection_faker = ProtectionsFaker(
model=ARuleBaseProtectionFaker()
)
super().__init__(protection_faker, language, seed=seed)
Before installing RISC, you must have your environment's latest version of PyTorch.
- Install the stable version of RISC:
pip install risc_generator
- Install the latest development version of RISC:
pip install -U git+https://github.com/GRAAL-Research/risc.git@dev
Use the following for the article or dataset;
@article{Beauchemin2023RISC,
author = {Beauchemin, David and Khoury, Richard},
journal = {Proceedings of the Canadian Conference on Artificial Intelligence},
year = {2023},
month = {jun 5},
note = {https://caiac.pubpub.org/pub/k18zu6c9},
publisher = {Canadian Artificial Intelligence Association (CAIAC)},
title = {RISC: Generating {Realistic} {Synthetic} {Bilingual} {Insurance} {Contract}},
}
and this one for the package;
@misc{risc,
author = {David Beauchemin},
title = {{RISC: an open-source Python package data generator to generate look-alike automobile insurance contracts based on the Quebec regulatory insurance form in French and English}},
year = {2023},
note = {\url{https://github.com/GRAAL-Research/risc}}
}
We welcome user input, whether it regards bugs found in the library or feature propositions! Make sure to have a look at our contributing guidelines for more details on this matter.
RISC is LGPLv3 licensed, as found in the LICENSE file.