ਡਿਵੈਲਪਰਾਂ ਲਈ ਦੀਪਪਾਵਲੋਵ: #1 NLP ਟੂਲ ਅਤੇ ਚੈਟਬੋਟ ਰਚਨਾ

ਸਾਰਿਆਂ ਨੂੰ ਸਤਿ ਸ਼੍ਰੀ ਅਕਾਲ! ਅਸੀਂ ਇੱਕ ਓਪਨ-ਸੋਰਸ ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਕੁਦਰਤੀ ਭਾਸ਼ਾ ਪ੍ਰੋਸੈਸਿੰਗ (ਕੁਦਰਤੀ ਭਾਸ਼ਾ ਪ੍ਰੋਸੈਸਿੰਗ ਜਾਂ ਸਿਰਫ਼ NLP) ਨਾਲ ਸੰਬੰਧਿਤ ਵਿਹਾਰਕ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਹੱਲ ਕਰਨ ਅਤੇ ਡਾਇਲਾਗ ਏਜੰਟ (ਚੈਟਬੋਟਸ) ਬਣਾਉਣ ਲਈ ਸਮਰਪਿਤ ਲੇਖਾਂ ਦੀ ਇੱਕ ਲੜੀ ਖੋਲ੍ਹ ਰਹੇ ਹਾਂ। ਦੀਪ ਪਾਵਲੋਵ, ਜੋ ਕਿ ਨਿਊਰਲ ਸਿਸਟਮ ਅਤੇ ਡੀਪ ਲਰਨਿੰਗ ਦੀ MIPT ਪ੍ਰਯੋਗਸ਼ਾਲਾ ਵਿੱਚ ਸਾਡੀ ਟੀਮ ਦੁਆਰਾ ਵਿਕਸਤ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ। ਲੜੀ ਦਾ ਮੁੱਖ ਟੀਚਾ ਦੀਪਪਾਵਲੋਵ ਨੂੰ ਡਿਵੈਲਪਰਾਂ ਦੀ ਇੱਕ ਵਿਸ਼ਾਲ ਸ਼੍ਰੇਣੀ ਨਾਲ ਜਾਣੂ ਕਰਵਾਉਣਾ ਹੈ ਅਤੇ ਇਹ ਦਿਖਾਉਣਾ ਹੈ ਕਿ ਤੁਸੀਂ ਮਸ਼ੀਨ ਲਰਨਿੰਗ ਅਤੇ ਗਣਿਤ ਵਿੱਚ ਪੀਐਚਡੀ ਵਿੱਚ ਡੂੰਘੇ ਗਿਆਨ ਤੋਂ ਬਿਨਾਂ ਲਾਗੂ NLP ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਕਿਵੇਂ ਹੱਲ ਕਰ ਸਕਦੇ ਹੋ।

NLP ਕਾਰਜਾਂ ਵਿੱਚ ਟੈਕਸਟ ਦੀ ਭਾਵਨਾ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਨਾ, ਨਾਮਿਤ ਇਕਾਈਆਂ ਨੂੰ ਪਾਰਸ ਕਰਨਾ, ਇਹ ਨਿਰਧਾਰਤ ਕਰਨਾ ਸ਼ਾਮਲ ਹੈ ਕਿ ਵਾਰਤਾਕਾਰ ਤੁਹਾਡੇ ਬੋਟ ਤੋਂ ਕੀ ਚਾਹੁੰਦਾ ਹੈ: ਪੀਜ਼ਾ ਆਰਡਰ ਕਰੋ ਜਾਂ ਪਿਛੋਕੜ ਦੀ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰੋ, ਅਤੇ ਹੋਰ ਬਹੁਤ ਕੁਝ। ਤੁਸੀਂ NLP ਕੰਮਾਂ ਅਤੇ ਤਰੀਕਿਆਂ ਬਾਰੇ ਹੋਰ ਪੜ੍ਹ ਸਕਦੇ ਹੋ ਇੱਥੇ.

