metadata
datasets: []
language: []
library_name: sentence-transformers
metrics:
- cosine_accuracy@1
- cosine_accuracy@3
- cosine_accuracy@5
- cosine_accuracy@10
- cosine_precision@1
- cosine_precision@3
- cosine_precision@5
- cosine_precision@10
- cosine_recall@1
- cosine_recall@3
- cosine_recall@5
- cosine_recall@10
- cosine_ndcg@10
- cosine_mrr@10
- cosine_map@100
pipeline_tag: sentence-similarity
tags:
- sentence-transformers
- sentence-similarity
- feature-extraction
- generated_from_trainer
- dataset_size:42333
- loss:MatryoshkaLoss
- loss:MultipleNegativesRankingLoss
widget:
- source_sentence: >-
Tag: chicken & broccoli alfredo
For chicken & broccoli alfredo, these dietary tags go well with it:
dinner, italian cuisine, meat recipes, lunch, italian american cuisine,
american cuisine, pasta recipes, contains dairy, european cuisine,
vegetarian
sentences:
- >-
Tag: chicken & broccoli alfredo
What dietary classifications are suitable for chicken & broccoli
alfredo?
- |-
Tag: vegan pad thai
What dietary labels fit vegan pad thai?
- |-
Tag: apple pie filling
Which dietary tags apply to apple pie filling?
- source_sentence: >-
Tag: beef and broccoli
A small description of beef and broccoli: Stir fried broccoli and tender
beef strips stir-fried in a rich savory sauce.
sentences:
- |-
Tag: chicken lettuce wrap
What are the principal macro ingredients of chicken lettuce wrap?
- |-
Tag: teriyaki tofu
What are the micro ingredients used in teriyaki tofu?
- |-
Tag: beef and broccoli
What’s the best way to describe beef and broccoli?
- source_sentence: >-
Tag: scrambled eggs with veggies
For scrambled eggs with veggies, these dietary tags go well with it:
breakfast, american cuisine, protein rich recipes, stir fry recipes,
gluten free recipes
sentences:
- |-
Tag: kimchi fried rice (chicken)
What are the vital macro ingredients in kimchi fried rice (chicken)?
- |-
Tag: scrambled eggs with veggies
What are the key macro ingredients for scrambled eggs with veggies?
- >-
Tag: scrambled eggs with veggies
How should I label scrambled eggs with veggies in terms of dietary
categories?
- source_sentence: |-
Tag: mixed vegetable stir-fry
Micro ingredients required to cook mixed vegetable stir-fry:
Salt, Cornstarch, Black Pepper Powder
sentences:
- |-
Tag: vegan pad thai
Can you provide a thorough explanation of how to cook vegan pad thai?
- >-
Tag: chicken & broccoli alfredo
What’s involved in preparing the ingredients for chicken & broccoli
alfredo?
- |-
Tag: mixed vegetable stir-fry
What are the main components of mixed vegetable stir-fry?
- source_sentence: >-
Tag: vegan pad thai
Cook time of vegan pad thai based on different serving sizes: Serving 1 -
20 mins, Serving 2 - 25 mins, Serving 3 - 30 mins, Serving 4 - 35 mins
sentences:
- |-
Tag: vegan pad thai
What’s the expected cook time for vegan pad thai?
- |-
Tag: scrambled eggs with veggies
What dietary classifications suit scrambled eggs with veggies?
- |-
Tag: vegetable pulao
What are some creative garnishing tips for vegetable pulao?
model-index:
- name: SentenceTransformer
results:
- task:
type: information-retrieval
name: Information Retrieval
dataset:
name: dim 384
type: dim_384
metrics:
- type: cosine_accuracy@1
value: 0.9688300597779675
name: Cosine Accuracy@1
- type: cosine_accuracy@3
value: 0.9701110162254484
name: Cosine Accuracy@3
- type: cosine_accuracy@5
value: 0.9748078565328779
name: Cosine Accuracy@5
- type: cosine_accuracy@10
value: 0.9946626814688301
name: Cosine Accuracy@10
- type: cosine_precision@1
value: 0.9688300597779675
name: Cosine Precision@1
- type: cosine_precision@3
value: 0.8469968687731283
name: Cosine Precision@3
- type: cosine_precision@5
value: 0.8014944491887276
name: Cosine Precision@5
- type: cosine_precision@10
value: 0.4411614005123826
name: Cosine Precision@10
- type: cosine_recall@1
value: 0.3285582123541133
name: Cosine Recall@1
- type: cosine_recall@3
value: 0.6209009393680616
name: Cosine Recall@3
- type: cosine_recall@5
value: 0.8938791122768492
name: Cosine Recall@5
- type: cosine_recall@10
value: 0.9605094343458989
name: Cosine Recall@10
- type: cosine_ndcg@10
value: 0.9592536302802654
name: Cosine Ndcg@10
- type: cosine_mrr@10
value: 0.9733707623385245
name: Cosine Mrr@10
- type: cosine_map@100
value: 0.9539794228951505
name: Cosine Map@100
- task:
type: information-retrieval
name: Information Retrieval
dataset:
name: dim 256
type: dim_256
metrics:
- type: cosine_accuracy@1
value: 0.9679760888129804
name: Cosine Accuracy@1
- type: cosine_accuracy@3
value: 0.9692570452604612
name: Cosine Accuracy@3
- type: cosine_accuracy@5
value: 0.9752348420153715
name: Cosine Accuracy@5
- type: cosine_accuracy@10
value: 0.9948761742100769
name: Cosine Accuracy@10
- type: cosine_precision@1
value: 0.9679760888129804
name: Cosine Precision@1
- type: cosine_precision@3
value: 0.8459294050668943
name: Cosine Precision@3
- type: cosine_precision@5
value: 0.7992741246797609
name: Cosine Precision@5
- type: cosine_precision@10
value: 0.43917591801878736
name: Cosine Precision@10
- type: cosine_recall@1
value: 0.32842427107478345
name: Cosine Recall@1
- type: cosine_recall@3
value: 0.6204243930706356
name: Cosine Recall@3
- type: cosine_recall@5
value: 0.8918949005733805
name: Cosine Recall@5
- type: cosine_recall@10
value: 0.9569316518238379
name: Cosine Recall@10
- type: cosine_ndcg@10
value: 0.9566533189656364
name: Cosine Ndcg@10
- type: cosine_mrr@10
value: 0.9727438392094664
name: Cosine Mrr@10
- type: cosine_map@100
value: 0.9511517923410544
name: Cosine Map@100
- task:
type: information-retrieval
name: Information Retrieval
dataset:
name: dim 128
type: dim_128
metrics:
- type: cosine_accuracy@1
value: 0.9694705380017079
name: Cosine Accuracy@1
- type: cosine_accuracy@3
value: 0.9705380017079419
name: Cosine Accuracy@3
- type: cosine_accuracy@5
value: 0.9760888129803587
name: Cosine Accuracy@5
- type: cosine_accuracy@10
value: 0.9948761742100769
name: Cosine Accuracy@10
- type: cosine_precision@1
value: 0.9694705380017079
name: Cosine Precision@1
- type: cosine_precision@3
value: 0.8471391972672928
name: Cosine Precision@3
- type: cosine_precision@5
value: 0.798462852263023
name: Cosine Precision@5
- type: cosine_precision@10
value: 0.43800170794193005
name: Cosine Precision@10
- type: cosine_recall@1
value: 0.3286967284778983
name: Cosine Recall@1
- type: cosine_recall@3
value: 0.6210852039363994
name: Cosine Recall@3
- type: cosine_recall@5
value: 0.8912874628929282
name: Cosine Recall@5
- type: cosine_recall@10
value: 0.9550379203773738
name: Cosine Recall@10
- type: cosine_ndcg@10
value: 0.9558695124747556
name: Cosine Ndcg@10
- type: cosine_mrr@10
value: 0.9739451594756885
name: Cosine Mrr@10
- type: cosine_map@100
value: 0.9499982560169666
name: Cosine Map@100
- task:
type: information-retrieval
name: Information Retrieval
dataset:
name: dim 64
type: dim_64
metrics:
- type: cosine_accuracy@1
value: 0.9698975234842016
name: Cosine Accuracy@1
- type: cosine_accuracy@3
value: 0.9720324508966696
name: Cosine Accuracy@3
- type: cosine_accuracy@5
value: 0.9771562766865927
name: Cosine Accuracy@5
- type: cosine_accuracy@10
value: 0.9938087105038429
name: Cosine Accuracy@10
- type: cosine_precision@1
value: 0.9698975234842016
name: Cosine Precision@1
- type: cosine_precision@3
value: 0.8472815257614573
name: Cosine Precision@3
- type: cosine_precision@5
value: 0.7965841161400511
name: Cosine Precision@5
- type: cosine_precision@10
value: 0.4339666951323655
name: Cosine Precision@10
- type: cosine_recall@1
value: 0.3288006791102436
name: Cosine Recall@1
- type: cosine_recall@3
value: 0.621300984099874
name: Cosine Recall@3
- type: cosine_recall@5
value: 0.889481670123216
name: Cosine Recall@5
- type: cosine_recall@10
value: 0.9478284738318897
name: Cosine Recall@10
- type: cosine_ndcg@10
value: 0.9517343805870713
name: Cosine Ndcg@10
- type: cosine_mrr@10
value: 0.974398746831496
name: Cosine Mrr@10
- type: cosine_map@100
value: 0.9459942940005901
name: Cosine Map@100
- task:
type: information-retrieval
name: Information Retrieval
dataset:
name: dim 32
type: dim_32
metrics:
- type: cosine_accuracy@1
value: 0.9690435525192144
name: Cosine Accuracy@1
- type: cosine_accuracy@3
value: 0.9707514944491887
name: Cosine Accuracy@3
- type: cosine_accuracy@5
value: 0.9769427839453458
name: Cosine Accuracy@5
- type: cosine_accuracy@10
value: 0.9929547395388557
name: Cosine Accuracy@10
- type: cosine_precision@1
value: 0.9690435525192144
name: Cosine Precision@1
- type: cosine_precision@3
value: 0.8464987190435526
name: Cosine Precision@3
- type: cosine_precision@5
value: 0.7940222032450898
name: Cosine Precision@5
- type: cosine_precision@10
value: 0.4318531169940221
name: Cosine Precision@10
- type: cosine_recall@1
value: 0.3286197185962344
name: Cosine Recall@1
- type: cosine_recall@3
value: 0.6208008011060958
name: Cosine Recall@3
- type: cosine_recall@5
value: 0.8871009719002887
name: Cosine Recall@5
- type: cosine_recall@10
value: 0.9440570228945548
name: Cosine Recall@10
- type: cosine_ndcg@10
value: 0.9489614439178549
name: Cosine Ndcg@10
- type: cosine_mrr@10
value: 0.9734810669215016
name: Cosine Mrr@10
- type: cosine_map@100
value: 0.9417483259746888
name: Cosine Map@100
SentenceTransformer
This is a sentence-transformers model trained. It maps sentences & paragraphs to a 384-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
- Maximum Sequence Length: 512 tokens
- Output Dimensionality: 384 tokens
- Similarity Function: Cosine Similarity
Model Sources
Full Model Architecture
SentenceTransformer(
(0): Transformer({'max_seq_length': 512, 'do_lower_case': True}) with Transformer model: BertModel
(1): Pooling({'word_embedding_dimension': 384, 'pooling_mode_cls_token': True, 'pooling_mode_mean_tokens': False, '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): 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
model = SentenceTransformer("Adi-0-0-Gupta/Embedding-v2")
sentences = [
'Tag: vegan pad thai\n\nCook time of vegan pad thai based on different serving sizes: Serving 1 - 20 mins, Serving 2 - 25 mins, Serving 3 - 30 mins, Serving 4 - 35 mins',
'Tag: vegan pad thai\n\nWhat’s the expected cook time for vegan pad thai?',
'Tag: scrambled eggs with veggies\n\nWhat dietary classifications suit scrambled eggs with veggies?',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
Evaluation
Metrics
Information Retrieval
Metric |
Value |
cosine_accuracy@1 |
0.9688 |
cosine_accuracy@3 |
0.9701 |
cosine_accuracy@5 |
0.9748 |
cosine_accuracy@10 |
0.9947 |
cosine_precision@1 |
0.9688 |
cosine_precision@3 |
0.847 |
cosine_precision@5 |
0.8015 |
cosine_precision@10 |
0.4412 |
cosine_recall@1 |
0.3286 |
cosine_recall@3 |
0.6209 |
cosine_recall@5 |
0.8939 |
cosine_recall@10 |
0.9605 |
cosine_ndcg@10 |
0.9593 |
cosine_mrr@10 |
0.9734 |
cosine_map@100 |
0.954 |
Information Retrieval
Metric |
Value |
cosine_accuracy@1 |
0.968 |
cosine_accuracy@3 |
0.9693 |
cosine_accuracy@5 |
0.9752 |
cosine_accuracy@10 |
0.9949 |
cosine_precision@1 |
0.968 |
cosine_precision@3 |
0.8459 |
cosine_precision@5 |
0.7993 |
cosine_precision@10 |
0.4392 |
cosine_recall@1 |
0.3284 |
cosine_recall@3 |
0.6204 |
cosine_recall@5 |
0.8919 |
cosine_recall@10 |
0.9569 |
cosine_ndcg@10 |
0.9567 |
cosine_mrr@10 |
0.9727 |
cosine_map@100 |
0.9512 |
Information Retrieval
Metric |
Value |
cosine_accuracy@1 |
0.9695 |
cosine_accuracy@3 |
0.9705 |
cosine_accuracy@5 |
0.9761 |
cosine_accuracy@10 |
0.9949 |
cosine_precision@1 |
0.9695 |
cosine_precision@3 |
0.8471 |
cosine_precision@5 |
0.7985 |
cosine_precision@10 |
0.438 |
cosine_recall@1 |
0.3287 |
cosine_recall@3 |
0.6211 |
cosine_recall@5 |
0.8913 |
cosine_recall@10 |
0.955 |
cosine_ndcg@10 |
0.9559 |
cosine_mrr@10 |
0.9739 |
cosine_map@100 |
0.95 |
Information Retrieval
Metric |
Value |
cosine_accuracy@1 |
0.9699 |
cosine_accuracy@3 |
0.972 |
cosine_accuracy@5 |
0.9772 |
cosine_accuracy@10 |
0.9938 |
cosine_precision@1 |
0.9699 |
cosine_precision@3 |
0.8473 |
cosine_precision@5 |
0.7966 |
cosine_precision@10 |
0.434 |
cosine_recall@1 |
0.3288 |
cosine_recall@3 |
0.6213 |
cosine_recall@5 |
0.8895 |
cosine_recall@10 |
0.9478 |
cosine_ndcg@10 |
0.9517 |
cosine_mrr@10 |
0.9744 |
cosine_map@100 |
0.946 |
Information Retrieval
Metric |
Value |
cosine_accuracy@1 |
0.969 |
cosine_accuracy@3 |
0.9708 |
cosine_accuracy@5 |
0.9769 |
cosine_accuracy@10 |
0.993 |
cosine_precision@1 |
0.969 |
cosine_precision@3 |
0.8465 |
cosine_precision@5 |
0.794 |
cosine_precision@10 |
0.4319 |
cosine_recall@1 |
0.3286 |
cosine_recall@3 |
0.6208 |
cosine_recall@5 |
0.8871 |
cosine_recall@10 |
0.9441 |
cosine_ndcg@10 |
0.949 |
cosine_mrr@10 |
0.9735 |
cosine_map@100 |
0.9417 |
Training Details
Training Dataset
Unnamed Dataset
- Size: 42,333 training samples
- Columns:
positive
and anchor
- Approximate statistics based on the first 1000 samples:
|
positive |
anchor |
type |
string |
string |
details |
- min: 17 tokens
- mean: 71.13 tokens
- max: 433 tokens
|
- min: 14 tokens
- mean: 22.97 tokens
- max: 41 tokens
|
- Samples:
positive |
anchor |
Tag: beef and broccoli
A small description of beef and broccoli: Stir fried broccoli and tender beef strips stir-fried in a rich savory sauce. |
Tag: beef and broccoli
How do you describe beef and broccoli? |
Tag: beef and broccoli
Garnishing tips for beef and broccoli: Best served on it's own or on top of hot rice with chopped scallions! |
Tag: beef and broccoli
What are some classic garnishes for beef and broccoli? |
Tag: beef and broccoli
For beef and broccoli, these dietary tags go well with it: dinner, contains soy, meat recipes, asian american cuisine, lunch, american cuisine, beef recipes, asian cuisine, chinese cuisine, hearty recipes, rice recipes, protein rich recipes, non vegetarian, saucy recipes, stir fry recipes, healthy recipes |
Tag: beef and broccoli
What dietary labels suit beef and broccoli? |
- Loss:
MatryoshkaLoss
with these parameters:{
"loss": "MultipleNegativesRankingLoss",
"matryoshka_dims": [
384,
256,
128,
64,
32
],
"matryoshka_weights": [
1,
1,
1,
1,
1
],
"n_dims_per_step": -1
}
Training Hyperparameters
Non-Default Hyperparameters
eval_strategy
: steps
per_device_train_batch_size
: 32
per_device_eval_batch_size
: 32
gradient_accumulation_steps
: 16
learning_rate
: 2e-05
num_train_epochs
: 100
lr_scheduler_type
: constant
warmup_ratio
: 0.1
bf16
: True
tf32
: True
load_best_model_at_end
: True
optim
: adamw_torch_fused
batch_sampler
: no_duplicates
All Hyperparameters
Click to expand
overwrite_output_dir
: False
do_predict
: False
eval_strategy
: steps
prediction_loss_only
: True
per_device_train_batch_size
: 32
per_device_eval_batch_size
: 32
per_gpu_train_batch_size
: None
per_gpu_eval_batch_size
: None
gradient_accumulation_steps
: 16
eval_accumulation_steps
: None
learning_rate
: 2e-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
: 100
max_steps
: -1
lr_scheduler_type
: constant
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
restore_callback_states_from_checkpoint
: False
no_cuda
: False
use_cpu
: False
use_mps_device
: False
seed
: 42
data_seed
: None
jit_mode_eval
: False
use_ipex
: False
bf16
: True
fp16
: False
fp16_opt_level
: O1
half_precision_backend
: auto
bf16_full_eval
: False
fp16_full_eval
: False
tf32
: True
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
: True
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, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
deepspeed
: None
label_smoothing_factor
: 0.0
optim
: adamw_torch_fused
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_eval_metrics
: False
batch_sampler
: no_duplicates
multi_dataset_batch_sampler
: proportional
Training Logs
Epoch |
Step |
Training Loss |
dim_128_cosine_map@100 |
dim_256_cosine_map@100 |
dim_32_cosine_map@100 |
dim_384_cosine_map@100 |
dim_64_cosine_map@100 |
0.3023 |
25 |
2.7893 |
0.9106 |
0.9169 |
0.8833 |
0.9193 |
0.9013 |
0.6047 |
50 |
1.6554 |
0.9061 |
0.9153 |
0.8858 |
0.9199 |
0.8970 |
0.9070 |
75 |
0.7514 |
0.9361 |
0.9382 |
0.9216 |
0.9423 |
0.9292 |
1.2079 |
100 |
1.2044 |
0.9334 |
0.9370 |
0.9186 |
0.9413 |
0.9263 |
1.5102 |
125 |
1.4103 |
0.9312 |
0.9342 |
0.9146 |
0.9382 |
0.9222 |
1.8125 |
150 |
0.6925 |
0.9444 |
0.9463 |
0.9326 |
0.9502 |
0.9385 |
2.1134 |
175 |
0.7937 |
0.9333 |
0.9376 |
0.9196 |
0.9410 |
0.9256 |
2.4157 |
200 |
1.3185 |
0.9321 |
0.9355 |
0.9191 |
0.9399 |
0.9245 |
2.7181 |
225 |
1.0296 |
0.9400 |
0.9426 |
0.9293 |
0.9466 |
0.9345 |
3.0189 |
250 |
0.3606 |
0.9342 |
0.9373 |
0.9231 |
0.9417 |
0.9282 |
3.3212 |
275 |
1.2364 |
0.9381 |
0.9410 |
0.9273 |
0.9444 |
0.9312 |
3.6236 |
300 |
1.2507 |
0.9305 |
0.9340 |
0.9193 |
0.9385 |
0.9233 |
3.9259 |
325 |
0.3211 |
0.9500 |
0.9512 |
0.9417 |
0.9540 |
0.9460 |
Framework Versions
- Python: 3.10.12
- Sentence Transformers: 3.0.1
- Transformers: 4.41.2
- PyTorch: 2.1.2+cu121
- Accelerate: 0.31.0
- Datasets: 2.19.1
- Tokenizers: 0.19.1
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",
}
MatryoshkaLoss
@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
@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}
}