--- language: [] library_name: sentence-transformers tags: - sentence-transformers - sentence-similarity - feature-extraction - generated_from_trainer - dataset_size:557850 - loss:MatryoshkaLoss - loss:MultipleNegativesRankingLoss base_model: aubmindlab/bert-base-arabertv02 datasets: [] metrics: - pearson_cosine - spearman_cosine - pearson_manhattan - spearman_manhattan - pearson_euclidean - spearman_euclidean - pearson_dot - spearman_dot - pearson_max - spearman_max widget: - source_sentence: ذكر متوازن بعناية يقف على قدم واحدة بالقرب من منطقة شاطئ المحيط النظيفة sentences: - رجل يقدم عرضاً - هناك رجل بالخارج قرب الشاطئ - رجل يجلس على أريكه - source_sentence: رجل يقفز إلى سريره القذر sentences: - السرير قذر. - رجل يضحك أثناء غسيل الملابس - الرجل على القمر - source_sentence: الفتيات بالخارج sentences: - امرأة تلف الخيط إلى كرات بجانب كومة من الكرات - فتيان يركبان في جولة متعة - ثلاث فتيات يقفون سوية في غرفة واحدة تستمع وواحدة تكتب على الحائط والثالثة تتحدث إليهن - source_sentence: الرجل يرتدي قميصاً أزرق. sentences: - رجل يرتدي قميصاً أزرق يميل إلى الجدار بجانب الطريق مع شاحنة زرقاء وسيارة حمراء مع الماء في الخلفية. - كتاب القصص مفتوح - رجل يرتدي قميص أسود يعزف على الجيتار. - source_sentence: يجلس شاب ذو شعر أشقر على الحائط يقرأ جريدة بينما تمر امرأة وفتاة شابة. sentences: - ذكر شاب ينظر إلى جريدة بينما تمر إمرأتان بجانبه - رجل يستلقي على وجهه على مقعد في الحديقة. - الشاب نائم بينما الأم تقود ابنتها إلى الحديقة pipeline_tag: sentence-similarity model-index: - name: SentenceTransformer based on aubmindlab/bert-base-arabertv02 results: - task: type: semantic-similarity name: Semantic Similarity dataset: name: sts test 768 type: sts-test-768 metrics: - type: pearson_cosine value: 0.5949906740977448 name: Pearson Cosine - type: spearman_cosine value: 0.6159750250469712 name: Spearman Cosine - type: pearson_manhattan value: 0.6295622269205102 name: Pearson Manhattan - type: spearman_manhattan value: 0.6269654283099967 name: Spearman Manhattan - type: pearson_euclidean value: 0.6326526932327604 name: Pearson Euclidean - type: spearman_euclidean value: 0.6317081341785673 name: Spearman Euclidean - type: pearson_dot value: 0.42816790752358297 name: Pearson Dot - type: spearman_dot value: 0.4295282086669423 name: Spearman Dot - type: pearson_max value: 0.6326526932327604 name: Pearson Max - type: spearman_max value: 0.6317081341785673 name: Spearman Max - task: type: semantic-similarity name: Semantic Similarity dataset: name: sts test 512 type: sts-test-512 metrics: - type: pearson_cosine value: 0.5846223235167534 name: Pearson Cosine - type: spearman_cosine value: 0.6064092420664184 name: Spearman Cosine - type: pearson_manhattan value: 0.6287774004727389 name: Pearson Manhattan - type: spearman_manhattan value: 0.6263546541183983 name: Spearman Manhattan - type: pearson_euclidean value: 0.631267664308041 name: Pearson Euclidean - type: spearman_euclidean value: 0.6301778108727977 name: Spearman Euclidean - type: pearson_dot value: 0.3788565672017437 name: Pearson Dot - type: spearman_dot value: 0.37680551461721923 name: Spearman Dot - type: pearson_max value: 0.631267664308041 name: Pearson Max - type: spearman_max value: 0.6301778108727977 name: Spearman Max - task: type: semantic-similarity name: Semantic Similarity dataset: name: sts test 256 type: sts-test-256 metrics: - type: pearson_cosine value: 0.5778623383989389 name: Pearson Cosine - type: spearman_cosine value: 0.5959667709300495 name: Spearman Cosine - type: pearson_manhattan value: 0.6242980982402613 name: Pearson Manhattan - type: spearman_manhattan value: 0.6217473192873829 name: Spearman Manhattan - type: pearson_euclidean value: 0.6237908608463304 name: Pearson Euclidean - type: spearman_euclidean value: 0.6215304658549996 name: Spearman Euclidean - type: pearson_dot value: 0.35968442092444003 name: Pearson Dot - type: spearman_dot value: 0.35304547874806785 name: Spearman Dot - type: pearson_max value: 0.6242980982402613 name: Pearson Max - type: spearman_max value: 0.6217473192873829 name: Spearman Max - task: type: semantic-similarity name: Semantic Similarity dataset: name: sts test 128 type: sts-test-128 metrics: - type: pearson_cosine value: 0.5830782075122916 name: Pearson Cosine - type: spearman_cosine value: 0.6022044167653756 name: Spearman Cosine - type: pearson_manhattan value: 0.6151866925343435 name: Pearson Manhattan - type: spearman_manhattan value: 0.6121950064533626 name: Spearman Manhattan - type: pearson_euclidean value: 0.6162225316000448 name: Pearson Euclidean - type: spearman_euclidean value: 0.615301209345362 name: Spearman Euclidean - type: pearson_dot value: 0.40438461342780957 name: Pearson Dot - type: spearman_dot value: 0.40153111017443666 name: Spearman Dot - type: pearson_max value: 0.6162225316000448 name: Pearson Max - type: spearman_max value: 0.615301209345362 name: Spearman Max - task: type: semantic-similarity name: Semantic Similarity dataset: name: sts test 64 type: sts-test-64 metrics: - type: pearson_cosine value: 0.5724838823862283 name: Pearson Cosine - type: spearman_cosine value: 0.5914127847098 name: Spearman Cosine - type: pearson_manhattan value: 0.6023812283389073 name: Pearson Manhattan - type: spearman_manhattan value: 0.5967205030284914 name: Spearman Manhattan - type: pearson_euclidean value: 0.6069294574719372 name: Pearson Euclidean - type: spearman_euclidean value: 0.6041440553344074 name: Spearman Euclidean - type: pearson_dot value: 0.36315938245739166 name: Pearson Dot - type: spearman_dot value: 0.358512645020771 name: Spearman Dot - type: pearson_max value: 0.6069294574719372 name: Pearson Max - type: spearman_max value: 0.6041440553344074 name: Spearman Max --- # SentenceTransformer based on aubmindlab/bert-base-arabertv02 This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [aubmindlab/bert-base-arabertv02](https://huggingface.co/aubmindlab/bert-base-arabertv02) on the Omartificial-Intelligence-Space/arabic-n_li-triplet dataset. 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:** [aubmindlab/bert-base-arabertv02](https://huggingface.co/aubmindlab/bert-base-arabertv02) - **Maximum Sequence Length:** 512 tokens - **Output Dimensionality:** 768 tokens - **Similarity Function:** Cosine Similarity - **Training Dataset:** - Omartificial-Intelligence-Space/arabic-n_li-triplet ### Model Sources - **Documentation:** [Sentence Transformers Documentation](https://sbert.net) - **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers) - **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers) ### Full Model Architecture ``` SentenceTransformer( (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: BertModel (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}) ) ``` ## Usage ### Direct Usage (Sentence Transformers) First install the Sentence Transformers library: ```bash pip install -U sentence-transformers ``` Then you can load this model and run inference. ```python from sentence_transformers import SentenceTransformer # Download from the 🤗 Hub model = SentenceTransformer("Omartificial-Intelligence-Space/Arabic-arabert-all-nli-triplet") # Run inference sentences = [ 'يجلس شاب ذو شعر أشقر على الحائط يقرأ جريدة بينما تمر امرأة وفتاة شابة.', 'ذكر شاب ينظر إلى جريدة بينما تمر إمرأتان بجانبه', 'الشاب نائم بينما الأم تقود ابنتها إلى الحديقة', ] embeddings = model.encode(sentences) print(embeddings.shape) # [3, 768] # Get the similarity scores for the embeddings similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [3, 3] ``` ## Evaluation ### Metrics #### Semantic Similarity * Dataset: `sts-test-768` * Evaluated with [EmbeddingSimilarityEvaluator](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.EmbeddingSimilarityEvaluator) | Metric | Value | |:--------------------|:----------| | pearson_cosine | 0.595 | | **spearman_cosine** | **0.616** | | pearson_manhattan | 0.6296 | | spearman_manhattan | 0.627 | | pearson_euclidean | 0.6327 | | spearman_euclidean | 0.6317 | | pearson_dot | 0.4282 | | spearman_dot | 0.4295 | | pearson_max | 0.6327 | | spearman_max | 0.6317 | #### Semantic Similarity * Dataset: `sts-test-512` * Evaluated with [EmbeddingSimilarityEvaluator](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.EmbeddingSimilarityEvaluator) | Metric | Value | |:--------------------|:-----------| | pearson_cosine | 0.5846 | | **spearman_cosine** | **0.6064** | | pearson_manhattan | 0.6288 | | spearman_manhattan | 0.6264 | | pearson_euclidean | 0.6313 | | spearman_euclidean | 0.6302 | | pearson_dot | 0.3789 | | spearman_dot | 0.3768 | | pearson_max | 0.6313 | | spearman_max | 0.6302 | #### Semantic Similarity * Dataset: `sts-test-256` * Evaluated with [EmbeddingSimilarityEvaluator](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.EmbeddingSimilarityEvaluator) | Metric | Value | |:--------------------|:----------| | pearson_cosine | 0.5779 | | **spearman_cosine** | **0.596** | | pearson_manhattan | 0.6243 | | spearman_manhattan | 0.6217 | | pearson_euclidean | 0.6238 | | spearman_euclidean | 0.6215 | | pearson_dot | 0.3597 | | spearman_dot | 0.353 | | pearson_max | 0.6243 | | spearman_max | 0.6217 | #### Semantic Similarity * Dataset: `sts-test-128` * Evaluated with [EmbeddingSimilarityEvaluator](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.EmbeddingSimilarityEvaluator) | Metric | Value | |:--------------------|:-----------| | pearson_cosine | 0.5831 | | **spearman_cosine** | **0.6022** | | pearson_manhattan | 0.6152 | | spearman_manhattan | 0.6122 | | pearson_euclidean | 0.6162 | | spearman_euclidean | 0.6153 | | pearson_dot | 0.4044 | | spearman_dot | 0.4015 | | pearson_max | 0.6162 | | spearman_max | 0.6153 | #### Semantic Similarity * Dataset: `sts-test-64` * Evaluated with [EmbeddingSimilarityEvaluator](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.EmbeddingSimilarityEvaluator) | Metric | Value | |:--------------------|:-----------| | pearson_cosine | 0.5725 | | **spearman_cosine** | **0.5914** | | pearson_manhattan | 0.6024 | | spearman_manhattan | 0.5967 | | pearson_euclidean | 0.6069 | | spearman_euclidean | 0.6041 | | pearson_dot | 0.3632 | | spearman_dot | 0.3585 | | pearson_max | 0.6069 | | spearman_max | 0.6041 | ## Training Details ### Training Dataset #### Omartificial-Intelligence-Space/arabic-n_li-triplet * Dataset: Omartificial-Intelligence-Space/arabic-n_li-triplet * Size: 557,850 training samples * Columns: anchor, positive, and negative * Approximate statistics based on the first 1000 samples: | | anchor | positive | negative | |:--------|:---------------------------------------------------------------------------------|:----------------------------------------------------------------------------------|:----------------------------------------------------------------------------------| | type | string | string | string | | details | | | | * Samples: | anchor | positive | negative | |:------------------------------------------------------------|:--------------------------------------------|:------------------------------------| | شخص على حصان يقفز فوق طائرة معطلة | شخص في الهواء الطلق، على حصان. | شخص في مطعم، يطلب عجة. | | أطفال يبتسمون و يلوحون للكاميرا | هناك أطفال حاضرون | الاطفال يتجهمون | | صبي يقفز على لوح التزلج في منتصف الجسر الأحمر. | الفتى يقوم بخدعة التزلج | الصبي يتزلج على الرصيف | * Loss: [MatryoshkaLoss](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#matryoshkaloss) with these parameters: ```json { "loss": "MultipleNegativesRankingLoss", "matryoshka_dims": [ 768, 512, 256, 128, 64 ], "matryoshka_weights": [ 1, 1, 1, 1, 1 ], "n_dims_per_step": -1 } ``` ### Evaluation Dataset #### Omartificial-Intelligence-Space/arabic-n_li-triplet * Dataset: Omartificial-Intelligence-Space/arabic-n_li-triplet * Size: 6,584 evaluation samples * Columns: anchor, positive, and negative * Approximate statistics based on the first 1000 samples: | | anchor | positive | negative | |:--------|:----------------------------------------------------------------------------------|:---------------------------------------------------------------------------------|:---------------------------------------------------------------------------------| | type | string | string | string | | details | | | | * Samples: | anchor | positive | negative | |:-----------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------|:---------------------------------------------------| | امرأتان يتعانقان بينما يحملان حزمة | إمرأتان يحملان حزمة | الرجال يتشاجرون خارج مطعم | | طفلين صغيرين يرتديان قميصاً أزرق، أحدهما يرتدي الرقم 9 والآخر يرتدي الرقم 2 يقفان على خطوات خشبية في الحمام ويغسلان أيديهما في المغسلة. | طفلين يرتديان قميصاً مرقماً يغسلون أيديهم | طفلين يرتديان سترة يذهبان إلى المدرسة | | رجل يبيع الدونات لعميل خلال معرض عالمي أقيم في مدينة أنجليس | رجل يبيع الدونات لعميل | امرأة تشرب قهوتها في مقهى صغير | * Loss: [MatryoshkaLoss](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#matryoshkaloss) with these parameters: ```json { "loss": "MultipleNegativesRankingLoss", "matryoshka_dims": [ 768, 512, 256, 128, 64 ], "matryoshka_weights": [ 1, 1, 1, 1, 1 ], "n_dims_per_step": -1 } ``` ### Training Hyperparameters #### Non-Default Hyperparameters - `per_device_train_batch_size`: 64 - `per_device_eval_batch_size`: 64 - `num_train_epochs`: 1 - `warmup_ratio`: 0.1 - `fp16`: True - `batch_sampler`: no_duplicates #### All Hyperparameters
Click to expand - `overwrite_output_dir`: False - `do_predict`: False - `prediction_loss_only`: True - `per_device_train_batch_size`: 64 - `per_device_eval_batch_size`: 64 - `per_gpu_train_batch_size`: None - `per_gpu_eval_batch_size`: None - `gradient_accumulation_steps`: 1 - `eval_accumulation_steps`: None - `learning_rate`: 5e-05 - `weight_decay`: 0.0 - `adam_beta1`: 0.9 - `adam_beta2`: 0.999 - `adam_epsilon`: 1e-08 - `max_grad_norm`: 1.0 - `num_train_epochs`: 1 - `max_steps`: -1 - `lr_scheduler_type`: linear - `lr_scheduler_kwargs`: {} - `warmup_ratio`: 0.1 - `warmup_steps`: 0 - `log_level`: passive - `log_level_replica`: warning - `log_on_each_node`: True - `logging_nan_inf_filter`: True - `save_safetensors`: True - `save_on_each_node`: False - `save_only_model`: False - `no_cuda`: False - `use_cpu`: False - `use_mps_device`: False - `seed`: 42 - `data_seed`: None - `jit_mode_eval`: False - `use_ipex`: False - `bf16`: False - `fp16`: True - `fp16_opt_level`: O1 - `half_precision_backend`: auto - `bf16_full_eval`: False - `fp16_full_eval`: False - `tf32`: None - `local_rank`: 0 - `ddp_backend`: None - `tpu_num_cores`: None - `tpu_metrics_debug`: False - `debug`: [] - `dataloader_drop_last`: False - `dataloader_num_workers`: 0 - `dataloader_prefetch_factor`: None - `past_index`: -1 - `disable_tqdm`: False - `remove_unused_columns`: True - `label_names`: None - `load_best_model_at_end`: False - `ignore_data_skip`: False - `fsdp`: [] - `fsdp_min_num_params`: 0 - `fsdp_config`: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False} - `fsdp_transformer_layer_cls_to_wrap`: None - `accelerator_config`: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'gradient_accumulation_kwargs': None} - `deepspeed`: None - `label_smoothing_factor`: 0.0 - `optim`: adamw_torch - `optim_args`: None - `adafactor`: False - `group_by_length`: False - `length_column_name`: length - `ddp_find_unused_parameters`: None - `ddp_bucket_cap_mb`: None - `ddp_broadcast_buffers`: False - `dataloader_pin_memory`: True - `dataloader_persistent_workers`: False - `skip_memory_metrics`: True - `use_legacy_prediction_loop`: False - `push_to_hub`: False - `resume_from_checkpoint`: None - `hub_model_id`: None - `hub_strategy`: every_save - `hub_private_repo`: False - `hub_always_push`: False - `gradient_checkpointing`: False - `gradient_checkpointing_kwargs`: None - `include_inputs_for_metrics`: False - `eval_do_concat_batches`: True - `fp16_backend`: auto - `push_to_hub_model_id`: None - `push_to_hub_organization`: None - `mp_parameters`: - `auto_find_batch_size`: False - `full_determinism`: False - `torchdynamo`: None - `ray_scope`: last - `ddp_timeout`: 1800 - `torch_compile`: False - `torch_compile_backend`: None - `torch_compile_mode`: None - `dispatch_batches`: None - `split_batches`: None - `include_tokens_per_second`: False - `include_num_input_tokens_seen`: False - `neftune_noise_alpha`: None - `optim_target_modules`: None - `batch_sampler`: no_duplicates - `multi_dataset_batch_sampler`: proportional
### Training Logs | Epoch | Step | Training Loss | sts-test-128_spearman_cosine | sts-test-256_spearman_cosine | sts-test-512_spearman_cosine | sts-test-64_spearman_cosine | sts-test-768_spearman_cosine | |:------:|:----:|:-------------:|:----------------------------:|:----------------------------:|:----------------------------:|:---------------------------:|:----------------------------:| | 0.0229 | 200 | 14.4811 | - | - | - | - | - | | 0.0459 | 400 | 9.0389 | - | - | - | - | - | | 0.0688 | 600 | 8.1478 | - | - | - | - | - | | 0.0918 | 800 | 7.168 | - | - | - | - | - | | 0.1147 | 1000 | 7.1998 | - | - | - | - | - | | 0.1377 | 1200 | 6.7985 | - | - | - | - | - | | 0.1606 | 1400 | 6.3754 | - | - | - | - | - | | 0.1835 | 1600 | 6.3202 | - | - | - | - | - | | 0.2065 | 1800 | 5.9186 | - | - | - | - | - | | 0.2294 | 2000 | 5.9594 | - | - | - | - | - | | 0.2524 | 2200 | 6.0211 | - | - | - | - | - | | 0.2753 | 2400 | 5.9984 | - | - | - | - | - | | 0.2983 | 2600 | 5.8321 | - | - | - | - | - | | 0.3212 | 2800 | 5.621 | - | - | - | - | - | | 0.3442 | 3000 | 5.9004 | - | - | - | - | - | | 0.3671 | 3200 | 5.562 | - | - | - | - | - | | 0.3900 | 3400 | 5.5125 | - | - | - | - | - | | 0.4130 | 3600 | 5.4922 | - | - | - | - | - | | 0.4359 | 3800 | 5.3023 | - | - | - | - | - | | 0.4589 | 4000 | 5.4376 | - | - | - | - | - | | 0.4818 | 4200 | 5.1048 | - | - | - | - | - | | 0.5048 | 4400 | 5.0605 | - | - | - | - | - | | 0.5277 | 4600 | 4.9985 | - | - | - | - | - | | 0.5506 | 4800 | 5.2594 | - | - | - | - | - | | 0.5736 | 5000 | 5.2183 | - | - | - | - | - | | 0.5965 | 5200 | 5.1621 | - | - | - | - | - | | 0.6195 | 5400 | 5.166 | - | - | - | - | - | | 0.6424 | 5600 | 5.2241 | - | - | - | - | - | | 0.6654 | 5800 | 5.1342 | - | - | - | - | - | | 0.6883 | 6000 | 5.2267 | - | - | - | - | - | | 0.7113 | 6200 | 5.1083 | - | - | - | - | - | | 0.7342 | 6400 | 5.0119 | - | - | - | - | - | | 0.7571 | 6600 | 4.6471 | - | - | - | - | - | | 0.7801 | 6800 | 3.6699 | - | - | - | - | - | | 0.8030 | 7000 | 3.2954 | - | - | - | - | - | | 0.8260 | 7200 | 3.1039 | - | - | - | - | - | | 0.8489 | 7400 | 3.001 | - | - | - | - | - | | 0.8719 | 7600 | 2.8992 | - | - | - | - | - | | 0.8948 | 7800 | 2.7504 | - | - | - | - | - | | 0.9177 | 8000 | 2.7891 | - | - | - | - | - | | 0.9407 | 8200 | 2.7157 | - | - | - | - | - | | 0.9636 | 8400 | 2.6795 | - | - | - | - | - | | 0.9866 | 8600 | 2.6278 | - | - | - | - | - | | 1.0 | 8717 | - | 0.6022 | 0.5960 | 0.6064 | 0.5914 | 0.6160 | ### Framework Versions - Python: 3.9.18 - Sentence Transformers: 3.0.1 - Transformers: 4.40.0 - PyTorch: 2.2.2+cu121 - Accelerate: 0.26.1 - Datasets: 2.19.0 - Tokenizers: 0.19.1 ## Citation ### BibTeX #### Sentence Transformers ```bibtex @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", } ``` #### MatryoshkaLoss ```bibtex @misc{kusupati2024matryoshka, title={Matryoshka Representation Learning}, author={Aditya Kusupati and Gantavya Bhatt and Aniket Rege and Matthew Wallingford and Aditya Sinha and Vivek Ramanujan and William Howard-Snyder and Kaifeng Chen and Sham Kakade and Prateek Jain and Ali Farhadi}, year={2024}, eprint={2205.13147}, archivePrefix={arXiv}, primaryClass={cs.LG} } ``` #### MultipleNegativesRankingLoss ```bibtex @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} } ```