ਇਸ ਲੇਖ ਵਿੱਚ, ਅਸੀਂ ਤੁਹਾਨੂੰ ਦਿਖਾਵਾਂਗੇ ਕਿ ਪੂਰਵ-ਸਿਖਿਅਤ NLP ਮਾਡਲਾਂ ਦੇ ਨਾਲ ਇੱਕ REST ਸਰਵਰ ਕਿਵੇਂ ਚਲਾਉਣਾ ਹੈ, ਬਿਨਾਂ ਕਿਸੇ ਵਾਧੂ ਸੰਰਚਨਾ ਜਾਂ ਸਿਖਲਾਈ ਦੇ ਵਰਤਣ ਲਈ ਤਿਆਰ ਹੈ।

ਡਿਵੈਲਪਰਾਂ ਲਈ ਦੀਪਪਾਵਲੋਵ: #1 NLP ਟੂਲ ਅਤੇ ਚੈਟਬੋਟ ਰਚਨਾ

ਦੀਪਪਾਵਲੋਵ ਦੀ ਸਥਾਪਨਾ

ਇੱਥੇ ਅਤੇ ਹੇਠਾਂ, ਲੀਨਕਸ ਲਈ ਨਿਰਦੇਸ਼ ਦਿੱਤੇ ਜਾਣਗੇ। ਵਿੰਡੋਜ਼ ਲਈ, ਸਾਡੇ ਵੇਖੋ ਦਸਤਾਵੇਜ਼

  • ਪਾਈਥਨ ਦੇ ਮੌਜੂਦਾ ਸਮਰਥਿਤ ਸੰਸਕਰਣ ਦੇ ਨਾਲ ਇੱਕ ਵਰਚੁਅਲ ਵਾਤਾਵਰਣ ਬਣਾਓ ਅਤੇ ਕਿਰਿਆਸ਼ੀਲ ਕਰੋ:
    virtualelnv env -p python3.7
    source env/bin/activate
  • ਦੀਪਪਾਵਲੋਵ ਨੂੰ ਇੱਕ ਵਰਚੁਅਲ ਵਾਤਾਵਰਣ ਵਿੱਚ ਸਥਾਪਿਤ ਕਰੋ:
    pip install deeppavlov
    

ਦੀਪਪਾਵਲੋਵ ਮਾਡਲ ਨਾਲ ਇੱਕ REST ਸਰਵਰ ਲਾਂਚ ਕਰਨਾ

ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਕਿ ਅਸੀਂ ਪਹਿਲੀ ਵਾਰ ਦੀਪਪਾਵਲੋਵ ਮਾਡਲ ਦੇ ਨਾਲ ਇੱਕ ਸਰਵਰ ਲਾਂਚ ਕਰੀਏ, ਲਾਇਬ੍ਰੇਰੀ ਦੇ ਆਰਕੀਟੈਕਚਰ ਦੀਆਂ ਕੁਝ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਬਾਰੇ ਗੱਲ ਕਰਨਾ ਲਾਭਦਾਇਕ ਹੋਵੇਗਾ।

DP ਵਿੱਚ ਕਿਸੇ ਵੀ ਮਾਡਲ ਵਿੱਚ ਇਹ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ:

  • ਪਾਈਥਨ ਕੋਡ;
  • ਡਾਉਨਲੋਡ ਕਰਨ ਯੋਗ ਭਾਗ - ਖਾਸ ਡੇਟਾ (ਏਮਬੈਡਿੰਗਜ਼, ਨਿਊਰਲ ਨੈਟਵਰਕਾਂ ਦੇ ਵਜ਼ਨ, ਆਦਿ) 'ਤੇ ਲੜੀਵਾਰ ਸਿਖਲਾਈ ਦੇ ਨਤੀਜੇ;
  • ਇੱਕ ਸੰਰਚਨਾ ਫਾਈਲ (ਇਸ ਤੋਂ ਬਾਅਦ ਸੰਰਚਨਾ ਕਿਹਾ ਜਾਂਦਾ ਹੈ), ਜਿਸ ਵਿੱਚ ਮਾਡਲ ਦੁਆਰਾ ਵਰਤੇ ਗਏ ਕਲਾਸਾਂ, ਡਾਊਨਲੋਡ ਕੀਤੇ ਭਾਗਾਂ ਦੇ URL, ਪਾਈਥਨ ਨਿਰਭਰਤਾ, ਆਦਿ ਬਾਰੇ ਜਾਣਕਾਰੀ ਸ਼ਾਮਲ ਹੁੰਦੀ ਹੈ।

