chevron-icon
Active RFP

Implement clustering heuristics in MeTTa

Top
chevron-icon
khellar
RFP Owner

Implement clustering heuristics in MeTTa

  • Type SingularityNET RFP
  • Total RFP Funding $15,000 USD
  • Proposals 0
  • Awarded Projects n/a

Overview

  • Estimated Complexity

    💪50/ 100

  • Lead Time (from Kick-off)

    ⏱️3 Months

  • Proposal Winners

    🏆Single

  • Max Funding / Proposal

    15,000 USD

RFP Description

Short summary

The goal is to implement clustering algorithms in MeTTa and demonstrate interesting functionality on simple but meaningful test problems. This serves as a working prototype providing guidance for development of scalable tooling providing similar functionality, suitable for serving as part of a Hype

Main purpose

The primary objective is to implement clustering heuristics in MeTTa

Longer description

Context And Background: 

SingularityNET Foundation, in collaboration with other partners such as the OpenCog Foundation and TrueAGI, is working toward a scalable implementation of the Hyperon AGI framework running on decentralized infrastructure, and toward implementation of the PRIMUS cognitive architecture within this framework.

Hyperon and PRIMUS are complex systems involving multiple components, which need to demonstrate appropriate functionalities both individually and in combination. 

This RFP aims to address a portion of this overall need, via funding the initial iteration of one significant component of PRIMUS within Hyperon: “Implement clustering heuristics in MeTTa.”

Clustering is one of the most common unsupervised learning tasks used to group objects of similar characteristics and assign them a common group label. It has applications in various fields such as pattern recognition, image segmentation, genomics, marketing analysis etc. As a language geared towards developing AGI systems, MeTTa needs to include standard libraries that perform common machine learning tasks such as clustering.

MeTTa (Meta Type Talk) is a multi-paradigm language for declarative and functional computations over knowledge metagraphs, designed specifically to meet the needs of Artificial General Intelligence (AGI). It is an innovative and relatively new language, and might sometimes come with a learning curve for starters. While there are also plenty of resources and tutorials that one can reference for his/her needs, they may not be enough to fully cover all possible unique usages. Therefore it will be beneficial to have a coding assistant for MeTTa that can instantly help people to create what they want with MeTTa.

Collaboration:

This RFP will be followed by subsequent RFPs for applications that leverage Hyperon/PRIMUS to carry out various applications, and that aim to guide Hyperon/PRIMUS systems in cognitive development toward beneficial AGI.

RFP Expected Outcomes:

  • Initial Deployment: Deployment of demo use cases that make use of the clustering library
  • OSS code: Provision of code underlying the initial deployment in an open code repository with an appropriate OSS license (what license should we use?)
  • Thorough Documentation: Provision of an accompanying comprehensive documentation detailing each clustering algorithm included in the library along with examples and tutorials showcasing how to use them. The documentation should also describe the structure of the codebase to allow other teams to work on extending the library.
  • Technical Report: Provide a technical report summarizing experiments run with the clustering algorithms implemented in the library on well-known benchmark datasets and along with results obtained. The data and code used in the experiments should be publicly available and be shared to allow others to replicate the work.

Functional Requirements

As a basic requirement, the library should include MeTTa implementation of the clustering algorithms available in the popular statistics and machine learning framework Scikit-learn. Currently, the Scikit-learn framework implements 11 clustering algorithms that have different parameters and assumptions about the input. An overview of the available clustering algorithms can be found here.

Effective leveraging of concurrent processing in MeTTa, in the context e.g. of multi-core systems, is a nice-to have.

In addition to implementing the algorithms, the evaluation metrics of clustering algorithms should be ported to MeTTa. These include:

  • Rand Index
  • Mutual Information
  • Purity/Homogenity Measure
  • Code implementation in MeTTa
    • Develop and implement clustering algorithms directly within the MeTTa language.
  • Data ingestion and compatibility
    • The system must accept inputs in popular data formats such as CSV and TSV.
    • Interface seamlessly with Numpy and Pandas Python libraries to facilitate integration with other AI workflows.
  • Clustering output visualization
    • Include a submodule for visualizing the output of the clustering algorithms if possible
    • Implement dimensionality reduction techniques like t-SNE to support effective data visualization.
  • Export capabilities
    • Implement a submodule that allows exporting the results of the clustering analysis to ensure usability in various downstream applications.
  • Future Directions
    • Provide recommendations for extending the library with new clustering algorithms, particularly those based on Neural Networks.
  • Developer Usability
    • Ensure that the system is demonstrable and usable by other developers, encouraging broader adoption within the community.

Technical and other non-functional requirements

Documentation

  • Provide comprehensive documentation detailing the library’s structure, the clustering algorithms implemented, and examples of how to use them.
  • Include guidelines for data ingestion, querying practices, and interface customization.
  • Ensure that the documentation is accessible both with the code and on a publicly hosted website.

Technical reporting

  • Prepare a technical report that evaluates the performance of the ported clustering algorithms, including metrics such as accuracy and runtime on benchmark datasets.
  • Compare the performance of the MeTTa-based clustering algorithms with equivalent implementations in Scikit-learn.
  • Discuss challenges encountered during development and how they were addressed.
  • Suggest potential extensions to the library and provide insights into future directions.

Code quality

  • Ensure clean, well-commented code that adheres to best practices, making it easy to maintain and extend.
  • Demonstrate a commitment to quality through comprehensive documentation detailing the software’s structure and functionality.

Visualization and export modules

  • Develop modules for visualizing clustering results and exporting analysis outputs, emphasizing the importance of making the clustering analysis results easily interpretable and usable.

Nice to have

  • Create a project website showcasing the library with example data to highlight its capabilities and facilitate user engagement.
  • Recorded tutorial that can be followed by other developers interested in learning MeTTa

Available resources apart from funding

Proposals will be evaluated on the following criteria:

  • Alignment with requirements and objective
    • Does the proposal meet the requirements and advances the objectives of the RFP.
  • Pre-existing R&D
    • Has the team previously done similar or related research or development work in other platforms / languages / contexts?
  • Team Competence
    • Does the team have relevant skills?
  • Cost
    • Does the proposal offer good value for money?

RFP Status

Pending Release

The details for this RFP are being finalized. This RFP will be for open for RFP proposals soon, so check back later to submit your proposal!

0 proposals

No Proposals Avaliable

Check back later by refreshing the page.

0 projects

No Projects Avaliable

Check back later by refreshing the page.

Join the Discussion (0)

No Team Avaliable

This RFP doesn’t have any team yet. Check back later.