TextModel's picture
Add new SentenceTransformer model
6095780 verified
metadata
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - dense
  - generated_from_trainer
  - dataset_size:2609
  - loss:MultipleNegativesRankingLoss
base_model: google/embeddinggemma-300m
widget:
  - source_sentence: >-
      query: Kalau si koruptor ternyata udah nggak punya harta lagi buat bayar
      uang pengganti, apa konsekuensinya?
    sentences:
      - >-
        passage: Hukumnya adalah tindak pidana yang diancam dengan pidana
        penjara paling lama 4 tahun atau pidana denda paling banyak kategori IV
        karena menggunakan ancaman kekerasan. (Pasal 302 KUHP)
      - >-
        passage: Kalau harta bendanya tidak mencukupi, terpidana bisa dipidana
        penjara yang lamanya tidak melebihi ancaman maksimum pidana pokoknya dan
        sudah ditentukan langsung di dalam putusan pengadilan.
      - >-
        passage: Penyitaan dan pelelangan harta bila uang pengganti tidak
        dibayar.
  - source_sentence: 'query: Apa artinya menimbulkan persangkaan palsu dalam KUHP?'
    sentences:
      - >-
        passage: Ya, karena pejabat yang melebihi kewenangannya atau tanpa
        memperhatikan tata cara yang ditetapkan undang-undang memaksa masuk ke
        rumah atau ruangan tertutup milik orang lain, dan tidak segera pergi
        setelah ditegur oleh pihak yang berhak, dapat dijerat pidana penjara
        paling lama 1 tahun 6 bulan. (Pasal 535 KUHP)
      - >-
        passage: Pengaduan fitnah adalah mengajukan pengaduan atau pemberitahuan
        palsu secara tertulis kepada pejabat yang berwenang sehingga kehormatan
        orang lain diserang. (Pasal 437 ayat (1) KUHP)
      - >-
        passage: Menimbulkan persangkaan palsu adalah melakukan suatu perbuatan
        yang menyebabkan orang lain disangka telah melakukan suatu tindak
        pidana, padahal sebenarnya tidak. (Pasal 438 KUHP)
  - source_sentence: 'query: Kapan suatu penipuan bisa disebut sebagai penipuan ringan?'
    sentences:
      - >-
        passage: Penipuan disebut ringan jika barang yang diserahkan bukan
        ternak atau sumber mata pencaharian dan nilainya tidak lebih dari satu
        juta rupiah, atau jika nilai keuntungan yang diperoleh pelaku tidak
        lebih dari satu juta rupiah. (Pasal 494 KUHP)
      - >-
        passage: Penipuan oleh penjual tidak memandang nilai kerugian atau
        keuntungan sebagai dasar penggolongan ringan, melainkan fokus pada
        tindakan menyerahkan barang lain atau berbohong soal sifat barang.
        (Pasal 493 KUHP)
      - >-
        passage: Pasal 111: Setiap orang yang tanpa hak menanam, memelihara,
        memiliki, menyimpan, menguasai, atau menyediakan Narkotika Golongan I
        dalam bentuk tanaman dipidana penjara 4-12 tahun dan denda Rp800
        juta-Rp8 miliar. Jika beratnya melebihi 1 kg atau 5 pohon, ancamannya
        penjara seumur hidup atau 5-20 tahun dengan denda ditambah sepertiga.
  - source_sentence: >-
      query: Tetangga saya kedapatan menanam ganja di kebun belakang rumahnya
      sebanyak 6 pohon. Bisa nggak dia dilaporkan dan dipidana?
    sentences:
      - >-
        passage: Pasal 113: Setiap orang yang tanpa hak memproduksi, mengimpor,
        mengekspor, atau menyalurkan Narkotika Golongan I dipidana penjara 5-15
        tahun dan denda Rp1-10 miliar. Jika beratnya melebihi 1 kg tanaman atau
        5 gram bukan tanaman, ancamannya pidana mati, seumur hidup, atau 5-20
        tahun dengan denda ditambah sepertiga.
      - >-
        passage: Pasal 478: Jika Tindak Pidana sebagaimana dimaksud dalam Pasal
        476 dan Pasal 477 ayat (1) huruf f dan huruf g dilakukan tidak dalam
        sebuah rumah atau pekarangan tertutup yang ada rumahnya, dan harga
        Barang yang dicurinya tidak lebih dari Rp500.000,00 (lima ratus ribu
        rupiah), dipidana karena pencurian ringan, dengan pidana denda paling
        banyak kategori II. Pasal ini berlaku karena Arif Budiman mengambil
        barang milik orang lain senilai Rp200.000,00 (di bawah ambang batas
        Rp500.000,00) di lokasi yang bukan merupakan rumah atau pekarangan
        tertutup, sehingga perbuatannya memenuhi kualifikasi pencurian ringan
        yang hanya diancam pidana denda paling banyak kategori II.
      - >-
        passage: Pasal 111: Setiap orang yang tanpa hak menanam, memelihara,
        memiliki, menyimpan, menguasai, atau menyediakan Narkotika Golongan I
        dalam bentuk tanaman dipidana penjara 4-12 tahun dan denda Rp800
        juta-Rp8 miliar. Jika beratnya melebihi 1 kg atau 5 pohon, ancamannya
        penjara seumur hidup atau 5-20 tahun dengan denda ditambah sepertiga.
  - source_sentence: >-
      query: Apa syarat bagi dokter untuk bisa menyerahkan narkotika kepada
      pasien?
    sentences:
      - >-
        passage: Pasal 53: Untuk kepentingan pengobatan dan berdasarkan indikasi
        medis, dokter dapat memberikan Narkotika Golongan II atau Golongan III
        dalam jumlah terbatas dan sediaan tertentu kepada pasien.
      - >-
        passage: Pasal 448: (1) Dipidana dengan pidana penjara paling lama 1
        (satu) tahun atau pidana denda paling banyak kategori II, Setiap Orang
        yang: a. secara melawan hukum memaksa orang lain supaya melakukan, tidak
        melakukan, atau membiarkan sesuatu, dengan Kekerasan atau Ancaman
        Kekerasan, baik terhadap orang itu sendiri maupun orang lain; atau b.
        memaksa orang lain supaya melakukan, tidak melakukan, atau membiarkan
        sesuatu dengan ancaman pencemaran atau pencemaran tertulis. (2) Tindak
        Pidana sebagaimana dimaksud pada ayat (1) huruf b hanya dapat dituntut
        atas pengaduan dari Korban Tindak Pidana. Pasal ini berlaku karena Bram
        Sulistyo memaksa Andi Firmansyah untuk melakukan sesuatu (mencabut
        laporan ketenagakerjaan) dengan ancaman pencemaran nama baik (ancaman
        membocorkan aib pribadi), yang memenuhi unsur tindak pidana dalam Pasal
        448 ayat (1) huruf b KUHP 2023. Karena menggunakan ancaman pencemaran,
        tindak pidana ini merupakan delik aduan sebagaimana Pasal 448 ayat (2)
      - >-
        passage: Pasal 43: Penyerahan Narkotika oleh dokter hanya dapat
        dilaksanakan untuk menjalankan praktik dokter dengan memberikan
        Narkotika melalui suntikan, menolong orang sakit dalam keadaan darurat
        dengan memberikan Narkotika melalui suntikan, atau menjalankan tugas di
        daerah terpencil yang tidak ada apotek.
