NAV undefined
bash javascript

Giới thiệu

YEU.AI là một nền tảng dịch vụ cung cấp các api cho các tác vụ xử lý và hiểu ngôn ngữ tự nhiên tiếng Việt. Cung cấp hai dịch vụ chính của nền tảng nhận thức:

Các api / thư viện hỗ trợ phát triển được tích hợp:

Đặc biệt (*): Cá nhân là các developers được sử dụng API và dịch vụ miễn phí của nền tảng dịch vụ Yeu.AI.

Phiên bản hiện tại 0.9 đã có thể sử dụng được các api sau đây:

Tính năng sắp tới:

Xác thực

Phiên bản hiện tại 0.9 không yêu cầu xác thực!

NLP API

Cài đặt thư viện:

# Sử dụng chương trình curl, mặc định đã được cài trên Linux.
# Nếu chưa tồn tại hãy dùng lệnh sau đây để cài đặt

# Ubuntu:
sudo apt-get install curl

# CentOS:
sudo yum install curl

# Windows:
Tải ở đây -> https://curl.haxx.se/download.html
// Cài đặt sử dụng npm
npm install yeuai --save

Hiện tại yeu.ai đã cung cấp cho developer sử dụng bằng ngôn ngữ javascript/nodejs thông qua gói thư viện npm: npmjs.com/package/yeuai.

Yeu.ai cũng cung cấp giao diện truy cập api thông qua đặc tả Swagger, hoặc có thể sử dụng curl để thử nghiệm trước kết quả, trước khi tích hợp vào mã chương trình của bạn.

Authorization: None

Tách từ tiếng Việt

curl -G "https://nlp.yeu.ai/api/v1/tok" --data-urlencode "text=Ngoài thương hiệu, giá cả, thời điểm mua hàng cũng là một yếu tố để có được sản phẩm tốt với giá rẻ."
const yeuai = require('yeuai')

// ES6
yeuai.word_tokenize('Ngoài thương hiệu, giá cả, thời điểm mua hàng cũng là một yếu tố để có được sản phẩm tốt với giá rẻ.')
  .then((tokens) => {
    console.log('Result:', tokens)
  })

// ES7
await tokens = yeuai.word_tokenize('Ngoài thương hiệu, giá cả, thời điểm mua hàng cũng là một yếu tố để có được sản phẩm tốt với giá rẻ.')
console.log('Result:', tokens)

Lệnh trên trả về cấu trúc JSON như thế này:

{
  "response": [
    "Ngoài",
    "thương hiệu",
    ",",
    "giá cả",
    ",",
    "thời điểm",
    "mua hàng",
    "cũng",
    "là",
    "một",
    "yếu tố",
    "để",
    "có",
    "được",
    "sản phẩm",
    "tốt",
    "với",
    "giá",
    "rẻ",
    "."
  ]
}

Api này sẽ nhận input là câu văn hoặc đoạn văn bản cần tách từ.

HTTP Request

GET https://nlp.yeu.ai/api/v1/tok?text=Ngoài thương hiệu, giá cả, thời điểm mua hàng cũng là một yếu tố để có được sản phẩm tốt với giá rẻ.

Query Parameters

Parameter Default Mandatory Description
text false yes Đoạn văn bản cần tách từ
isToken true no Nếu giá trị được set là false, output trả về là 1 đoạn văn bản

Gán nhãn từ loại

curl -G "https://nlp.yeu.ai/api/v1/tag" --data-urlencode "text=Ngoài thương hiệu, giá cả, thời điểm mua hàng cũng là một yếu tố để có được sản phẩm tốt với giá rẻ."
const yeuai = require('yeuai')

// ES6
yeuai.pos_tag('Ngoài thương hiệu, giá cả, thời điểm mua hàng cũng là một yếu tố để có được sản phẩm tốt với giá rẻ.')
  .then((tokens) => {
    console.log('Result:', tokens)
  })

// ES7
await tokens = yeuai.pos_tag('Ngoài thương hiệu, giá cả, thời điểm mua hàng cũng là một yếu tố để có được sản phẩm tốt với giá rẻ.')
console.log('Result:', tokens)

