Model reference · open weights
dictabert-lex is an open-weight embedding model from dicta-il. AxForge deploys and operates it for you on dedicated EU-owned hardware — with the licence handled where one is required.
Available as managed deployment — configured and operated for you on dedicated EU hardware, quoted per deployment.
What it is
| Released by | dicta-il |
|---|---|
| Type | Embedding models |
| Task | Embeddings |
| Parameters (lead) | 184M |
| Context | 512 tokens |
| Runs with | transformers |
| Released | 2024-01-08 |
| Popularity | 15k downloads / month |
| Licence | Open weights |
About
State-of-the-art language model for Hebrew, released here.
This is the fine-tuned model for the lemmatization task.
For the bert-base models for other tasks, see here.
Given an input text in Hebrew, it attempts to match up each word with the correct lexeme from within the BERT vocabulary.
If the word is split up into multiple wordpieces it doesn't cause a problem, we still predict the lexeme with a high accuracy.
If the lexeme of a given token doesn't appear in the vocabulary, the model will attempt to predict a special token [BLANK]. In that case, the word is usually a name of a person or a city, and the lexeme is probably the word after removing prefixes which can be done with the dictabert-seg tool.
For verbs the lexeme is the 3rd person past singular form.
This method is purely neural-based, so in rare instances the predicted lexeme may not be lexically related to the input, but rather a synonym selected from the same semantic space. To handle those edge cases one can implement a filter on top of the prediction to look at the top K matches and choose using a specific set of measures, such as edit distance, to choose the prediction that can more reasonably form a lexeme for the input word.
Sample usage:
from transformers import AutoModel, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained('dicta-il/dictabert-lex')
model = AutoModel.from_pretrained('dicta-il/dictabert-lex', trust_remote_code=True)
model.eval()
sentence = 'בשנת 1948 השלים אפרים קישון את לימודיו בפיסול מתכת ובתולדות האמנות והחל לפרסם מאמרים הומוריסטיים'
print(model.predict([sentence], tokenizer))
Output:
[
[
[
"בשנת",
"שנה"
],
[
"1948",
"1948"
],
[
"השלים",
"השלים"
],
[
"אפרים",
"אפרים"
],
[
"קישון",
"קישון"
],
[
"את",
"את"
],
[
"לימודיו",
"לימוד"
],
[
"בפיסול",
"פיסול"
],
[
"מתכת",
"מתכת"
],
[
"ובתולדות",
"תולדה"
],
[
"האמנות",
"אומנות"
],
[
"והחל",
"החל"
],
[
"לפרסם",
"פרסם"
],
[
"מאמרים",
"מאמר"
],
[
"הומוריסטיים",
"הומוריסטי"
]
]
]
If you use DictaBERT-lex in your research, please cite MRL Parsing without Tears: The Case of Hebrew
BibTeX:
@misc{shmidman2024mrl,
title={MRL Parsing Without Tears: The Case of Hebrew},
author={Shaltiel Shmidman and Avi Shmidman and Moshe Koppel and Reut Tsarfaty},
year={2024},
eprint={2403.06970},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
This work is licensed under a Creative Commons Attribution 4.0 International License.
From the published model card. Full card on the HuggingFace links in the sidebar.
Using it via the API
Once AxForge deploys dictabert-lex for you, it answers on the OpenAI-compatible API — the same base URL and keys as every other model. (dictabert-lex below is illustrative; you get the exact model name on deployment.)
$ curl -sS https://api.axforge.ai/v1/embeddings \
-H "Authorization: Bearer $AXFORGE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"dictabert-lex","input":"text to embed"}'
Create an account — your API key is available in the console. 3M free tokens every 30 days with every new account.