clarinsi / classla

CLASSLA Fork of the Official Stanford NLP Python Library for Many Human Languages
https://www.clarin.si/info/k-centre/
Other
37 stars 17 forks source link

classla and obeliks 1.0.6 vs 1.1.1 #24

Closed itzsimpl closed 2 years ago

itzsimpl commented 2 years ago

Using obeliks==1.0.6 classla returns:

>>> import classla
>>> nlp = classla.Pipeline(lang='sl', processors='tokenize')
>>> nlp("Zastavljeno nam je bilo 127 vprašanj; na vsa smo odgovorili.")
[
  [
    [
      {
        "id": 1,
        "text": "Zastavljeno"
      },
      {
        "id": 2,
        "text": "nam"
      },
      {
        "id": 3,
        "text": "je"
      },
      {
        "id": 4,
        "text": "bilo"
      },
      {
        "id": 5,
        "text": "127"
      },
      {
        "id": 6,
        "text": "vprašanj",
        "misc": "SpaceAfter=No"
      },
      {
        "id": 7,
        "text": ";"
      },
      {
        "id": 8,
        "text": "na"
      },
      {
        "id": 9,
        "text": "vsa"
      },
      {
        "id": 10,
        "text": "smo"
      },
      {
        "id": 11,
        "text": "odgovorili",
        "misc": "SpaceAfter=No"
      },
      {
        "id": 12,
        "text": "."
      }
    ],
    "# newpar id = 1\n# sent_id = 1.1\n# text = Zastavljeno nam je bilo 127 vprašanj; na vsa smo odgovorili.\n"
  ]
]

whereas with obeliks==1.1.1 classla returns

>>> import classla
>>> nlp = classla.Pipeline(lang='sl', processors='tokenize')
>>> nlp("Zastavljeno nam je bilo 127 vprašanj; na vsa smo odgovorili.")
[
  [
    [
      {
        "id": 1,
        "text": "Zastavljeno"
      },
      {
        "id": 2,
        "text": "nam"
      },
      {
        "id": 3,
        "text": "je"
      },
      {
        "id": 4,
        "text": "bilo"
      },
      {
        "id": 5,
        "text": "127"
      },
      {
        "id": 6,
        "text": "vprašanj",
        "misc": "SpaceAfter=No"
      },
      {
        "id": 7,
        "text": "na"
      },
      {
        "id": 8,
        "text": "vsa"
      },
      {
        "id": 9,
        "text": "smo"
      },
      {
        "id": 10,
        "text": "odgovorili",
        "misc": "SpaceAfter=No"
      }
    ],
    "# newpar id = 1\n# sent_id = 1.1\n# text = Zastavljeno nam je bilo 127 vprašanj; na vsa smo odgovorili.\n"
  ]
]

punctuation gets lost, even though obeliks per se seems to return all data; i.e. obeliks==1.0.6:

$ obeliks -c "Zastavljeno nam je bilo sto sedemindvajset vprašanj; na vsa smo odgovorili."
# newpar id = 1
# sent_id = 1.1
# text = Zastavljeno nam je bilo sto sedemindvajset vprašanj; na vsa smo odgovorili.
1       Zastavljeno     _       _       _       _       _       _       _       _
2       nam     _       _       _       _       _       _       _       _
3       je      _       _       _       _       _       _       _       _
4       bilo    _       _       _       _       _       _       _       _
5       sto     _       _       _       _       _       _       _       _
6       sedemindvajset  _       _       _       _       _       _       _       _
7       vprašanj        _       _       _       _       _       _       _       SpaceAfter=No
8       ;       _       _       _       _       _       _       _       _
9       na      _       _       _       _       _       _       _       _
10      vsa     _       _       _       _       _       _       _       _
11      smo     _       _       _       _       _       _       _       _
12      odgovorili      _       _       _       _       _       _       _       SpaceAfter=No
13      .       _       _       _       _       _       _       _       _

and obeliks==1.1.1:

$ obeliks -c "Zastavljeno nam je bilo sto sedemindvajset vprašanj; na vsa smo odgovorili."
# newpar id = 1
# sent_id = 1.1
# text = Zastavljeno nam je bilo sto sedemindvajset vprašanj; na vsa smo odgovorili.
1       Zastavljeno     _       _       _       _       _       _       _       _
2       nam     _       _       _       _       _       _       _       _
3       je      _       _       _       _       _       _       _       _
4       bilo    _       _       _       _       _       _       _       _
5       sto     _       _       _       _       _       _       _       _
6       sedemindvajset  _       _       _       _       _       _       _       _
7       vprašanj        _       _       _       _       _       _       _       SpaceAfter=No
8       ;       ;       PUNCT   Z       _       _       _       _       _
9       na      _       _       _       _       _       _       _       _
10      vsa     _       _       _       _       _       _       _       _
11      smo     _       _       _       _       _       _       _       _
12      odgovorili      _       _       _       _       _       _       _       SpaceAfter=No
13      .       .       PUNCT   Z       _       _       _       _       _
lkrsnik commented 2 years ago

Thank you for feedback!

We are aware of obeliks>=1.1.0 issues with classla version 1.0.2. That is why we are pushing hard for new classla version, which will be compatible with latest obeliks and should resolve this issue.

In the meantime, we suggest using obeliks 1.0.6 with classla 1.0.2.

lkrsnik commented 2 years ago

Classla v1.1.0 is now available and solves this issue.