コード例 #1
0
    def test_tf_idf(self):
        pipeline = Pipeline(
            DataLoader(text_processor=self.text_processor, n_grams=3),
            TextEncoder(encode_type=SGDTestCase.EncodingAliases.TF_IDF),
            SGDClassifier(num_labels=3))
        pipeline(train=SGDTestCase.INPUT_FILE, test=SGDTestCase.OUTPUT_FILE)
        pipeline.save(SGDTestCase.SAVED_PATH)

        _pipeline = Pipeline.load(SGDTestCase.SAVED_PATH)
        self.assertIsInstance(_pipeline, Pipeline)

        predict_results = _pipeline.predict([
            'hàng ok đầu tuýp có một số không vừa ốc siết. chỉ được một số đầu thôi '
            '.cần nhất đầu tuýp 14 mà không có. không đạt yêu cầu của mình sử dụng',
            'Son đẹpppp, mùi hương vali thơm nhưng hơi nồng, chất son mịn, màu lên '
            'chuẩn, đẹppppp'
        ])

        self.assertIsInstance(predict_results, np.ndarray)
コード例 #2
0
ファイル: lstm.py プロジェクト: vndee/sentivi
    def test_one_hot_ft(self):
        pipeline = Pipeline(
            DataLoader(text_processor=self.text_processor, n_grams=1),
            TextEncoder(encode_type=LSTMTestCase.EncodingAliases.ONE_HOT),
            LSTMClassifier(num_labels=3,
                           num_epochs=3,
                           bidirectional=False,
                           attention=True))
        pipeline(train=LSTMTestCase.INPUT_FILE, test=LSTMTestCase.OUTPUT_FILE)
        pipeline.save(LSTMTestCase.SAVED_PATH)

        _pipeline = Pipeline.load(LSTMTestCase.SAVED_PATH)
        self.assertIsInstance(_pipeline, Pipeline)

        predict_results = _pipeline.predict([
            'hàng ok đầu tuýp có một số không vừa ốc siết. chỉ được một số đầu thôi '
            '.cần nhất đầu tuýp 14 mà không có. không đạt yêu cầu của mình sử dụng',
            'Son đẹpppp, mùi hương vali thơm nhưng hơi nồng, chất son mịn, màu lên '
            'chuẩn, đẹppppp'
        ])

        self.assertIsInstance(predict_results, np.ndarray)
コード例 #3
0
ファイル: transformer.py プロジェクト: vndee/sentivi
    def test_one_hot(self):
        pipeline = Pipeline(
            DataLoader(text_processor=self.text_processor, n_grams=3),
            TextEncoder(
                encode_type=TransformerTestCase.EncodingAliases.ONE_HOT),
            TransformerClassifier(
                num_labels=3,
                language_model_shortcut=TransformerTestCase.LM_SHORTCUT))
        pipeline(train=TransformerTestCase.INPUT_FILE,
                 test=TransformerTestCase.OUTPUT_FILE)
        pipeline.save(TransformerTestCase.SAVED_PATH)

        _pipeline = Pipeline.load(TransformerTestCase.SAVED_PATH)
        self.assertIsInstance(_pipeline, Pipeline)

        predict_results = _pipeline.predict([
            'hàng ok đầu tuýp có một số không vừa ốc siết. chỉ được một số đầu thôi '
            '.cần nhất đầu tuýp 14 mà không có. không đạt yêu cầu của mình sử dụng',
            'Son đẹpppp, mùi hương vali thơm nhưng hơi nồng, chất son mịn, màu lên '
            'chuẩn, đẹppppp'
        ])

        self.assertIsInstance(predict_results, np.ndarray)
コード例 #4
0
if __name__ == '__main__':
    text_processor = TextProcessor(
        methods=['word_segmentation', 'remove_punctuation', 'lower'])

    pipeline = Pipeline(
        DataLoader(text_processor=text_processor, n_grams=2, max_length=100),
        TextEncoder(encode_type='word2vec',
                    model_path='./pretrained/wiki.vi.model.bin.gz'),
        LSTMClassifier(num_labels=2,
                       bidirectional=False,
                       attention=True,
                       device='cuda',
                       hidden_layers=1))

    train_results = pipeline(train='./data/dev.vi',
                             test='./data/dev_test.vi',
                             num_epochs=3,
                             learning_rate=1e-3)
    print(train_results)

    predict_results = pipeline.predict([
        'hàng ok đầu tuýp có một số không vừa ốc siết. chỉ được một số đầu thôi .cần '
        'nhất đầu tuýp 14 mà không có. không đạt yêu cầu của mình sử dụng',
        'Son đẹpppp, mùi hương vali thơm nhưng hơi nồng, chất son mịn, màu lên chuẩn, '
        'đẹppppp', 'Son rất đẹp màu xinh lắm'
    ])
    print(predict_results)
    print(f'Decoded results: {pipeline.decode_polarity(predict_results)}')

    pipeline.save(f'./weights/lstm.sentivi')
