Член

Как да използвам Transformer за попълване на графика на знания?

Oct 30, 2025Остави съобщение

Попълването на графа на знанието (KGC) е решаваща задача в областта на изкуствения интелект и представянето на знания, целяща да изведе липсваща информация в графа на знанието. Трансформаторът, мощна невронна мрежова архитектура, показа голям потенциал в различни задачи за обработка на естествен език и може също да бъде ефективно приложен към KGC. Като доставчик на Transformer ще споделя как да използвам Transformer за попълване на графика на знанието в този блог.

SZ 11-M Series Three Phase Oil Immersed Distribution TransformerSC(ZB)9 Series 10kV Class Dry-type Transformer

Разбиране на завършването на Графа на знанието

Графиката на знанието е структурирано представяне на знанието под формата на обекти и връзки между тях, обикновено моделирани като набор от тройки (субект, предикат, обект). Например (Алберт Айнщайн, разработен, Обща теория на относителността) е тройка в графика на знанието. Попълването на графата на знанието включва предвиждане на липсващи обекти или връзки в тези тройки. Тази задача е важна за много приложения, като системи за отговаряне на въпроси, системи за препоръки и семантично търсене.

Защо да използвате Transformer за KGC

Архитектурата на Transformer, представена в статията „Вниманието е всичко, от което се нуждаете“, има няколко предимства, които я правят подходяща за попълване на графики на знания:

  1. Механизъм за самовнимание: Механизмът за самоконтрол в Transformer му позволява да улавя дългосрочни зависимости във входната последователност. В контекста на попълването на графа на знанието, той може ефективно да моделира връзките между различни обекти и предикати в тройка.
  2. Паралелна обработка: За разлика от повтарящите се невронни мрежи (RNN), Transformer може да обработва цялата входна последователност паралелно, което значително ускорява процеса на обучение и извод.
  3. Трансферно обучение: Предварително обучените трансформаторни модели, като BERT, показаха отлично представяне при различни задачи за обработка на естествен език. Тези предварително обучени модели могат да бъдат фино настроени за попълване на графики на знания, като се използват знанията, научени от широкомащабни текстови корпуси.

Стъпки за използване на Transformer за KGC

1. Подготовка на данните

Първата стъпка е да подготвите данните за попълване на графиката на знанието. Данните обикновено се състоят от набор от тройки, които могат да бъдат разделени на набори за обучение, валидиране и тестове. Тройките трябва да бъдат кодирани във формат, който Transformer може да обработва. Един общ подход е да се преобразуват обектите и предикатите във вграждания. Например, можем да използваме предварително обучени вграждания на думи или да научим вграждания на обекти и предикати от самата графа на знанието.

2. Дизайн на модела

Можем да проектираме модел, базиран на Transformer, за попълване на графика на знанието. Един от начините е да се използва трансформаторен енкодер за обработка на входните тройки. Входът към енкодера на Transformer може да бъде последователност от вграждания на обекти и предикати. Изходът на енкодера може да се използва за прогнозиране на липсващия обект или предикат в тройка.

Ето прост пример за базиран на Transformer модел за KGC в PyTorch:

импортиране на факел импортиране на torch.nn като nn от torch.nn импортиране на TransformerEncoder, TransformerEncoderLayer клас TransformerKGC(nn.Module): def __init__(self, d_model, nhead, num_layers, dim_feedforward): super(TransformerKGC, self).__init__() encoder_layer = TransformerEncoderLayer(d_model=d_model, nhead=nhead, dim_feedforward=dim_feedforward) self.transformer_encoder = TransformerEncoder(encoder_layer, num_layers=num_layers) self.fc = nn.Linear(d_model, num_entities) def forward(self, src): output = self.transformer_encoder(src) output = self.fc(output[:, 0, :]) return output

В този пример,d_моделе размерът на вгражданията,nheadе броят на главите на вниманието,брой_слоевее броят на слоевете на трансформаторния енкодер, иdim_feedforwardе измерението на захранващата мрежа в трансформаторния енкодер слой.

3. Обучение на модела

След като моделът е проектиран, можем да го обучим на базата на данните за обучение. Целта на обучението обикновено е да се минимизира функцията на загубата, като загубата на кръстосана ентропия. По време на обучението можем да използваме техники като пакетна нормализация, отпадане и планиране на скоростта на обучение, за да подобрим производителността на модела.

импортиране на torch.optim като оптимален модел = TransformerKGC(d_model=128, nhead=4, num_layers=2, dim_feedforward=512) criterion = nn.CrossEntropyLoss() optimizer = optim.Adam(model.parameters(), lr=0.001) за епоха в диапазон (num_epochs): running_loss = 0.0 за i, данни в enumerate(train_loader, 0): inputs, labels = data optimizer.zero_grad() outputs = model(inputs) loss = criterion(outputs, labels) loss.backward() optimizer.step() running_loss += loss.item() print(f'Epoch {epoch + 1}, Loss: {running_loss / len(train_loader)}')

4. Оценяване

След обучението трябва да оценим модела върху комплектите за валидиране и тестване. Общите показатели за оценка за попълване на графиката на знанието включват среден ранг (MR), среден реципрочен ранг (MRR) и Hits@k. Тези показатели измерват колко добре моделът може да класира правилните обекти или предикати сред всички възможни кандидати.

от sklearn.metrics импортирайте mean_rank_score, mean_reciprocal_rank_score model.eval() с torch.no_grad(): all_labels = [] all_preds = [] за данни в test_loader: inputs, labels = data outputs = model(inputs) all_labels.extend(labels.tolist()) all_preds.extend(outputs.tolist()) mr = mean_rank_score(all_labels, all_preds) mrr = mean_reciprocal_rank_score(all_labels, all_preds) print(f'Среден ранг: {mr}, среден реципрочен ранг: {mrr}')

Нашите трансформаторни продукти за KGC

Като доставчик на Transformer, ние предлагаме широка гама от висококачествени Transformer продукти, които могат да се използват за попълване на графики на знания. Например нашатаSC(ZB)9 серия 10kV клас сух трансформаторосигурява стабилно захранване за изчислителната инфраструктура, необходима за обучение и работа на трансформаторни модели. TheSZ 11 - Трифазен маслен разпределителен трансформатор от серия Mсъщо така е надежден избор за широкомащабни центрове за данни, участващи в задачи за попълване на графи на знания. Освен това нашите35kV маслен силов трансформатор с двойна намотка, регулиращ натоварванетоможе да осигури ефективна работа на енергийната система по време на високоинтензивния изчислителен процес.

Заключение

Използването на Transformer за попълване на графики на знания е обещаващ подход, който може да използва силата на архитектурата на Transformer, за да подобри производителността на KGC. Следвайки стъпките за подготовка на данни, проектиране на модел, обучение и оценка, можем да изградим ефективен модел, базиран на Transformer, за попълване на графика на знания. Като доставчик на Transformer, ние се ангажираме да предоставяме висококачествени продукти и техническа поддръжка, за да ви помогнем да постигнете по-добри резултати при попълването на графиката на знанието. Ако се интересувате от нашите продукти или имате въпроси относно използването на трансформатора за KGC, не се колебайте да се свържете с нас за доставка и допълнителни дискусии.

Референции

  1. Vaswani, A., Shazer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, An, ... & Polosukhin, I. (2017). Вниманието е всичко, от което се нуждаете. Напредък в системите за обработка на невронна информация.
  2. Devlin, J., Chang, MW, Lee, K., & Toutanova, K. (2018). BERT: Предварително обучение на дълбоки двупосочни трансформатори за разбиране на езика. arXiv предпечат arXiv:1810.04805.
Изпрати запитване