Close Menu
    DevStackTipsDevStackTips
    • Home
    • News & Updates
      1. Tech & Work
      2. View All

      Sunshine And March Vibes (2025 Wallpapers Edition)

      May 16, 2025

      The Case For Minimal WordPress Setups: A Contrarian View On Theme Frameworks

      May 16, 2025

      How To Fix Largest Contentful Paint Issues With Subpart Analysis

      May 16, 2025

      How To Prevent WordPress SQL Injection Attacks

      May 16, 2025

      Microsoft has closed its “Experience Center” store in Sydney, Australia — as it ramps up a continued digital growth campaign

      May 16, 2025

      Bing Search APIs to be “decommissioned completely” as Microsoft urges developers to use its Azure agentic AI alternative

      May 16, 2025

      Microsoft might kill the Surface Laptop Studio as production is quietly halted

      May 16, 2025

      Minecraft licensing robbed us of this controversial NFL schedule release video

      May 16, 2025
    • Development
      1. Algorithms & Data Structures
      2. Artificial Intelligence
      3. Back-End Development
      4. Databases
      5. Front-End Development
      6. Libraries & Frameworks
      7. Machine Learning
      8. Security
      9. Software Engineering
      10. Tools & IDEs
      11. Web Design
      12. Web Development
      13. Web Security
      14. Programming Languages
        • PHP
        • JavaScript
      Featured

      The power of generators

      May 16, 2025
      Recent

      The power of generators

      May 16, 2025

      Simplify Factory Associations with Laravel’s UseFactory Attribute

      May 16, 2025

      This Week in Laravel: React Native, PhpStorm Junie, and more

      May 16, 2025
    • Operating Systems
      1. Windows
      2. Linux
      3. macOS
      Featured

      Microsoft has closed its “Experience Center” store in Sydney, Australia — as it ramps up a continued digital growth campaign

      May 16, 2025
      Recent

      Microsoft has closed its “Experience Center” store in Sydney, Australia — as it ramps up a continued digital growth campaign

      May 16, 2025

      Bing Search APIs to be “decommissioned completely” as Microsoft urges developers to use its Azure agentic AI alternative

      May 16, 2025

      Microsoft might kill the Surface Laptop Studio as production is quietly halted

      May 16, 2025
    • Learning Resources
      • Books
      • Cheatsheets
      • Tutorials & Guides
    Home»Development»This AI Paper by the University of Michigan Introduces MIDGARD: Advancing AI Reasoning with Minimum Description Length

    This AI Paper by the University of Michigan Introduces MIDGARD: Advancing AI Reasoning with Minimum Description Length

    May 12, 2024

    Structured commonsense reasoning in natural language processing involves automated generating and manipulating reasoning graphs from textual inputs. This domain focuses on enabling machines to understand and reason about everyday situations as humans would, translating natural language into interconnected concepts that mirror human logical processes.

    One of the fundamental challenges in this field is the difficulty of accurately modeling and automating commonsense reasoning. Traditional methods often need help with error propagation and robust mechanisms for correcting inaccuracies during graph generation, which can result in incomplete or incorrect reasoning structures. Improving methods is critical to enhance the accuracy and reliability of automated reasoning systems.

    Existing research in structured commonsense reasoning includes frameworks like COCOGEN, which employs programming scripts as prompts to guide LLMs in generating structured outputs. Despite improvements, COCOGEN still needs help with style mismatch and error propagation. The self-consistency framework enhances model reliability by aggregating common results from multiple samples. Furthermore, training-based methods utilize verifiers and re-rankers to refine sample selection, aiming to align outputs more closely with human judgment. These methods demonstrate the evolving strategies to tackle the inherent complexities of reasoning in natural language processing.

    Researchers from the University of Michigan have introduced MIDGARD, a novel framework utilizing the Minimum Description Length (MDL) principle to enhance structured commonsense reasoning. Unlike previous methods that rely on single sample outputs, which may propagate errors, MIDGARD synthesizes multiple reasoning graphs to produce a more accurate and consistent composite graph. This unique approach minimizes error propagation typical in autoregressive models. It ensures the precision of the resultant reasoning structure by focusing on the recurrence and consistency of graph elements across samples.

    MIDGARD’s methodology involves generating diverse reasoning graphs from natural language inputs using a Large Language Model like GPT-3.5. These graphs are then processed to identify and retain commonly occurring nodes and edges, discarding outliers using the MDL principle. The consistency and frequency of these elements are rigorously analyzed to ensure they reflect correct reasoning patterns. Datasets used in benchmarking MIDGARD include argument structure extraction and semantic graph generation tasks, which significantly outperform existing models by demonstrating enhanced accuracy and robustness in reasoning graph construction.

    MIDGARD demonstrated significant improvements in structured reasoning tasks. In the argument structure extraction task, MIDGARD increased the edge F1-score from 66.7% to 85.7%, indicating a significant reduction in error rates compared to baseline models. Moreover, MIDGARD consistently achieved higher accuracy in semantic graph generation, with performance gains reflected across various benchmarks. These quantitative results validate MIDGARD’s effectiveness in synthesizing more accurate and reliable reasoning graphs from multiple samples, showcasing its advancement over traditional single-sample-based approaches in natural language processing.

    To conclude, the MIDGARD framework represents a significant advancement in structured commonsense reasoning by employing the Minimum Description Length principle to aggregate multiple reasoning graphs from large language models. This approach effectively reduces error propagation and improves the accuracy of reasoning structures. MIDGARD’s robust performance across various benchmarks demonstrates its potential to enhance natural language processing applications. It is a valuable tool for developing more reliable and sophisticated AI systems capable of understanding and processing human-like logical reasoning.

    Check out the Paper. All credit for this research goes to the researchers of this project. Also, don’t forget to follow us on Twitter. Join our Telegram Channel, Discord Channel, and LinkedIn Group.

    If you like our work, you will love our newsletter..

    Don’t Forget to join our 42k+ ML SubReddit

    The post This AI Paper by the University of Michigan Introduces MIDGARD: Advancing AI Reasoning with Minimum Description Length appeared first on MarkTechPost.

    Source: Read More 

    Facebook Twitter Reddit Email Copy Link
    Previous ArticleTop AI Tools Enhancing Fraud Detection and Financial Forecasting
    Next Article Tsinghua University Researchers Propose ADELIE: Enhancing Information Extraction with Aligned Large Language Models Around Human-Centric Tasks

    Related Posts

    Machine Learning

    LLMs Struggle with Real Conversations: Microsoft and Salesforce Researchers Reveal a 39% Performance Drop in Multi-Turn Underspecified Tasks

    May 17, 2025
    Machine Learning

    This AI paper from DeepSeek-AI Explores How DeepSeek-V3 Delivers High-Performance Language Modeling by Minimizing Hardware Overhead and Maximizing Computational Efficiency

    May 17, 2025
    Leave A Reply Cancel Reply

    Hostinger

    Continue Reading

    Are Password Managers Safe to Use? (Benefits, Risks & Best Practices)

    Development

    EU Steps Up Cyber Defense with Action Plan to Protect Critical Healthcare Infrastructure

    Development

    HP’s minimalist 16-inch laptop with a beefy RTX 4060 falls for the first time to just $999 making it one of our top Cyber Monday deals for all-around laptops

    Development

    A UX Fairy Tale

    Development

    Highlights

    Development

    An Introduction to Selenium Testing Framework and its Powerful Features

    April 21, 2024

    1. Introduction to Selenium1.1 What is Selenium?Selenium is an open-source test automation framework that allows you to automate web browsers. It provides a suite of tools and libraries for different automation needs. Selenium supports multiple programming languages, including Java, Python, C#, etc., making it a versatile choice for automating web applications.1.2 Selenium ComponentsSelenium consists of the following components:1. Selenium WebDriver: It is the core component of Selenium and provides a programming interface to interact with web browsers. WebDriver allows you to automate browser actions such as opening URLs, filling forms, clicking buttons, and more.2. Selenium IDE: It is a record and playback tool for creating automated test cases. Selenium IDE is a browser extension that allows you to record user interactions with a web application and generate test scripts.3. Selenium Grid: It is a tool used for distributed test execution. Selenium Grid enables you to run tests on multiple machines or browsers in parallel, making it suitable for large-scale test automation.1.3 Advantages of SeleniumSelenium offers several advantages for test automation:1. Cross-browser compatibility: Selenium supports multiple web browsers such as Chrome, Firefox, Safari, and Internet Explorer, allowing you to test your web application on different platforms.2. Multiple language support: Selenium supports various programming languages, giving you the flexibility to choose the language you are comfortable with for test automation.3. Wide community support: Selenium has a large and active community of users and contributors who share knowledge, provide support, and contribute to the development of the framework.4. Extensibility: Selenium can be extended through custom libraries, frameworks, and plugins, allowing you to enhance its functionality and integrate it with other tools.5. Integration with test frameworks: Selenium can be integrated with popular test frameworks such as TestNG and JUnit, enabling you to leverage advanced features like test management, reporting, and data-driven testing.1.4 Limitations of SeleniumWhile Selenium is a powerful test automation tool, it also has some limitations:1. Limited support for desktop applications: Selenium is primarily designed for automating web applications and has limited support for automating desktop applications.2. No built-in support for image-based testing: Selenium does not provide native capabilities for image-based testing, making it challenging to verify the visual aspects of a web application.3. Complex setup for distributed testing: Setting up and configuring Selenium Grid for distributed testing requires additional effort and technical knowledge.4. Maintenance overhead: As web applications evolve and change, test scripts written with Selenium may require maintenance to accommodate updates in the application’s structure and behavior.1.5 Selenium vs. Other Automation ToolsSelenium offers several advantages over other automation tools:1. Open-source: Selenium is an open-source framework, which means it is free to use and has a large and active community of contributors.2. Cross-browser compatibility: Selenium supports multiple browsers, making it suitable for testing web applications on different platforms.3. Language support: Selenium supports multiple programming languages, allowing users to write test scripts in their preferred language.4. Extensibility: Selenium can be extended through custom libraries and frameworks, providing flexibility and customization options.5. Integration with test frameworks: Selenium can be easily integrated with popular test frameworks like TestNG and JUnit, enabling users to leverage advanced testing features.2. Introduction to Selenium WebDriver2.1 Introduction to WebDriverSelenium WebDriver is the primary component of the Selenium framework that allows you to automate browser actions and interact with web elements. WebDriver provides a programming interface to write test scripts in various programming languages such as Java, Python, C#, etc. These test scripts can then be executed on different web browsers to automate testing tasks.2.2 WebDriver ArchitectureThe architecture of WebDriver consists of the following key components:1. Language Bindings: WebDriver provides language-specific bindings that enable you to write test scripts in your preferred programming language.2. WebDriver API: The WebDriver API provides methods and classes to interact with web browsers, locate and manipulate web elements, and perform various browser actions.3. Browser Drivers: WebDriver requires a specific browser driver to establish a connection with the target browser. Each browser (e.g., Chrome, Firefox, Safari) has its own driver that needs to be downloaded and configured.4. Native Events: WebDriver uses native events to simulate user interactions with web elements, ensuring accurate automation of actions like clicking, typing, etc.5. JSON Wire Protocol: WebDriver communicates with the browser drivers using the JSON Wire Protocol, which defines a standard way to exchange commands and responses between the WebDriver API and the browser drivers.2.3 WebDriver-Supported BrowsersWebDriver supports a wide range of web browsers, including but not limited to:1. Google Chrome: ChromeDriver2. Mozilla Firefox: GeckoDriver3. Microsoft Edge: EdgeDriver4. Apple Safari: SafariDriver (limited support)5. Opera: OperaDriver6. Internet Explorer: InternetExplorerDriver (deprecated)Each browser requires its respective driver executable, which needs to be downloaded and placed in the system’s PATH or configured to the WebDriver instance.2.4 Setting Up WebDriverTo set up WebDriver for test automation, follow these general steps:1. Choose a programming language: Determine which programming language you want to use for writing WebDriver scripts. Popular choices include Java, Python, and C#.2. Download the browser driver: Visit the official Selenium website or the browser driver’s respective website to download the appropriate driver for your target browser. Ensure that you download the version compatible with your browser version.3. Configure the browser driver: Set the path to the browser driver executable in your project configuration or system’s PATH environment variable.4. Set up the WebDriver library: Add the necessary WebDriver library or dependencies to your project. You can typically do this by adding the relevant Maven or Gradle dependencies or by including the WebDriver JAR files manually.5. Initialize the WebDriver instance: In your test script, create an instance of the WebDriver using the appropriate driver class for the desired browser (e.g., ChromeDriver, FirefoxDriver).6. Write test scripts: Use the WebDriver API to write test scripts, which involve actions like navigating to URLs, interacting with web elements, and validating expected behaviors.7. Execute test scripts: Run your WebDriver test scripts to execute the automation tasks on the target browser.Remember to handle exceptions, manage waits and synchronization, and implement best practices for writing maintainable and robust WebDriver test scripts. 3. How does Selenium WebDriver Work? Here’s a high-level overview of how Selenium works:1. Selenium WebDriver:At the core of Selenium is WebDriver, which provides a programming interface to interact with web browsers. WebDriver allows you to automate browser actions such as opening URLs, filling forms, clicking buttons, and more.WebDriver communicates with the browser through a browser-specific driver. For example, ChromeDriver for Google Chrome, GeckoDriver for Mozilla Firefox, etc. These drivers act as intermediaries between WebDriver and the browser, enabling communication and control.2. Browser Automation:Selenium WebDriver uses the browser driver to establish a connection with the target browser. This connection allows WebDriver to control the browser and execute commands.When you execute a command using WebDriver (e.g., navigating to a URL, clicking an element), WebDriver sends the corresponding command to the browser driver.The browser driver translates the command into browser-specific actions and sends them to the browser for execution.The browser performs the requested action (e.g., opens the URL, clicks the element), and the result is sent back to the browser driver.3. Locating Web Elements:Selenium provides various methods to locate web elements on a web page, such as by ID, name, class name, CSS selector, XPath, etc.Once a web element is located, WebDriver can perform actions on it, such as clicking, typing, getting text, etc.4. Synchronization and Waits:Web applications often have dynamic elements that load asynchronously or have animations. To handle such scenarios, Selenium provides synchronization techniques and wait mechanisms.You can use implicit waits or explicit waits to wait for specific conditions or elements to be present, visible, clickable, etc. before performing actions on them.5. Assertions and Verifications:Selenium allows you to perform assertions and verifications to validate the expected behavior of a web application.You can verify element presence, text content, attribute values, page titles, URLs, and more.6. Test Reporting and Logging:Selenium provides options for generating test reports and logging test execution details.You can integrate Selenium with test frameworks like TestNG or JUnit to generate detailed test reports and manage test execution.Overall, Selenium provides a powerful set of tools and APIs that enable you to automate web testing and perform a wide range of actions on web browsers. It allows you to simulate user interactions, validate expected behavior, and integrate with other tools and frameworks for efficient test automation.Next >> What are Selenium Locators?AuthorVaneesh BehlPassionately working as an Automation Developer for more than a decade.

    15 Best New Fonts, April 2024

    May 1, 2024

    Five Core Tenets Of Highly Effective DevSecOps Practices

    May 21, 2024

    MongoDB, Microsoft Team Up to Enhance Copilot in VS Code

    November 13, 2024
    © DevStackTips 2025. All rights reserved.
    • Contact
    • Privacy Policy

    Type above and press Enter to search. Press Esc to cancel.