pipeline_tag: sentence-similarity
library_name: sentence-transformers
metrics:
  - cosine_accuracy
model-index:
  - name: SentenceTransformer based on google/embeddinggemma-300m
    results:
      - task:
          type: triplet
          name: Triplet
        dataset:
          name: val
          type: val
        metrics:
          - type: cosine_accuracy
            value: 0.9465753436088562
            name: Cosine Accuracy
      - task:
          type: triplet
          name: Triplet
        dataset:
          name: test
          type: test
        metrics:
          - type: cosine_accuracy
            value: 0.9357045292854309
            name: Cosine Accuracy

SentenceTransformer based on google/embeddinggemma-300m

This is a sentence-transformers model finetuned from google/embeddinggemma-300m. It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more.

Model Details

Model Description

  • Model Type: Sentence Transformer
  • Base model: google/embeddinggemma-300m
  • Maximum Sequence Length: 2048 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 2048, 'do_lower_case': False, 'architecture': 'Gemma3TextModel'})
  (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
  (2): Dense({'in_features': 768, 'out_features': 3072, 'bias': False, 'activation_function': 'torch.nn.modules.linear.Identity'})
  (3): Dense({'in_features': 3072, 'out_features': 768, 'bias': False, 'activation_function': 'torch.nn.modules.linear.Identity'})
  (4): Normalize()
)

Usage

Direct Usage (Sentence Transformers)

First install the Sentence Transformers library:

pip install -U sentence-transformers

Then you can load this model and run inference.

from sentence_transformers import SentenceTransformer

