Skip to content

Commit

Permalink
tiny tweak to allow BatchEncoding.token_to_char when token doesn't co…
Browse files Browse the repository at this point in the history
…rrespond to chars (huggingface#15901)

* tweak to allow BatchEncoding.char_to_token(0)

* update docstring

* remote trailing whitespace

* make fixup

* make value checking for span_indices explicit

Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>

Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>
  • Loading branch information
2 people authored and elusenji committed Jun 12, 2022
1 parent ad10ca3 commit 477d35f
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions src/transformers/tokenization_utils_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -503,7 +503,8 @@ def token_to_chars(self, batch_or_token_index: int, token_index: Optional[int] =
the sequence.
Returns:
[`~tokenization_utils_base.CharSpan`]: Span of characters in the original string.
[`~tokenization_utils_base.CharSpan`]: Span of characters in the original string, or None, if the token
(e.g. <s>, </s>) doesn't correspond to any chars in the origin string.
"""

if not self._encodings:
Expand All @@ -513,7 +514,9 @@ def token_to_chars(self, batch_or_token_index: int, token_index: Optional[int] =
else:
batch_index = 0
token_index = batch_or_token_index
return CharSpan(*(self._encodings[batch_index].token_to_chars(token_index)))
span_indices = self._encodings[batch_index].token_to_chars(token_index)

return CharSpan(*span_indices) if span_indices is not None else None

def char_to_token(
self, batch_or_char_index: int, char_index: Optional[int] = None, sequence_index: int = 0
Expand Down

0 comments on commit 477d35f

Please # to comment.