ਅਸੀਂ ਤੁਹਾਨੂੰ ਅਗਲੇ ਲੇਖਾਂ ਵਿੱਚ ਦੀਪਪਾਵਲੋਵ ਦੇ ਹੁੱਡ ਦੇ ਹੇਠਾਂ ਕੀ ਹੈ ਇਸ ਬਾਰੇ ਹੋਰ ਦੱਸਾਂਗੇ, ਹੁਣ ਸਾਡੇ ਲਈ ਇਹ ਜਾਣਨਾ ਕਾਫ਼ੀ ਹੈ:

  • ਦੀਪਪਾਵਲੋਵ ਵਿੱਚ ਕੋਈ ਵੀ ਮਾਡਲ ਇਸਦੀ ਸੰਰਚਨਾ ਦੇ ਨਾਮ ਦੁਆਰਾ ਪਛਾਣਿਆ ਜਾਂਦਾ ਹੈ;
  • ਮਾਡਲ ਨੂੰ ਚਲਾਉਣ ਲਈ, ਤੁਹਾਨੂੰ ਦੀਪਪਾਵਲੋਵ ਸਰਵਰਾਂ ਤੋਂ ਇਸਦੇ ਭਾਗਾਂ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰਨ ਦੀ ਲੋੜ ਹੈ;
  • ਨਾਲ ਹੀ, ਮਾਡਲ ਨੂੰ ਚਲਾਉਣ ਲਈ, ਤੁਹਾਨੂੰ ਪਾਈਥਨ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਸਥਾਪਿਤ ਕਰਨ ਦੀ ਲੋੜ ਹੈ ਜੋ ਇਹ ਵਰਤਦਾ ਹੈ.

ਪਹਿਲਾ ਮਾਡਲ ਜੋ ਅਸੀਂ ਲਾਂਚ ਕਰਾਂਗੇ ਉਹ ਬਹੁ-ਭਾਸ਼ਾਈ ਨਾਮੀ ਇਕਾਈ ਪਛਾਣ (NER) ਹੋਵੇਗਾ। ਮਾਡਲ ਟੈਕਸਟ ਸ਼ਬਦਾਂ ਨੂੰ ਨਾਮਿਤ ਇਕਾਈਆਂ ਦੀ ਕਿਸਮ ਦੇ ਅਨੁਸਾਰ ਸ਼੍ਰੇਣੀਬੱਧ ਕਰਦਾ ਹੈ ਜਿਸ ਨਾਲ ਉਹ ਸਬੰਧਤ ਹਨ (ਸਹੀ ਨਾਮ, ਭੂਗੋਲਿਕ ਨਾਮ, ਮੁਦਰਾਵਾਂ ਦੇ ਨਾਮ, ਅਤੇ ਹੋਰ)। NER ਦੇ ਮੌਜੂਦਾ ਸਭ ਤੋਂ ਤਾਜ਼ਾ ਸੰਸਕਰਣ ਲਈ ਸੰਰਚਨਾ ਨਾਮ:

ner_ontonotes_bert_mult