# Download from the 🤗 Hub
model = SentenceTransformer("TextModel/Gemma-Crime-Indo")
# Run inference
queries = [
    "query: Apa syarat bagi dokter untuk bisa menyerahkan narkotika kepada pasien?",
]
documents = [
    'passage: Pasal 43: Penyerahan Narkotika oleh dokter hanya dapat dilaksanakan untuk menjalankan praktik dokter dengan memberikan Narkotika melalui suntikan, menolong orang sakit dalam keadaan darurat dengan memberikan Narkotika melalui suntikan, atau menjalankan tugas di daerah terpencil yang tidak ada apotek.',
    'passage: Pasal 53: Untuk kepentingan pengobatan dan berdasarkan indikasi medis, dokter dapat memberikan Narkotika Golongan II atau Golongan III dalam jumlah terbatas dan sediaan tertentu kepada pasien.',
    'passage: Pasal 448: (1) Dipidana dengan pidana penjara paling lama 1 (satu) tahun atau pidana denda paling banyak kategori II, Setiap Orang yang: a. secara melawan hukum memaksa orang lain supaya melakukan, tidak melakukan, atau membiarkan sesuatu, dengan Kekerasan atau Ancaman Kekerasan, baik terhadap orang itu sendiri maupun orang lain; atau b. memaksa orang lain supaya melakukan, tidak melakukan, atau membiarkan sesuatu dengan ancaman pencemaran atau pencemaran tertulis. (2) Tindak Pidana sebagaimana dimaksud pada ayat (1) huruf b hanya dapat dituntut atas pengaduan dari Korban Tindak Pidana. Pasal ini berlaku karena Bram Sulistyo memaksa Andi Firmansyah untuk melakukan sesuatu (mencabut laporan ketenagakerjaan) dengan ancaman pencemaran nama baik (ancaman membocorkan aib pribadi), yang memenuhi unsur tindak pidana dalam Pasal 448 ayat (1) huruf b KUHP 2023. Karena menggunakan ancaman pencemaran, tindak pidana ini merupakan delik aduan sebagaimana Pasal 448 ayat (2)',
]
query_embeddings = model.encode_query(queries)
document_embeddings = model.encode_document(documents)
print(query_embeddings.shape, document_embeddings.shape)
# [1, 768] [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(query_embeddings, document_embeddings)
print(similarities)
# tensor([[0.7065, 0.5494, 0.1299]])

Evaluation

Metrics

Triplet

Metric val test
cosine_accuracy 0.9466 0.9357

Training Details

Training Dataset

Unnamed Dataset

  • Size: 2,609 training samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative
    type string string string
    details
    • min: 16 tokens
    • mean: 28.3 tokens
    • max: 65 tokens
    • min: 25 tokens
    • mean: 62.4 tokens
    • max: 131 tokens
    • min: 20 tokens
    • mean: 52.37 tokens
    • max: 121 tokens
  • Samples:
    anchor positive negative
    query: Kalo mau lapor ke polisi soal pencemaran nama baik, apa emang harus nunggu korban datang lapor sendiri atau polisi bisa langsung tangkap pelakunya? passage: Pasal 24 KUHP: Dalam hal tertentu, pelaku Tindak Pidana hanya dapat dituntut atas dasar pengaduan. Tindak Pidana aduan harus ditentukan secara tegas dalam Undang-Undang. passage: Pasal 28 KUHP: Pengaduan dilakukan dengan cara menyampaikan pemberitahuan dan permohonan untuk dituntut. Pengaduan sebagaimana dimaksud diajukan secara lisan atau tertulis kepada Pejabat yang berwenang.
    query: Anak saya yang masih 14 tahun kena aniaya sama tetangga, saya sebagai bapaknya yang lapor polisi. Tapi ternyata Anak saya yang masih 14 tahun kena aniaya, saya sebagai bapaknya yang mau lapor polisi. Apakah saya berhak melapor mewakili anak saya?? passage: Pasal 25 KUHP: Dalam hal Korban Tindak Pidana aduan belum berumur 16 tahun, yang berhak mengadu merupakan Orang Tua atau walinya. Dalam hal Orang Tua atau wali tidak ada atau Orang Tua/wali itu sendiri yang harus diadukan, pengaduan dilakukan oleh keluarga sedarah dalam garis lurus. passage: Pasal 26 KUHP: Dalam hal Korban Tindak Pidana aduan berada di bawah pengampuan, yang berhak mengadu merupakan pengampunya, kecuali bagi Korban yang berada dalam pengampuan karena boros. Jika pengampu tidak ada atau pengampu itu sendiri yang harus diadukan, pengaduan dilakukan oleh suami/istri atau keluarga sedarah.
    query: Saya kemarin udah lapor polisi soal kejadian yang menimpa saya, tapi sekarang saya udah maafin pelakunya dan mau cabut laporan. Apa yang bakal terjadi sama perkara ini? passage: Pasal 30 KUHP: Pengaduan dapat ditarik kembali oleh pengadu dalam waktu 3 Bulan terhitung sejak tanggal pengaduan diajukan. Pengaduan yang ditarik kembali tidak dapat diajukan lagi. passage: Pasal 29 KUHP: Pengaduan harus diajukan dalam tenggang waktu 6 Bulan terhitung sejak tanggal orang yang berhak mengadu mengetahui adanya Tindak Pidana jika bertempat tinggal di wilayah NKRI. Jika yang berhak mengadu lebih dari 1 orang, tenggang waktu dihitung sejak tanggal masing-masing pengadu mengetahui adanya Tindak Pidana.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim",
        "gather_across_devices": false
    }
    

