UNPKG

mecab-ko-ts

Version:
206 lines (162 loc) 4.3 kB
# mecab-ko-ts ## Table of Content - [mecab-ko-ts](#mecab-ko-ts) - [Table of Content](#table-of-content) - [About](#about) - [Install](#install) - [Requirements](#requirements) - [Usage](#usage) - [Examples](#examples) - [JavaScript](#javascript) - [TypeScript](#typescript) - [Sync](#sync) - [License](#license) ## About [KOREAN README.md](https://github.com/ZETA-A/node-mecab-ya/blob/master/README/README_KOR.md) `mecab-ko-ts` is an updated version of [`mecab-ya`](https://github.com/golbin/node-mecab-ya). The TypeScript support and Sync feature have been updated. Yet another mecab wrapper for nodejs and the main purpose is easy to use. [Mecab](http://taku910.github.io/mecab/) is a morphological analyzer for Japanease language. And you can use this for Korean language with [mecab-ko](https://bitbucket.org/eunjeon/mecab-ko/). ## Install ```bash $ npm install mecab-ko-ts ``` ## Requirements You need mecab or mecab-ko for Korean language. If you don't have mecab yet, you can install with the prepared script. ```bash $ node_modules/mecab-ko-ts/bin/install-mecab ``` For the Korean language. ```bash $ node_modules/mecab-ko-ts/bin/install-mecab ko ``` ## Usage mecab-ko-ts use the mecab library in the `node_modules/mecab-ko-ts/mecab` directory. But, you can set a mecab library path like below. ``` MECAB_LIB_PATH=/usr/local/lib node index.js ``` OR ``` MECAB_LIB_PATH=/usr/local/lib/mecab-ko node index.js ``` So, you can select a mecab library for specific language when you use this and you can distribute this as a builtin library for AWS Lambda like that. ## Examples ### JavaScript ```js var mecab = require("mecab-ko-ts"); var text = "아버지가방에들어가신다"; mecab.pos(text, function (err, result) { console.log(result); /* [ [ '아버지', 'NNG' ], [ '', 'JKS' ], [ '', 'NNG' ], [ '', 'JKB' ], [ '들어가', 'VV' ], [ '신다', 'EP+EC' ] ] */ }); mecab.morphs(text, function (err, result) { console.log(result); /* [ '아버지', '', '', '', '들어가', '신다' ] */ }); mecab.nouns(text, function (err, result) { console.log(result); /* [ '아버지', '' ] */ }); mecab.all(text, function (err, result) { console.log(result); /* [ [ '아버지', 'NNG', '*', 'F', '아버지', '*', '*', '*', '*' ], [ '', 'JKS', '*', 'F', '', '*', '*', '*', '*' ], // ... and so on ] */ }); ``` ### TypeScript ```js import mecab from "mecab-ko-ts"; const text = "아버지가방에들어가신다"; mecab.pos(text, function (err, result) { console.log(result); /* [ [ '아버지', 'NNG' ], [ '', 'JKS' ], [ '', 'NNG' ], [ '', 'JKB' ], [ '들어가', 'VV' ], [ '신다', 'EP+EC' ] ] */ }); mecab.morphs(text, function (err, result) { console.log(result); /* [ '아버지', '', '', '', '들어가', '신다' ] */ }); mecab.nouns(text, function (err, result) { console.log(result); /* [ '아버지', '' ] */ }); mecab.all(text, function (err, result) { console.log(result); /* [ [ '아버지', 'NNG', '*', 'F', '아버지', '*', '*', '*', '*' ], [ '', 'JKS', '*', 'F', '', '*', '*', '*', '*' ], // ... and so on ] */ }); ``` ### Sync Synchronous versions are also available (just add 'Sync' to the function name) ```js /* Example */ const mecab = require("mecab"); console.log(mecab.posSync("아버지가방에들어가신다")); /* [ [ '아버지', 'NNG' ], [ '', 'JKS' ], [ '', 'NNG' ], [ '', 'JKB' ], [ '들어가', 'VV' ], [ '신다', 'EP+EC' ] ] */ ``` You can find out a simple example on [node-mecab-ya-example](https://github.com/golbin/node-mecab-ya-example) # License MIT License