schemes: - https swagger: '2.0' info: description: NLP APIs available on InsightEra NLP Platform title: NLP Platform API termsOfService: http://swagger.io/terms/ contact: name: API Support email: dev@insightera.co.th license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html version: '1.0' host: nlp.insightera.co.th basePath: /api paths: /nlp/address-extractor: post: description: 'A service for converting a plain text address to a structural address where each part of the address are extracted and labeled. A complete list of parts which will be extracted are as follow: 1. Name 2. Phone number 3. Tambol 4. Amphoe 5. Province 6. Postcode 7. Probability of an input text being an address (0.0 to 1.0)' consumes: - application/json produces: - application/json tags: - nlp summary: Address extractor parameters: - type: string default: 97051ade29a61c860f57dc9443128464 description: Token name: token in: query required: true - description: Address name: address in: body required: true schema: type: object $ref: '#/definitions/record.SwagAddrInput' responses: '200': description: OK schema: $ref: '#/definitions/record.SwagAddr' '400': description: Bad Request schema: type: string '401': description: Unauthorized schema: type: string '408': description: Request Timeout schema: type: string '500': description: Internal Server Error schema: type: string /nlp/classification/change-model-name: post: description: 'Change existing model name. * modelId: An ID from training service which represent an actual model to be used.' consumes: - application/json produces: - application/json tags: - classification summary: Change model name parameters: - type: string default: 97051ade29a61c860f57dc9443128464 description: Token name: token in: query required: true - description: Input name: input in: body required: true schema: type: object $ref: '#/definitions/record.SwagClassModelNameRecord' responses: '200': description: OK schema: $ref: '#/definitions/record.SwagClassModelNameORecord' '400': description: Bad Request schema: type: string '401': description: Unauthorized schema: type: string '408': description: Request Timeout schema: type: string '500': description: Internal Server Error schema: type: string /nlp/classification/delete: post: description: Delete model consumes: - application/json produces: - application/json tags: - classification summary: Delete model parameters: - type: string default: 97051ade29a61c860f57dc9443128464 description: Token name: token in: query required: true - description: Input name: input in: body required: true schema: type: object $ref: '#/definitions/record.SwagClassModelInput' responses: '200': description: OK schema: $ref: '#/definitions/record.SwagClassDeleteResult' '400': description: Bad Request schema: type: string '401': description: Unauthorized schema: type: string '408': description: Request Timeout schema: type: string '500': description: Internal Server Error schema: type: string /nlp/classification/model: post: description: 'Retrieve model details: * Model name * Model status * Created date * Number of samples in each class' consumes: - application/json produces: - application/json tags: - classification summary: Model detail parameters: - type: string default: 97051ade29a61c860f57dc9443128464 description: Token name: token in: query required: true - description: Input name: input in: body required: true schema: type: object $ref: '#/definitions/record.SwagClassModelInput' responses: '200': description: OK schema: $ref: '#/definitions/record.SwagClassModelOutput' '400': description: Bad Request schema: type: string '401': description: Unauthorized schema: type: string '408': description: Request Timeout schema: type: string '500': description: Internal Server Error schema: type: string /nlp/classification/predict: post: description: 'Predict classes of input texts using a model previously trained. In each training request, a user will receive a model ID. The ID is required for this service so that it knows which model to use for prediction. Model ID and a secret token must be matched (the same token used when trained a model) in order to continue using this service. * modelId: An ID from training service which represent an actual model to be used.' consumes: - application/json produces: - application/json tags: - classification summary: Predict parameters: - type: string default: 97051ade29a61c860f57dc9443128464 description: Token name: token in: query required: true - description: Input name: input in: body required: true schema: type: object $ref: '#/definitions/record.SwagClassPredictInput' responses: '200': description: OK schema: $ref: '#/definitions/record.SwagClassPredictOutput' '400': description: Bad Request schema: type: string '401': description: Unauthorized schema: type: string '408': description: Request Timeout schema: type: string '500': description: Internal Server Error schema: type: string /nlp/classification/retrain: post: description: continue training a model based on an existing model. Users should provide only new information the model has never learnt before. A model_id must be provided otherwise the service will response an error. consumes: - application/json produces: - application/json tags: - classification summary: Retrain parameters: - type: string default: 97051ade29a61c860f57dc9443128464 description: Token name: token in: query required: true - description: Input name: input in: body required: true schema: type: object $ref: '#/definitions/record.SwagClassRetrainRecord' responses: '200': description: OK schema: $ref: '#/definitions/record.SwagClassRetrainResult' '400': description: Bad Request schema: type: string '401': description: Unauthorized schema: type: string '408': description: Request Timeout schema: type: string '500': description: Internal Server Error schema: type: string /nlp/classification/token: get: description: 'Retrieve all models belong to a given token: * Model name * Model status * Created date * Number of sample in each class' produces: - application/json tags: - classification summary: Model Details by Token parameters: - type: string default: 97051ade29a61c860f57dc9443128464 description: Token name: token in: query required: true responses: '200': description: OK schema: $ref: '#/definitions/record.SwagClassTokenResult' '400': description: Bad Request schema: type: string '401': description: Unauthorized schema: type: string '408': description: Request Timeout schema: type: string '500': description: Internal Server Error schema: type: string /nlp/classification/train: post: description: 'Train a classification model. The general idea begins with a user provides dataset with labels, our service uses these information to build a classification model and give back a model ID. A user then use this model ID with prediction service to have model classified users'' text. Every classification models can be accessed only if users provide the same token used during training process. This means all models are protected. Only those who have access to a secret token can use the model. * model_name (optional) - if not provided, model_id will be used as model_name' consumes: - application/json produces: - application/json tags: - classification summary: Train parameters: - type: string default: 97051ade29a61c860f57dc9443128464 description: Token name: token in: query required: true - description: Input name: input in: body required: true schema: type: object $ref: '#/definitions/record.SwagClassTrainRecord' responses: '200': description: OK schema: $ref: '#/definitions/record.SwagClassTrainResult' '400': description: Bad Request schema: type: string '401': description: Unauthorized schema: type: string '408': description: Request Timeout schema: type: string '500': description: Internal Server Error schema: type: string /nlp/classification/train-with-file: post: description: 'Train a classification model with file. The general idea begins with a user provides dataset with labels, our service uses these information to build a classification model and give back a model ID. A user then use this model ID with prediction service to have model classified users'' text. Every classification models can be accessed only if users provide the same token used during training process. This means all models are protected. Only those who have access to a secret token can use the model. * model_name (optional) - if not provided, model_id will be used as model_name * file - 2 column file with classname and value in xlsx or csv format (comma delimited)' consumes: - application/json produces: - application/json tags: - classification summary: Train with file parameters: - type: string default: 97051ade29a61c860f57dc9443128464 description: Token name: token in: query required: true - type: file description: file name: file in: formData required: true - type: string description: model_name name: model_name in: formData responses: '200': description: OK schema: $ref: '#/definitions/record.SwagClassTrainResult' '400': description: Bad Request schema: type: string '401': description: Unauthorized schema: type: string '408': description: Request Timeout schema: type: string '500': description: Internal Server Error schema: type: string /nlp/cleaning: post: description: 'A service for normalizing texts, especially texts from social media and chat which tend to be informal and purposely misspelled (or slang), into a cleaner version to ease further analysis: * ''keep_alphabet'' If set, tokenization result which contains only one alphabet will be preserved (default: false). * ''keep_rt'' if set, @RT from Twitter will be preserved (default: false). * ''keep_stopwords'' if set, stopwords will be preserved (default: false). * ''keep_url'' if set, urls will be preserved (default: false). * ''keep_emoji'' if set, emoji will be preserved (default: true). * ''normalize'' if set, misspelled words will be auto-corrected or transformed into a cleaner form (default: false). * ''only_vocab'' If set, words that are not in a dictionary will be removed (default: false).' consumes: - application/json produces: - application/json tags: - nlp summary: Text cleaning parameters: - type: string default: 97051ade29a61c860f57dc9443128464 description: Token name: token in: query required: true - description: Input name: input in: body required: true schema: type: object $ref: '#/definitions/record.SwagCleaningInput' responses: '200': description: OK schema: $ref: '#/definitions/record.SwagCleaningResult' '400': description: Bad Request schema: type: string '401': description: Unauthorized schema: type: string '408': description: Request Timeout schema: type: string '500': description: Internal Server Error schema: type: string /nlp/clustering: post: description: 'A service for organizing random texts into multiple groups. The service will try grouping them into a number of group defined by a user (k). * engine: machine learning algorithm: k-mean (default), hierarchy * feature_engine: feature extraction method: bag-of-word (default), word-vector * max_k: maximum cluster (optional) * k: number of cluster (optional). If k is not provided, the service will try to find the least k that makes good cluster automatically.' consumes: - application/json produces: - application/json tags: - nlp summary: Text clustering parameters: - type: string default: 97051ade29a61c860f57dc9443128464 description: Token name: token in: query required: true - description: Input name: input in: body required: true schema: type: object $ref: '#/definitions/record.SwagClusteringInput' responses: '200': description: OK schema: $ref: '#/definitions/record.SwagClusteringOutput' '400': description: Bad Request schema: type: string '401': description: Unauthorized schema: type: string '408': description: Request Timeout schema: type: string '500': description: Internal Server Error schema: type: string /nlp/common-phrase: post: description: 'A clustering service specifically customized for chat log. k: a number of cluster (group) to separate texts into.' consumes: - application/json produces: - application/json tags: - nlp summary: Common phrase parameters: - type: string default: 97051ade29a61c860f57dc9443128464 description: Token name: token in: query required: true - description: Input name: input in: body required: true schema: type: object $ref: '#/definitions/record.SwagCommonPhraseInput' responses: '200': description: OK schema: $ref: '#/definitions/record.SwagCommonPhraseOutput' '400': description: Bad Request schema: type: string '401': description: Unauthorized schema: type: string '408': description: Request Timeout schema: type: string '500': description: Internal Server Error schema: type: string /nlp/country: post: description: 'A service for finding a destination country in an address. The service will return the official name of the country and ISO country code. * User can provide additional aliases for each countries using extra_dict option. * By default, the service will only return one country. If multiple is set, it will return all countries found in an input text.' consumes: - application/json produces: - application/json tags: - nlp summary: Country detection parameters: - type: string default: 97051ade29a61c860f57dc9443128464 description: Token name: token in: query required: true - description: Input name: input in: body required: true schema: type: object $ref: '#/definitions/record.SwagCountryInput' responses: '200': description: OK schema: $ref: '#/definitions/record.SwagCountryResult' '400': description: Bad Request schema: type: string '401': description: Unauthorized schema: type: string '408': description: Request Timeout schema: type: string '500': description: Internal Server Error schema: type: string /nlp/datetime-parser-new: post: description: 'A service for converting date and time entities in a plain text, e.g. 17 มกราคม 2020, today, tomorrow, 2 hrs ago to a timestamp. A service supports both Thai and English, and supports both absolute time (24 มิถุนายน 2563) and relative time (เมื่อวาน). ' consumes: - application/json produces: - application/json tags: - nlp summary: Datetime parser parameters: - type: string default: 97051ade29a61c860f57dc9443128464 description: Token name: token in: query required: true - description: Input name: input in: body required: true schema: type: object $ref: '#/definitions/record.SwagDucklingInput' responses: '200': description: OK schema: $ref: '#/definitions/record.SwagDucklingNResult' '400': description: Bad Request schema: type: string '401': description: Unauthorized schema: type: string '408': description: Request Timeout schema: type: string '500': description: Internal Server Error schema: type: string /nlp/extract-email: post: description: A service for detect emamil(s) in plain text. consumes: - application/json produces: - application/json tags: - nlp summary: Email extractor parameters: - type: string default: 97051ade29a61c860f57dc9443128464 description: Token name: token in: query required: true - description: Email name: address in: body required: true schema: type: object $ref: '#/definitions/record.SwagEmailInput' responses: '200': description: OK schema: $ref: '#/definitions/record.SwagEmail' '400': description: Bad Request schema: type: string '401': description: Unauthorized schema: type: string '408': description: Request Timeout schema: type: string '500': description: Internal Server Error schema: type: string /nlp/ner: post: description: A service which locate and classify named entities into pre-defined categories such as name, locaton and time. consumes: - application/json produces: - application/json tags: - nlp summary: Named Entity Recognition parameters: - type: string default: 97051ade29a61c860f57dc9443128464 description: Token name: token in: query required: true - description: Input name: input in: body required: true schema: type: object $ref: '#/definitions/record.SwagNERInput' responses: '200': description: OK schema: $ref: '#/definitions/record.SwagNEROutput' '400': description: Bad Request schema: type: string '401': description: Unauthorized schema: type: string '408': description: Request Timeout schema: type: string '500': description: Internal Server Error schema: type: string /nlp/ocr: post: description: A servie for extracting text from an image such as a printed paper or a photograph which contains texts. consumes: - multipart/form-data produces: - application/json tags: - nlp summary: OCR parameters: - type: string default: 97051ade29a61c860f57dc9443128464 description: Token name: token in: query required: true - type: file description: ImagePath name: image in: formData required: true responses: '200': description: OK schema: $ref: '#/definitions/record.SwagOCROutput' '400': description: Bad Request schema: type: string '401': description: Unauthorized schema: type: string '408': description: Request Timeout schema: type: string '500': description: Internal Server Error schema: type: string /nlp/pos: post: description: A service which classify words in a given sentence into a paricular part-of-speech (Noun, Verb, Pronoun) consumes: - application/json produces: - application/json tags: - nlp summary: POS parameters: - type: string default: 97051ade29a61c860f57dc9443128464 description: Token name: token in: query required: true - description: Input name: input in: body required: true schema: type: object $ref: '#/definitions/record.SwagPOSInput' responses: '200': description: OK schema: $ref: '#/definitions/record.SwagPOSOutput' '400': description: Bad Request schema: type: string '401': description: Unauthorized schema: type: string '408': description: Request Timeout schema: type: string '500': description: Internal Server Error schema: type: string /nlp/qa: post: description: A service for answering questions based on a given story. A user must provide both story and questions in single request. consumes: - application/json produces: - application/json tags: - nlp summary: QA (coming soon) parameters: - type: string default: 97051ade29a61c860f57dc9443128464 description: Token name: token in: query required: true - description: Input name: input in: body required: true schema: type: object $ref: '#/definitions/record.SwagQAInput' responses: '200': description: OK schema: $ref: '#/definitions/record.SwagQAOutput' '400': description: Bad Request schema: type: string '401': description: Unauthorized schema: type: string '408': description: Request Timeout schema: type: string '500': description: Internal Server Error schema: type: string /nlp/sentiment-new: post: description: A service for identifying and categorizing opinions expressed in a given text. The result ranges between -1 (negative) and 1 (positive). consumes: - application/json produces: - application/json tags: - nlp summary: Sentiment analysis parameters: - type: string default: 97051ade29a61c860f57dc9443128464 description: Token name: token in: query required: true - description: Input name: input in: body required: true schema: type: object $ref: '#/definitions/record.SwagSentimentNInput' responses: '200': description: OK schema: $ref: '#/definitions/record.SwagSentimentNOutput' '400': description: Bad Request schema: type: string '401': description: Unauthorized schema: type: string '408': description: Request Timeout schema: type: string '500': description: Internal Server Error schema: type: string /nlp/similar: post: description: 'A service for finding semantically related words for a given word. Example use cases are recommendation, clustering and word normalization. * ''top'' is a number of expecting words in the result.' consumes: - application/json produces: - application/json tags: - nlp summary: Similar words parameters: - type: string default: 97051ade29a61c860f57dc9443128464 description: Token name: token in: query required: true - description: Input name: input in: body required: true schema: type: object $ref: '#/definitions/record.SwagSimilarNInput' responses: '200': description: OK schema: $ref: '#/definitions/record.SwagSimilarNResult' '400': description: Bad Request schema: type: string '401': description: Unauthorized schema: type: string '408': description: Request Timeout schema: type: string '500': description: Internal Server Error schema: type: string /nlp/spell-correction: post: description: A service which auto-correct and recommends correct words for misspelling words in a sentence. consumes: - application/json produces: - application/json tags: - nlp summary: Spell correction parameters: - type: string default: 97051ade29a61c860f57dc9443128464 description: Token name: token in: query required: true - description: Input name: input in: body required: true schema: type: object $ref: '#/definitions/record.SwagSpellInput' responses: '200': description: OK schema: $ref: '#/definitions/record.SwagSpellResult' '400': description: Bad Request schema: type: string '401': description: Unauthorized schema: type: string '408': description: Request Timeout schema: type: string '500': description: Internal Server Error schema: type: string /nlp/tokenize: post: description: 'A service for breaking (tokenize) a sentence into a sequence of words. Only support Thai and English. engine: specify tokenization algorithm to be used, available choices are: * longest_match: Simple longest matching * longest_inse: Add some rule-based improvement to ''longest_match'' * longest_tcc: Apply TCC after ''longest_match'' * deep: LSTM with one character context * deep_context_10: LSTM with 10 (front) + 10 (back) characters context * deep_context_dict: Apply dictionary cross-check to ''deep_context_10''' consumes: - application/json produces: - application/json tags: - nlp summary: Thai text tokenization parameters: - type: string default: 97051ade29a61c860f57dc9443128464 description: Token name: token in: query required: true - description: Input name: input in: body required: true schema: type: object $ref: '#/definitions/record.SwagTokenizeInput' responses: '200': description: OK schema: $ref: '#/definitions/record.SwagTokenizeResult' '400': description: Bad Request schema: type: string '401': description: Unauthorized schema: type: string '408': description: Request Timeout schema: type: string '500': description: Internal Server Error schema: type: string definitions: record.SwagAddr: type: object properties: message: type: object properties: amphoe: type: object properties: scope: type: array items: type: integer example: - 116 - 126 text: type: string example: คลองสาน is_address_score: type: number example: 0.99 name: type: object properties: scope: type: array items: type: integer example: - 3 - 26 text: type: string example: ปุญญพัฒน์ เศรษฐ์สมบูรณ์ original_text: type: string example: นายปุญญพัฒน์ เศรษฐ์สมบูรณ์ 081-234-5678 110/1 อาคาร KX (ใกล้ๆ BTS วงเวียนใหญ่) ชั้น 14 ถ.กรุงธนบุรี แขวงบางลำภูล่าง เขตคลองสาน กรุงเทพมหานคร 10600 จ-ศ 10:00-19:00 other: type: string example: นาย 110/1 อาคาร KX (ใกล้ๆ BTS วงเวียนใหญ่) ชั้น 14 ถ.กรุงธนบุรี จ-ศ 10:00-19:00 phone: type: array items: type: object properties: scope: type: array items: type: integer example: - 27 - 39 text: type: string example: 0812345678 postcode: type: object properties: scope: type: array items: type: integer example: - 141 - 146 text: type: string example: '10600' province: type: object properties: scope: type: array items: type: integer example: - 127 - 140 text: type: string example: กรุงเทพมหานคร tambon: type: object properties: scope: type: array items: type: integer example: - 100 - 115 text: type: string example: บางลำภูล่าง test_scope: type: object properties: amphoe: type: string example: เขตคลองสาน name: type: string example: ปุญญพัฒน์ เศรษฐ์สมบูรณ์ phone: type: array items: type: string example: - 081-234-5678 postcode: type: string example: '10600' province: type: string example: กรุงเทพมหานคร tambon: type: string example: แขวงบางลำภูล่าง record.SwagAddrInput: type: object properties: text: type: string example: นายปุญญพัฒน์ เศรษฐ์สมบูรณ์ 081-234-5678 110/1 อาคาร KX (ใกล้ๆ BTS วงเวียนใหญ่) ชั้น 14 ถ.กรุงธนบุรี แขวงบางลำภูล่าง เขตคลองสาน กรุงเทพมหานคร 10600 จ-ศ 10:00-19:00 record.SwagClassDeleteResult: type: object properties: error_msg: type: string result: type: string example: ok record.SwagClassModelInput: type: object properties: model_id: type: string example: m-dfcf872c-ef34-11e9-ad3b-84a93e037981 record.SwagClassModelNameORecord: type: object properties: message: type: object properties: model_id: type: string example: m-6069d024-368d-11ea-978f-2e728ce88125 result: type: string example: ok record.SwagClassModelNameRecord: type: object properties: model_id: type: string example: m-6069d024-368d-11ea-978f-2e728ce88125 model_name: type: string example: Hello world ! record.SwagClassModelOutput: type: object properties: message: type: object properties: created_at: type: object properties: $date: type: integer example: 1571134602455 modelId: type: string example: m-dfcf872c-ef34-11e9-ad3b-84a93e037981 modelName: type: string example: education_vs_politic trains: type: integer example: 2000 record.SwagClassPredictInput: type: object properties: model_id: type: string example: m-dfcf872c-ef34-11e9-ad3b-84a93e037981 samples: type: array items: type: string example: - การศึกษาเป็นสิ่งที่จำเป็นหรือไม่... record.SwagClassPredictOutput: type: object properties: message: type: object properties: model_id: type: string example: m-dfcf872c-ef34-11e9-ad3b-84a93e037981 output: type: array items: type: object properties: classes: type: array items: type: object properties: class_id: type: integer example: 0 class_name: type: string example: education probability: type: number example: 0.9243098131705381 text: type: string example: การศึกษาเป็นสิ่งที่จำเป็นหรือไม่... result: type: string example: ok record.SwagClassRetrainRecord: type: object properties: data: type: array items: type: object properties: class_name: type: string example: education samples: type: array items: type: string example: - การศึกษาของเมืองไทยวันนี้... - ครูมีหน้าที่อบรมสั่งสอนนักเรียน... - เด็กไทยทุกคนมีหน้าที่ต้องไปโรงเรียน... is_sync: type: boolean example: true modelId: type: string example: m-123e4567-e89b-12d3-a456-426655440000 record.SwagClassRetrainResult: type: object properties: result: type: string example: success record.SwagClassTokenResult: type: object properties: model_id_list: type: array items: type: object properties: created_at: type: string example: Fri, 27 Dec 2019 04:49:20 GMT model_id: type: string example: m-3ebd1518-2864-11ea-aedd-02420a000255 model_name: type: string example: test ja total_class: type: integer example: 2 updated_at: type: string example: Fri, 27 Dec 2019 04:49:23 GMT record.SwagClassTrainRecord: type: object properties: data: type: array items: type: object properties: class_name: type: string example: education samples: type: array items: type: string example: - การศึกษาของเมืองไทยวันนี้... - ครูมีหน้าที่อบรมสั่งสอนนักเรียน... - เด็กไทยทุกคนมีหน้าที่ต้องไปโรงเรียน... is_sync: type: boolean example: true model_name: description: ModelID string `json:"modelId" example:"null"` type: string example: education_vs_politic record.SwagClassTrainResult: type: object properties: result: type: object properties: model_id: type: string example: m-123e4567-e89b-12d3-a456-426655440000 record.SwagCleaningInput: type: object properties: text: type: string example: โอ้โหหหหห๊ วันนี้อากาศร้อนมากกกเลยยย 555 record.SwagCleaningResult: type: object properties: result: type: object properties: message: type: object properties: text: description: Description string `json:"description" example:""` type: string example: โอ้โหหหหห๊ วันนี้อากาศร้อนมากกกเลยยย 555 tokens: type: array items: type: string example: - โอ้โห - อากาศ - ร้อน - เลย - '555' result: type: string example: ok record.SwagClusteringInput: type: object properties: engine: type: string example: k-mean feature_engine: type: string example: bag-of-word k: type: integer example: 1 max_k: type: integer example: 3 samples: type: array items: type: string example: - foo - bar - bar record.SwagClusteringOutput: type: object properties: result: type: object properties: message: type: object properties: cluster: type: array items: type: integer example: - 0 - 0 - 0 description: type: string example: k-mean model with bag-of-word. Maximum number of clusters is 1, result have 1 cluster. result: type: string example: ok record.SwagCommonPhraseInput: type: object properties: k: type: integer samples: type: array items: type: string record.SwagCommonPhraseOutput: type: object properties: result: type: object properties: common-phrase: type: object properties: samples: type: array items: type: '&{%!s(token.Pos=1330) string}' scores: type: array items: type: integer description: type: string record.SwagCountryInput: type: object properties: extra_dict: type: array items: type: object properties: alias_english: type: array items: type: string example: - New York alias_thai: type: array items: type: string example: - นิวยอค country_code: type: string example: US multiple: type: boolean example: false text: type: string example: ส่งไปนิวยอหน่อยครับ record.SwagCountryResult: type: object properties: message: type: object properties: country: type: object properties: code: type: string example: US scope: type: array items: type: integer example: - 5 - 10 text: type: string example: สหรัฐอเมริกา original_text: type: string example: ส่งไปนิวยอหน่อยครับ other: type: string example: ส่งไปหน่อยครับ test_scope: type: object properties: country: type: string example: นิวยอ record.SwagDucklingInput: type: object properties: text: type: string example: today record.SwagDucklingNResult: type: object properties: status: type: string example: ok timestamp: type: integer example: 1577811600 record.SwagEmail: type: object properties: results: type: array items: type: object properties: emails: type: array items: type: object properties: domain_name: type: string example: insightera.co.th email: type: string example: contact@insightera.co.th scope: type: array items: type: integer example: - 22 - 46 username: type: string example: contact text: type: string example: สอบถามเพิ่มเติมได้ที่ contact@insightera.co.th ครับ status: type: string example: ok record.SwagEmailInput: type: object properties: texts: type: array items: type: string example: - สอบถามเพิ่มเติมได้ที่ contact@insightera.co.th ครับ record.SwagNERInput: type: object properties: texts: type: array items: type: string example: - นายแดงหิวข้าว - ผมเจอนายแดงตอนเช้า record.SwagNEROutput: type: object properties: message: type: object properties: description: type: string ner: type: array items: type: '&{%!s(token.Pos=1066) %!s(*ast.StructType=&{1068 0xc00044fdd0 false})}' status: type: string record.SwagOCROutput: type: object properties: result: type: object properties: filename: type: string example: image_with_text.jpg text: type: string example: 'ทดสอบด้วยภาษาไทย การแกะตัวหนังสือจากภาพ ขอบคุณครับ' status: type: string example: ok record.SwagPOSInput: type: object properties: texts: type: array items: type: string example: - นายแดงกินข้าวแกง - มดแดงกินมะม่วง record.SwagPOSOutput: type: object properties: message: type: object properties: description: type: string pos: type: array items: type: '&{%!s(token.Pos=789) %!s(*ast.StructType=&{791 0xc00044f9e0 false})}' status: type: string record.SwagQAInput: type: object properties: context: type: string example: จังหวัดแค็วม์โปแลนด์ wojewdztwochemskie เป็นหน่วยการปกครองท้องถิ่นของประเทศโปแลนด์ในช่วงปี ค.ศ.1975 - ค.ศ.1998 จังหวัดได้รับการรวมเข้ากับจังหวัดลูบลินมีเมืองหลักคือแค็วม์ใน ปี ค.ศ.1998 มีพื้นที่ประมาณ 3865 ตารางกิโลเมตรและมีประชากร 248800 คน questions: type: array items: type: string example: - จังหวัดแค็วม์ก่อตั้งขึ้นในปีอะไร - แค็วม์มีพื้นที่เท่าไร - แค็วม์มีจำนวนประชากรกี่คน record.SwagQAOutput: type: object properties: result: type: object properties: description: type: string question-answer: type: array items: type: string example: - ' ' - ประมาณ 3865 ตารางกิโลเมตร - 248800 คน record.SwagSentimentNInput: type: object properties: engine: type: string example: deepsent texts: type: array items: type: string example: - อากาศดีๆจะมีในยามเช้า เหงาาาาสักเท่าไหร่ - ไม่ต้องโทรม้าาา เพราะชั่นจะไหมรับสาย - สนใจนะครับ - ชอบๆ สนุกดีดีดีดี - อาหารไม่อร่อยเลยนะ - หงุดหงิดจังเลยโว้ยยยย record.SwagSentimentNOutput: type: object properties: message: type: object properties: description: type: string sentiments: type: array items: type: object properties: score: type: number example: 0.07 text: type: string example: อากาศดีๆจะมีในยามเช้า เหงาาาาสักเท่าไหร่ status: type: string example: ok record.SwagSimilarNInput: type: object properties: engine: type: string example: skipgram-5 top: type: integer example: 5 word: type: string example: สวย record.SwagSimilarNResult: type: object properties: message: type: object properties: desc: type: string example: Used 'skipgram-5' engine. Choose the top 5 similar words. word: type: string example: สวย word-similarity: type: array items: type: object properties: score: type: number example: 0.59 word: type: string example: น่ารัก status: type: string record.SwagSpellInput: type: object properties: text: type: string example: การสนทนนี้น่าสนใใจ มากๆๆๆ +++ record.SwagSpellResult: type: object properties: result: type: object properties: spell: description: Description string `json:"description"` type: array items: type: object properties: index: type: array items: type: integer example: - 3 - 7 spell: type: boolean example: false suggestion: type: array items: type: object properties: สนทนา: type: number example: 0.11273138225078583 สนาน: type: number example: 0.11190706491470337 token: type: string example: สนทน text: type: string example: การสนทนนี้น่าสนใใจ มากๆๆๆ +++ record.SwagTokenizeInput: type: object properties: engine: type: string example: deep_context_10 text: type: string example: เรามาตัดคำไทยกันเถอะ record.SwagTokenizeResult: type: object properties: result: type: object properties: description: type: string example: Using 'deep_context_10' engine text: type: string example: เรามาตัดคำไทยกันเถอะ tokens: type: array items: type: string example: - เรา - มา - ตัด - คำ - ไทย - กัน - เถอะ