From cf33e483f7e6f40e8cbbbc0118a7df70bdaf651f Mon Sep 17 00:00:00 2001 From: syuilo Date: Thu, 29 Mar 2018 20:32:18 +0900 Subject: 整理した MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/tools/analysis/mecab.js | 85 --------------------------------------------- 1 file changed, 85 deletions(-) delete mode 100644 src/tools/analysis/mecab.js (limited to 'src/tools/analysis/mecab.js') diff --git a/src/tools/analysis/mecab.js b/src/tools/analysis/mecab.js deleted file mode 100644 index 82f7d6d529..0000000000 --- a/src/tools/analysis/mecab.js +++ /dev/null @@ -1,85 +0,0 @@ -// Original source code: https://github.com/hecomi/node-mecab-async -// CUSTOMIZED BY SYUILO - -var exec = require('child_process').exec; -var execSync = require('child_process').execSync; -var sq = require('shell-quote'); - -const config = require('../../conf').default; - -// for backward compatibility -var MeCab = function() {}; - -MeCab.prototype = { - command : config.analysis.mecab_command ? config.analysis.mecab_command : 'mecab', - _format: function(arrayResult) { - var result = []; - if (!arrayResult) { return result; } - // Reference: http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html - // 表層形\t品詞,品詞細分類1,品詞細分類2,品詞細分類3,活用形,活用型,原形,読み,発音 - arrayResult.forEach(function(parsed) { - if (parsed.length <= 8) { return; } - result.push({ - kanji : parsed[0], - lexical : parsed[1], - compound : parsed[2], - compound2 : parsed[3], - compound3 : parsed[4], - conjugation : parsed[5], - inflection : parsed[6], - original : parsed[7], - reading : parsed[8], - pronunciation : parsed[9] || '' - }); - }); - return result; - }, - _shellCommand : function(str) { - return sq.quote(['echo', str]) + ' | ' + this.command; - }, - _parseMeCabResult : function(result) { - return result.split('\n').map(function(line) { - return line.replace('\t', ',').split(','); - }); - }, - parse : function(str, callback) { - process.nextTick(function() { // for bug - exec(MeCab._shellCommand(str), function(err, result) { - if (err) { return callback(err); } - callback(err, MeCab._parseMeCabResult(result).slice(0,-2)); - }); - }); - }, - parseSync : function(str) { - var result = execSync(MeCab._shellCommand(str)); - return MeCab._parseMeCabResult(String(result)).slice(0, -2); - }, - parseFormat : function(str, callback) { - MeCab.parse(str, function(err, result) { - if (err) { return callback(err); } - callback(err, MeCab._format(result)); - }); - }, - parseSyncFormat : function(str) { - return MeCab._format(MeCab.parseSync(str)); - }, - _wakatsu : function(arr) { - return arr.map(function(data) { return data[0]; }); - }, - wakachi : function(str, callback) { - MeCab.parse(str, function(err, arr) { - if (err) { return callback(err); } - callback(null, MeCab._wakatsu(arr)); - }); - }, - wakachiSync : function(str) { - var arr = MeCab.parseSync(str); - return MeCab._wakatsu(arr); - } -}; - -for (var x in MeCab.prototype) { - MeCab[x] = MeCab.prototype[x]; -} - -module.exports = MeCab; -- cgit v1.3.1-freya