ਅਸੀਂ ਮਾਡਲ ਦੇ ਨਾਲ REST ਸਰਵਰ ਲਾਂਚ ਕਰਦੇ ਹਾਂ:

  1. ਅਸੀਂ ਇਸਦੀ ਸੰਰਚਨਾ ਵਿੱਚ ਨਿਰਧਾਰਤ ਮਾਡਲ ਨਿਰਭਰਤਾ ਨੂੰ ਕਿਰਿਆਸ਼ੀਲ ਵਰਚੁਅਲ ਵਾਤਾਵਰਣ ਵਿੱਚ ਸਥਾਪਿਤ ਕਰਦੇ ਹਾਂ:
    python -m deeppavlov install ner_ontonotes_bert_mult
    
  2. ਦੀਪਪਾਵਲੋਵ ਸਰਵਰਾਂ ਤੋਂ ਲੜੀਬੱਧ ਮਾਡਲ ਭਾਗਾਂ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰੋ:
    python -m deeppavlov download ner_ontonotes_bert_mult
    

    ਸੀਰੀਅਲਾਈਜ਼ਡ ਕੰਪੋਨੈਂਟ ਦੀਪਪਾਵਲੋਵ ਹੋਮ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਡਾਊਨਲੋਡ ਕੀਤੇ ਜਾਣਗੇ, ਜੋ ਕਿ ਮੂਲ ਰੂਪ ਵਿੱਚ ਸਥਿਤ ਹੈ

    ~/.deeppavlov

    ਡਾਉਨਲੋਡ ਕਰਦੇ ਸਮੇਂ, ਪਹਿਲਾਂ ਤੋਂ ਡਾਊਨਲੋਡ ਕੀਤੇ ਭਾਗਾਂ ਦੀ ਹੈਸ਼ ਨੂੰ ਸਰਵਰ 'ਤੇ ਸਥਿਤ ਭਾਗਾਂ ਦੇ ਹੈਸ਼ਾਂ ਦੇ ਵਿਰੁੱਧ ਚੈੱਕ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਜੇਕਰ ਕੋਈ ਮੇਲ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਡਾਊਨਲੋਡ ਛੱਡ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਮੌਜੂਦਾ ਫ਼ਾਈਲਾਂ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਡਾਊਨਲੋਡ ਕੀਤੇ ਭਾਗਾਂ ਦੇ ਆਕਾਰ ਔਸਤਨ 0.5 ਤੋਂ 8 Gb ਤੱਕ ਵੱਖ-ਵੱਖ ਹੋ ਸਕਦੇ ਹਨ, ਕੁਝ ਮਾਮਲਿਆਂ ਵਿੱਚ ਅਨਜ਼ਿਪ ਕਰਨ ਤੋਂ ਬਾਅਦ 20 Gb ਤੱਕ ਪਹੁੰਚ ਜਾਂਦੇ ਹਨ।

  3. ਅਸੀਂ ਮਾਡਲ ਦੇ ਨਾਲ REST ਸਰਵਰ ਲਾਂਚ ਕਰਦੇ ਹਾਂ:
    python -m deeppavlov riseapi ner_ontonotes_bert_mult -p 5005
    

ਇਸ ਕਮਾਂਡ ਨੂੰ ਚਲਾਉਣ ਦੇ ਨਤੀਜੇ ਵਜੋਂ, ਹੋਸਟ ਮਸ਼ੀਨ ਦੇ ਪੋਰਟ 5005 (ਡਿਫਾਲਟ ਪੋਰਟ 5000 ਹੈ) 'ਤੇ ਇੱਕ ਮਾਡਲ ਵਾਲਾ ਇੱਕ REST ਸਰਵਰ ਲਾਂਚ ਕੀਤਾ ਜਾਵੇਗਾ।

ਮਾਡਲ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਬਾਅਦ, API ਦਸਤਾਵੇਜ਼ਾਂ ਨਾਲ ਸਵੈਗਰ ਅਤੇ ਟੈਸਟ ਕਰਨ ਦੀ ਯੋਗਤਾ URL 'ਤੇ ਲੱਭੀ ਜਾ ਸਕਦੀ ਹੈ http://127.0.0.1:5005. ਆਉ ਇਸ ਨੂੰ ਅੰਤਮ ਬਿੰਦੂ ਤੇ ਭੇਜ ਕੇ ਮਾਡਲ ਦੀ ਜਾਂਚ ਕਰੀਏ http://127.0.0.1:5005/model ਹੇਠ ਲਿਖੀ JSON ਸਮੱਗਰੀ ਦੇ ਨਾਲ ਪੋਸਟ ਬੇਨਤੀ:

{
  "x": [
    "В МФТИ можно добраться на электричке с Савёловского Вокзала.",
    "В юго-западной Руси стог жита оценен в 15 гривен"
  ]
}

