﻿<?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-04-28T11:05:57Z</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 '''Needs Triage''', apply a statistical model to predict if the developer will tag the report as '''Incomplete''' ([https://developer.blender.org/T49807 example]) , if the likelihood surpass some threshold it will leave a message like:&lt;br /&gt;
&lt;br /&gt;
''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.''&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 '''SKLearn''' 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'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'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'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 '''Incomplete''' bug is high.&lt;br /&gt;
&lt;br /&gt;
===Validation===&lt;br /&gt;
I'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 '''Incomplete''' bug reports even when the system misclassify some '''Complete''' bug reports, or maybe is better on the other way to avoid confusing the users, classifying correctly all '''Complete''' bug reports at the expense of misclassify some '''Incomplete''' 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 '''Incomplete''' 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>