Evaluation Dataset

Unnamed Dataset

  • Size: 730 evaluation samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 730 samples:
    anchor positive negative
    type string string string
    details
    • min: 11 tokens
    • mean: 42.05 tokens
    • max: 138 tokens
    • min: 16 tokens
    • mean: 81.78 tokens
    • max: 643 tokens
    • min: 12 tokens
    • mean: 69.84 tokens
    • max: 254 tokens
  • Samples:
    anchor positive negative
    query: Bisa nggak orang yang tinggal di luar negeri ikut kena jerat hukum karena dia bantu-bantu kasus korupsi yang terjadi di Indonesia? passage: Bisa, orang di luar wilayah Indonesia yang memberikan bantuan, sarana, atau keterangan agar terjadi korupsi akan dipidana sama seperti pelaku utamanya. passage: Pasal 15: percobaan, pembantuan, atau pemufakatan jahat dipidana sama dengan delik asal
    query: Yoga Andrianto, seorang influencer di Bandung dengan ratusan ribu pengikut, pada tahun 2024 secara konsisten mengunggah konten video di platform media sosial yang berisi penghinaan terhadap DPR RI sebagai lembaga negara. Konten tersebut dibuat dengan maksud agar isi penghinaan diketahui oleh khalayak umum secara luas. Akibat viralnya konten tersebut, terjadi aksi demonstrasi yang berujung pada kerusuhan di beberapa kota. Pasal apa yang tepat dikenakan kepada Yoga Andrianto? passage: Pasal 241: (1) Setiap Orang yang menyiarkan, mempertunjukkan, atau menempelkan tulisan atau gambar sehingga terlihat oleh umum, memperdengarkan rekaman sehingga terdengar oleh umum, atau menyebarluaskan dengan sarana teknologi informasi yang berisi penghinaan terhadap pemerintah atau lembaga negara, dengan maksud agar isi penghinaan diketahui umum, dipidana dengan pidana penjara paling lama 3 (tiga) tahun atau pidana denda paling banyak kategori IV. (2) Dalam hal Tindak Pidana sebagaimana dimaksud pada ayat (1) berakibat terjadinya kerusuhan dalam masyarakat, dipidana dengan pidana penjara paling lama 4 (empat) tahun atau pidana denda paling banyak kategori V.. Pasal ini berlaku karena Yoga Andrianto menyebarluaskan melalui sarana teknologi informasi konten berisi penghinaan terhadap DPR RI sebagai lembaga negara dengan maksud agar isi penghinaan diketahui umum, memenuhi unsur Pasal 241 ayat (1). Karena perbuatannya berakibat terjadinya kerusuhan dalam masyarakat, ancaman pida... passage: Pasal 300: Setiap Orang Di Muka Umum yang: a. melakukan perbuatan yang bersifat permusuhan; b. menyatakan kebencian atau permusuhan; atau c. menghasut untuk melakukan Kekerasan, atau diskriminasi, terhadap agama, kepercayaan orang lain, golongan, atau kelompok atas dasar agama atau kepercayaan di Indonesia, dipidana dengan pidana penjara paling lama 3 (tiga) tahun atau pidana denda paling banyak kategori IV.. Pasal ini mengatur pernyataan kebencian atau hasutan terhadap kelompok atas dasar agama, bukan penghinaan terhadap pemerintah atau lembaga negara..
    query: Apa perbedaan hukuman bagi pembantu aborsi jika perbuatannya mengakibatkan kematian, antara yang izin sama yang tidak izin? passage: Jika mengakibatkan kematian, aborsi dengan persetujuan diancam penjara paling lama 8 tahun, sedangkan aborsi tanpa persetujuan diancam penjara paling lama 15 tahun. (Pasal 464 ayat (2) dan (3) KUHP) passage: Jika mengakibatkan kematian, pembunuhan biasa yang dilakukan oleh seseorang dengan sengaja merampas nyawa orang lain diancam penjara paling lama 15 tahun. (Pasal 458 ayat (1) KUHP)
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim",
        "gather_across_devices": false
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • per_device_train_batch_size: 4
  • per_device_eval_batch_size: 4
  • gradient_accumulation_steps: 4
  • learning_rate: 1e-05
  • weight_decay: 0.01
  • num_train_epochs: 4
  • warmup_ratio: 0.3
  • warmup_steps: 0.3
  • fp16: True
  • load_best_model_at_end: True
  • dataloader_pin_memory: False
  • gradient_checkpointing: True
  • batch_sampler: no_duplicates

