{
  "openapi": "3.0.0",
  "info": {
    "title": "Tổng quan",
    "version": "4.8.0.0",
    "description": "Tài liệu tham khảo này mô tả các phương thức web RESTful để tương tác với Tisane API bằng cách sử dụng giao tiếp chuẩn dựa trên HTTP và JSON."
  },
  "servers": [
    {
      "url": "https://api.tisane.ai",
      "description": "Đám mây công cộng của Tisane"
    }
  ],
  "tags": [
    {
      "name": "NLU / NLP Methods",
      "description": "Đây là những phương pháp thực sự thực hiện phân tích và chuyển đổi văn bản đầu vào."
    },
    {
      "name": "Language Model Direct Access",
      "description": "Các phương pháp để truy xuất và kiểm tra các mục nhập từ mô hình ngôn ngữ."
    }
  ],
  "components": {
    "schemas": {
      "Feature": {
        "type": "object",
        "required": [
          "index",
          "value"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Loại tính năng. Nếu không xác định: Ngữ pháp",
            "enum": [
              "Grammar",
              "Semantics",
              "Style"
            ]
          },
          "index": {
            "type": "integer",
            "description": "Chỉ số tính năng (trong loại tính năng)"
          },
          "value": {
            "type": "string",
            "description": "ID giá trị tính năng"
          }
        }
      },
      "FeatureArray": {
        "type": "array",
        "items": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "#/components/schemas/Feature"
            }
          ]
        }
      },
      "Memory": {
        "type": "object",
        "properties": {
          "flags": {
            "$ref": "#/components/schemas/FeatureArray",
            "description": "Các dấu hiệu và bộ tính năng ngữ nghĩa."
          },
          "antecedents": {
            "type": "array",
            "description": "Các phần tử được đề cập trước đó sẽ được sử dụng để giải quyết tham chiếu chung.",
            "items": {
              "type": "object",
              "properties": {
                "family": {
                  "type": "integer",
                  "description": "ID họ của tiền đề."
                },
                "features": {
                  "$ref": "#/components/schemas/FeatureArray"
                }
              }
            }
          },
          "assign": {
            "type": "array",
            "description": "Các phép gán có điều kiện sẽ được thực hiện khi phân tích cú pháp.",
            "items": {
              "type": "object",
              "required": [
                "if",
                "then"
              ],
              "properties": {
                "if": {
                  "type": "object",
                  "description": "Các điều kiện để khớp (tất cả các điều kiện phải khớp).",
                  "properties": {
                    "family": {
                      "type": "integer",
                      "description": "ID họ của trị từ vựng đích."
                    },
                    "hypernym": {
                      "type": "integer",
                      "description": "ID họ của một thượng vị của trị từ vựng đích."
                    },
                    "features": {
                      "description": "Các tính năng cần khớp.",
                      "$ref": "#/components/schemas/FeatureArray"
                    },
                    "regex": {
                      "type": "string",
                      "description": "Một biểu thức chính quy cần khớp."
                    }
                  }
                },
                "then": {
                  "type": "object",
                  "description": "Giá trị thuộc tính cần gán.",
                  "properties": {
                    "family": {
                      "type": "integer",
                      "description": "Một ID họ cần gán."
                    },
                    "hypernym": {
                      "type": "integer",
                      "description": "Một ID họ của một thượng vị cần gán."
                    },
                    "features": {
                      "description": "Các tính năng cần gán.",
                      "$ref": "#/components/schemas/FeatureArray"
                    },
                    "attribution": {
                      "type": "boolean",
                      "description": "Đánh dấu mục tiêu là thuộc tính."
                    }
                  }
                }
              }
            }
          }
        }
      },
      "Phrase": {
        "type": "object",
        "required": [
          "type",
          "family",
          "offset",
          "length",
          "text"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Loại cụm từ (NP/VP/ADJP/ADVP/S)."
          },
          "family": {
            "type": "integer",
            "description": "ID họ của cụm từ."
          },
          "offset": {
            "type": "integer",
            "description": "Vị trí bắt đầu của cụm từ."
          },
          "length": {
            "type": "integer",
            "description": "Độ dài của chuỗi cụm từ."
          },
          "text": {
            "type": "string",
            "description": "Văn bản của cụm từ trong đó các thành viên được phân cách bằng dấu gạch đứng và các cụm từ bên trong nằm trong dấu ngoặc. Ví dụ: *I|(love|Lucy)*."
          },
          "role": {
            "type": "string",
            "description": "Vai trò ngữ nghĩa của cụm từ trong câu."
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Phrase"
            }
          }
        }
      }
    },
    "securitySchemes": {
      "Tisane-API-Key": {
        "type": "apiKey",
        "in": "header",
        "name": "Ocp-Apim-Subscription-Key",
        "description": "Khóa đăng ký API (chính hoặc phụ) từ [Cổng thông tin dành cho nhà phát triển Tisane](https://dev.tisane.ai/profile)"
      }
    }
  },
  "paths": {
    "/parse": {
      "post": {
        "operationId": "parse",
        "security": [
          {
            "Tisane-API-Key": []
          }
        ],
        "tags": [
          "NLU / NLP Methods"
        ],
        "summary": "Phân tích văn bản",
        "description": "Phương pháp này phân tích dữ liệu đầu vào và phát hiện nội dung có vấn đề, đoạn văn bản thể hiện cảm xúc, thực thể, chủ đề, cấu trúc cụm từ, các loại từ, từ dừng, v.v.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "language",
                  "content"
                ],
                "properties": {
                  "language": {
                    "type": "string"
                  },
                  "content": {
                    "type": "string"
                  },
                  "settings": {
                    "type": "object"
                  }
                }
              },
              "examples": {
                "Hello Tisane": {
                  "value": {
                    "language": "en",
                    "content": "Hello Tisane API!!"
                  }
                },
                "Abuse detection": {
                  "value": {
                    "language": "en",
                    "content": "Babylonians should stay away from our country. We are full.",
                    "settings": {
                      "snippets": true
                    }
                  }
                },
                "Extract topics (native standard)": {
                  "value": {
                    "language": "en",
                    "content": "An inertial force is a force that resists a change in velocity of an object."
                  }
                },
                "Extract topics (IAB standard)": {
                  "value": {
                    "language": "en",
                    "content": "moon, Jupiter and Mars",
                    "settings": {
                      "topic_standard": "iab_description",
                      "entities": false
                    }
                  }
                },
                "Adverse media monitoring in fintech": {
                  "value": {
                    "language": "en",
                    "content": "HSBC has been accused of money laundering recently",
                    "settings": {
                      "snippets": true,
                      "sentiment_analysis_type": "entity"
                    }
                  }
                },
                "Parse alias w/ sentence structure": {
                  "value": {
                    "language": "en",
                    "content": "anxiousgayhorseonketamine",
                    "settings": {
                      "parses": true,
                      "subscope": true,
                      "sentiment": false,
                      "format": "alias"
                    }
                  }
                },
                "Parse hashtag and output words": {
                  "value": {
                    "language": "en",
                    "content": "deathtodishonestpeople",
                    "settings": {
                      "words": true,
                      "subscope": true,
                      "sentiment": false,
                      "fetch_definitions": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "text"
                  ],
                  "properties": {
                    "text": {
                      "type": "string",
                      "description": "Văn bản đầu vào."
                    },
                    "language": {
                      "type": "string",
                      "description": "Mã ngôn ngữ, khi sử dụng mã nhận dạng ngôn ngữ."
                    },
                    "memory": {
                      "$ref": "#/components/schemas/Memory",
                      "description": "Trạng thái sau khi phân tích. Có thể được sử dụng để thiết lập trạng thái của các phân tích trong tương lai. (Đặt `state` thành `true` để hiển thị)."
                    },
                    "topics": {
                      "type": "array",
                      "items": {
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "object",
                            "required": [
                              "topic",
                              "coverage"
                            ],
                            "properties": {
                              "topic": {
                                "type": "string"
                              },
                              "coverage": {
                                "type": "number"
                              }
                            }
                          }
                        ]
                      }
                    },
                    "abuse": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "offset",
                          "length",
                          "sentence_index",
                          "type",
                          "severity"
                        ],
                        "properties": {
                          "offset": {
                            "type": "integer",
                            "description": "Vị trí tính từ 0 trong câu"
                          },
                          "length": {
                            "type": "integer",
                            "description": "Độ dài của đoạn văn bản"
                          },
                          "sentence_index": {
                            "type": "integer",
                            "description": "Chỉ số của câu nơi có đoạn văn bản"
                          },
                          "type": {
                            "type": "string",
                            "description": "Loại nội dung có vấn đề",
                            "enum": [
                              "personal_attack",
                              "bigotry",
                              "external_contact",
                              "profanity",
                              "sexual_advances",
                              "criminal_activity",
                              "adult_only",
                              "mental_issues",
                              "contentious",
                              "spam",
                              "social_hierarchy",
                              "no_meaningful_content",
                              "generic"
                            ]
                          },
                          "severity": {
                            "type": "string",
                            "description": "Độ nghiêm trọng của vấn đề",
                            "enum": [
                              "low",
                              "medium",
                              "high",
                              "extreme"
                            ]
                          },
                          "tags": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "text": {
                            "type": "string",
                            "description": "Bản thân đoạn văn bản (`snippets` phải được đặt thành `true`)"
                          },
                          "explanation": {
                            "type": "string",
                            "description": "Cách giải thích con người có thể hiểu được về lý do đánh dấu"
                          }
                        }
                      }
                    },
                    "sentence_list": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "offset",
                          "text",
                          "words",
                          "parse_tree"
                        ],
                        "properties": {
                          "offset": {
                            "type": "integer",
                            "description": "Vị trí bắt đầu của câu."
                          },
                          "text": {
                            "type": "string",
                            "description": "Bản thân câu."
                          },
                          "words": {
                            "type": "array",
                            "description": "Mảng được mã hóa của các đơn vị từ vựng/khối từ vựng (không nhất thiết phải có khoảng trắng hoặc dấu câu). Phải đặt `words` thành `true` để xuất hiện.",
                            "items": {
                              "type": "object",
                              "required": [
                                "offset",
                                "length",
                                "type",
                                "text"
                              ],
                              "properties": {
                                "offset": {
                                  "type": "integer",
                                  "description": "Vị trí bắt đầu của khối từ vựng."
                                },
                                "length": {
                                  "type": "integer",
                                  "description": "Độ dài của khối từ vựng."
                                },
                                "type": {
                                  "type": "string",
                                  "description": "Loại khối từ vựng.",
                                  "enum": [
                                    "word",
                                    "numeral",
                                    "punctuation"
                                  ]
                                },
                                "text": {
                                  "type": "string",
                                  "description": "Chuỗi khối từ vựng."
                                },
                                "stopword": {
                                  "type": "boolean",
                                  "description": "Đó có phải là từ dừng hay không."
                                },
                                "role": {
                                  "type": "string",
                                  "description": "Vai trò ngữ nghĩa của từ, nếu được gán.",
                                  "enum": [
                                    "agent",
                                    "patient",
                                    "complement",
                                    "circumstance",
                                    "beneficiary",
                                    "verb",
                                    "surname",
                                    "list_item",
                                    "given_name",
                                    "social_role",
                                    "title",
                                    "street_name",
                                    "street_type",
                                    "nickname",
                                    "country",
                                    "settlement",
                                    "state",
                                    "zipcode"
                                  ]
                                },
                                "description": {
                                  "type": "string",
                                  "description": "Mô tả ý nghĩa không rõ ràng trong bối cảnh hiện tại (luôn bằng tiếng Anh)."
                                },
                                "definition": {
                                  "type": "string",
                                  "description": "Định nghĩa theo từ điển của nghĩa không rõ ràng trong bối cảnh hiện tại (luôn bằng tiếng Anh)."
                                },
                                "wikidata": {
                                  "type": "string",
                                  "description": "ID Wikidata của nghĩa từ hiện tại, nếu có."
                                },
                                "lexeme": {
                                  "type": "integer",
                                  "description": "Một mã định danh trị từ vựng duy nhất."
                                },
                                "family": {
                                  "type": "integer",
                                  "description": "Một mã định danh họ."
                                },
                                "grammar": {
                                  "$ref": "#/components/schemas/FeatureArray"
                                }
                              }
                            }
                          },
                          "parse_tree": {
                            "type": "object",
                            "description": "Biểu đồ được sắp xếp theo thứ bậc của các cụm từ được phát hiện trong câu. Phải đặt `parses` thành `true` để xuất hiện.",
                            "required": [
                              "id",
                              "phrases"
                            ],
                            "properties": {
                              "id": {
                                "type": "integer",
                                "description": "Mã định danh thời gian chạy nội bộ của quá trình diễn giải cú pháp câu."
                              },
                              "phrases": {
                                "type": "array",
                                "description": "Biểu đồ cụm từ, với cụm từ gốc ở cấp cao nhất.",
                                "items": {
                                  "$ref": "#/components/schemas/Phrase"
                                }
                              }
                            }
                          },
                          "corrected_text": {
                            "type": "string",
                            "description": "Văn bản câu nếu được sửa bằng trình kiểm tra chính tả tích hợp."
                          }
                        }
                      }
                    },
                    "entities_summary": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "type",
                          "name",
                          "mentions"
                        ],
                        "properties": {
                          "type": {
                            "description": "Loại hoặc các loại thực thể.",
                            "oneOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              }
                            ]
                          },
                          "name": {
                            "type": "string",
                            "description": "Tên chuẩn của thực thể."
                          },
                          "subtypes": {
                            "type": "array",
                            "description": "Các loại con của thực thể.",
                            "items": {
                              "type": "string"
                            }
                          },
                          "subtype": {
                            "type": "string",
                            "description": "Loại con chính của thực thể."
                          },
                          "wikidata": {
                            "type": "string",
                            "description": "ID Wikidata, nếu có."
                          },
                          "relations": {
                            "type": "array",
                            "description": "Mối quan hệ của thực thể với các thực thể được phát hiện khác.",
                            "items": {
                              "type": "object",
                              "required": [
                                "to"
                              ],
                              "properties": {
                                "to": {
                                  "type": "string",
                                  "description": "Thực thể được kết nối với."
                                },
                                "links": {
                                  "type": "array",
                                  "description": "Các thực thể được kết nối như thế nào.",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          },
                          "mentions": {
                            "type": "array",
                            "description": "Các trường hợp đề cập đến thực thể được tìm thấy trong văn bản đầu vào.",
                            "items": {
                              "type": "object",
                              "required": [
                                "offset",
                                "length",
                                "sentence_index"
                              ],
                              "properties": {
                                "offset": {
                                  "type": "integer",
                                  "description": "Vị trí tính từ 0 trong câu"
                                },
                                "length": {
                                  "type": "integer",
                                  "description": "Độ dài của đoạn văn bản"
                                },
                                "sentence_index": {
                                  "type": "integer",
                                  "description": "Chỉ số của câu nơi có đoạn văn bản"
                                },
                                "text": {
                                  "type": "string",
                                  "description": "Bản thân đoạn văn bản (`snippets` phải được đặt thành `true`)"
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "sentiment_expressions": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "offset",
                          "length",
                          "sentence_index",
                          "polarity"
                        ],
                        "properties": {
                          "polarity": {
                            "type": "string",
                            "description": "Phân cực cảm xúc",
                            "enum": [
                              "positive",
                              "negative",
                              "mixed",
                              "neutral"
                            ]
                          },
                          "offset": {
                            "type": "integer",
                            "description": "Vị trí tính từ 0 trong câu"
                          },
                          "length": {
                            "type": "integer",
                            "description": "Độ dài của đoạn văn bản"
                          },
                          "sentence_index": {
                            "type": "integer",
                            "description": "Chỉ số của câu nơi có đoạn văn bản"
                          },
                          "targets": {
                            "type": "array",
                            "description": "Mục tiêu của các khía cạnh (để phân tích cảm xúc dựa trên khía cạnh).",
                            "items": {
                              "type": "string"
                            }
                          },
                          "reasons": {
                            "type": "array",
                            "description": "Thẻ lý do (để phân tích cảm xúc dựa trên khía cạnh).",
                            "items": {
                              "type": "string"
                            }
                          },
                          "text": {
                            "type": "string",
                            "description": "Bản thân đoạn văn bản (`snippets` phải được đặt thành `true`)"
                          },
                          "explanation": {
                            "type": "string",
                            "description": "Cách giải thích con người có thể hiểu được về lý do đánh dấu"
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "Hello Tisane": {
                    "value": {
                      "text": "Hello Tisane API!",
                      "entities_summary": [
                        {
                          "type": "software",
                          "name": "Tisane API",
                          "mentions": [
                            {
                              "sentence_index": 0,
                              "offset": 6,
                              "length": 10
                            }
                          ]
                        }
                      ]
                    }
                  },
                  "Abuse detection": {
                    "value": {
                      "text": "Babylonians should stay away from our country. We are full.",
                      "abuse": [
                        {
                          "sentence_index": 0,
                          "offset": 0,
                          "length": 45,
                          "text": "Babylonians should stay away from our country",
                          "type": "bigotry",
                          "severity": "low"
                        }
                      ],
                      "sentiment_expressions": [
                        {
                          "sentence_index": 0,
                          "offset": 0,
                          "length": 45,
                          "text": "Babylonians should stay away from our country",
                          "polarity": "negative"
                        }
                      ]
                    }
                  },
                  "Extract topics (native standard)": {
                    "value": {
                      "text": "An inertial force is a force that resists a change in velocity of an object.",
                      "topics": [
                        "physics"
                      ]
                    }
                  },
                  "Extract topics (IAB standard)": {
                    "value": {
                      "text": "moon, Jupiter and Mars",
                      "topics": [
                        "Space and Astronomy"
                      ]
                    }
                  },
                  "Adverse media monitoring in fintech": {
                    "value": {
                      "text": "HSBC has been accused of money laundering recently",
                      "topics": [
                        "laws"
                      ],
                      "sentiment_expressions": [
                        {
                          "sentence_index": 0,
                          "offset": 0,
                          "length": 41,
                          "text": "HSBC has been accused of money laundering",
                          "polarity": "negative",
                          "reasons": [
                            "compliance",
                            "misconduct"
                          ]
                        }
                      ],
                      "entities_summary": [
                        {
                          "type": "organization",
                          "name": "HSBC",
                          "mentions": [
                            {
                              "sentence_index": 0,
                              "offset": 0,
                              "length": 4,
                              "text": "HSBC"
                            }
                          ]
                        }
                      ]
                    }
                  },
                  "Parse alias w/ sentence structure": {
                    "value": {
                      "text": "anxiousgayhorseonketamine",
                      "topics": [],
                      "abuse": [
                        {
                          "sentence_index": 0,
                          "offset": 17,
                          "length": 8,
                          "type": "adult_only",
                          "severity": "high",
                          "tags": [
                            "hallucinogen"
                          ]
                        }
                      ]
                    }
                  },
                  "Parse hashtag and output words": {
                    "value": {
                      "text": "#deathtodishonestpeople",
                      "topics": [
                        "crime"
                      ],
                      "abuse": [
                        {
                          "sentence_index": 0,
                          "offset": 1,
                          "length": 22,
                          "type": "criminal_activity",
                          "severity": "extreme",
                          "tags": [
                            "call_for_violence",
                            "death"
                          ]
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Yêu cầu không hợp lệ - mã JSON hoặc mã ngôn ngữ không hợp lệ."
          },
          "401": {
            "description": "Không được phép - khóa API không hợp lệ hoặc vượt quá hạn ngạch."
          },
          "500": {
            "description": "Lỗi máy chủ nội bộ"
          }
        }
      }
    },
    "/languages": {
      "get": {
        "operationId": "languages",
        "security": [
          {
            "Tisane-API-Key": []
          }
        ],
        "tags": [
          "NLU / NLP Methods"
        ],
        "summary": "Liệt kê tất cả các ngôn ngữ có sẵn",
        "description": "Truy xuất danh sách các ngôn ngữ được hỗ trợ.\n\nPhản hồi bao gồm các thuộc tính sau:\n* `id` - ID ngôn ngữ.\n* `name` - Tên bản ngữ.\n* `englishName` - Tên tiếng Anh.\n* `nativeEncoding` - Mã hóa ngôn ngữ.\n* `preferredFont` - Phông chữ hiển thị được đề xuất.\n* `latin` - Ngôn ngữ có sử dụng chữ Latin hay không.\n* `rightToLeft` - Ngôn ngữ có sử dụng chữ viết từ phải sang trái không (ví dụ: tiếng Ả Rập, tiếng Do Thái, tiếng Ba Tư).",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Phản hồi thành công",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "isoCode": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "englishName": {
                        "type": "string"
                      },
                      "nativeEncoding": {
                        "type": "string"
                      },
                      "fontFace": {
                        "type": "string"
                      },
                      "latin": {
                        "type": "boolean"
                      },
                      "rightToLeft": {
                        "type": "boolean"
                      }
                    }
                  }
                },
                "example": [
                  {
                    "isoCode": "ar",
                    "name": "العربية",
                    "englishName": "Arabic",
                    "nativeEncoding": "iso-8859-6",
                    "fontFace": "Arial",
                    "latin": false,
                    "rightToLeft": true
                  },
                  {
                    "isoCode": "en",
                    "name": "English",
                    "englishName": "English",
                    "nativeEncoding": "iso-8859-1",
                    "fontFace": "Arial",
                    "latin": true
                  },
                  {
                    "isoCode": "zh-CN",
                    "name": "简体中文",
                    "englishName": "Chinese, Simplified",
                    "nativeEncoding": "gb18030",
                    "fontFace": "NSimSun",
                    "latin": false
                  },
                  {
                    "isoCode": "zh-TW",
                    "name": "繁體中文",
                    "englishName": "Chinese, Traditional",
                    "nativeEncoding": "iso-8859-1",
                    "fontFace": "Arial Unicode MS",
                    "latin": false
                  },
                  {
                    "isoCode": "ja",
                    "name": "日本語",
                    "englishName": "Japanese",
                    "nativeEncoding": "ISO-2022",
                    "fontFace": "MS Mincho",
                    "latin": false
                  },
                  {
                    "isoCode": "ru",
                    "name": "русский",
                    "englishName": "Russian",
                    "nativeEncoding": "iso-8859-1",
                    "fontFace": "Arial",
                    "latin": false
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/helper/extract_text": {
      "post": {
        "operationId": "extract_text",
        "security": [
          {
            "Tisane-API-Key": []
          }
        ],
        "tags": [
          "NLU / NLP Methods"
        ],
        "summary": "Dọn dẹp văn bản",
        "description": "Một phương pháp dịch vụ để loại bỏ JavaScript, thẻ CSS, JSON và các đánh dấu khác, trả về văn bản đã giải mã thuần túy.\nNội dung yêu cầu bao gồm nội dung đánh dấu mà văn bản sẽ được trích xuất.\n\n**Lưu ý: Phương pháp này không xử lý nội dung nhị phân.**",
        "requestBody": {
          "required": true,
          "content": {
            "text/plain": {
              "schema": {
                "type": "string"
              },
              "example": "<p>Clean me up</p> <style>/* Styles are unnecessary for text analysis */</style>"
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Phản hồi thành công",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Clean me up"
              }
            }
          }
        }
      }
    },
    "/compare/entities": {
      "post": {
        "operationId": "compareEntities",
        "security": [
          {
            "Tisane-API-Key": []
          }
        ],
        "tags": [
          "NLU / NLP Methods"
        ],
        "summary": "So sánh thực thể được đặt tên",
        "description": "So sánh hai thực thể có tên ghép và xác định các điểm khác biệt.\nNội dung yêu cầu phải bao gồm:\n* `language1` (chuỗi) - Thẻ IETF cho ngôn ngữ của thực thể đầu tiên.\n* `entity1` (string) - Thực thể đầu tiên.\n* `language2` (string) - Thẻ IETF cho ngôn ngữ của thực thể thứ hai.\n* `entity2` (string) - Thực thể thứ hai.\n* `type` (string) - Loại thực thể (_person_).\n\nXem thêm thông tin: [Các thực thể được đặt tên trong Hướng dẫn phản hồi API Tisane](./tisane-api-response-guide.md#named-entities)\nPhản hồi chứa:\n* `result` (string) - Kết quả so sánh:\n* `no_single_entity` - Một hoặc cả hai thực thể đều không hợp lệ.\n* `same` - Các thực thể giống hệt nhau (thứ tự tên có thể khác nhau).\n* `different` - Các thực thể khác nhau, chi tiết được nêu trong `differences`.\n* `differences` (mảng chuỗi) - Liệt kê các điểm khác biệt được phát hiện:\n\n  * `given_name`\n  \n  * `surname`\n  \n  * `title` (Ví dụ: Ông, Bà)\n  \n  * `social_role` (ví dụ: bằng cấp học thuật)\n  \n  * `suffix`\n  \n  * `variation` (ví dụ: sự khác biệt về chính tả hoặc phong cách)\n  ",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              },
              "example": {
                "language1": "en",
                "entity1": "Gary Youngman MD",
                "language2": "en",
                "entity2": "Gary Oldman",
                "type": "person"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Phản hồi thành công",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "result": "different",
                  "differences": [
                    "surname",
                    "social_role"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/similarity": {
      "post": {
        "operationId": "similarity",
        "security": [
          {
            "Tisane-API-Key": []
          }
        ],
        "tags": [
          "NLU / NLP Methods"
        ],
        "summary": "Sự tương đồng về mặt ngữ nghĩa",
        "description": "Tính toán mức độ tương đồng về mặt ngữ nghĩa giữa hai đoạn văn bản, trong cùng một ngôn ngữ hoặc trong các ngôn ngữ khác nhau.\n\nNội dung yêu cầu phải chứa:\n* `content1` (chuỗi) - Đoạn văn bản đầu tiên.\n* `language1` (chuỗi) - Mã ngôn ngữ IETF cho `content1`.\n* `content2` (chuỗi) - Đoạn văn bản thứ hai cần so sánh.\n* `language2` (chuỗi) - Mã ngôn ngữ IETF cho `content2`.\n* `settings` (đối tượng) - Các thiết lập bổ sung theo thông số kỹ thuật. Xem thêm thông tin: [Hướng dẫn cấu hình và tùy chỉnh API Tisane](./tisane-api-configuration.md).\nPhản hồi là một số nằm trong khoảng từ 0 đến 1, biểu thị mức độ giống nhau của các đoạn văn bản đã gửi.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              },
              "example": {
                "language1": "en",
                "content1": "Franz Ferdinand was assassinated by a Serbian revolutionary",
                "language2": "en",
                "content2": "A Yugoslav radical assassinated Franz Ferdinand",
                "settings": {}
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Phản hồi thành công",
            "content": {
              "application/json": {
                "schema": {
                  "type": "number"
                },
                "example": 0.6190476190476191
              }
            }
          }
        }
      }
    },
    "/detectLanguage": {
      "post": {
        "operationId": "detectLanguage",
        "security": [
          {
            "Tisane-API-Key": []
          }
        ],
        "tags": [
          "NLU / NLP Methods"
        ],
        "summary": "Phát hiện ngôn ngữ",
        "description": "Phát hiện các ngôn ngữ được sử dụng trong đoạn văn bản được cung cấp và trả về phân tích chi tiết theo độ lệch.\n\nNội dung yêu cầu phải bao gồm:\n* `content` (chuỗi) - đoạn văn bản cần phân tích.\n* `languages` (chuỗi, tùy chọn) - danh sách mã ngôn ngữ được phân cách bằng dấu gạch đứng để sử dụng làm dấu hiệu.\n* `delimiter` (chuỗi, tùy chọn) - một biểu thức chính quy để phân đoạn đoạn văn bản; theo mặc định, đoạn văn bản không được phân đoạn.\nPhản hồi là cấu trúc JSON chứa `languages`, cung cấp thông tin phân tích về mã ngôn ngữ.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "content": {
                    "type": "string",
                    "description": "Đoạn văn bản cần phân tích."
                  },
                  "languages": {
                    "type": "string",
                    "description": "Danh sách mã ngôn ngữ được phân cách bằng dấu gạch đứng để sử dụng làm dấu hiệu."
                  },
                  "delimiter": {
                    "type": "string",
                    "description": "Biểu thức chính quy để phân đoạn đoạn văn bản; theo mặc định, đoạn văn bản không được phân đoạn."
                  }
                }
              },
              "examples": {
                "Cơ bản": {
                  "value": {
                    "content": "c'est la vie"
                  }
                },
                "Gợi ý cho những trường hợp không rõ ràng": {
                  "value": {
                    "content": "singular",
                    "languages": "es|ar"
                  }
                },
                "Phân tích quá trình phân đoạn ngôn ngữ theo từng dòng": {
                  "value": {
                    "content": "скушай\r\nmuffin\r\nכפארה",
                    "languages": "en|ru|th|he",
                    "delimiter": "[\\r\\n]"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Phản hồi thành công",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "examples": {
                  "Cơ bản": {
                    "value": {
                      "languages": [
                        {
                          "offset": 0,
                          "length": 12,
                          "language": "fr",
                          "score": 1181
                        }
                      ]
                    }
                  },
                  "Gợi ý cho những trường hợp không rõ ràng": {
                    "value": {
                      "languages": [
                        {
                          "offset": 0,
                          "length": 8,
                          "language": "es",
                          "score": 1137
                        }
                      ]
                    }
                  },
                  "Phân tích quá trình phân đoạn ngôn ngữ theo từng dòng": {
                    "value": {
                      "languages": [
                        {
                          "offset": 0,
                          "length": 7,
                          "language": "ru",
                          "score": 866
                        },
                        {
                          "offset": 8,
                          "length": 6,
                          "language": "en",
                          "score": 731
                        },
                        {
                          "offset": 16,
                          "length": 6,
                          "language": "he",
                          "score": 1024
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/transform": {
      "post": {
        "operationId": "transform",
        "security": [
          {
            "Tisane-API-Key": []
          }
        ],
        "tags": [
          "NLU / NLP Methods"
        ],
        "summary": "Dịch văn bản",
        "description": "Phương pháp này dịch văn bản đầu vào.\nNội dung yêu cầu phải bao gồm các phần tử sau:\n* `from` (chuỗi) - Thẻ IETF chuẩn cho ngôn ngữ nguồn. Sử dụng `*` hoặc một bộ mã ngôn ngữ được phân cách bằng dấu gạch đứng để gọi chức năng tự động phát hiện.\n* `to` (chuỗi) - Thẻ IETF chuẩn cho ngôn ngữ đích. Nếu ngôn ngữ nguồn và ngôn ngữ đích giống nhau, sẽ áp dụng cách diễn đạt lại.\n* `content` (chuỗi) - Nội dung văn bản cần dịch.\n* `settings` (đối tượng) - Cài đặt bản dịch bổ sung.\n\nXem thêm thông tin: [Hướng dẫn cấu hình và tùy chỉnh API Tisane](./tisane-api-configuration.md)\nPhản hồi là văn bản đã được chuyển đổi.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "from": {
                    "type": "string"
                  },
                  "to": {
                    "type": "string"
                  },
                  "content": {
                    "type": "string"
                  },
                  "settings": {
                    "type": "object",
                    "properties": {
                      "snippets": {
                        "type": "boolean",
                        "description": "Khi được đặt thành `true`, các đoạn văn bản có liên quan sẽ được bao gồm trong các phần `abuse`, `sentiment_expressions` và `entities_summary`."
                      },
                      "abuse": {
                        "type": "boolean",
                        "description": "Có xuất ra `abuse` hay không. Mặc định: `true`"
                      },
                      "sentiment": {
                        "type": "boolean",
                        "description": "Có xuất ra `sentiment` hay không. Mặc định: `true`"
                      },
                      "topics": {
                        "type": "boolean",
                        "description": "Có xuất ra `topics` hay không. Mặc định: `true`"
                      },
                      "entities": {
                        "type": "boolean",
                        "description": "Có xuất ra `entity information` hay không. Mặc định: `true`"
                      },
                      "relations": {
                        "type": "boolean",
                        "description": "Khi có giá trị `true`, mối quan hệ giữa các thực thể sẽ được cung cấp."
                      },
                      "disable_spellcheck": {
                        "type": "boolean",
                        "description": "Khi được đặt thành `true`, kiểm tra chính tả không được sử dụng. Mặc định: `false` (bật kiểm tra chính tả theo mặc định)"
                      },
                      "words": {
                        "type": "boolean",
                        "description": "Khi được đặt thành `true`, các khối từ vựng riêng lẻ sẽ được cung cấp."
                      },
                      "state": {
                        "type": "boolean",
                        "description": "Khi được đặt thành `true`, nội dung bộ nhớ dài hạn sẽ được trả về."
                      },
                      "memory": {
                        "$ref": "#/components/schemas/Memory",
                        "description": "Khởi tạo nội dung bộ nhớ dài hạn."
                      }
                    },
                    "additionalProperties": true
                  }
                }
              },
              "examples": {
                "Dịch một câu tiếng Nhật": {
                  "value": {
                    "from": "ja",
                    "to": "en",
                    "content": "彼女はりんごを食べます",
                    "settings": {}
                  }
                },
                "Tự động phát hiện ngôn ngữ và dịch tên tiếng Trung sang tiếng Anh": {
                  "value": {
                    "from": "*",
                    "to": "en",
                    "content": "汪杰世",
                    "settings": {
                      "entity": "person"
                    }
                  }
                },
                "Dịch từ tiếng Anh sang tiếng Nga": {
                  "value": {
                    "from": "en",
                    "to": "ru",
                    "content": "The movie is available on amazon prime",
                    "settings": {}
                  }
                },
                "Dịch thuật ngữ tiếng Nga về người nghiện ma túy sang tiếng Anh": {
                  "value": {
                    "from": "ru",
                    "to": "en",
                    "content": "юзаю амф умеренно",
                    "settings": {}
                  }
                },
                "Dịch từ tiếng Do Thái sang tiếng Nga giữ nguyên giới tính": {
                  "value": {
                    "from": "he",
                    "to": "ru",
                    "content": "אני אוהב סיניות",
                    "settings": {}
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "schema": {
              "type": "string"
            },
            "example": "application/json"
          }
        ],
        "responses": {
          "200": {
            "description": "Phản hồi dịch thành công",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "Dịch một câu tiếng Nhật": {
                    "value": "She is eating an apple"
                  },
                  "Tự động phát hiện ngôn ngữ và dịch tên tiếng Trung sang tiếng Anh": {
                    "value": "Wang Jie Shi"
                  },
                  "Dịch từ tiếng Anh sang tiếng Nga": {
                    "value": "Фильм доступен на amazon prime"
                  },
                  "Dịch thuật ngữ tiếng Nga về người nghiện ma túy sang tiếng Anh": {
                    "value": "I moderately take amphetamine"
                  },
                  "Dịch từ tiếng Do Thái sang tiếng Nga giữ nguyên giới tính": {
                    "value": "Я люблю китаянок"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Yêu cầu không hợp lệ - mã JSON hoặc mã ngôn ngữ không hợp lệ."
          },
          "401": {
            "description": "Không được phép - khóa API không hợp lệ hoặc vượt quá hạn ngạch."
          },
          "500": {
            "description": "Lỗi máy chủ nội bộ"
          }
        }
      }
    },
    "/lm/inflections": {
      "get": {
        "operationId": "inflections",
        "security": [
          {
            "Tisane-API-Key": []
          }
        ],
        "tags": [
          "Language Model Direct Access"
        ],
        "summary": "Liệt kê các dạng biến cách",
        "description": "Truy xuất các dạng biến cách của một trị từ vựng cụ thể trong một họ ngôn ngữ nhất định.",
        "parameters": [
          {
            "name": "language",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "Mã của một ngôn ngữ trong Tisane. Ví dụ: `en`.",
            "example": "en"
          },
          {
            "name": "lexeme",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "ID của trị từ vựng cần kiểm tra.",
            "example": 3130180
          },
          {
            "name": "family",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "ID của họ cần kiểm tra.",
            "example": 58443
          }
        ],
        "responses": {
          "200": {
            "description": "Phản hồi thành công",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "text": {
                        "type": "string"
                      },
                      "isLemma": {
                        "type": "boolean"
                      },
                      "features": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "index": {
                              "type": "integer"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "Các dạng biến cách của 'buy' trong tiếng Anh": {
                    "value": [
                      {
                        "text": "bought",
                        "features": [
                          {
                            "index": 2,
                            "value": "ALL"
                          },
                          {
                            "index": 9,
                            "value": "ALL"
                          },
                          {
                            "index": 10,
                            "value": "PAP"
                          },
                          {
                            "index": 11,
                            "value": "ALL"
                          },
                          {
                            "index": 21,
                            "value": "IND"
                          },
                          {
                            "index": 15,
                            "value": "NO"
                          },
                          {
                            "index": 27,
                            "value": "ALL"
                          },
                          {
                            "index": 5,
                            "value": "ALL"
                          }
                        ]
                      },
                      {
                        "text": "bought",
                        "features": [
                          {
                            "index": 2,
                            "value": "ALL"
                          },
                          {
                            "index": 9,
                            "value": "ALL"
                          },
                          {
                            "index": 10,
                            "value": "PAST"
                          },
                          {
                            "index": 5,
                            "value": "ALL"
                          },
                          {
                            "index": 11,
                            "value": "ACT"
                          },
                          {
                            "index": 21,
                            "value": "IND"
                          },
                          {
                            "index": 15,
                            "value": "NO"
                          },
                          {
                            "index": 27,
                            "value": "ALL"
                          }
                        ]
                      },
                      {
                        "text": "buy",
                        "isLemma": true,
                        "features": [
                          {
                            "index": 10,
                            "value": "BASE"
                          },
                          {
                            "index": 11,
                            "value": "ACT"
                          },
                          {
                            "index": 21,
                            "value": "IND"
                          },
                          {
                            "index": 2,
                            "value": "ALL"
                          },
                          {
                            "index": 9,
                            "value": "ALL"
                          },
                          {
                            "index": 15,
                            "value": "NO"
                          },
                          {
                            "index": 27,
                            "value": "ALL"
                          },
                          {
                            "index": 5,
                            "value": "ALL"
                          }
                        ]
                      },
                      {
                        "text": "buys",
                        "features": [
                          {
                            "index": 5,
                            "value": "ALL"
                          },
                          {
                            "index": 2,
                            "value": "1"
                          },
                          {
                            "index": 9,
                            "value": "3"
                          },
                          {
                            "index": 10,
                            "value": "PRES"
                          },
                          {
                            "index": 15,
                            "value": "NO"
                          },
                          {
                            "index": 11,
                            "value": "ACT"
                          },
                          {
                            "index": 21,
                            "value": "IND"
                          },
                          {
                            "index": 27,
                            "value": "ALL"
                          }
                        ]
                      },
                      {
                        "text": "buying",
                        "features": [
                          {
                            "index": 2,
                            "value": "ALL"
                          },
                          {
                            "index": 9,
                            "value": "ALL"
                          },
                          {
                            "index": 10,
                            "value": "PRP"
                          },
                          {
                            "index": 5,
                            "value": "ALL"
                          },
                          {
                            "index": 15,
                            "value": "NO"
                          },
                          {
                            "index": 11,
                            "value": "ACT"
                          },
                          {
                            "index": 21,
                            "value": "IND"
                          },
                          {
                            "index": 27,
                            "value": "ALL"
                          }
                        ]
                      },
                      {
                        "text": "buy",
                        "features": [
                          {
                            "index": 10,
                            "value": "PRES"
                          },
                          {
                            "index": 11,
                            "value": "ACT"
                          },
                          {
                            "index": 21,
                            "value": "IND"
                          },
                          {
                            "index": 23,
                            "value": "BODY"
                          },
                          {
                            "index": 2,
                            "value": "ALL"
                          },
                          {
                            "index": 9,
                            "value": "1"
                          },
                          {
                            "index": 15,
                            "value": "NO"
                          },
                          {
                            "index": 27,
                            "value": "ALL"
                          },
                          {
                            "index": 3,
                            "value": "ALL"
                          },
                          {
                            "index": 29,
                            "value": "00"
                          },
                          {
                            "index": 5,
                            "value": "ALL"
                          },
                          {
                            "index": 22,
                            "value": "ALL"
                          }
                        ]
                      },
                      {
                        "text": "buy",
                        "features": [
                          {
                            "index": 10,
                            "value": "PRES"
                          },
                          {
                            "index": 11,
                            "value": "ACT"
                          },
                          {
                            "index": 21,
                            "value": "IND"
                          },
                          {
                            "index": 23,
                            "value": "BODY"
                          },
                          {
                            "index": 2,
                            "value": "ALL"
                          },
                          {
                            "index": 9,
                            "value": "2"
                          },
                          {
                            "index": 15,
                            "value": "NO"
                          },
                          {
                            "index": 27,
                            "value": "ALL"
                          },
                          {
                            "index": 3,
                            "value": "ALL"
                          },
                          {
                            "index": 29,
                            "value": "00"
                          },
                          {
                            "index": 5,
                            "value": "ALL"
                          },
                          {
                            "index": 22,
                            "value": "ALL"
                          }
                        ]
                      },
                      {
                        "text": "buy",
                        "features": [
                          {
                            "index": 10,
                            "value": "PRES"
                          },
                          {
                            "index": 11,
                            "value": "ACT"
                          },
                          {
                            "index": 21,
                            "value": "IND"
                          },
                          {
                            "index": 2,
                            "value": "MANY"
                          },
                          {
                            "index": 9,
                            "value": "3"
                          },
                          {
                            "index": 15,
                            "value": "NO"
                          },
                          {
                            "index": 27,
                            "value": "ALL"
                          },
                          {
                            "index": 3,
                            "value": "ALL"
                          },
                          {
                            "index": 29,
                            "value": "00"
                          },
                          {
                            "index": 5,
                            "value": "ALL"
                          },
                          {
                            "index": 22,
                            "value": "ALL"
                          }
                        ]
                      }
                    ]
                  },
                  "Các dạng biến cách của 'United States' trong tiếng Nga": {
                    "value": [
                      {
                        "features": [
                          {
                            "index": 9,
                            "value": "3"
                          },
                          {
                            "index": 15,
                            "value": "NOM"
                          }
                        ],
                        "isLemma": true,
                        "text": "Соединённые Штаты Америки"
                      },
                      {
                        "features": [
                          {
                            "index": 15,
                            "value": "GEN"
                          },
                          {
                            "index": 9,
                            "value": "3"
                          }
                        ],
                        "text": "Соединенных Штатов Америки"
                      },
                      {
                        "features": [
                          {
                            "index": 15,
                            "value": "INST"
                          },
                          {
                            "index": 9,
                            "value": "3"
                          }
                        ],
                        "text": "Соединенными Штатами Америки"
                      },
                      {
                        "features": [
                          {
                            "index": 15,
                            "value": "DAT"
                          },
                          {
                            "index": 9,
                            "value": "3"
                          }
                        ],
                        "text": "Соединенным Штатам Америки"
                      },
                      {
                        "features": [
                          {
                            "index": 15,
                            "value": "PREP"
                          },
                          {
                            "index": 9,
                            "value": "3"
                          }
                        ],
                        "text": "Соединенных Штатах Америки"
                      },
                      {
                        "features": [
                          {
                            "index": 24,
                            "value": "THNG"
                          },
                          {
                            "index": 2,
                            "value": "1"
                          },
                          {
                            "index": 9,
                            "value": "3"
                          },
                          {
                            "index": 7,
                            "value": "NA"
                          },
                          {
                            "index": 15,
                            "value": "ACC"
                          }
                        ],
                        "text": "Соединённые Штаты Америки"
                      }
                    ]
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}