ניתוח ישויות בודק את הטקסט שצוין כדי למצוא ישויות מוכרות (שמות עצם כמו אנשי ציבור, ציוני דרך וכו') ומחזיר מידע על הישויות האלה. ניתוח הישויות מתבצע באמצעות השיטה analyzeEntities. למידע על סוגי הישויות שזוהו על ידי Natural Language, אפשר לעיין בתיעוד בנושא ישות. מידע על השפות שנתמכות על ידי Natural Language API זמין במאמר תמיכה בשפות.
בקטע הזה מוסברות כמה דרכים לזיהוי ישויות במסמך. צריך לשלוח בקשה נפרדת לכל מסמך.
ניתוח ישויות במחרוזת
הנה דוגמה לניתוח ישויות במחרוזת טקסט שנשלחה ישירות אל Natural Language API:
פרוטוקול
כדי לנתח ישויות במסמך, שולחים בקשת POST אל ה-method documents:analyzeEntities של REST ומספקים את תוכן הבקשה המתאים, כפי שמוצג בדוגמה הבאה.
בדוגמה נעשה שימוש בפקודה gcloud auth application-default print-access-token כדי לקבל אסימון גישה לחשבון שירות שהוגדר לפרויקט באמצעות CLI של gcloud ב-Google Cloud Platform.
הוראות להתקנת ה-CLI של gcloud ולהגדרת פרויקט עם חשבון שירות מופיעות במדריך למתחילים.
curl -X POST \ -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'encodingType': 'UTF8', 'document': { 'type': 'PLAIN_TEXT', 'content': 'President Trump will speak from the White House, located at 1600 Pennsylvania Ave NW, Washington, DC, on October 7.' } }" "https://language.googleapis.com/v2/documents:analyzeEntities"
אם לא מציינים את document.language_code, השפה תזוהה באופן אוטומטי. מידע על השפות שנתמכות ב-Natural Language API זמין במאמר תמיכה בשפות. מידע נוסף על הגדרת גוף הבקשה מופיע בDocumentמאמרי העזרה.
אם הבקשה מצליחה, השרת מחזיר קוד סטטוס 200 OK של HTTP ואת התשובה בפורמט JSON:
{ "entities": [ { "name": "October 7", "type": "DATE", "metadata": { "month": "10", "day": "7" }, "mentions": [ { "text": { "content": "October 7", "beginOffset": -1 }, "type": "TYPE_UNKNOWN", "probability": 1 } ] }, { "name": "1600", "type": "NUMBER", "metadata": { "value": "1600" }, "mentions": [ { "text": { "content": "1600", "beginOffset": -1 }, "type": "TYPE_UNKNOWN", "probability": 1 } ] }, { "name": "7", "type": "NUMBER", "metadata": { "value": "7" }, "mentions": [ { "text": { "content": "7", "beginOffset": -1 }, "type": "TYPE_UNKNOWN", "probability": 1 } ] }, { "name": "1600 Pennsylvania Ave NW, Washington, DC", "type": "ADDRESS", "metadata": { "locality": "Washington", "narrow_region": "District of Columbia", "street_name": "Pennsylvania Avenue Northwest", "street_number": "1600", "broad_region": "District of Columbia", "country": "US" }, "mentions": [ { "text": { "content": "1600 Pennsylvania Ave NW, Washington, DC", "beginOffset": -1 }, "type": "TYPE_UNKNOWN", "probability": 1 } ] }, { "name": "1600 Pennsylvania Ave NW", "type": "LOCATION", "metadata": {}, "mentions": [ { "text": { "content": "1600 Pennsylvania Ave NW", "beginOffset": -1 }, "type": "PROPER", "probability": 0.901 } ] }, { "name": "President", "type": "PERSON", "metadata": {}, "mentions": [ { "text": { "content": "President", "beginOffset": -1 }, "type": "COMMON", "probability": 0.941 } ] }, { "name": "Trump", "type": "PERSON", "metadata": {}, "mentions": [ { "text": { "content": "Trump", "beginOffset": -1 }, "type": "PROPER", "probability": 0.948 } ] }, { "name": "Washington, DC", "type": "LOCATION", "metadata": {}, "mentions": [ { "text": { "content": "Washington, DC", "beginOffset": -1 }, "type": "PROPER", "probability": 0.92 } ] }, { "name": "White House", "type": "LOCATION", "metadata": {}, "mentions": [ { "text": { "content": "White House", "beginOffset": -1 }, "type": "PROPER", "probability": 0.785 } ] } ], "languageCode": "en", "languageSupported": true }
מערך entities מכיל אובייקטים של Entity שמייצגים את הישויות שזוהו, כולל מידע כמו שם הישות והסוג שלה.
gcloud
פרטים נוספים זמינים בפקודה analyze-entities.
כדי לבצע ניתוח של ישויות, משתמשים ב-CLI של gcloud ובדגל --content כדי לציין את התוכן לניתוח:
gcloud ml language analyze-entities --content="President Trump will speak from the White House, located at 1600 Pennsylvania Ave NW, Washington, DC, on October 7."
אם הבקשה מצליחה, השרת מחזיר תגובה בפורמט JSON:
{ "entities": [ { "name": "Trump", "type": "PERSON", "metadata": { "mid": "/m/0cqt90", "wikipedia_url": "https://en.wikipedia.org/wiki/Donald_Trump" }, "salience": 0.7936003, "mentions": [ { "text": { "content": "Trump", "beginOffset": 10 }, "type": "PROPER" }, { "text": { "content": "President", "beginOffset": 0 }, "type": "COMMON" } ] }, { "name": "White House", "type": "LOCATION", "metadata": { "mid": "/m/081sq", "wikipedia_url": "https://en.wikipedia.org/wiki/White_House" }, "salience": 0.09172433, "mentions": [ { "text": { "content": "White House", "beginOffset": 36 }, "type": "PROPER" } ] }, { "name": "Pennsylvania Ave NW", "type": "LOCATION", "metadata": { "mid": "/g/1tgb87cq" }, "salience": 0.085507184, "mentions": [ { "text": { "content": "Pennsylvania Ave NW", "beginOffset": 65 }, "type": "PROPER" } ] }, { "name": "Washington, DC", "type": "LOCATION", "metadata": { "mid": "/m/0rh6k", "wikipedia_url": "https://en.wikipedia.org/wiki/Washington,_D.C." }, "salience": 0.029168168, "mentions": [ { "text": { "content": "Washington, DC", "beginOffset": 86 }, "type": "PROPER" } ] } { "name": "1600 Pennsylvania Ave NW, Washington, DC", "type": "ADDRESS", "metadata": { "country": "US", "sublocality": "Fort Lesley J. McNair", "locality": "Washington", "street_name": "Pennsylvania Avenue Northwest", "broad_region": "District of Columbia", "narrow_region": "District of Columbia", "street_number": "1600" }, "salience": 0, "mentions": [ { "text": { "content": "1600 Pennsylvania Ave NW, Washington, DC", "beginOffset": 60 }, "type": "TYPE_UNKNOWN" } ] } } { "name": "1600", "type": "NUMBER", "metadata": { "value": "1600" }, "salience": 0, "mentions": [ { "text": { "content": "1600", "beginOffset": 60 }, "type": "TYPE_UNKNOWN" } ] }, { "name": "October 7", "type": "DATE", "metadata": { "day": "7", "month": "10" }, "salience": 0, "mentions": [ { "text": { "content": "October 7", "beginOffset": 105 }, "type": "TYPE_UNKNOWN" } ] } { "name": "7", "type": "NUMBER", "metadata": { "value": "7" }, "salience": 0, "mentions": [ { "text": { "content": "7", "beginOffset": 113 }, "type": "TYPE_UNKNOWN" } ] } ], "language": "en" }
מערך entities מכיל אובייקטים של Entity שמייצגים את הישויות שזוהו, כולל מידע כמו שם הישות והסוג שלה.
Go
מידע על התקנת ספריית הלקוח של Natural Language ושימוש בה מופיע במאמר ספריות הלקוח של Natural Language. מידע נוסף מופיע במאמרי העזרה של Natural Language Go API.
כדי לבצע אימות ב-Natural Language, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
מידע על התקנת ספריית הלקוח של Natural Language ושימוש בה מופיע במאמר ספריות הלקוח של Natural Language. מידע נוסף מופיע במאמרי העזרה של Natural Language Java API.
כדי לבצע אימות ב-Natural Language, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
מידע על התקנת ספריית הלקוח של Natural Language ושימוש בה מופיע במאמר ספריות הלקוח של Natural Language. מידע נוסף מופיע במאמרי העזרה של Natural Language Node.js API.
כדי לבצע אימות ב-Natural Language, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
מידע על התקנת ספריית הלקוח של Natural Language ושימוש בה מופיע במאמר ספריות הלקוח של Natural Language. מידע נוסף מופיע במאמרי העזרה של Natural Language Python API.
כדי לבצע אימות ב-Natural Language, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
שפות נוספות
C#: פועלים לפי הוראות ההגדרה של C# בדף של ספריות הלקוח, ואז עוברים אל מאמרי העזרה בנושא Natural Language ל- .NET.
PHP: פועלים לפי הוראות ההגדרה של PHP בדף של ספריות הלקוח ואז עוברים אל מסמכי העזר של Natural Language ל-PHP.
Ruby: צריך לפעול לפי הוראות ההגדרה של Ruby בדף של ספריות הלקוח ואז לעיין במאמרי העזרה בנושא שפה טבעית ל-Ruby.
ניתוח ישויות מ-Cloud Storage
לנוחיותכם, Natural Language API יכול לבצע ניתוח ישויות ישירות בקובץ שנמצא ב-Cloud Storage, בלי לשלוח את תוכן הקובץ בגוף הבקשה.
הנה דוגמה לביצוע ניתוח ישויות בקובץ שנמצא ב-Cloud Storage.
פרוטוקול
כדי לנתח ישויות ממסמך שמאוחסן ב-Cloud Storage, שולחים בקשת POST לשיטת ה-REST documents:analyzeEntities ומספקים את תוכן הבקשה המתאים עם הנתיב למסמך, כמו בדוגמה הבאה.
curl -X POST \ -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'document':{ 'type':'PLAIN_TEXT', 'gcsContentUri':'gs://<bucket-name>/<object-name>' } }" "https://language.googleapis.com/v2/documents:analyzeEntities"
אם לא מציינים את document.language_code, השפה תזוהה באופן אוטומטי. מידע על השפות שנתמכות ב-Natural Language API זמין במאמר תמיכה בשפות. מידע נוסף על הגדרת גוף הבקשה מופיע בDocumentמאמרי העזרה.
אם הבקשה מצליחה, השרת מחזיר קוד סטטוס 200 OK של HTTP ואת התשובה בפורמט JSON:
{ "entities": [ { "name": "October 7", "type": "DATE", "metadata": { "month": "10", "day": "7" }, "mentions": [ { "text": { "content": "October 7", "beginOffset": -1 }, "type": "TYPE_UNKNOWN", "probability": 1 } ] }, { "name": "1600", "type": "NUMBER", "metadata": { "value": "1600" }, "mentions": [ { "text": { "content": "1600", "beginOffset": -1 }, "type": "TYPE_UNKNOWN", "probability": 1 } ] }, { "name": "7", "type": "NUMBER", "metadata": { "value": "7" }, "mentions": [ { "text": { "content": "7", "beginOffset": -1 }, "type": "TYPE_UNKNOWN", "probability": 1 } ] }, { "name": "1600 Pennsylvania Ave NW, Washington, DC", "type": "ADDRESS", "metadata": { "locality": "Washington", "narrow_region": "District of Columbia", "street_name": "Pennsylvania Avenue Northwest", "street_number": "1600", "broad_region": "District of Columbia", "country": "US" }, "mentions": [ { "text": { "content": "1600 Pennsylvania Ave NW, Washington, DC", "beginOffset": -1 }, "type": "TYPE_UNKNOWN", "probability": 1 } ] }, { "name": "1600 Pennsylvania Ave NW", "type": "LOCATION", "metadata": {}, "mentions": [ { "text": { "content": "1600 Pennsylvania Ave NW", "beginOffset": -1 }, "type": "PROPER", "probability": 0.901 } ] }, { "name": "President", "type": "PERSON", "metadata": {}, "mentions": [ { "text": { "content": "President", "beginOffset": -1 }, "type": "COMMON", "probability": 0.941 } ] }, { "name": "Trump", "type": "PERSON", "metadata": {}, "mentions": [ { "text": { "content": "Trump", "beginOffset": -1 }, "type": "PROPER", "probability": 0.948 } ] }, { "name": "Washington, DC", "type": "LOCATION", "metadata": {}, "mentions": [ { "text": { "content": "Washington, DC", "beginOffset": -1 }, "type": "PROPER", "probability": 0.92 } ] }, { "name": "White House", "type": "LOCATION", "metadata": {}, "mentions": [ { "text": { "content": "White House", "beginOffset": -1 }, "type": "PROPER", "probability": 0.785 } ] } ], "languageCode": "en", "languageSupported": true }
מערך entities מכיל אובייקטים של Entity שמייצגים את הישויות שזוהו, כולל מידע כמו שם הישות והסוג שלה.
gcloud
פרטים נוספים זמינים בפקודה analyze-entities.
כדי לבצע ניתוח ישויות בקובץ ב-Cloud Storage, משתמשים בכלי gcloud של שורת הפקודה ובדגל --content-file כדי לזהות את נתיב הקובץ שמכיל את התוכן לניתוח:
gcloud ml language analyze-entities --content-file=gs://YOUR_BUCKET_NAME/YOUR_FILE_NAME
אם הבקשה מצליחה, השרת מחזיר תגובה בפורמט JSON:
{ "entities": [ { "name": "October 7", "type": "DATE", "metadata": { "month": "10", "day": "7" }, "mentions": [ { "text": { "content": "October 7", "beginOffset": -1 }, "type": "TYPE_UNKNOWN", "probability": 1 } ] }, { "name": "1600", "type": "NUMBER", "metadata": { "value": "1600" }, "mentions": [ { "text": { "content": "1600", "beginOffset": -1 }, "type": "TYPE_UNKNOWN", "probability": 1 } ] }, { "name": "7", "type": "NUMBER", "metadata": { "value": "7" }, "mentions": [ { "text": { "content": "7", "beginOffset": -1 }, "type": "TYPE_UNKNOWN", "probability": 1 } ] }, { "name": "1600 Pennsylvania Ave NW, Washington, DC", "type": "ADDRESS", "metadata": { "locality": "Washington", "narrow_region": "District of Columbia", "street_name": "Pennsylvania Avenue Northwest", "street_number": "1600", "broad_region": "District of Columbia", "country": "US" }, "mentions": [ { "text": { "content": "1600 Pennsylvania Ave NW, Washington, DC", "beginOffset": -1 }, "type": "TYPE_UNKNOWN", "probability": 1 } ] }, { "name": "1600 Pennsylvania Ave NW", "type": "LOCATION", "metadata": {}, "mentions": [ { "text": { "content": "1600 Pennsylvania Ave NW", "beginOffset": -1 }, "type": "PROPER", "probability": 0.901 } ] }, { "name": "President", "type": "PERSON", "metadata": {}, "mentions": [ { "text": { "content": "President", "beginOffset": -1 }, "type": "COMMON", "probability": 0.941 } ] }, { "name": "Trump", "type": "PERSON", "metadata": {}, "mentions": [ { "text": { "content": "Trump", "beginOffset": -1 }, "type": "PROPER", "probability": 0.948 } ] }, { "name": "Washington, DC", "type": "LOCATION", "metadata": {}, "mentions": [ { "text": { "content": "Washington, DC", "beginOffset": -1 }, "type": "PROPER", "probability": 0.92 } ] }, { "name": "White House", "type": "LOCATION", "metadata": {}, "mentions": [ { "text": { "content": "White House", "beginOffset": -1 }, "type": "PROPER", "probability": 0.785 } ] } ], "languageCode": "en", "languageSupported": true }
מערך entities מכיל אובייקטים של Entity שמייצגים את הישויות שזוהו, כולל מידע כמו שם הישות והסוג שלה.
Go
מידע על התקנת ספריית הלקוח של Natural Language ושימוש בה מופיע במאמר ספריות הלקוח של Natural Language. מידע נוסף מופיע במאמרי העזרה של Natural Language Go API.
כדי לבצע אימות ב-Natural Language, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
מידע על התקנת ספריית הלקוח של Natural Language ושימוש בה מופיע במאמר ספריות הלקוח של Natural Language. מידע נוסף מופיע במאמרי העזרה של Natural Language Java API.
כדי לבצע אימות ב-Natural Language, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
מידע על התקנת ספריית הלקוח של Natural Language ושימוש בה מופיע במאמר ספריות הלקוח של Natural Language. מידע נוסף מופיע במאמרי העזרה של Natural Language Node.js API.
כדי לבצע אימות ב-Natural Language, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
מידע על התקנת ספריית הלקוח של Natural Language ושימוש בה מופיע במאמר ספריות הלקוח של Natural Language. מידע נוסף מופיע במאמרי העזרה של Natural Language Python API.
כדי לבצע אימות ב-Natural Language, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
שפות נוספות
C#: פועלים לפי הוראות ההגדרה של C# בדף של ספריות הלקוח, ואז עוברים אל מאמרי העזרה בנושא Natural Language ל- .NET.
PHP: פועלים לפי הוראות ההגדרה של PHP בדף של ספריות הלקוח ואז עוברים אל מסמכי העזר של Natural Language ל-PHP.
Ruby: צריך לפעול לפי הוראות ההגדרה של Ruby בדף של ספריות הלקוח ואז לעיין במאמרי העזרה בנושא שפה טבעית ל-Ruby.