FuncGram is an open-source project that showcases a character-level bigram language model designed to generate intuitive and relevant function names. Leveraging a simplistic neural network, FuncGram takes into account the sequential nature of characters in function names and predicts appropriate bigram combinations to propose functional identifiers.
In assessing the model's efficacy, FuncGram employs the Average Negative Log Likelihood. Achieved 2.26 loss.
Character Pair Analysis in Function Names:

Gradient-based approach(neural_approach.py):

- Character-Level Modeling: FuncGram operates at the character level, analyzing the intricacies of function name composition.
- Bigram Analysis: The model focuses on the relationship between consecutive pairs of characters, capturing patterns and sequences in function names.
- Intuitive Suggestions: FuncGram proposes function name suggestions that align with established programming conventions, making the naming process more streamlined.
Contributions to FuncGram are welcomed and encouraged. If you have ideas for improvement or want to extend the capabilities of the Bigram language model, feel free to fork the repository and submit a pull request.
Note: This project is intended to showcase the technical aspects of character-level bigram modeling for function names.