All Hyperparameters

Click to expand
  • do_predict: False
  • eval_strategy: epoch
  • prediction_loss_only: True
  • per_device_train_batch_size: 4
  • per_device_eval_batch_size: 4
  • gradient_accumulation_steps: 4
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 1e-05
  • weight_decay: 0.01
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1.0
  • num_train_epochs: 4
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: None
  • warmup_ratio: 0.3
  • warmup_steps: 0.3
  • log_level: passive
  • log_level_replica: warning
  • log_on_each_node: True
  • logging_nan_inf_filter: True
  • enable_jit_checkpoint: False
  • save_on_each_node: False
  • save_only_model: False
  • restore_callback_states_from_checkpoint: False
  • use_cpu: False
  • seed: 42
  • data_seed: None
  • bf16: False
  • fp16: True
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: None
  • local_rank: -1
  • ddp_backend: None
  • debug: []
  • dataloader_drop_last: False
  • dataloader_num_workers: 0
  • dataloader_prefetch_factor: None
  • disable_tqdm: False
  • remove_unused_columns: True
  • label_names: None
  • load_best_model_at_end: True
  • ignore_data_skip: False
  • fsdp: []
  • fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
  • accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
  • parallelism_config: None
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamw_torch_fused
  • optim_args: None
  • group_by_length: False
  • length_column_name: length
  • project: huggingface
  • trackio_space_id: trackio
  • ddp_find_unused_parameters: None
  • ddp_bucket_cap_mb: None
  • ddp_broadcast_buffers: False
  • dataloader_pin_memory: False
  • dataloader_persistent_workers: False
  • skip_memory_metrics: True
  • push_to_hub: False
  • resume_from_checkpoint: None
  • hub_model_id: None
  • hub_strategy: every_save
  • hub_private_repo: None
  • hub_always_push: False
  • hub_revision: None
  • gradient_checkpointing: True
  • gradient_checkpointing_kwargs: None
  • include_for_metrics: []
  • eval_do_concat_batches: True
  • auto_find_batch_size: False
  • full_determinism: False
  • ddp_timeout: 1800
  • torch_compile: False
  • torch_compile_backend: None
  • torch_compile_mode: None
  • include_num_input_tokens_seen: no
  • neftune_noise_alpha: None
  • optim_target_modules: None
  • batch_eval_metrics: False
  • eval_on_start: False
  • use_liger_kernel: False
  • liger_kernel_config: None
  • eval_use_gather_object: False
  • average_tokens_across_devices: True
  • use_cache: False
  • prompts: None
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional
  • router_mapping: {}
  • learning_rate_mapping: {}

Training Logs

Epoch Step Training Loss Validation Loss val_cosine_accuracy test_cosine_accuracy
-1 -1 - - 0.9192 0.9097
1.0 82 0.2979 0.2212 0.9438 -
2.0 164 0.1132 0.2597 0.9466 -
3.0 246 0.0371 0.2365 0.9411 -
4.0 328 0.0233 0.2106 0.9411 -
-1 -1 - - 0.9466 0.9357
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.12.12
  • Sentence Transformers: 5.2.3
  • Transformers: 5.0.0
  • PyTorch: 2.10.0+cu128
  • Accelerate: 1.12.0
  • Datasets: 4.8.3
  • Tokenizers: 0.22.2

Citation

BibTeX

Sentence Transformers

@inproceedings{reimers-2019-sentence-bert,
    title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
    author = "Reimers, Nils and Gurevych, Iryna",
    booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
    month = "11",
    year = "2019",
    publisher = "Association for Computational Linguistics",
    url = "https://arxiv.org/abs/1908.10084",
}

MultipleNegativesRankingLoss

@misc{henderson2017efficient,
    title={Efficient Natural Language Response Suggestion for Smart Reply},
    author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil},
    year={2017},
    eprint={1705.00652},
    archivePrefix={arXiv},
    primaryClass={cs.CL}
}