dictabert-lex / README.md
Shaltiel's picture
Update README.md
255556f
|
raw
history blame
3.68 kB
metadata
license: cc-by-4.0
language:
  - he
inference: false

DictaBERT: A State-of-the-Art BERT Suite for Modern Hebrew

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.

General guidelines for how the lemmatizer works:

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"
    ],
    [
      "讛砖诇讬诐",
      "讛砖诇讬诐"
    ],
    [
      "讗驻专讬诐",
      "讗驻专讬诐"
    ],
    [
      "拽讬砖讜谉",
      "拽讬砖讜谉"
    ],
    [
      "讗转",
      "讗转"
    ],
    [
      "诇讬诪讜讚讬讜",
      "诇讬诪讜讚"
    ],
    [
      "讘驻讬住讜诇",
      "驻讬住讜诇"
    ],
    [
      "诪转讻转",
      "诪转讻转"
    ],
    [
      "讜讘转讜诇讚讜转",
      "转讜诇讚讛"
    ],
    [
      "讛讗诪谞讜转",
      "讗讜诪谞讜转"
    ],
    [
      "讜讛讞诇",
      "讛讞诇"
    ],
    [
      "诇驻专住诐",
      "驻专住诐"
    ],
    [
      "诪讗诪专讬诐",
      "诪讗诪专"
    ],
    [
      "讛讜诪讜专讬住讟讬讬诐",
      "讛讜诪讜专讬住讟讬"
    ]
  ]
]

Citation

If you use DictaBERT in your research, please cite DictaBERT: A State-of-the-Art BERT Suite for Modern Hebrew

BibTeX:

@misc{shmidman2023dictabert,
      title={DictaBERT: A State-of-the-Art BERT Suite for Modern Hebrew}, 
      author={Shaltiel Shmidman and Avi Shmidman and Moshe Koppel},
      year={2023},
      eprint={2308.16687},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}

License

Shield: CC BY 4.0

This work is licensed under a Creative Commons Attribution 4.0 International License.

CC BY 4.0