Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 17
How to use AQUABOT/sbert-resume-ranking with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("AQUABOT/sbert-resume-ranking")
sentences = [
"Must have 15+ years of experience in software engineering roles using C and Java, 10+ years of experience leading high-performing software engineering teams, 5+ years of experience in financial services or payments processing, Ability to clearly communicate with executive leadership, Experience in AIX, Experience building solutions in public cloud (AWS, Azure, GCP), Manage cross-functional engineering teams, Hands-on engineer pickup stories, code reviews, and support production, End-to-end platform owner and engineer: design, build, and support resilient services solutions, Design performant, efficient, effective, and reusable technical solutions (partnering with architecture)",
"Implemented Asynctask in order to fetch information about doctors in background and then parse response as a list to the UI using JSON, Developed web pages for inventory operation like adding/editing/deleting items Handling incoming/outgoing products to warehouse and maintain database, Implemented Asymmetric Double-Bridge Experiment using Ant System algorithm, which is a meta-heuristic technique, based on ideas from nature for solving optimization problems and other combinatorial optimization, Developed Java servlets to fetch data from SQL database and then form a JSON string and return to client, Validating user login and maintain the user session until the user logs out, Implemented concurrent server & states to handle multiple clients simultaneously, Used PostgreSql for handling backend, Developed an Android application to handle client side and a Java application to implement server",
"Developed server side type and attribute management system with Java program based on MVC pattern., Implemented XML exporter/importer to export/import type and attribute definitions by XML files with Java program., Developed and implemented external enumeration provider to enhance the enumeration management., Implemented a cipher command-line program with this JCE provider to enable ClearPath mainframe to encrypt and decrypt files/elements., Implemented Event Table Reporting program to enhance the functionality of the ClearPath IO Arbitrary Device Interface., Developed and implemented Light Streaming Control protocol for the Time Warner VOD Alpha System using TCP/IP connection., Developed and implemented type and attribute manager service API for type manager client UI., Developed and implemented attribute column tool to enable dynamic to add business object data model's attribute with Java program.",
"Streamlined team operations by re-engineering and documenting processes, and designing training material thereby enhancing team productivity saving time utilization by 50%., Pioneered the development of Case Management Guidelines Handbook within a team, defining end to end case management and documentation processes to facilitate technical support staff handle and document customer calls/cases with precision until closure., Designed and Implemented Backup/Restore strategies, Backup Exec software installation, device, and media management, researching and troubleshooting backup/restore issues, and device and media issues to provide solutions., Involved in defining monthly and annual support targets, work allotment to engineers, administering the support operations to meet the SLAs, documentation and analysis of the support calls on monthly basis, customer, and vendor co-ordination, identifying and widening business opportunities for the organization., Implemented Active Directory, Active Directory implementation and administration, implementing domain and local policies, Group policy management, User, and group management., Generated Asset Management Reports using MS Excel and MS PowerPoint, data extraction and analysis using MS Excel, liaising with other teams within and outside National Grid to ensure regular maintenance of company owned assets took place."
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from sentence-transformers/all-MiniLM-L6-v2. It maps sentences & paragraphs to a 384-dimensional dense vector space and can be used for retrieval.
SentenceTransformer(
(0): Transformer({'transformer_task': 'feature-extraction', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'last_hidden_state'}}, 'module_output_name': 'token_embeddings', 'architecture': 'BertModel'})
(1): Pooling({'embedding_dimension': 384, 'pooling_mode': 'mean', 'include_prompt': True})
(2): Normalize({})
)
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("sentence_transformers_model_id")
# Run inference
sentences = [
"Experienced in implementing process re-engineering, developing business requirements, use cases and test scripts using industry accepted practices., Should possess high level understanding of information technology concepts as well as the SDLC methodology., Must be flexible and able to multi-task, working on multiple projects and internal initiatives, inclusive of upgrades, maintenance, and enhancements., Conducts business process analyses and needs assessments to align information technology solutions with the business initiatives., Supports analytical functions by assisting programmers in ascertaining user needs and adapting user procedures to final program design., Organizes and facilitates application testing and user acceptance to ensure business community's needs are met., Acts as second and third level support for Production incidents and facilitates troubleshooting and close out of reported issues for multiple applications., Utilizes current organization wide and/or department specific software to complete assignments., Experienced in developing business requirements, use cases and test scripts using industry accepted practices., High level understanding of information technology concepts as well as the SDLC methodology.",
"Developing and executing dynamic campaign strategies and methods that yields the best return on investment., Consistently learning and analyzing campaign data and seeking new ways to improve conversion rate and engagement., Performing monthly balance sheet, income statement and changes in financial position/budget variance analysis., Analyzed shipping data and sales data to increase efficiency and performing inventory audit to increase profitability., Interpreted business data, analyzed results using statistical methods and providing ongoing reports and presentations to management to provide insights into decision making., Developed and implementing centralized database and data collections systems to foster collaboration., Monitored and measured the effectiveness of shipping processes., Created daily sales reports on sales from company's eCommerce website with Microsoft Excel., Reconciled financial discrepancies by collecting and analyzing account information., Designed/produced value-added analysis and reporting for senior management.",
'Verified and posted detailed business transactions to general ledger through FASKB system in support of day-to-day operations., Maintained investment program and subsidiary ledgers for partnership investments, including amortization schedule and interest accrual payments., Prepared and posted journal entries for inter company bank transactions in the accounting system., Participated in month-end close process and developed strong working relationships with stakeholders at all levels., Completed monthly balance sheet reconciliations and maintained proper documentation, researching and resolving reconciliation items through communication with various departments., Prepared and processed inter-company invoices, travel expense and reimbursement requests for the department, eliminating discrepancies and ensuring vendor payments were accurate and paid on time., Calculated student tuition, book charges, and posted to student general ledger account using CampusVue, then posted Title IV federal funds payments to student ledger accounts., Performed reconciliations of federal loans and grants, providing explanations, and manually imported and exported batches of Title IV & Non-Title IV funds files containing cash disbursements daily.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 384]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[1.0000, 0.7860, 0.5502],
# [0.7860, 1.0000, 0.6022],
# [0.5502, 0.6022, 1.0000]])
resume-valEmbeddingSimilarityEvaluator| Metric | Value |
|---|---|
| pearson_cosine | 0.6286 |
| spearman_cosine | 0.7118 |
sentence_0, sentence_1, and label| sentence_0 | sentence_1 | label | |
|---|---|---|---|
| type | string | string | float |
| modality | text | text | |
| details |
|
|
|
| sentence_0 | sentence_1 | label |
|---|---|---|
Experience with tools like DX Designer, Altium, etc., Use of test tools for signal integrity, EMC, etc., Desired experience in PCB: Design (preferably PAD), Schematic Capture and layout, Circuit Design, Experience with Capture schematics, PCB layout, routing and (PADs) tools, Working closely with the manufacturing team to ensure through documentation and for production of products, Familiarity with Code Composer Studio, Demonstrated experience in C Programming |
Extensive experience auditing suppliers and collaboratively working towards improving supplier quality to meet requirements, Pioneered advances in sterilization for battery operated portable medical devices, Successfully completed Root Cause Investigation training for CAPA offered by Weaver Consulting, LLC, Successfully completed the UL Knowledge Services training course on Designing for Compliance to IEC 60601-1 3rd Edition, Effectively audited various suppliers to identify root causes of material non-conformance and addressed issues in a timely fashion, Performed extensive process capability studies and tooling validations via IQ, OQ, and PQ, Applied knowledge of ISO 14971 Risk Management System, ISO 13485, 21CFR 820.30, and MDD 93/42/EEC Quality Management Systems, Currently implementing cost saving initiatives for certain access catheters estimated at reducing manufacturing cost by 60-80 percent by performing extensive supplier qualifications, Diplomatically resolved conflicting ex... |
1.0 |
Minimum of 5+ years of recent C++ experience required, Produce, debug, and implement functional software solutions, Execute full software development life cycle (SDLC), Work with internal field service teams to identify and solve issues, Develop high-quality software design and architecture, 7+ years of experience in a similar role with designing, programming, debugging, testing, and supporting multiple product lines, 5+ years experience with selected programming languages (C++), In-depth knowledge of PostgreSQL or other relational databases, Familiarity with the Linux operating system, Familiarity with version control system (GitBitbucket) |
Design, develop and verify data acquisition and sensor interface circuits, Design/Simulated a 600Watt precision current amplifier, Implement the communication and control firmware using C for MSP430 MCU, Develop the firmware using C/C++ for TMS320C6745 DSP and MSP430 MCU, Emulate McASP, SPI, UART and a customized LVDS communication using FPGA, Build motor related reference design and demos, solve customer EMC/EMI problems, Design the high voltage motor drive for the SPS-IPC show using C2000 DSP and ARM MCU |
0.0 |
Work as a technical expert with clients, analysts, programmers and other team members to develop technical solutions, Develop customized coding, software integration, perform analysis, configure solutions, using tools specific to the project, Lead and participate in the development, testing, implementation, maintenance, and support of highly complex solutions, Build non-functional monitoring capabilities and provide escalated support for highly complex applications in production, Build in and maintain security controls and monitoring in support of company standards, Typically lead moderately complex projects and participate in larger, more complex initiatives, Solve complex technical and operational problems and act as a resource for teammates with less experience, In an Agile environment, responsible for delivering high quality working software and automating manual reusable tasks, Develop code in accordance with the acceptance criteria established by the Product Owner, Bachelors Degr... |
Programmed applications and tools using C#/ ASP.Net using MVC and Entity Framework with goals of code abstraction, stability and reuse, Used variety of technologies, including ASP.NET, MVC, HTML5, JavaScript and SQL Server to create new applications, Handled all delegated tasks, including developing and building apps using C and C# to facilitate store employees, Developed and managed project plans while providing status updates to management and assisted in regression testing, Acted as a Business Analyst and effectively led discussions with the Business to get requirements and specifications, Participated in design sessions, and assisted in designing various application programs using C for RF apps, Helped design, develop and implement C # programs for the front end of the RF guns used in stores, Leveraged Agile methodologies to move development lifecycle rapidly through initial prototyping to enterprise-quality testing |
1.0 |
CoSENTLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "pairwise_cos_sim"
}
per_device_train_batch_size: 32per_device_eval_batch_size: 32num_train_epochs: 5multi_dataset_batch_sampler: round_robindo_predict: Falseprediction_loss_only: Trueper_device_train_batch_size: 32per_device_eval_batch_size: 32gradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 5e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1num_train_epochs: 5max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: Nonewarmup_ratio: Nonewarmup_steps: 0log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Trueenable_jit_checkpoint: Falsesave_on_each_node: Falsesave_only_model: Falserestore_callback_states_from_checkpoint: Falseuse_cpu: Falseseed: 42data_seed: Nonebf16: Falsefp16: Falsebf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonelocal_rank: -1ddp_backend: Nonedebug: []dataloader_drop_last: Falsedataloader_num_workers: 0dataloader_prefetch_factor: Nonedisable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Falseignore_data_skip: Falsefsdp: []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: Nonedeepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torch_fusedoptim_args: Nonegroup_by_length: Falselength_column_name: lengthproject: huggingfacetrackio_space_id: trackioddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falsedataloader_pin_memory: Truedataloader_persistent_workers: Falseskip_memory_metrics: Truepush_to_hub: Falseresume_from_checkpoint: Nonehub_model_id: Nonehub_strategy: every_savehub_private_repo: Nonehub_always_push: Falsehub_revision: Nonegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_for_metrics: []eval_do_concat_batches: Trueauto_find_batch_size: Falsefull_determinism: Falseddp_timeout: 1800torch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneinclude_num_input_tokens_seen: noneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseuse_liger_kernel: Falseliger_kernel_config: Noneeval_use_gather_object: Falseaverage_tokens_across_devices: Trueuse_cache: Falseprompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: round_robinrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss | resume-val_spearman_cosine |
|---|---|---|---|
| 0.7937 | 100 | - | 0.3991 |
| 1.0 | 126 | - | 0.5908 |
| 1.5873 | 200 | - | 0.6359 |
| 2.0 | 252 | - | 0.6409 |
| 2.3810 | 300 | - | 0.6557 |
| 3.0 | 378 | - | 0.6835 |
| 3.1746 | 400 | - | 0.6892 |
| 3.9683 | 500 | 5.5916 | 0.6996 |
| 4.0 | 504 | - | 0.6990 |
| 4.7619 | 600 | - | 0.7112 |
| 5.0 | 630 | - | 0.7118 |
@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",
}
@article{10531646,
author={Huang, Xiang and Peng, Hao and Zou, Dongcheng and Liu, Zhiwei and Li, Jianxin and Liu, Kay and Wu, Jia and Su, Jianlin and Yu, Philip S.},
journal={IEEE/ACM Transactions on Audio, Speech, and Language Processing},
title={CoSENT: Consistent Sentence Embedding via Similarity Ranking},
year={2024},
doi={10.1109/TASLP.2024.3402087}
}
Base model
nreimers/MiniLM-L6-H384-uncased