<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://lms.onnocenter.or.id/wiki/index.php?action=history&amp;feed=atom&amp;title=Orange%3A_Sentimen_Analysis_Bahasa_Indonesia</id>
	<title>Orange: Sentimen Analysis Bahasa Indonesia - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://lms.onnocenter.or.id/wiki/index.php?action=history&amp;feed=atom&amp;title=Orange%3A_Sentimen_Analysis_Bahasa_Indonesia"/>
	<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=Orange:_Sentimen_Analysis_Bahasa_Indonesia&amp;action=history"/>
	<updated>2026-04-21T09:14:34Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://lms.onnocenter.or.id/wiki/index.php?title=Orange:_Sentimen_Analysis_Bahasa_Indonesia&amp;diff=59407&amp;oldid=prev</id>
		<title>Onnowpurbo at 00:49, 28 January 2020</title>
		<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=Orange:_Sentimen_Analysis_Bahasa_Indonesia&amp;diff=59407&amp;oldid=prev"/>
		<updated>2020-01-28T00:49:18Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:49, 28 January 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Sumber: https://www.andrijohandri.id/2019/10/orange3-menambahkan-sentiment-analysis.html&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Sumber: https://www.andrijohandri.id/2019/10/orange3-menambahkan-sentiment-analysis.html&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Oleh: Andri Johandri&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Onnowpurbo</name></author>
	</entry>
	<entry>
		<id>https://lms.onnocenter.or.id/wiki/index.php?title=Orange:_Sentimen_Analysis_Bahasa_Indonesia&amp;diff=59356&amp;oldid=prev</id>
		<title>Onnowpurbo at 00:40, 27 January 2020</title>
		<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=Orange:_Sentimen_Analysis_Bahasa_Indonesia&amp;diff=59356&amp;oldid=prev"/>
		<updated>2020-01-27T00:40:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://lms.onnocenter.or.id/wiki/index.php?title=Orange:_Sentimen_Analysis_Bahasa_Indonesia&amp;amp;diff=59356&amp;amp;oldid=59355&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Onnowpurbo</name></author>
	</entry>
	<entry>
		<id>https://lms.onnocenter.or.id/wiki/index.php?title=Orange:_Sentimen_Analysis_Bahasa_Indonesia&amp;diff=59355&amp;oldid=prev</id>
		<title>Onnowpurbo at 00:33, 27 January 2020</title>
		<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=Orange:_Sentimen_Analysis_Bahasa_Indonesia&amp;diff=59355&amp;oldid=prev"/>
		<updated>2020-01-27T00:33:49Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:33, 27 January 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l3&quot;&gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Bagi pengguna aplikasi Text Mining Orange3, tentu saja akan mengalami kesulitan saat akan melakukan penghitungan Sentiment Analysis , dkarenakan Orange3 hanya menyediakan dua bahasa dalam proses Sentimen Analysis yaitu bahasa Inggris dan Slovenia dalam method Liu Hiu .&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Bagi pengguna aplikasi Text Mining Orange3, tentu saja akan mengalami kesulitan saat akan melakukan penghitungan Sentiment Analysis , dkarenakan Orange3 hanya menyediakan dua bahasa dalam proses Sentimen Analysis yaitu bahasa Inggris dan Slovenia dalam method Liu Hiu .&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[File:Andrijohandri.png|center|400px|thumb]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Anda dapat menambahkan Bahasa Indonesia dalam metode Liu Hiu ini dengan sedikit modifikasi dan penambahan script python pada proses Sentiment Analysisnya yaitu dengan menambahkan file yang berisi kumpulan kata yang memiliki makna sentimen negatif dan sentimen positif dalam bahasa Indonesia.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Anda dapat menambahkan Bahasa Indonesia dalam metode Liu Hiu ini dengan sedikit modifikasi dan penambahan script python pada proses Sentiment Analysisnya yaitu dengan menambahkan file yang berisi kumpulan kata yang memiliki makna sentimen negatif dan sentimen positif dalam bahasa Indonesia.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Onnowpurbo</name></author>
	</entry>
	<entry>
		<id>https://lms.onnocenter.or.id/wiki/index.php?title=Orange:_Sentimen_Analysis_Bahasa_Indonesia&amp;diff=57333&amp;oldid=prev</id>
		<title>Onnowpurbo: Created page with &quot;Sumber: https://www.andrijohandri.id/2019/10/orange3-menambahkan-sentiment-analysis.html   Bagi pengguna aplikasi Text Mining Orange3, tentu saja akan mengalami kesulitan saat...&quot;</title>
		<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=Orange:_Sentimen_Analysis_Bahasa_Indonesia&amp;diff=57333&amp;oldid=prev"/>
		<updated>2019-10-07T09:22:44Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Sumber: https://www.andrijohandri.id/2019/10/orange3-menambahkan-sentiment-analysis.html   Bagi pengguna aplikasi Text Mining Orange3, tentu saja akan mengalami kesulitan saat...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Sumber: https://www.andrijohandri.id/2019/10/orange3-menambahkan-sentiment-analysis.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bagi pengguna aplikasi Text Mining Orange3, tentu saja akan mengalami kesulitan saat akan melakukan penghitungan Sentiment Analysis , dkarenakan Orange3 hanya menyediakan dua bahasa dalam proses Sentimen Analysis yaitu bahasa Inggris dan Slovenia dalam method Liu Hiu .&lt;br /&gt;
