Схожесть вопросов и грамматическая корректность

Обработка естественного языка (NLP) на Python

Fouad Trad

Machine Learning Engineer

Схожесть вопросов

  • Определяет, являются ли два вопроса перефразировками
  • Применяется для:
    • Дедупликации
    • Кластеризации похожих вопросов
    • Повышения точности поиска
  • Используются модели, обученные на наборе данных Quora Question Pairs (QQP)

Изображение трёх людей, задающих вопросы.

Обработка естественного языка (NLP) на Python

QQP pipeline

from transformers import pipeline

qqp_pipeline = pipeline( task="text-classification", model="textattack/bert-base-uncased-QQP" )
question1 = "How can I learn Python?" question2 = "What is the best way to study Python?"
result = qqp_pipeline({"text": question1, "text_pair": question2})
print(result)
{'label': 'LABEL_1', 'score': 0.6853412985801697}
Обработка естественного языка (NLP) на Python

QQP pipeline

from transformers import pipeline
qqp_pipeline = pipeline(
    task="text-classification", 
    model="textattack/bert-base-uncased-QQP"
    )
question1 = "How can I learn Python?"
question2 = "What is the capital of France?"
result = qqp_pipeline({"text": question1, "text_pair": question2})
print(result)
{'label': 'LABEL_0', 'score': 0.9999338388442993}
Обработка естественного языка (NLP) на Python

Оценка грамматической корректности

  • Оценивает грамматическую корректность текста
  • Применяется для:

    • Образовательных инструментов
    • Программ проверки грамматики
    • Помощников по написанию текстов
  • Используются модели, обученные на наборе данных Corpus of Linguistic Acceptability (CoLA)

Изображение человека, оценивающего корректность написанного текста.

Обработка естественного языка (NLP) на Python

CoLA pipeline

from transformers import pipeline
cola_classifier = pipeline(
  task="text-classification", 
  model="textattack/distilbert-base-uncased-CoLA"
)

result = cola_classifier("The cat sat on the mat.")
print(result)
[{'label': 'LABEL_1', 'score': 0.9918296933174133}]
Обработка естественного языка (NLP) на Python

CoLA pipeline

from transformers import pipeline
cola_classifier = pipeline(
  task="text-classification", 
  model="textattack/distilbert-base-uncased-CoLA"
)
result = cola_classifier("The cat on sat mat the.")
print(result)
[{'label': 'LABEL_0', 'score': 0.9628171324729919}]
Обработка естественного языка (NLP) на Python

Давайте потренируемся!

Обработка естественного языка (NLP) на Python

Preparing Video For Download...