Downloads · 30 days
25
6% of all-time downloads
svercoutere/bpmn-search-0.1.0
bpmn-search-0.1.0 is a machine learning model from svercoutere. Use it for the machine learning task on the model card, and read the license before you ship it in a product. It is set up for keras. The card lists the license as mit.
This project aims to create embeddings for BPMN files to facilitate tasks like search, similarity, and clustering. The embeddings capture both the semantics and structure of BPMN files, allowing for effective retrieva…
Downloads · 30 days
25
6% of all-time downloads
All-time downloads
414
Public
Repo size
23.9 MB
Likes
0
Public
Click a slice to open those files.
.keras11.9 MB · 50%
From the Hugging Face model README
This project aims to create embeddings for BPMN files to facilitate tasks like search, similarity, and clustering. The embeddings capture both the semantics and structure of BPMN files, allowing for effective retrieval and comparison of similar BPMN diagrams.
The current model uses embeddings created by the paraphrase-multilingual-MiniLM-L12-v2 with an embedding dimension of 384. Using a different sentence-transformer will result in unexpected behavior. Ensure to use the correct sentence-transformer with the kerasEmbedder and adjust the 'dims' parameter in mu-search accordingly.
The goal is to:
Capture the semantics of BPMN files, making similar BPMN files have similar embeddings.
Capture the structure of BPMN files, making structurally similar BPMN files have similar embeddings.
Enable semantic search, allowing retrieval of BPMN files based on user queries using keywords, key phrases, or natural language queries.
Preprocessing BPMN Files: Adjust the input size to fit the fixed input size of embedding models or handle large inputs by splitting them into smaller parts.
Encoding Structure: Use graph embedding techniques (e.g., GNNs, GCNs) to encode the structure of BPMN diagrams.
Graph Representation: Convert BPMN diagrams into graph representations using NetworkX.
Node and Edge Information: Extract labels and documentation fields from nodes and edges, converting them into numerical vectors using pre-trained embeddings or custom-trained embeddings.
Convert BPMN Files to Graphs: Use NetworkX to represent BPMN files as graphs.
Node and Edge Embeddings: Use pre-trained embeddings to create vector representations of nodes and edges.
Graph Embedding: Use these embeddings as features for a GNN or GCN model (e.g., Spektral) to create a single embedding for each BPMN file.
Query Handling: Accepts keywords, key phrases, or natural language queries.
Similarity Calculation: Uses precomputed embeddings and cosine similarity to rank BPMN files based on query similarity.
Efficiency: Designed to handle large volumes of BPMN files and queries efficiently.
Data Availability: Lack of sufficient BPMN files and real user queries for training and validation.
Gather more BPMN files and user queries.
Train custom text embeddings for nodes and edges (e.g., using robbert-2023-dutch-base-abb).
Validate and refine the current model with new data.
Potentially merge the graph and text models into a unified architecture.
Data Collection: Store search results and user interactions anonymously to gather diverse query data.
User Interaction Analysis: Use interaction data to train models for better search result ranking.
Integrate this into mu-search: store all queries made to mu-search to gain an understanding in how users interact with OPH, Lokaal Beslist, ...
A large and varied dataset of BPMN files to ensure the model generalizes well.
Real user queries to validate and improve the model's effectiveness.