&lt;br /&gt;
Anda dapat menambahkan Bahasa Indonesia dalam metode Liu Hiu ini dengan sedikit modifikasi dan penambahan script python pada proses Sentiment Analysisnya yaitu dengan menambahkan file yang berisi kumpulan kata yang memiliki makna sentimen negatif dan sentimen positif dalam bahasa Indonesia.&lt;br /&gt;
&lt;br /&gt;
Untuk menambahkan kata tersebut  adalah sebagai berikut :&lt;br /&gt;
&lt;br /&gt;
    Buka folder /usr/local/lib/python3.7/site-packages/orangecontrib/text/sentiment/resources , dalam folder tersebut terdapat dua file yaitu negatif_words_Slolex.txt yang berisi kata negatif dalam bahasa slovenian dan positive_words_Slolex.txt . Selanjutnya copy negatif_words_Slolex.txt menjadi negatif_words_Ina.txt dan selanjutnya file negatif_words_Ina.txt diedit dengan menghapuskan seluruh isi kata dari bahasa slovenia dan menambahkan kata dengan bahasa indonesai yang memiliki nilai negatif , demikain juga dengan file positive_words_Slolex.txt di copy menjadi file positive_words_Ina.txt, sehingga terdapat 4 file pada folder tersebut.&lt;br /&gt;
    Selanjutnya  buka folder /usr/local/lib/python3.7/site-packages/orangecontrib/text/sentiment , copy  file opinion_lexicon_lso.py menjadi file  opinion_lexicon_ina.py selanjutnya edit sperti script berikut ini:&lt;br /&gt;
