Предсказание правильного совпадения описания блюд на французском и английском языках sh - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть обучающий и тестовый набор пар описаний блюд (см. Пример ниже). Имя в паре - это название еды на французском языке, а второе слово - это описание еды на английском языке sh. Traing set также имеет поле trans, которое имеет значение True для правильных описаний и False для неправильных описаний. Задача состоит в том, чтобы предсказать поле trans в тестовом наборе, другими словами, предсказать, какое описание пищи является основным, а что неправильным.

dishes = [{"fr":"Agneau de lait", "eng":"Baby milk-fed lamb", "trans": True},
{"fr":"Agrume", "eng":"Blackcurrants", "trans": False},
{"fr":"Algue", "eng":"Buttermilk", "trans": False},
{"fr":"Aligot", "eng":"potatoes mashed with fresh mountain cheese", "trans": False},
{"fr":"Baba au rhum", "eng":"Star anise", "trans": True},
{"fr":"Babeurre", "eng":"seaweed", "trans": False},
{"fr":"Badiane", "eng":"Sponge cake (often soaked in rum)", "trans": False},
{"fr":"Boeuf bourguignon", "eng":"Créole curry", "trans": False},
{"fr":"Carbonade flamande", "eng":"Beef Stew", "trans": True},
{"fr":"Cari", "eng":"Beef stewed in red wine", "trans": False},
{"fr":"Cassis", "eng":"citrus", "trans": False},
{"fr":"Cassoulet", "eng":"Stew from the South-West of France", "trans": True},
{"fr":"Céleri-rave", "eng":"Celery root", "trans": True}]

df = pd.DataFrame(dishes)

    fr                  eng                                          trans
0   Agneau de lait      Baby milk-fed lamb                           True
1   Agrume              Blackcurrants                                False
2   Algue               Buttermilk                                   False
3   Aligot              potatoes mashed with fresh mountain cheese   False
4   Baba au rhum        Star anise                                   True
5   Babeurre            seaweed                                      False
6   Badiane             Sponge cake (often soaked in rum)            False
7   Boeuf bourguignon   Créole curry                                 False
8   Carbonade flamande  Beef Stew                                    True
9   Cari                Beef stewed in red wine                      False
10  Cassis              citrus                                       False
11  Cassoulet           Stew from the South-West of France           True
12  Céleri-rave         Celery root                                  True

Я думаю решить эту проблему как проблему классификации текста, где текст является конкатенацией французских имен и вложений описания Engli sh.

Вопросы:

  • Какие вложения использовать и как их объединить?
  • Есть еще идеи по поводу подхода к этой проблеме? BERT?

Обновление:

Как насчет следующего подхода:

  • Перевести (с помощью BERT?) Французские имена в английский язык sh
  • Используйте вложения для создания двух векторов: v1 - переведенный Engli sh вектор и v2 - Engli sh вектор описания (из набора данных)
  • Compute v1 - v2
  • Создание нового набора данных с двумя столбцами: v1 - v2 и trans
  • Классификатор поезда для этого нового набора данных

Обновление 2:

Похоже, кросс-языковая классификация может быть правильным решением для моей проблемы:

https://github.com/facebookresearch/XLM#iv -applications-cross-lingual-text-классификация -xnli

Из описания, приведенного на странице со ссылкой выше, пока не ясно, где можно разместить свой собственный набор данных для обучения и как запустить классификатор на моем тестовом наборе. Пожалуйста, помогите понять это. Было бы идеально найти исчерпывающий пример / учебник по межъязыковой классификации.

...