
Security News
AGENTS.md Gains Traction as an Open Format for AI Coding Agents
AGENTS.md is a fast-growing open format giving AI coding agents a shared, predictable way to understand project setup, style, and workflows.
analyze-desumasu-dearu
Advanced tools
文の敬体(ですます調)、常体(である調)を解析するライブラリ
形態素解析器としてkuromoji.jsを利用しています。
npm install analyze-desumasu-dearu
"use strict";
import { isDearu, isDesumasu, analyze, analyzeDearu, analyzeDesumasu } from "analyze-desumasu-dearu";
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
: 無視オプションを指定できます/**
* デフォルトのオプション値
* @type {{ignoreConjunction: boolean}}
*/
const defaultOptions = {
// 接続的な使い方を無視する
// e.g.) 今日はいい天気であるが明日はどうなるかは分からない。
ignoreConjunction: false
};
// AnalyzedResultObjectの配列
[
{
// 文体を含んだ内容 - なんとなくいい感じの部分までを繋げた文字列
// e.g.) "です。"
value: string,
// 該当するtoken文字
// e.g.) "です"
surface: string,
// textの先頭からの位置(start with 0)
index: number,
// kuromoji.jsのtokenオブジェクトそのもの https://github.com/takuyaa/kuromoji.js#api
// surfaceやindexはこのtokenから算出
token: AnalyzedToken
}
];
analyzeDesumasu(text, options): Promise.<AnalyzedResultObject[]>
text
に含まれる文の敬体(ですます調)を解析して、AnalyzedResultObject の配列を返します。
内部的にはanalyze()
を使っています。
/**
* `text` の敬体(ですます調)について解析し、敬体(ですます調)のトークン情報を返します。
* @param {string} text
* @param {Object} options
* @return {Promise.<AnalyzedResultObject[]>}
*/
export function analyzeDesumasu(text, options = defaultOptions) {
return analyze(text, options).then((results) => results.filter(isDesumasu));
}
analyzeDearu(text, options): Promise.<AnalyzedResultObject[]>
常体(である調)を解析して AnalyzedResultObject の配列を返します
options
ignoreConjunction
: 無視オプションを指定できます。/**
* デフォルトのオプション値
* @type {{ignoreConjunction: boolean}}
*/
const defaultOptions = {
// 接続的なであるの使い方を無視する
// e.g.) 今日はいい天気であるが明日はどうなるかは分からない。
ignoreConjunction: false
};
内部的にはanalyze()
を使っています。
/**
* `text` の常体(である調)について解析し、常体(である調)のトークン情報を返します。
* @param {string} text
* @param {Object} options
* @return {Promise.<AnalyzedResultObject[]>}
*/
export function analyzeDearu(text, options = defaultOptions) {
return analyze(text, options).then((results) => results.filter(isDearu));
}
以下のツールなどで利用しています。
npm test
git checkout -b my-new-feature
git commit -am 'Add some feature'
git push origin my-new-feature
MIT
Thank for RedPen.
FAQs
文の敬体(ですます調)、常体(である調)を解析
The npm package analyze-desumasu-dearu receives a total of 50,929 weekly downloads. As such, analyze-desumasu-dearu popularity was classified as popular.
We found that analyze-desumasu-dearu demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
AGENTS.md is a fast-growing open format giving AI coding agents a shared, predictable way to understand project setup, style, and workflows.
Security News
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.