ਜਵਾਬ ਵਿੱਚ ਸਾਨੂੰ ਹੇਠਾਂ ਦਿੱਤਾ JSON ਪ੍ਰਾਪਤ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ:

[
  [
    ["В", "МФТИ", "можно", "добраться", "на", "электричке", "с", "Савёловского", "Вокзала", "."],
    ["O", "B-FAC", "O", "O", "O", "O", "O", "B-FAC", "I-FAC", "O"]
  ],
  [
    ["В", "юго", "-", "западной", "Руси", "стог", "жита", "оценен", "в", "15", "гривен"],
    ["O", "B-LOC", "I-LOC", "I-LOC", "I-LOC", "O", "O", "O", "O", "B-MONEY", "I-MONEY"]
  ]
]

ਇਹਨਾਂ ਉਦਾਹਰਣਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਅਸੀਂ DeepPavlov REST API ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਾਂਗੇ।

API DeepPavlov

ਹਰੇਕ ਦੀਪਪਾਵਲੋਵ ਮਾਡਲ ਵਿੱਚ ਘੱਟੋ-ਘੱਟ ਇੱਕ ਇਨਪੁਟ ਆਰਗੂਮੈਂਟ ਹੈ। REST API ਵਿੱਚ, ਆਰਗੂਮੈਂਟਾਂ ਦਾ ਨਾਮ ਦਿੱਤਾ ਗਿਆ ਹੈ, ਉਹਨਾਂ ਦੇ ਨਾਮ ਆਉਣ ਵਾਲੇ ਸ਼ਬਦਕੋਸ਼ ਦੀਆਂ ਕੁੰਜੀਆਂ ਹਨ। ਜ਼ਿਆਦਾਤਰ ਮਾਮਲਿਆਂ ਵਿੱਚ, ਆਰਗੂਮੈਂਟ ਉਹ ਟੈਕਸਟ ਹੁੰਦਾ ਹੈ ਜਿਸ 'ਤੇ ਕਾਰਵਾਈ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਮਾਡਲਾਂ ਦੁਆਰਾ ਵਾਪਸ ਕੀਤੇ ਆਰਗੂਮੈਂਟਾਂ ਅਤੇ ਮੁੱਲਾਂ ਬਾਰੇ ਹੋਰ ਜਾਣਕਾਰੀ ਦਸਤਾਵੇਜ਼ ਦੇ MODELS ਭਾਗ ਵਿੱਚ ਲੱਭੀ ਜਾ ਸਕਦੀ ਹੈ ਦੀਪ ਪਾਵਲੋਵ

ਉਦਾਹਰਨ ਵਿੱਚ, ਆਰਗੂਮੈਂਟ x ਨੂੰ ਦੋ ਸਤਰਾਂ ਦੀ ਇੱਕ ਸੂਚੀ ਦਿੱਤੀ ਗਈ ਸੀ, ਜਿਨ੍ਹਾਂ ਵਿੱਚੋਂ ਹਰੇਕ ਨੂੰ ਵੱਖਰਾ ਮਾਰਕਅੱਪ ਦਿੱਤਾ ਗਿਆ ਸੀ। ਦੀਪਪਾਵਲੋਵ ਵਿੱਚ, ਸਾਰੇ ਮਾਡਲ ਮੁੱਲਾਂ ਦੀ ਇੱਕ ਸੂਚੀ (ਬੈਚ) ਇਨਪੁਟ ਵਜੋਂ ਲੈਂਦੇ ਹਨ ਜੋ ਸੁਤੰਤਰ ਤੌਰ 'ਤੇ ਪ੍ਰੋਸੈਸ ਕੀਤੇ ਜਾਂਦੇ ਹਨ।