The above command returns JSON structured like this:

{
   "response":[
      [
         "Ngoài",
         "E"
      ],
      [
         "thương hiệu",
         "N"
      ],
      [
         ",",
         "CH"
      ],
      [
         "giá cả",
         "N"
      ],
      [
         ",",
         "CH"
      ],
      [
         "thời điểm",
         "N"
      ],
      [
         "mua hàng",
         "N"
      ],
      [
         "cũng",
         "R"
      ],
      [
         "là",
         "V"
      ],
      [
         "một",
         "M"
      ],
      [
         "yếu tố",
         "N"
      ],
      [
         "để",
         "E"
      ],
      [
         "có",
         "V"
      ],
      [
         "được",
         "R"
      ],
      [
         "sản phẩm",
         "N"
      ],
      [
         "tốt",
         "A"
      ],
      [
         "với",
         "E"
      ],
      [
         "giá",
         "N"
      ],
      [
         "rẻ",
         "A"
      ],
      [
         ".",
         "CH"
      ]
   ]
}

Api này sẽ nhận input là câu hoặc đoạn văn cần gán nhãn.

HTTP Request

GET https://nlp.yeu.ai/api/v1/tag?text=Ngoài thương hiệu, giá cả, thời điểm mua hàng cũng là một yếu tố để có được sản phẩm tốt với giá rẻ.

Query Parameters

Parameter Default Mandatory Description
text false yes Đoạn văn bản cần gán nhãn

Chunking

curl -G "https://nlp.yeu.ai/api/v1/chunk" --data-urlencode "text=Ngoài thương hiệu, giá cả, thời điểm mua hàng cũng là một yếu tố để có được sản phẩm tốt với giá rẻ."
const yeuai = require('yeuai')

// ES6
yeuai.chunk('Ngoài thương hiệu, giá cả, thời điểm mua hàng cũng là một yếu tố để có được sản phẩm tốt với giá rẻ.')
  .then((tokens) => {
    console.log('Result:', tokens)
  })

// ES7
await tokens = yeuai.chunk('Ngoài thương hiệu, giá cả, thời điểm mua hàng cũng là một yếu tố để có được sản phẩm tốt với giá rẻ.')
console.log('Result:', tokens)

Lệnh trên trả về cấu trúc JSON như thế này:

{
   "response":[
      [
         "Ngoài",
         "E",
         "B-PP"
      ],
      [
         "thương hiệu",
         "N",
         "B-NP"
      ],
      [
         ",",
         "CH",
         "I-NP"
      ],
      [
         "giá cả",
         "N",
         "I-NP"
      ],
      [
         ",",
         "CH",
         "I-NP"
      ],
      [
         "thời điểm",
         "N",
         "I-NP"
      ],
      [
         "mua hàng",
         "N",
         "I-NP"
      ],
      [
         "cũng",
         "R",
         "B-VP"
      ],
      [
         "là",
         "V",
         "I-VP"
      ],
      [
         "một",
         "M",
         "B-NP"
      ],
      [
         "yếu tố",
         "N",
         "I-NP"
      ],
      [
         "để",
         "E",
         "B-PP"
      ],
      [
         "có",
         "V",
         "B-VP"
      ],
      [
         "được",
         "R",
         "I-VP"
      ],
      [
         "sản phẩm",
         "N",
         "B-NP"
      ],
      [
         "tốt",
         "A",
         "I-NP"
      ],
      [
         "với",
         "E",
         "B-PP"
      ],
      [
         "giá",
         "N",
         "B-NP"
      ],
      [
         "rẻ",
         "A",
         "I-NP"
      ],
      [
         ".",
         "CH",
         "O"
      ]
   ]
}

Api này sẽ nhận input là câu hoặc đoạn văn cần phân tích.

HTTP Request

GET https://nlp.yeu.ai/api/v1/chunk?text=Ngoài thương hiệu, giá cả, thời điểm mua hàng cũng là một yếu tố để có được sản phẩm tốt với giá rẻ.

Query Parameters

Parameter Default Mandatory Description
text false yes Đoạn văn bản cần phân tích

NLU API

Phân tích câu hỏi

