У меня есть обучающий и тестовый набор пар описаний блюд (см. Пример ниже). Имя в паре - это название еды на французском языке, а второе слово - это описание еды на английском языке 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
Из описания, приведенного на странице со ссылкой выше, пока не ясно, где можно разместить свой собственный набор данных для обучения и как запустить классификатор на моем тестовом наборе. Пожалуйста, помогите понять это. Было бы идеально найти исчерпывающий пример / учебник по межъязыковой классификации.