ਸ਼ਬਦ "ਬੈਚ" ਮਸ਼ੀਨ ਸਿਖਲਾਈ ਦੇ ਖੇਤਰ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ ਅਤੇ ਇੱਕ ਐਲਗੋਰਿਦਮ ਜਾਂ ਨਿਊਰਲ ਨੈਟਵਰਕ ਦੁਆਰਾ ਇੱਕੋ ਸਮੇਂ ਪ੍ਰੋਸੈਸ ਕੀਤੇ ਗਏ ਸੁਤੰਤਰ ਇਨਪੁਟ ਮੁੱਲਾਂ ਦੇ ਇੱਕ ਬੈਚ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ। ਇਹ ਪਹੁੰਚ ਤੁਹਾਨੂੰ ਇੰਪੁੱਟ ਨੂੰ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਪਾਸ ਕੀਤੇ ਸਮਾਨ ਮੁੱਲ ਦੀ ਤੁਲਨਾ ਵਿੱਚ ਮਾਡਲ ਦੁਆਰਾ ਇੱਕ ਬੈਚ ਦੇ ਇੱਕ ਤੱਤ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਦੇ ਸਮੇਂ (ਅਕਸਰ ਮਹੱਤਵਪੂਰਨ) ਨੂੰ ਘਟਾਉਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। ਪਰ ਪ੍ਰੋਸੈਸਿੰਗ ਨਤੀਜਾ ਸਾਰੇ ਤੱਤਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਹੋਣ ਤੋਂ ਬਾਅਦ ਹੀ ਜਾਰੀ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਇਸ ਲਈ, ਇੱਕ ਆਉਣ ਵਾਲੇ ਬੈਚ ਨੂੰ ਤਿਆਰ ਕਰਦੇ ਸਮੇਂ, ਮਾਡਲ ਦੀ ਗਤੀ ਅਤੇ ਇਸਦੇ ਹਰੇਕ ਵਿਅਕਤੀਗਤ ਤੱਤ ਲਈ ਲੋੜੀਂਦੇ ਪ੍ਰੋਸੈਸਿੰਗ ਸਮੇਂ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਰੱਖਣਾ ਜ਼ਰੂਰੀ ਹੋਵੇਗਾ।

ਜੇਕਰ ਦੀਪਪਾਵਲੋਵ ਮਾਡਲ ਲਈ ਕਈ ਦਲੀਲਾਂ ਹਨ, ਤਾਂ ਉਹਨਾਂ ਵਿੱਚੋਂ ਹਰੇਕ ਨੂੰ ਮੁੱਲਾਂ ਦਾ ਆਪਣਾ ਬੈਚ ਪ੍ਰਾਪਤ ਹੁੰਦਾ ਹੈ, ਅਤੇ ਆਉਟਪੁੱਟ 'ਤੇ ਮਾਡਲ ਹਮੇਸ਼ਾ ਜਵਾਬਾਂ ਦਾ ਇੱਕ ਬੈਚ ਪੈਦਾ ਕਰਦਾ ਹੈ। ਆਊਟਗੋਇੰਗ ਬੈਚ ਦੇ ਤੱਤ ਉਸੇ ਸੂਚਕਾਂਕ ਦੇ ਨਾਲ ਆਉਣ ਵਾਲੇ ਬੈਚਾਂ ਦੇ ਤੱਤਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਦੇ ਨਤੀਜੇ ਹਨ।

ਉਪਰੋਕਤ ਉਦਾਹਰਨ ਵਿੱਚ, ਮਾਡਲ ਦਾ ਨਤੀਜਾ ਹਰੇਕ ਸਤਰ ਨੂੰ ਟੋਕਨਾਂ (ਸ਼ਬਦਾਂ ਅਤੇ ਵਿਰਾਮ ਚਿੰਨ੍ਹਾਂ) ਵਿੱਚ ਵੰਡਣਾ ਸੀ ਅਤੇ ਨਾਮਿਤ ਇਕਾਈ (ਸੰਸਥਾ ਦਾ ਨਾਮ, ਮੁਦਰਾ) ਜਿਸਨੂੰ ਇਹ ਦਰਸਾਉਂਦਾ ਹੈ, ਦੇ ਅਨੁਸਾਰੀ ਟੋਕਨ ਦਾ ਵਰਗੀਕਰਨ ਕਰਨਾ ਸੀ। ਵਰਤਮਾਨ ਵਿੱਚ ਮਾਡਲ ner_ontonotes_bert_mult 18 ਕਿਸਮਾਂ ਦੀਆਂ ਨਾਮਿਤ ਇਕਾਈਆਂ ਨੂੰ ਪਛਾਣਨ ਦੇ ਸਮਰੱਥ, ਇੱਕ ਵਿਸਤ੍ਰਿਤ ਵੇਰਵਾ ਪਾਇਆ ਜਾ ਸਕਦਾ ਹੈ ਇੱਥੇ.