&lt;br /&gt;
    import os&lt;br /&gt;
    class opinion_lexicon_ina:&lt;br /&gt;
        resources_folder = os.path.dirname(__file__)&lt;br /&gt;
        @classmethod&lt;br /&gt;
        def positive(cls):&lt;br /&gt;
            with open(os.path.join(cls.resources_folder,&lt;br /&gt;
                                   &amp;#039;resources/positive_words_Ina.txt&amp;#039;),&lt;br /&gt;
                      &amp;#039;r&amp;#039;) as f:&lt;br /&gt;
                return f.read().split(&amp;#039;\n&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
        @classmethod&lt;br /&gt;
        def negative(cls):&lt;br /&gt;
            with open(os.path.join(cls.resources_folder,&lt;br /&gt;
                                   &amp;#039;resources/negative_words_Ina.txt&amp;#039;),&lt;br /&gt;
                      &amp;#039;r&amp;#039;) as f:&lt;br /&gt;
                return f.read().split(&amp;#039;\n&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
     Selanjutnya edit file __init__.py :&lt;br /&gt;
&lt;br /&gt;
    import numpy as np&lt;br /&gt;
    from nltk.corpus import opinion_lexicon&lt;br /&gt;
    from nltk.sentiment import SentimentIntensityAnalyzer&lt;br /&gt;
&lt;br /&gt;
    from orangecontrib.text import Corpus&lt;br /&gt;
    from orangecontrib.text.misc import wait_nltk_data&lt;br /&gt;
    from orangecontrib.text.preprocess import WordPunctTokenizer&lt;br /&gt;
    from orangecontrib.text.vectorization.base import SharedTransform, \&lt;br /&gt;
        VectorizationComputeValue&lt;br /&gt;
    from orangecontrib.text.sentiment.opinion_lexicon_ina import opinion_lexicon_ina&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    class Liu_Hu_Sentiment:&lt;br /&gt;
        sentiments = (&amp;#039;sentiment&amp;#039;,)&lt;br /&gt;
        name = &amp;#039;Liu Hu&amp;#039;&lt;br /&gt;
&lt;br /&gt;
        methods = {&amp;#039;English&amp;#039;: opinion_lexicon,&lt;br /&gt;
                   &amp;#039;Indonesia&amp;#039;: opinion_lexicon_ina&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
        @wait_nltk_data&lt;br /&gt;
        def __init__(self, language):&lt;br /&gt;
            self.language = language&lt;br /&gt;
            self.positive = set(self.methods[language].positive())&lt;br /&gt;
            self.negative = set(self.methods[language].negative())&lt;br /&gt;
&lt;br /&gt;
        def transform(self, corpus, copy=True):&lt;br /&gt;
            scores = []&lt;br /&gt;
            tokenizer = WordPunctTokenizer()&lt;br /&gt;
            tokens = tokenizer(corpus.documents)&lt;br /&gt;
&lt;br /&gt;
            for doc in tokens:&lt;br /&gt;
                pos_words = sum(word in self.positive for word in doc)&lt;br /&gt;
                neg_words = sum(word in self.negative for word in doc)&lt;br /&gt;
                scores.append([100*(pos_words - neg_words)/max(len(doc), 1)])&lt;br /&gt;
            X = np.array(scores).reshape((-1, len(self.sentiments)))&lt;br /&gt;
&lt;br /&gt;
            # set  compute values&lt;br /&gt;
            shared_cv = SharedTransform(self)&lt;br /&gt;
            cv = [VectorizationComputeValue(shared_cv, col)&lt;br /&gt;
                  for col in self.sentiments]&lt;br /&gt;
&lt;br /&gt;
            if copy:&lt;br /&gt;
                corpus = corpus.copy()&lt;br /&gt;
            corpus.extend_attributes(X, self.sentiments, compute_values=cv)&lt;br /&gt;
            return corpus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    class Vader_Sentiment:&lt;br /&gt;
        sentiments = (&amp;#039;pos&amp;#039;, &amp;#039;neg&amp;#039;, &amp;#039;neu&amp;#039;, &amp;#039;compound&amp;#039;)&lt;br /&gt;
        name = &amp;#039;Vader&amp;#039;&lt;br /&gt;
&lt;br /&gt;
        @wait_nltk_data&lt;br /&gt;
        def __init__(self):&lt;br /&gt;
            self.vader = SentimentIntensityAnalyzer()&lt;br /&gt;
&lt;br /&gt;
        def transform(self, corpus, copy=True):&lt;br /&gt;
            scores = []&lt;br /&gt;
            for text in corpus.documents:&lt;br /&gt;
                pol_sc = self.vader.polarity_scores(text)&lt;br /&gt;
                scores.append([pol_sc[x] for x in self.sentiments])&lt;br /&gt;
            X = np.array(scores).reshape((-1, len(self.sentiments)))&lt;br /&gt;
            # set  compute values&lt;br /&gt;
            shared_cv = SharedTransform(self)&lt;br /&gt;
            cv = [VectorizationComputeValue(shared_cv, col)&lt;br /&gt;
                  for col in self.sentiments]&lt;br /&gt;
            if copy:&lt;br /&gt;
                corpus = corpus.copy()&lt;br /&gt;
            corpus.extend_attributes(X, self.sentiments, compute_values=cv)&lt;br /&gt;
            return corpus&lt;br /&gt;
&lt;br /&gt;
    if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
        corpus = Corpus.from_file(&amp;#039;deerwester&amp;#039;)&lt;br /&gt;
        liu = Liu_Hu_Sentiment(&amp;#039;Indonesia&amp;#039;)&lt;br /&gt;
        corpus2 = liu.transform(corpus[:5])&lt;br /&gt;
&lt;br /&gt;
    Agar Widget Sentiment Analysis terdapat pilihan bahasa Indonesia , selanjutnya edit file /usr/local/lib/python3.7/dist-packages/orangecontrib/text/widgets/owsentimentanalysis.py&lt;br /&gt;
&lt;br /&gt;
    from AnyQt.QtCore import Qt&lt;br /&gt;
    from AnyQt.QtWidgets import QApplication, QGridLayout, QLabel&lt;br /&gt;
&lt;br /&gt;
    from Orange.widgets import gui, settings&lt;br /&gt;
    from Orange.widgets.utils.signals import Input, Output&lt;br /&gt;
    from Orange.widgets.widget import OWWidget&lt;br /&gt;
    from orangecontrib.text import Corpus&lt;br /&gt;
    from orangecontrib.text.sentiment import Vader_Sentiment, Liu_Hu_Sentiment&lt;br /&gt;
&lt;br /&gt;
    class OWSentimentAnalysis(OWWidget):&lt;br /&gt;
        name = &amp;quot;Sentiment Analysis&amp;quot;&lt;br /&gt;
        description = &amp;quot;Predict sentiment from text.&amp;quot;&lt;br /&gt;
        icon = &amp;quot;icons/SentimentAnalysis.svg&amp;quot;&lt;br /&gt;
        priority = 320&lt;br /&gt;
&lt;br /&gt;
        class Inputs:&lt;br /&gt;
            corpus = Input(&amp;quot;Corpus&amp;quot;, Corpus)&lt;br /&gt;
&lt;br /&gt;
        class Outputs:&lt;br /&gt;
            corpus = Output(&amp;quot;Corpus&amp;quot;, Corpus)&lt;br /&gt;
&lt;br /&gt;
        method_idx = settings.Setting(1)&lt;br /&gt;
        autocommit = settings.Setting(True)&lt;br /&gt;
        language = settings.Setting(&amp;#039;English&amp;#039;)&lt;br /&gt;
        want_main_area = False&lt;br /&gt;
        resizing_enabled = False&lt;br /&gt;
&lt;br /&gt;
        METHODS = [&lt;br /&gt;
            Liu_Hu_Sentiment,&lt;br /&gt;
            Vader_Sentiment&lt;br /&gt;
        ]&lt;br /&gt;
        LANG = [&amp;#039;English&amp;#039;, &amp;#039;Indonesia&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
        def __init__(self):&lt;br /&gt;
            super().__init__()&lt;br /&gt;
            self.corpus = None&lt;br /&gt;
&lt;br /&gt;
            form = QGridLayout()&lt;br /&gt;
            self.method_box = box = gui.radioButtonsInBox(&lt;br /&gt;
                self.controlArea, self, &amp;quot;method_idx&amp;quot;, [], box=&amp;quot;Method&amp;quot;,&lt;br /&gt;
                orientation=form, callback=self._method_changed)&lt;br /&gt;
            self.liu_hu = gui.appendRadioButton(box, &amp;quot;Liu Hu&amp;quot;, addToLayout=False)&lt;br /&gt;
            self.liu_lang = gui.comboBox(None, self, &amp;#039;language&amp;#039;,&lt;br /&gt;
                                         sendSelectedValue=True,&lt;br /&gt;
                                         items=self.LANG,&lt;br /&gt;
                                         callback=self._method_changed)&lt;br /&gt;
            self.vader = gui.appendRadioButton(box, &amp;quot;Vader&amp;quot;, addToLayout=False)&lt;br /&gt;
&lt;br /&gt;
            form.addWidget(self.liu_hu, 0, 0, Qt.AlignLeft)&lt;br /&gt;
            form.addWidget(QLabel(&amp;quot;Language:&amp;quot;), 0, 1, Qt.AlignRight)&lt;br /&gt;
            form.addWidget(self.liu_lang, 0, 2, Qt.AlignRight)&lt;br /&gt;
            form.addWidget(self.vader, 1, 0, Qt.AlignLeft)&lt;br /&gt;
&lt;br /&gt;
            ac = gui.auto_commit(self.controlArea, self, &amp;#039;autocommit&amp;#039;, &amp;#039;Commit&amp;#039;,&lt;br /&gt;
                                 &amp;#039;Autocommit is on&amp;#039;)&lt;br /&gt;
            ac.layout().insertSpacing(1, 8)&lt;br /&gt;
&lt;br /&gt;
        @Inputs.corpus&lt;br /&gt;
        def set_corpus(self, data=None):&lt;br /&gt;
            self.corpus = data&lt;br /&gt;
            self.commit()&lt;br /&gt;
&lt;br /&gt;
        def _method_changed(self):&lt;br /&gt;
            self.commit()&lt;br /&gt;
&lt;br /&gt;
        def commit(self):&lt;br /&gt;
            if self.corpus is not None:&lt;br /&gt;
                method = self.METHODS[self.method_idx]&lt;br /&gt;
                if self.method_idx == 0:&lt;br /&gt;
                    out = method(language=self.language).transform(self.corpus)&lt;br /&gt;
                else:&lt;br /&gt;
                    out = method().transform(self.corpus)&lt;br /&gt;
                self.Outputs.corpus.send(out)&lt;br /&gt;
            else:&lt;br /&gt;
                self.Outputs.corpus.send(None)&lt;br /&gt;
&lt;br /&gt;
        def send_report(self):&lt;br /&gt;
            self.report_items((&lt;br /&gt;
                (&amp;#039;Method&amp;#039;, self.METHODS[self.method_idx].name),&lt;br /&gt;
            ))&lt;br /&gt;
&lt;br /&gt;
    def main():&lt;br /&gt;
        app = QApplication([])&lt;br /&gt;
        widget = OWSentimentAnalysis()&lt;br /&gt;
        corpus = Corpus.from_file(&amp;#039;book-excerpts&amp;#039;)&lt;br /&gt;
        corpus = corpus[:3]&lt;br /&gt;
        widget.set_corpus(corpus)&lt;br /&gt;
        widget.show()&lt;br /&gt;
        app.exec()&lt;br /&gt;
&lt;br /&gt;
    if __name__ == &amp;#039;__main__&amp;#039;:&lt;br /&gt;
        main()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selanjutnya anda kini sudah bisa menggunakan Sentiment Analysis dengan menggunakan analisis NLTK dengan menggunakan bahasa indonesia &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Referensi==&lt;br /&gt;
&lt;br /&gt;
* https://www.andrijohandri.id/2019/10/orange3-menambahkan-sentiment-analysis.html&lt;br /&gt;
&lt;br /&gt;
==Pranala Menarik==&lt;br /&gt;
&lt;br /&gt;
* [[Orange]]&lt;/div&gt;</summary>
		<author><name>Onnowpurbo</name></author>
	</entry>
</feed>