コード例 #5
0
ファイル: text_cnn.py プロジェクト: vndee/sentivi
from sentivi import Pipeline
from sentivi.data import DataLoader, TextEncoder
from sentivi.classifier import TextCNNClassifier
from sentivi.text_processor import TextProcessor

if __name__ == '__main__':
    text_processor = TextProcessor(methods=['word_segmentation', 'remove_punctuation', 'lower'])

    pipeline = Pipeline(DataLoader(text_processor=text_processor, n_grams=2),
                        TextEncoder(encode_type='tf-idf', model_path='./pretrained/wiki.vi.model.bin.gz'),
                        TextCNNClassifier(num_labels=3))

    train_results = pipeline(train='./data/dev.vi', test='./data/dev_test.vi', num_epochs=3)
    print(train_results)

    predict_results = pipeline.predict(['hàng ok đầu tuýp có một số không vừa ốc siết. chỉ được một số đầu thôi .cần '
                                        'nhất đầu tuýp 14 mà không có. không đạt yêu cầu của mình sử dụng',
                                        'Son đẹpppp, mùi hương vali thơm nhưng hơi nồng, chất son mịn, màu lên chuẩn, '
                                        'đẹppppp', 'Son rất đẹp màu xinh lắm'])
    print(predict_results)
    print(f'Decoded results: {pipeline.decode_polarity(predict_results)}')

    pipeline.save('./weights/text_cnn.sentivi')
コード例 #6
0
from sentivi import Pipeline
from sentivi.data import DataLoader, TextEncoder
from sentivi.classifier import MLPClassifier
from sentivi.text_processor import TextProcessor

if __name__ == '__main__':
    text_processor = TextProcessor(
        methods=['word_segmentation', 'remove_punctuation', 'lower'])

    pipeline = Pipeline(
        DataLoader(text_processor=text_processor, n_grams=3),
        TextEncoder(encode_type='word2vec',
                    model_path='./pretrained/wiki.vi.model.bin.gz'),
        MLPClassifier(num_labels=3, max_iter=10, verbose=True))

    train_results = pipeline(train='./data/dev.vi', test='./data/dev_test.vi')
    print(train_results)

    predict_results = pipeline.predict([
        'hàng ok đầu tuýp có một số không vừa ốc siết. chỉ được một số đầu thôi .cần '
        'nhất đầu tuýp 14 mà không có. không đạt yêu cầu của mình sử dụng',
        'Son đẹpppp, mùi hương vali thơm nhưng hơi nồng, chất son mịn, màu lên chuẩn, '
        'đẹppppp'
    ])
    print(predict_results)
    print(f'Decoded results: {pipeline.decode_polarity(predict_results)}')

    pipeline.save(f'./weights/mlp.sentivi')
コード例 #7
0
ファイル: svm.py プロジェクト: vndee/sentivi
from sentivi import Pipeline
from sentivi.data import DataLoader, TextEncoder
from sentivi.classifier import SVMClassifier
from sentivi.text_processor import TextProcessor

if __name__ == '__main__':
    text_processor = TextProcessor(
        methods=['word_segmentation', 'remove_punctuation', 'lower'])

    pipeline = Pipeline(DataLoader(text_processor=text_processor, n_grams=3),
                        TextEncoder(encode_type='one-hot'),
                        SVMClassifier(num_labels=3))

    train_results = pipeline(train='./data/dev.vi', test='./data/dev_test.vi')
    print(train_results)

    pipeline.save('./weights/pipeline.sentivi')
    _pipeline = Pipeline.load('./weights/pipeline.sentivi')

    predict_results = _pipeline.predict([
        'hàng ok đầu tuýp có một số không vừa ốc siết. chỉ được một số đầu thôi .cần '
        'nhất đầu tuýp 14 mà không có. không đạt yêu cầu của mình sử dụng',
        'Son đẹpppp, mùi hương vali thơm nhưng hơi nồng, chất son mịn, màu lên chuẩn, '
        'đẹppppp'
    ])
    print(predict_results)
    print(f'Decoded results: {_pipeline.decode_polarity(predict_results)}')