1.0.0 • Published 2 years ago

react-native-mlkit-entity-extraction v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago
MLKitEntityExtractor
⚡️Multiple Language Support over 10 languages supported (full list)
😎Lazy loaded. download models when needed
🔄Offline-first. no network required for using
📱Multiplatform. iOS, Android
Fast. About TO Migrating to RN New Arch(JSI)
🔗Relational. Built on MLKit Translation foundation
⚠️Static typing Full-Support TypeScript

Why MLKitEntityExtractor?

Most apps offer users very little interaction with text beyond the basic cut/copy/paste operations. Entity extraction improves the user experience inside your app by understanding text and allowing you to add helpful shortcuts based on context.

The Entity Extraction API allows you to recognize specific entities within static text and while you're typing. Once an entity is identified, you can easily enable different actions for the user based on the entity type. Supported entities included are:

EntityExample
Address350 third street, Cambridge MA
Date-Time2019/09/29, let's meet tomorrow at 6pm
Email addressentity-extraction@google.com
Flight Number(IATA flight codes only) LX37
IBANCH52 0483 0000 0000 0000 9
ISBN(version 13 only) 978-1101904190
Money/Currency (Arabic numerals only)$12, 25 USD
Payment / Credit Cards4111 1111 1111 1111
Phone Number(555) 225-3556 12345
Tracking Number (standardized international formats)1Z204E380338943508
URLwww.google.com https://en.wikipedia.org/wiki/Platypus

This API focuses on precision over recognition. Some instances of a particular entity might not be detected in favor of ensuring accuracy.

Installation

yarn add react-native-mlkit-entity-extraction

or

npm i --save react-native-mlkit-entity-extraction

! Android Special

// 31 is required !
compileSdkVersion = 31
targetSdkVersion = 31

Usage

Quick example: identify language type

import MLKitEntityExtraction from './MLKitEntityExtraction';

const text = "My flight is LX373, please pick me up at 8am tomorrow. You can look up at http://github.com";

MLKitEntityExtraction.isModelDownloaded('ENGLISH')
    .then(v => {
		if (v) {
			//extrac it right now
            MLKitEntityExtraction.annotate(
                text,
                'ENGLISH',
                ['TYPE_FLIGHT_NUMBER','TYPE_DATE_TIME','TYPE_URL']
            ).then(v => {
				setExtractions(v);
			}).catch(e => {
                //something wrong
			})
		}else{
			//download model
			MLKitEntityExtraction
                .downloadModel('ENGLISH')
                .then(rs => {
					//download success
				}).catch(e => {
					//something wrong
				})
			}
	});

Remember !!! ✨ Always check model firstly ; Do not translate text if the model is not downloaded

use MLKitEntityExtraction.isModelDownloaded to check

Full Support Language

  • ARABIC
  • GERMAN
  • ENGLISH
  • SPANISH
  • FRENCH
  • ITALIAN
  • JAPANESE
  • KOREAN
  • DUTCH
  • POLISH
  • PORTUGUESE
  • RUSSIAN
  • THAI
  • TURKISH
  • CHINESE

All Supported Entity Type

  • ADDRESS
  • DATE_TIME
  • EMAIL
  • FLIGHT_NUMBER
  • IBAN
  • ISBN
  • PAYMENT_CARD
  • PHONE
  • TRACKING_NUMBER
  • URL
  • MONEY

Author and license

WatermelonDB was created by @yaaliuzhipeng

react-native-mlkit-translate-text is available under the MIT license. See the LICENSE file for more info.