0.4.37 • Published 8 years ago

sejong-morphemes v0.4.37

Weekly downloads
4
License
MIT
Repository
github
Last release
8 years ago

NPM version Build Status Dependency Status Coverage percentage

한글 문장 및 어절을 세종계획 기반의 형태소로 태깅하기 위한 라이브러리

Install

$ npm install --save hangul-morphemes

Usage

var morphemesText = '정치가/NNG 모임/NNG+이/JC 새로/MA 구성/NNG+되/XS+ㄴ다/EF+./SF';
var morphemesObj = {
	text: '정치가 모임이 새로 구성된다.',
	words: [
		{
			text: '정치가',
			morphemes: [{text: '정치가', type: 'NNG'}]
		},
		{
			text: '모임이',
			morphemes: [{text: '모임', type: 'NNG'}, {text: '이', type: 'JC'}]
		},
		{
			text: '새로',
			morphemes: [{text: '새로', type: 'MA'}]
		},
		{
			text: '구성된다',
			morphemes: [{text: '구성', type: 'NNG'}, {text: '되', type: 'XS'}, {text: 'ㄴ다', type: 'EF'}, {text: '.', type: 'SF'}]
		}
	]
};

var morphemes = require('hangul-morphemes');
morphemes.initialize();

var Morpheme = morphemes.Morpheme;
var Word = morphemes.Word;
var Phrase = morphemes.Phrase;
var Sentence = morphemes.Sentence;

var sentence1 = new Sentence(morphemesText);
// sentence1.toString() === morphemesText
// sentence1.toJSON() == morphemesObj

var sentence2 = new Sentence();
var word1 = new Word('정치가/NNG');
var word2 = new Word('모임/NNG+이/JC');
var word3 = new Word('새로/MA');
var word4 = new Word('구성/NNG+되/XS+ㄴ다/EF+./SF');
sentence2.add(word1);
sentence2.add(word2);
sentence2.add(word3);
sentence2.add(word4);
// sentence2.toString() === morphemesText
// sentence2.toJSON() == morphemesObj

var word = new Word();
var morpheme1 = new Morpheme('모임', 'NNG');
var morpheme2 = new Morpheme('이', 'JC');
word.add(morpheme1);
word.add(morpheme2);
// word.toString() === word2.toString();
// word.toJSON() == word2.toJSON();

var phrase = new Phrase();
var structure = new SentenceStructure(sentence);
structure.connect(0, 1);
structure.connect(0, 3);
structure.disconnect(0, 1);

// 내장된 태그셋과 다른 태그셋을 이용하고자 할 때는
// initialize 함수에 사용하고자 하는 태그셋을 인자로 넘겨준다.
// alias를 지정하면 해당 태그에 대해 alias를 이용할 수 있다.
morphemes.initialize({
	morpheme: {
		tag: {
			ABC: 'abc',
			DEF: 'def'
		},
		alias: {
			'뮻': 'ABC',
			'뮤ㅊ': 'ABC',
			'ㅁㅠㅊ': 'ABC',
			'ㅇㄷㄹ': 'DEF'
		}
	},
	phrase: {
		tag: {},
		alias: {}
	}
});

// 태그는 기본적으로 영문 대문자로 가정한다.
// 소문자 태그를 사용하는 경우에는 alias를 지정해야 한다.
morphemes.initialize({
	morpheme: {
		tag: {
			root: '어근'
			modi: '한정자'
		},
		alias: {
			'ROOT': 'root',
			'MODI': 'modi'
		}
	}
});

License

MIT © Dongwon Lim

0.4.37

8 years ago

0.4.36

8 years ago

0.4.35

8 years ago

0.4.34

8 years ago

0.4.33

8 years ago

0.4.32

8 years ago

0.4.31

8 years ago

0.4.30

8 years ago

0.4.29

8 years ago

0.4.28

8 years ago

0.4.27

8 years ago

0.4.26

8 years ago

0.4.25

8 years ago

0.4.24

8 years ago

0.4.23

8 years ago

0.4.22

8 years ago

0.4.21

8 years ago

0.4.19

9 years ago

0.4.18

9 years ago

0.4.17

9 years ago

0.4.16

9 years ago

0.4.15

9 years ago

0.4.14

9 years ago

0.4.13

9 years ago

0.4.12

9 years ago

0.4.11

9 years ago

0.4.10

9 years ago

0.4.9

9 years ago

0.4.8

9 years ago

0.4.7

9 years ago

0.4.6

9 years ago

0.4.5

9 years ago

0.4.3

9 years ago

0.4.2

9 years ago

0.4.1

9 years ago

0.4.0

9 years ago

0.3.11

9 years ago

0.3.10

9 years ago

0.3.9

9 years ago

0.3.8

9 years ago

0.3.7

9 years ago

0.3.6

9 years ago

0.3.5

9 years ago

0.3.4

9 years ago

0.3.3

9 years ago

0.3.2

9 years ago

0.3.1

9 years ago

0.3.0

9 years ago

0.2.7

9 years ago

0.2.6

9 years ago

0.2.5

9 years ago

0.2.4

9 years ago

0.2.3

9 years ago

0.2.2

9 years ago

0.2.1

9 years ago

0.2.0

9 years ago

0.1.8

9 years ago

0.1.7

9 years ago

0.1.6

9 years ago

0.1.5

9 years ago

0.1.4

9 years ago

0.1.3

9 years ago

0.1.2

9 years ago

0.1.0

9 years ago