curl -G "https://nlp.yeu.ai/api/v1/qtype" --data-urlencode "text=khi nào chương trình diễn ra?"
const yeuai = require('yeuai')

// ES6
yeuai.classify_qtype('khi nào chương trình diễn ra?')
  .then((tokens) => {
    console.log('Result:', tokens)
  })

// ES7
await tokens = yeuai.classify_qtype('khi nào chương trình diễn ra?')
console.log('Result:', tokens)

Lệnh trên trả về cấu trúc JSON như thế này:

{
   "success":true,
   "response":{
      "classes":[
         {
            "confidence":"0.948622",
            "label":"WHEN"
         }
      ],
      "text":"khi nào chương trình diễn ra?"
   }
}

Api này sẽ nhận input là câu hỏi cần phân tích.

HTTP Request

GET https://nlp.yeu.ai/api/v1/qtype?text=khi nào chương trình diễn ra?

Query Parameters

Parameter Default Mandatory Description
text false yes Câu hỏi cần phân tích

Bảng mã lỗi

Yeu.AI API sử dụng bảng mã lỗi sau đây:

Error Code Meaning
400 Bad Request -- Truyền thiếu tham số hoặc sai kiểu dữ liệu
401 Unauthorized -- API accessToken của bạn sai hoặc hết hạn sử dụng
403 Forbidden -- Truy nhập vào api, tài nguyên không được phép
404 Not Found -- Không tìm thấy tài nguyên yêu cầu
405 Method Not Allowed -- Không hỗ trợ phương thức yêu cầu
406 Not Acceptable -- Yêu cầu không được chấp nhận
410 Gone -- Tài nguyên truy vấn không còn tồn tại
429 Too Many Requests -- Bạn gửi quá nhiều truy vấn vượt quá giới hạn cho phép
500 Internal Server Error -- Máy chủ có lỗi, hãy thử lại sau 1 khoảng thời gian
503 Service Unavailable -- Dịch vụ bạn đang truy cập không có hoặc đang được nâng cấp

Phụ lục

Bảng nhãn dán từ loại

STT Nhãn Loại Viết tắt của Tên Nhãn Universal Dependency Ví dụ
1 N 1 Noun Danh từ NOUN tiếng, nước, thủ đô, nhân dân, đồ đạc, cây cối, chim muông
3 Nc 1 Noun Category Danh từ chỉ loại NOUN con, cái, đứa, bức, chiếc
5 Ni 1 Danh từ ký hiệu NOUN A1, A4, 60A, 60B, 20a, 20b, ABC, ABCD
2 Np 1 Proper Noun Danh từ riêng NOUN Nguyễn Du, Việt Nam, Hải Phòng, Trường Đại học Bách khoa Hà Nội, Mộc tinh, Hoả tinh, Phật, Đạo Phật
4 Nu 1 Noun Unit Danh từ đơn vị NOUN mét, cân, giờ, nắm, nhúm, hào, xu, đồng
7 A 2 Adjective Tính từ ADJ tốt, xấu, đẹp; cao, thấp, rộng
6 V 3 Verb Động từ VERB ngủ, ngồi, cười; đọc, viết, đá, đặt; thích, yêu, ghét, giống, muốn
8 P 4 Proper Đại từ PROPN tôi, chúng tôi, hắn, nó, y, đại nhân, đại ca, huynh, đệ
12 E 5 Adposition (bao gồm prepositions và postpositions) Giới từ ADP trên, dưới, trong, ngoài; của, trừ, ngoài, khỏi, ở
15 I 5 Interjection Thán từ INTJ ôi, chao, a ha
9 L 5 Determiner Định từ DET mỗi, từng, mọi, cái; các, những, mấy
10 M 5 Numeral Số từ NUM một, mười, mười ba; dăm, vài, mươi; nửa, rưỡi
16 T 7 particle Trợ từ, tình thái từ (tiểu từ) PART à, a, á, ạ, ấy, chắc, chăng, cho, chứ
20 Z 8 other Yếu tố cấu tạo từ X bất, vô, phi
11 R 8 Phó từ (Trạng từ) X đã, sẽ, đang, vừa, mới, từng, xong, rồi; rất, hơi, khí, quá
19 X 8 other Các từ không phân loại được X ra sao, chừng như, thì ra
13 C 9 coordinating conjunction Liên từ (thường là chính phụ) CCONJ
14 Cc 9 subordinating conjunction Liên từ đẳng lập SCONJ và, hoặc, với, cùng
21 CH 10 Nhãn dành cho các loại dấu (nhiều nhất là dấu câu) và một số ký hiệu khác PUNCT . ! ? , ; :
17 b 100 borrow Từ tiếng nước ngoài (hay từ vay mượn). Khi gán nhãn ngữ liệu, nhãn từ tiếng nước ngoài thường là nhãn kép. Chẳng hạn nếu từ là chat thì nhãn của nó là Vb, video thì nhãn là Nb. Qua thống kê trong kho ngữ liệu thấy có: Ab Cb Eb Mb Nb Pb Vb. _ Internet, email, video, chat
18 y 100 Từ viết tắt. Khi gán nhãn ngữ liệu, nhãn từ viết tắt thường là nhãn kép. Chẳng hạn nếu từ viết tắt là HIV thì nhãn của nó là Ny vì HIV viết đầy đủ thì là cụm danh từ. Qua thống kê trong kho ngữ liệu thấy có: Ny, Vy, Xy. _ OPEC, WTO, HIV, SN