ਦੀਪਪਾਵਲੋਵ ਦੁਆਰਾ ਹੋਰ ਬਾਹਰ-ਦੇ-ਬਾਕਸ ਮਾਡਲ

NER ਤੋਂ ਇਲਾਵਾ, ਲਿਖਣ ਦੇ ਸਮੇਂ ਦੀਪਪਾਵਲੋਵ ਵਿੱਚ ਹੇਠਾਂ ਦਿੱਤੇ ਆਊਟ-ਆਫ-ਬਾਕਸ ਮਾਡਲ ਉਪਲਬਧ ਹਨ:

ਲਿਖਤ ਸਵਾਲ ਦਾ ਜਵਾਬ

ਇਸ ਪਾਠ ਦੇ ਇੱਕ ਟੁਕੜੇ ਨਾਲ ਪਾਠ ਦੇ ਸਵਾਲ ਦਾ ਜਵਾਬ ਦਿਓ। ਮਾਡਲ ਸੰਰਚਨਾ: squad_ru_bert_infer

ਬੇਨਤੀ ਉਦਾਹਰਨ:

{
  "context_raw": [
    "DeepPavlov разрабатывается лабораторией МФТИ.",
    "В юго-западной Руси стог жита оценен в 15 гривен."
  ],
  "question_raw": [
    "Кем разрабатывается DeepPavlov?",
    "Сколько стоил стог жита на Руси?"
  ]
}

ਨਤੀਜਾ:

[
  ["лабораторией МФТИ", 27, 31042.484375],
  ["15 гривен", 39, 1049.598876953125]
]

ਅਪਮਾਨ ਦਾ ਪਤਾ ਲਗਾਉਣਾ

ਉਸ ਵਿਅਕਤੀ ਦੇ ਅਪਮਾਨ ਦੀ ਮੌਜੂਦਗੀ ਦਾ ਪਤਾ ਲਗਾਉਣਾ ਜਿਸ ਨੂੰ ਪਾਠ ਸੰਬੋਧਿਤ ਕੀਤਾ ਗਿਆ ਹੈ (ਲਿਖਣ ਦੇ ਸਮੇਂ - ਕੇਵਲ ਅੰਗਰੇਜ਼ੀ ਲਈ)। ਮਾਡਲ ਸੰਰਚਨਾ: insults_kaggle_conv_bert

ਬੇਨਤੀ ਉਦਾਹਰਨ:


{
  "x": [
    "Money talks, bullshit walks.",
    "You are not the brightest one."
  ]
}

ਨਤੀਜਾ:

[
  ["Not Insult"],
  ["Insult"]
]

ਭਾਵਨਾ ਵਿਸ਼ਲੇਸ਼ਣ

ਪਾਠ ਭਾਵਨਾ ਦਾ ਵਰਗੀਕਰਨ (ਸਕਾਰਾਤਮਕ, ਨਿਰਪੱਖ, ਨਕਾਰਾਤਮਕ). ਮਾਡਲ ਸੰਰਚਨਾ: rusentiment_elmo_twitter_cnn

ਬੇਨਤੀ ਉਦਾਹਰਨ:

{
  "x": [
    "Мне нравится библиотека DeepPavlov.",
    "Я слышал о библиотеке DeepPavlov.",
    "Меня бесят тролли и анонимусы."
  ]
}

ਨਤੀਜਾ:

[
  ["positive"],
  ["neutral"],
  ["negative"]
]

ਪਰਿਭਾਸ਼ਾ ਖੋਜ

ਇਹ ਨਿਰਧਾਰਿਤ ਕਰਨਾ ਕਿ ਕੀ ਦੋ ਵੱਖ-ਵੱਖ ਟੈਕਸਟ ਦਾ ਇੱਕੋ ਅਰਥ ਹੈ। ਮਾਡਲ ਸੰਰਚਨਾ: stand_paraphraser_ru

