\u003C/figure>\n\u003C!-- /wp:image -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Within this site, they needed some way to efficiently deliver these opinions. “Step number four was understanding that have collected all these different reviews about APIs,” says Uddin. “That is still too many. How can we summarize them?” For each of the APIs in the database, they offer an overview page, where you can dive deeper into all of the comparisons and the aspects indicated. \u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:image -->\n\u003Cfigure class=\"wp-block-image\">\u003Cimg src=\"https://lh6.googleusercontent.com/6_3AwPbl8CHooIP8ulkjKTA8bV5kYK1La0CY04e-LjoshzhLo55nvoTSYv4o1kQGZrIwKqlLbe1mzNzRcAXqMJjYpTVjhz23ObeOpCjrJiV9BGUOpX3L7eKZ0dzK75eV3EytZqgN\" alt=\"\"/>\u003C/figure>\n\u003C!-- /wp:image -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>To present more results than just a summary, they added some extra tabs that process the results accordingly and try to make a little more sense of them. Besides the overall aggregation of the overview, they provided three different types of summaries:\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:list -->\n\u003Cul>\u003Cli>\u003Cstrong>Contrastive\u003C/strong> - Attempts to match positive and negative comments as to determine which are the more controversial APIs. \u003C/li>\u003Cli>\u003Cstrong>Extractive\u003C/strong> - Pulls out the most interesting opinions out based on three different algorithms. \u003C/li>\u003Cli>\u003Cstrong>Abstractive\u003C/strong> - Generalizes summary opinions based on \u003Ca href=\"http://kavita-ganesan.com/opinosis\">Opinosis\u003C/a>, which looks for redundancies in opinions. The \u003Cstrong>Topics \u003C/strong>tab uses an algorithm called latent Dirichlet allocation (LDA) to find the topic words that are statistically significant to some of the opinions. This tab attempts to understand what the opinions are about by finding their most unique words, then grouping them based on their usage in proximity. \u003C/li>\u003Cli>The \u003Cstrong>Aspects\u003C/strong> tab attempts to determine which qualities the comments on Stack Overflow are referring to, things like performance, security, and more. “When we did the user study, developers were more interested in aspect-based summarization than all the other summarization we presented ot them,” says Uddin. “Which tells us that just blindly applying summarization techniques from other domains is not useful for the domain of software engineering. Developers further recommended us to combine contrastive summarization with aspect-based summarization; that means given a particular API feature for a given aspect, like performance, how developers are offering differing viewpoints based on their experience.” \u003C/li>\u003C/ul>\n\u003C!-- /wp:list -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>In the graph tabs, you can see how sentiment has evolved over time in the \u003Cstrong>Monthly Trend\u003C/strong> section. Because all of the comments and opinions are linked to a specific posting date, the sentiment they generate is too. “You could see things that used to be popular API, but over time, see people moving slowly toward a new more popular API,” says Khomh. \u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp> For those more interested in seeing the ecosystem around a particular API, check the \u003Cstrong>Comentioned APIs \u003C/strong>section. It shows how often a particular API is mentioned with the selected API. While some mentions might be incidental, if an API is mentioned enough, it might be either a strong competitor or something that works well in conjunction. \u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:image -->\n\u003Cfigure class=\"wp-block-image\">\u003Cimg src=\"https://lh6.googleusercontent.com/p1pwQBCg8NyFYpkjqEABmexoyGmNGN5GAQcaqLJ1_zJUpuWLvggrjFYJ2EoHBuWLlyhNoEd8vHe_kxvExG1lTVXoEM9XWXCf4IA01_9YWwdiC0i38rabJqDXEqG0N00rEVqTml7z\" alt=\"\"/>\u003C/figure>\n\u003C!-- /wp:image -->\n\n\u003C!-- wp:heading -->\n\u003Ch2>The research continues\u003C/h2>\n\u003C!-- /wp:heading -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>Machine learning and natural language processing are hot topics of research, and Uddin and Khomh will continue to investigate and refine their results. Opiner isn’t meant to be a final database of thought on what APIs are good, but a step towards extracting this information from user-generated commentary not meant to be reviews of the technologies. \u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>“Opiner is fully machine learning,” says Uddin. “It's fully automated, and as you can see if you look at the website, because it's fully automated, you'll see many of them are good, but there is also some error over there because the developed technique was sometimes not able to properly track down opinions, so there is a lot of room for improvement.”\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:paragraph -->\n\u003Cp>\u003Cem>Want to read more? Here's the research behind the site:\u003C/em>\u003C/p>\n\u003C!-- /wp:paragraph -->\n\n\u003C!-- wp:list -->\n\u003Cul>\u003Cli>\u003Ca href=\"https://giasuddin.github.io/papers/ase17-opiner-algo-review-summarization.pdf\">https://giasuddin.github.io/papers/ase17-opiner-algo-review-summarization.pdf\u003C/a>\u003C/li>\u003Cli>\u003Ca href=\"https://giasuddin.github.io/papers/TSE2900245_OpinionMining_Accepted.pdf\">https://giasuddin.github.io/papers/TSE2900245_OpinionMining_Accepted.pdf\u003C/a>\u003C/li>\u003C/ul>\n\u003C!-- /wp:list -->\n\n\u003C!-- wp:block {\"ref\":13752} /-->","html","2019-11-07T16:44:47.000Z",{"current":421},"using-machine-learning-to-create-reviews-of-apis-from-stack-overflow-comments",[423,431,433,438,442,447],{"_createdAt":424,"_id":425,"_rev":426,"_type":427,"_updatedAt":424,"slug":428,"title":430},"2023-05-23T16:43:21Z","wp-tagcat-bulletin","9HpbCsT2tq0xwozQfkc4ih","blogTag",{"current":429},"bulletin","Bulletin",{"_createdAt":424,"_id":425,"_rev":426,"_type":427,"_updatedAt":424,"slug":432,"title":430},{"current":429},{"_createdAt":424,"_id":434,"_rev":426,"_type":427,"_updatedAt":424,"slug":435,"title":437},"wp-tagcat-code-for-a-living",{"current":436},"code-for-a-living","Code for a Living",{"_createdAt":424,"_id":439,"_rev":426,"_type":427,"_updatedAt":424,"slug":440,"title":441},"wp-tagcat-research",{"current":441},"research",{"_createdAt":424,"_id":443,"_rev":426,"_type":427,"_updatedAt":424,"slug":444,"title":446},"wp-tagcat-stackoverflow",{"current":445},"stackoverflow","Stackoverflow",{"_createdAt":424,"_id":443,"_rev":426,"_type":427,"_updatedAt":424,"slug":448,"title":446},{"current":445},"Looking to understand which API is best for a certain task? A new study uses Stack Overflow data to rank them",[451,457,462,467],{"_id":452,"publishedAt":453,"slug":454,"sponsored":12,"title":456},"1d082483-6dc6-424b-8b09-9c84b54779da","2025-09-02T17:00:00.000Z",{"_type":10,"current":455},"back-to-school-developers-at-stack-overflow-have-some-advice-for-you","Back to school? Developers at Stack Overflow have some advice for you",{"_id":458,"publishedAt":453,"slug":459,"sponsored":12,"title":461},"5cd91820-9515-4be5-87ae-e919fd443c18",{"_type":10,"current":460},"getting-started-on-stack-overflow-a-step-by-step-guide-for-students","Getting started on Stack Overflow: a step-by-step guide for students",{"_id":463,"publishedAt":453,"slug":464,"sponsored":12,"title":466},"614538a9-c352-4024-adf1-fa44a9f911b6",{"_type":10,"current":465},"stack-overflow-is-helping-you-learn-to-code-with-new-resources","Stack Overflow is helping you learn to code with new resources",{"_id":468,"publishedAt":453,"slug":469,"sponsored":12,"title":471},"763b1d36-83d8-4178-9c2d-32d705ea1d7b",{"_type":10,"current":470},"introducing-your-newest-study-buddy-stackoverflow-ai","Introducing your newest study buddy: stackoverflow.ai",{"count":473,"lastTimestamp":474},7,"2023-05-25T09:46:52Z",["Reactive",476],{"$sarticleModal":477},false,["Set"],["ShallowReactive",480],{"sanity-SuF_Z8a2uzMYFq7w3ivbQboQdKxPrygtBW0siu2bvXQ":-1,"sanity-comment-wp-post-14117-1757410756309":-1},"/2019/11/07/using-machine-learning-to-create-reviews-of-apis-from-stack-overflow-comments"]