Tham khảo:

Bảng phân loại câu hỏi

STT Class Definition Diễn tả Ví dụ
1 ABBREVIATION abbreviation viết tắt ABBR
2 abb abbreviation viết tắt Hà Nội viết tắt là gì
3 exp expression abbreviated diễn tả về cách viết tắt NLP viết tắt của từ gì ? SOA là gì?
4 ENTITY entities các thực thể
5 animal animals động vật
6 body organs of body các cơ quan của cơ thể
7 color colors màu sắc
8 creative inventions, books and other creative pieces sáng chế, sách và các tác phẩm sáng tạo khác
9 currency currency names tên tiền tệ
10 dis.med. diseases and medicine bệnh tật và thuốc men
11 event events sự kiện
12 food food món ăn
13 instrument musical instrument nhạc cụ
14 lang languages ngôn ngữ
15 letter letters like a-z chữ cái như a-z
16 other other entities các thực thể khác
17 plant plants cây cối
18 product products các sản phẩm
19 religion religions tôn giáo
20 sport sports các môn thể thao
21 substance elements and substances yếu tố và vật chất
22 symbol symbols and signs biểu tượng và dấu hiệu
23 technique techniques and methods kỹ thuật và phương pháp
24 term equivalent terms các điều khoản tương đương
25 vehicle vehicles xe cộ, phương tiện đi lại
26 word words with a special property những từ với một tài sản đặc biệt
27 DESCRIPTION description and abstract concepts mô tả và các khái niệm trừu tượng
28 definition definition of sth. định nghĩa của một thứ gì đó (sth.)
29 description description of sth. mô tả về thứ gì đó (sth.)
30 manner manner of an action cách hành động, cư xử
31 reason reasons lý do
32 HUMAN human beings con người
33 group a group or organization of persons nhóm hoặc tổ chức người
34 ind an individual một cá nhân
35 title title of a person chức danh của một người
36 description description of a person mô tả về một người
37 LOCATION locations vị trí
38 city cities các thành phố
39 country countries quốc gia
40 mountain mountains các ngọn núi, đồi
41 other other locations các địa điểm khác
42 state states tiểu bang
43 NUMERIC numeric values giá trị số
44 code postcodes or other codes mã bưu điện hoặc các mã khác
45 count number of sth. số lượng sth.
46 date dates ngày tháng
47 distance linear measures khoảng cách, các phép đo tuyến tính
48 money prices giá cả
49 order ranks xếp hạng
50 other other numbers số khác
51 period the lasting time of sth. chu kỳ, thời gian sống của một vật
52 percent fractions phân số
53 speed speed tốc độ
54 temp temperature nhiệt độ
55 size size, area and volume kích thước, diện tích và khối lượng
56 weight weight cân nặng

Tham khảo: