analyze-desumasu-dearu
文の敬体(ですます調)、常体(である調)を解析するライブラリ
形態素解析器としてkuromoji.jsを利用しています。
Installation
npm install analyze-desumasu-dearu
Usage
"use strict";
const isDearu = require("analyze-desumasu-dearu").isDearu;
const isDesumasu = require("analyze-desumasu-dearu").isDesumasu;
const analyze = require("analyze-desumasu-dearu").analyze;
const analyzeDearu = require("analyze-desumasu-dearu").analyzeDearu;
const analyzeDesumasu = require("analyze-desumasu-dearu").analyzeDesumasu;
const text = "昨日はいい天気であったのだが、今日は悪天候です。";
analyze(text).then(results => {
console.log("==である==");
console.log(results.filter(isDearu));
console.log("==ですます==");
console.log(results.filter(isDesumasu));
});
Result to
==である==
[ { type: '特殊・ダ',
value: 'であった',
surface: 'で',
index: 7,
token:
{ word_id: 305030,
word_type: 'KNOWN',
word_position: 8,
surface_form: 'で',
pos: '助動詞',
pos_detail_1: '*',
pos_detail_2: '*',
pos_detail_3: '*',
conjugated_type: '特殊・ダ',
conjugated_form: '連用形',
basic_form: 'だ',
reading: 'デ',
pronunciation: 'デ' } },
{ type: '特殊・ダ',
value: 'だが、',
surface: 'だ',
index: 12,
token:
{ word_id: 305000,
word_type: 'KNOWN',
word_position: 13,
surface_form: 'だ',
pos: '助動詞',
pos_detail_1: '*',
pos_detail_2: '*',
pos_detail_3: '*',
conjugated_type: '特殊・ダ',
conjugated_form: '基本形',
basic_form: 'だ',
reading: 'ダ',
pronunciation: 'ダ' } } ]
==ですます==
[ { type: '特殊・デス',
value: 'です。',
surface: 'です',
index: 21,
token:
{ word_id: 305080,
word_type: 'KNOWN',
word_position: 22,
surface_form: 'です',
pos: '助動詞',
pos_detail_1: '*',
pos_detail_2: '*',
pos_detail_3: '*',
conjugated_type: '特殊・デス',
conjugated_form: '基本形',
basic_form: 'です',
reading: 'デス',
pronunciation: 'デス' } } ]
analyze(text, options): Promise.<AnalyzedResultObject[]>
text
から敬体(ですます調)と常体(である調)を取り出した結果を返します
options
ignoreConjunction
: 無視オプションを指定できます
const defaultOptions = {
ignoreConjunction: false
};
[{
value: string,
surface: string,
index: number,
token: AnalyzedToken
}]
analyzeDesumasu(text, options): Promise.<AnalyzedResultObject[]>
text
に含まれる文の敬体(ですます調)を解析して、AnalyzedResultObjectの配列を返します。
内部的にはanalyze()
を使っています。
export function analyzeDesumasu(text, options = defaultOptions) {
return analyze(text, options).then(results => results.filter(isDesumasu));
}
analyzeDearu(text, options): Promise.<AnalyzedResultObject[]>
常体(である調)を解析してAnalyzedResultObjectの配列を返します
options
ignoreConjunction
: 無視オプションを指定できます。
const defaultOptions = {
ignoreConjunction: false
};
内部的にはanalyze()
を使っています。
export function analyzeDearu(text, options = defaultOptions) {
return analyze(text, options).then(results => results.filter(isDearu))
}
UseCase
以下のツールなどで利用しています。
Tests
npm test
Contributing
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
License
MIT
Acknowledge
Thank for RedPen.