﻿<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=%E5%88%A9%E7%94%A8%E8%80%85%3AEibriel%2FAutomated_Bug_Classification</id>
	<title>利用者:Eibriel/Automated Bug Classification - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=%E5%88%A9%E7%94%A8%E8%80%85%3AEibriel%2FAutomated_Bug_Classification"/>
	<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Eibriel/Automated_Bug_Classification&amp;action=history"/>
	<updated>2026-10-25T20:12:40Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Eibriel/Automated_Bug_Classification&amp;diff=152565&amp;oldid=prev</id>
		<title>Yamyam: 1版 をインポートしました</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Eibriel/Automated_Bug_Classification&amp;diff=152565&amp;oldid=prev"/>
		<updated>2018-06-28T21:21:39Z</updated>

		<summary type="html">&lt;p&gt;1版 をインポートしました&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;2018年6月28日 (木) 21:21時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ja&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(相違点なし)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Yamyam</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Eibriel/Automated_Bug_Classification&amp;diff=152564&amp;oldid=prev</id>
		<title>wiki&gt;Eibriel: /* Validation */</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Eibriel/Automated_Bug_Classification&amp;diff=152564&amp;oldid=prev"/>
		<updated>2016-11-02T04:58:45Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Validation&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Proposal=&lt;br /&gt;
&lt;br /&gt;
Automatically classify and tag bug reports.&lt;br /&gt;
&lt;br /&gt;
==Motivation==&lt;br /&gt;
Bug review takes a lot of valuable time to developers, that task could be automatized at least in part.&lt;br /&gt;
&lt;br /&gt;
==Scope==&lt;br /&gt;
The software should read bug reports tagged as &amp;#039;&amp;#039;&amp;#039;Needs Triage&amp;#039;&amp;#039;&amp;#039;, apply a statistical model to predict if the developer will tag the report as &amp;#039;&amp;#039;&amp;#039;Incomplete&amp;#039;&amp;#039;&amp;#039; ([https://developer.blender.org/T49807 example]) , if the likelihood surpass some threshold it will leave a message like:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Please follow our submission template and guidelines and make a complete, valid bug report, with required info, precise description of the issue, precise steps to reproduce it, small and simple .blend and/or other files to do so if needed, etc.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;The developer still needs to set the triage of the bug report, but at that time the user will correct the description of the issue.&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The software could also detect when a bug report is in fact a Support Request ([https://developer.blender.org/T49889 example]) and could redirect the user to the Community Support.&lt;br /&gt;
&lt;br /&gt;
As a more advanced feature the software could automatically assign bug reports to the corresponding developer.&lt;br /&gt;
&lt;br /&gt;
=The software=&lt;br /&gt;
The software will be a Python3 script coupled with a database.&lt;br /&gt;
The script will communicate to developer.blender.org through the Conduit API using an user specifically created for this task.&lt;br /&gt;
The script will use &amp;#039;&amp;#039;&amp;#039;SKLearn&amp;#039;&amp;#039;&amp;#039; to infer the current status of the bug report.&lt;br /&gt;
&lt;br /&gt;
The username, avatar and message should be easily recognizable as a Bot and not a real Developer.&lt;br /&gt;
&lt;br /&gt;
==Machine Learning==&lt;br /&gt;
The inference will be done using Machine Learning techniques, I propose using [http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.BaggingClassifier.html BaggingClassifier] over a [http://scikit-learn.org/stable/modules/feature_extraction.html#the-bag-of-words-representation bag of words] (to investigate:[http://scikit-learn.org/stable/modules/feature_extraction.html#common-vectorizer-usage Common Vectorizer]).&lt;br /&gt;
&lt;br /&gt;
===Dumping the Database===&lt;br /&gt;
I&amp;#039;ll make a dump of the Bug Reports on the last 12 months in such a way that we know what was the report at the moment it received the firs triage.&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
Then I&amp;#039;ll analyze the reports and extract features (words) that better describe the quality of the Bug Report.&lt;br /&gt;
Also will be useful to know if the report have at least one blend file attached or at least a text file attached.&lt;br /&gt;
&lt;br /&gt;
===Training===&lt;br /&gt;
Then I can train the model to predict the triage received using as feature the count of the words on the &amp;quot;bag&amp;quot;.&lt;br /&gt;
For instance if the Bug don&amp;#039;t contains any of the words &amp;quot;Linux&amp;quot;, &amp;quot;Windows&amp;quot; or &amp;quot;MacOS&amp;quot; the probability to be an &amp;#039;&amp;#039;&amp;#039;Incomplete&amp;#039;&amp;#039;&amp;#039; bug is high.&lt;br /&gt;
&lt;br /&gt;
===Validation===&lt;br /&gt;
I&amp;#039;ll test the model on new bug reports to measure its performance, when the model have a performance higher than some value selected by blender core developers (for example 95%) the model will be ready for production.&lt;br /&gt;
We can also choose to prefer false positives or false negatives. Maybe is better to have a high performance on classifying correctly all &amp;#039;&amp;#039;&amp;#039;Incomplete&amp;#039;&amp;#039;&amp;#039; bug reports even when the system misclassify some &amp;#039;&amp;#039;&amp;#039;Complete&amp;#039;&amp;#039;&amp;#039; bug reports, or maybe is better on the other way to avoid confusing the users, classifying correctly all &amp;#039;&amp;#039;&amp;#039;Complete&amp;#039;&amp;#039;&amp;#039; bug reports at the expense of misclassify some &amp;#039;&amp;#039;&amp;#039;Incomplete&amp;#039;&amp;#039;&amp;#039; bug reports.&lt;br /&gt;
&lt;br /&gt;
===Maintenance===&lt;br /&gt;
The model can be retrained regularly using new data gathered automatically (and deleting old data) to keep up to date with new ways of write &amp;#039;&amp;#039;&amp;#039;Incomplete&amp;#039;&amp;#039;&amp;#039; bug reports.&lt;br /&gt;
&lt;br /&gt;
=Conduit API=&lt;br /&gt;
https://developer.blender.org/api/conduit.ping&lt;br /&gt;
&lt;br /&gt;
    {&amp;quot;result&amp;quot;:&amp;quot;developer.blender.org&amp;quot;,&amp;quot;error_code&amp;quot;:null,&amp;quot;error_info&amp;quot;:null}&lt;/div&gt;</summary>
		<author><name>wiki&gt;Eibriel</name></author>
		
	</entry>
</feed>