ਬੇਨਤੀ:

{
  "text_a": [
    "Город погружается в сон, просыпается Мафия.",
    "Президент США пригрозил расторжением договора с Германией."
  ],
  "text_b": [
    "Наступает ночь, все жители города пошли спать, а преступники проснулись.",
    "Германия не собирается поддаваться угрозам со стороны США."
  ]
}

ਨਤੀਜਾ:

[
  [1],
  [0]
]

ਸਾਰੇ ਆਊਟ-ਆਫ-ਬਾਕਸ ਦੀਪਪਾਵਲੋਵ ਮਾਡਲਾਂ ਦੀ ਮੌਜੂਦਾ ਸੂਚੀ ਹਮੇਸ਼ਾ ਲੱਭੀ ਜਾ ਸਕਦੀ ਹੈ ਇੱਥੇ.

ਸਿੱਟਾ

ਇਸ ਲੇਖ ਵਿੱਚ, ਅਸੀਂ ਦੀਪਪਾਵਲੋਵ API ਅਤੇ ਬਕਸੇ ਤੋਂ ਬਾਹਰ ਪ੍ਰਦਾਨ ਕੀਤੀ ਲਾਇਬ੍ਰੇਰੀ ਦੀਆਂ ਕੁਝ ਟੈਕਸਟ ਪ੍ਰੋਸੈਸਿੰਗ ਸਮਰੱਥਾਵਾਂ ਤੋਂ ਜਾਣੂ ਹੋਏ ਹਾਂ। ਇਹ ਧਿਆਨ ਵਿੱਚ ਰੱਖਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਕਿਸੇ ਵੀ NLP ਕਾਰਜ ਲਈ, ਕੰਮ ਦੇ ਵਿਸ਼ਾ ਖੇਤਰ (ਡੋਮੇਨ) ਨਾਲ ਸੰਬੰਧਿਤ ਡੇਟਾ ਸੈੱਟ 'ਤੇ ਮਾਡਲ ਨੂੰ ਸਿਖਲਾਈ ਦੇਣ ਵੇਲੇ ਸਭ ਤੋਂ ਵਧੀਆ ਨਤੀਜਾ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾਵੇਗਾ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਹੋਰ ਮਾਡਲਾਂ ਨੂੰ, ਸਿਧਾਂਤਕ ਤੌਰ 'ਤੇ, ਸਾਰੀਆਂ ਸਥਿਤੀਆਂ ਲਈ ਸਿਖਲਾਈ ਨਹੀਂ ਦਿੱਤੀ ਜਾ ਸਕਦੀ ਹੈ।

ਅਗਲੇ ਲੇਖਾਂ ਵਿੱਚ ਅਸੀਂ ਲਾਇਬ੍ਰੇਰੀ ਦੀਆਂ ਵਾਧੂ ਸੈਟਿੰਗਾਂ ਨੂੰ ਦੇਖਾਂਗੇ, ਡੌਕਰ ਤੋਂ ਦੀਪਪਾਵਲੋਵ ਦੀ ਸ਼ੁਰੂਆਤ ਕਰਾਂਗੇ, ਅਤੇ ਫਿਰ ਅਸੀਂ ਸਿਖਲਾਈ ਮਾਡਲਾਂ 'ਤੇ ਅੱਗੇ ਵਧਾਂਗੇ। ਅਤੇ ਇਹ ਨਾ ਭੁੱਲੋ ਕਿ ਦੀਪਪਾਵਲੋਵ ਕੋਲ ਹੈ ਫੋਰਮ - ਲਾਇਬ੍ਰੇਰੀ ਅਤੇ ਮਾਡਲਾਂ ਬਾਰੇ ਆਪਣੇ ਸਵਾਲ ਪੁੱਛੋ। ਤੁਹਾਡੇ ਧਿਆਨ ਲਈ ਧੰਨਵਾਦ!

ਸਰੋਤ: www.habr.com

ਇੱਕ ਟਿੱਪਣੀ ਜੋੜੋ