SEO
1581436547

Google Cloud Natural Language API за SEO - Същност и Характеристики

Google Cloud Natural Language API

В тази статия ще разгледаме в подробности какви са възможностите, които имате с Google Cloud Natural Language API. Ще видим какви са те от SEO гледна точка и защо е добре да не подценяваме силата на изкуствения интелект.

Съдържание:

Какво представлява Google Cloud Natural Language API

Google Cloud Natural Language API представлява модел на машинно обучение, който може да анализира синтаксиса, чувствата и настроенията в един текст. Изключително гъвкаво и функционално API, което тепърва ще се развива много. 

Тук трябва да се има предвид, че това API е част от глобалното семейство на Machine Learning API-тата на Google и при него се използват най-развитите модели на машинно обучение. 

Кои са основните функционалности

Cloud Natural Language API има различни методи за извършване на анализ върху вашите текстове. Всеки един от методите съдържа изключително ценна информация за разбиране на езика. Това са:

  • Синтактичен анализ;
  • Анализ и разпознаване на субекти;
  • Анализ на настроенията на субектите;
  • Анализ на чувствата;
  • Класификация на съдържанието.

Ще ги разгледаме малко по-подробно, защото определено си заслужава да им бъде отделено повече внимание.

Синтактичен анализ 

Синтактичният анализ извлича езикова информация като разбива даден текст на поредица изречения и лексеми*. Синтактичният анализ се извършва чрез метода analyzeSyntax. Допълнителна информация можете да откриете тук.

Прави се подробна разбивка на всички думи като информацията се разделя на две части:

      • Част на речта;
      • Дърво” на зависимостите.

1. Част на речта

Тази част съдържа информация за морфологията на всяка дума.За всяка дума се прави анализ, който съдържа:

  • Нейната класификация като част на речта (дали е съществително, глагол и т.н.)
  • Спрежение;
  • Граматическо настроение;
    и много други...

Част на речта

2. Дърво на зависимостите

Дървото на зависимостите описва синтактичната структура на всяко едно изречение. 

Дървото на зависимостите описва синтактичната структура на всяко едно изречение

Python библиотеките nltk и spaCy съдържат подобни функционалности, но трябва да се има предвид, че Google Cloud Natural Language API е една идея по-лесен за използване. В крайна сметка при всеки е много строго индивидуално. Също така трябва да се има предвид, че spaCy и nltk са с отворен код и следователно са безплатни. Използването на Natural Language API-то обаче струва пари след определен брой безплатни заявки, което ще опишем по-долу в статията.

Анализ на субекти

Анализа на субектите проверява дадения текст за известни преобразувания (съществителни имена като публични личности, забележителности и т.н.) и връща информация за това. Анализът на субектите се извършва с analyzeEntities метода. Допълнителна документация тук.

GCNP API предоставя данни за всеки открит субект и дори предоставя връзки към конкретната статия в Wikipedia (ако съществува такава). Също така се изчислява и степен на видимост. Например резултатите, които са по-близко до 0, са по-малко забележими, докато оценките по-близо до 1.0 са много по-забележими.

Също така се изчислява и степен на видимост.

Анализ на чувството

Услугата за синтактичен анализ се използва най-вече за създаването на функции, които после се въвеждат в модели за машинно обучение. Тук обаче анализът на чувството се използва малко по-различно.

Анализът на чувството предоставя емоционалното мнение в рамките на предоставения текст.

Cloud Natural Language API връща две стойности:

      • Score - описва емоцията в текста в стойност от -1 (отрицателна) до +1(положителна) като 0 е неутрална;
      • Magnitude - измерва силата на емоцията.

Най-добре ще успеем да обясним тези стойности със следните примери:

Най-добре ще успеем да обясним тези стойности със следните примери

и.....

Най-добре ще успеем да обясним тези стойности със следните примери

В горепосочените примери можем да видим основната разлика в двата показателя. В първото изречение имаме доста силно изразена емоция чрез думата “hate” (мразя), докато във втория пример имаме отново емоция, но тя е по-слабо изразена чрез думите “I don’t like” (не харесвам). 

Все пак трябва да се има предвид, че тук все още нямаме поддръжка на български език. Доста често се добавя поддръжка и за останалите езици, но за съжаление нашият език все още го няма. Този анализ поддържа следните езици:

Все пак трябва да се има предвид, че тук все още нямаме поддръжка на български език.

Анализ на настроенията на субекта

Анализът на настроенията на субекта съчетава анализ на субекта и анализ на чувствата. Тук отново нагласите на субектите се представят от числови стойности и величини. След това тези резултати се сумират в обща оценка на настроенията. Това е един по-сложен процес, който изисква допълнително внимание, за да бъде изцяло разбран. По-любопитните могат да прегледат пълната документация от Google тук. 

Анализът на настроенията на субекта съчетава анализ на субекта и анализ на чувствата

Анализът на настроенията на субектите засега работи само за английски, японски и испански език. 

Класификация на съдържанието

Класификацията на съдържанието анализира документа и връща списък от категории, които се отнасят за текста намерен в документа. Използва се classifyText метода. Допълнителна документация тук. 

>Класификацията на съдържанието анализира документа и връща списък от категории, които се отнасят за текста намерен в документа

Как да активираме Cloud Natural Language API

Преди да започнете да използвате API-то на Cloud Vision, трябва да го активирате за вашия проект в Google Cloud платформата:

1. Изберете вашия проект или създайте нов тук.

2. Добавете валиден метод за таксуване във вашия Google Cloud акаунт. Допълнителна информация тук.

3. Активирайте API на Cloud Natural Language  тук.

Активирайте API на Cloud Natural Language

4. Настройте удостоверяване:

4.1. В Cloud конзолата отидете на Create service account key страницата тук.

 Cloud конзолата отидете на Create service account key страницата

4.2. От Service account менюто изберете New service account.

От Service account менюто изберете New service account

4.3. След това въведете някакво име (нещо, което ще е разпознаваемо) в Service account name полето и от Role менюто изберете Project>Owner

След това въведете някакво име (нещо, което ще е разпознаваемо) в Service account name полето и от Role менюто изберете Project>Owner

4.4.Накрая кликнете върху създаването на .JSON файла, който ще съдържа вашите ключове на вашия компютър. 

Накрая кликнете върху създаването на .JSON файла, който ще съдържа вашите ключове на вашия компютър

Може да се запознаете с допълнителните настройки нужни след активацията на API-то тук

Cloud Natural Language API осигурява поддръжка за широк спектър от езици като Go, C#, Java, PHP, Node.js, Python, Ruby

Как да правим анализ с помощта на Google Sheets

ак да правим анализ с помощта на Google Sheets

Ще ви покажем пример с Google Sheets и интеграция с Cloud NL API. Трябва да се има предвид, че е важно да бъде направено поне 2-3 пъти, за да може да се схване логиката и начина на интеграция и работа с API-то. 

Ще извършим следните 3 стъпки:

1. Предварително импортиране на данните в таблица (lifehack: https://sheet.new ).

2. Предварителна обработка на данните.

3. Изпращане на данните до Cloud NL API.

Импортиране на данни

Препоръчително е да импортираме предварително данните, които ще обработваме. 

Препоръчително е да импортираме предварително данните, които ще обработваме

Трябва да се има предвид, че в този пример ще използваме анализ на настроенията, който все още не поддържа български език и затова преминаваме към стъпка 2.

Обработка на данните

Именно защото анализът на настроенията не поддържа български език, е препоръчително да използваме конкретни формули в Google Sheets. Това са вградените формулите, които превеждат текст: DETECTLANGUAGE и GOOGLETRANSLATE

Това са вградените формулите, които превеждат текст: DETECTLANGUAGE и GOOGLETRANSLATE

Изпращане на данните

Разписва се функция, която се казва retrieveEntitySentiment, която приема текста като параметър и изпраща към analyzeEntitySentiment.

Функцията:

function onOpen() {
  var ui = SpreadsheetApp.getUi();
 
  ui.createMenu('Review Analysis Tools')
    .addItem('Analyze Sentiment', 'analyzeSentiment')
    .addToUi();
}

function analyzeSentiment() {

    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getActiveSheet();
 
    var startRow = 2;
    var startColumn = 1;
    var numColumns = sheet.getLastColumn();
    var numRows = sheet.getLastRow();
   
 
    //Get the number of rows
    var dataRange = sheet.getRange(startRow,startColumn,numRows-1,numColumns);
    var data = dataRange.getValues();
    for (var i = 0; i < data.length; ++i) {
      var row = data[i];
      var review = row[3]; //review column
     
      //Invoke the retrieveSentiment method
      var score = retrieveSentiment(review);
     
      //Find the cell in the row (5th column) to insert the Sentiment score.
      var range = sheet.getRange(startRow+i,numColumns);
      //range.setValue(score);
      if (score < 0) {
        range.setBackground("RED");
      } else if (score > 0) {
        range.setBackground("GREEN");
      } else {
        range.setBackground("YELLOW");
    }
    }
}

function retrieveSentiment (line) {
  var apiKey = "YOUR_API_KEY";
  var apiEndpoint = 'https://language.googleapis.com/v1/documents:analyzeSentiment?key=' + apiKey;


  var reviewData = {
    language: 'en-us',
    type: 'PLAIN_TEXT',
    content: line
  };
 
  var nlAPIData = {
    document: reviewData,
    encodingType: 'UTF8'
  };
 
  var nlCallOptions = {
    method : 'post',
    contentType: 'application/json',
    payload : JSON.stringify(nlAPIData)
  }
 
  var response = UrlFetchApp.fetch(apiEndpoint, nlCallOptions);
 
  var data = JSON.parse(response);
 
  var sentiment = 0.0;
  if (data && data.documentSentiment && data.documentSentiment.score){
    sentiment = data.documentSentiment.score;
  }
 
  return sentiment;
}

Вътре трябва да предоставите и ключ за API-то в следния ред:

var apiKey = "YOUR_API_KEY";

В резултат получаваме това:

Като резултат получаваме това

Трябва да  се има предвид, че има много възможности за използване на Cloud NL API заедно с Google Sheets. Можете да прочетете допълнително тук

Ще се радваме да споделите в коментарите дали вие сте намерили друго приложение или вариант, който да е практичен и да можем да използваме. 

Как да правим анализ с помощта на Python

От всички методи за анализ на текста с Cloud Natural Language API най-полезни (поне на този етап от развитието му) могат да бъдат:

  • Разпознаване и анализ на субекти;
  • Класификация на съдържание.

Възможностите за анализ на текстовото съдържание от уеб страниците ни позволява да разберем как Google действително “вижда” това съдържание и това е от съществено значение за SEO.

Google действително “вижда” това съдържание и това е от съществено значение за SEO.

Какви са стъпките за анализ с Python

Тук отново е хубаво да бъде отбелязано, че отново възможностите са изключително много. Всичко се съдържа в официалната документация на API-то тук. Тя се обновява постоянно и ще се радваме да споделите и ако сте пробвали различни анализи или нещо друго, което използвате в практиката.

Стъпките са следните:

1. Инсталирайте си Python (последната версия е 3.8.1. тук).
2. Инсталирайте си git (информация тук).
3. Изтеглете PyCharm или Visual Studio Code.
4. Копирайте следното хранилище от Github тук.
5. Инсталирайте модула Beautiful Soup (pip install beautifulsoup4).
6. Активен акаунт в Google Cloud. Запишете вашия JSON идентификационен файл в локална директория. 

Като резултат трябва да получите ето това:

Като резултат трябва да получите ето това

В горепосочения пример използваме анализа на настроенията в конкретни текстове. Можете да разгледате допълнителни примери тук и тук

Заключение

Като заключение можем да направим следните обобщения:

1. Анализ на субектите и чувствата - запознайте се с настроенията на вашите клиенти/потребители.

2. Разделяне и сегментация на изреченията - анализ на всяка част от изреченията.

3. Класификация на съдържанието - изследвайте как хората във вашата ниша реагират на различните видове съдържание.

4. Мултиезичност - позволява ви лесно да анализирате текст на няколко езика.

5. Изпълнява се от моделите на AutoML - използват се най-съвременните технологии на Machine Learning на Google.

Най-доброто предстои.....

Факт е, че това е една много малка част от възможностите и функционалностите на NL API. Ние ще се постараем и в бъдеще да ви предоставяме още и още интересни практически функционалности с помощта на Machine Learning API-тата на Google. 

Ще се радваме да споделите в коментарите дали сте използвали това API и какъв анализ сте правили.

86
2
43
Открихте грешка? Маркирайте я и натиснете Ctrl + Enter.