Skip to content

nmajumder12/react-native-mlkit-entity-extraction-with-cellular

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

20 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

MLKitEntityExtraction

A MachineLearning Based Entity Extractor

Build Powerful React Native With Entity Extractor Amazing โšก๏ธ

MIT License

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:

Entity Example
Address 350 third street, Cambridge MA
Date-Time 2019/09/29, let's meet tomorrow at 6pm
Email address [email protected]
Flight Number (IATA flight codes only) LX37
IBAN CH52 0483 0000 0000 0000 9
ISBN (version 13 only) 978-1101904190
Money/Currency (Arabic numerals only) $12, 25 USD
Payment / Credit Cards 4111 1111 1111 1111
Phone Number (555) 225-3556 12345
Tracking Number (standardized international formats) 1Z204E380338943508
URL www.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.

About

๐Ÿ“– A Great Entity Extractor Library For ReactNative; Based on Google MLKit ;

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 35.1%
  • Java 31.0%
  • TypeScript 16.7%
  • JavaScript 11.5%
  • Ruby 4.3%
  • Starlark 1.4%