denull / az.js Goto Github PK
View Code? Open in Web Editor NEWA NLP library for Russian language
License: MIT License
A NLP library for Russian language
License: MIT License
Wrong normalisation of patronymic words.
const morp = Az.Morph("Александрович")[0]
morp.normalize()
will return
{
formCnt: 36
formIdx: 0
paradigm: Uint16Array(108) [ 0, 52, 12283, … ]
paradigmIdx: 26
prefix: ""
score: 1
stutterCnt: 0
suffix: ""
tag: Object { NOUN: true, POST: "NOUN", anim: true, … }
typosCnt: 0
word: "александр"
}
So the inflections of this word is also wrong
morp.inflect({CAse: 'datv'})
/*
...
tag: Object { NOUN: true, POST: "NOUN", anim: true, … }
typosCnt: 0
word: "александру"
*/
Привет! Я понимаю, что автор библиотеки давным-давно забил на нее (что конечно очень печально, поскольку альтернатив похоже просто не существует), но может кто-то еще пользуется ей и может помочь?
Я всё что не делал, как ни пытался, у меня никак не получается нормально встроить эту библиотеку в код. Изначально я планировал сделать так, что бы библиотека инициализировалась один раз, и потом ее методоми я бы пользовался когда мне было угодно. Но я так и не понял как так спроектировать инициализацию таким образом что бы ее методы мне были доступны всегда. Такое впечатление, что ее колбек кривой (или кривой — я).
Потом я плюнул и решил инициализировать библиотеку каждый раз, когда мне нужен ее метод и пришел к следующему:
// В функцию передается массив со строками
async function getMorph(arr) {
console.log('сейчас будет загрузка библиотеки!')
let rawNoun = await Az.Morph.init("./node_modules/az/dicts", () => {
console.log('библиотека загружена!')
// Тут мы используем метод и как-то обрабатываем переданный массив, строчка ниже просто для примера
let noun = arr[0]
return noun;
})
return rawNoun;
}
В консоли следующее:
сейчас будет загрузка библиотеки!
undefined
библиотека загружена!
Я понимаю что он возвращает промис, но как подружить все это с async/await я не понимаю.
Надеюсь кто-нибудь живой увидит это сообщение и сможет помочь или даже поделиться примером рабочего кода. И да, пишу на Deno, а не на NodeJS. Не уверен, что это имеет значение в данном случае, но все же.
Всем мир!
Добрый день! Не могли бы вы подсказать в чем может быть причина следующей ошибки при выполнении кода
Az.Morph.init('node_modules/az/dicts', function() {
var parses = Az.Morph('стали');
console.log(parses); // => 6 вариантов разбора
console.log(parses[0].tag.toString()); // => 'VERB,perf,intr plur,past,indc'
console.log(parses[1].tag.toString()); // => 'NOUN,inan,femn plur,nomn'
});
Ошибка:
var dv = new DataView(data),
^
Error: Object must be an ArrayBuffer.
at Function.DAWG.fromArrayBuffer (node_modules\az\dist\az.js:127:14)
at node_modules\az\dist\az.js:138:39
at node_modules\az\dist\az.js:24:13
at fs.js:266:14
at Object.oncomplete (fs.js:107:15)
var Az = require("az");
var tokens = Az.Tokens();
tokens.append(input, {});
tokens = tokens.done();
This code throws exception on line 3:
config = config ? Az.extend(this.config, config) : this.config;
ReferenceError: Az is not defined
Почему нельзя было написать нормальный API без издевательств над библеотекой?
{
'МС': true,
POST: 'МС',
'мр': true,
GNdr: 'мр',
'3л': true,
PErs: '3л',
'Анаф': true,
'ед': true,
NMbr: 'ед',
'им': true,
CAse: 'им',
POS: 'МС'
}
Чтобы определить лицо мне нужно
const лицо = variants[0].tag.PErs
Здравствуйте!
Не могу запустить библиотеку из-за ошибки:
ERROR in ../node_modules/az/dist/az.js Module not found: Error: Can't resolve 'fs' in '/Users/tonyshow/Hosts/anyships_new/node_modules/az/dist' @ ../node_modules/az/dist/az.js 8:13-26 @ ./pages/Index/IndexPage.tsx @ ./app.tsx @ ./index.js
Пытаюсь запустить
Az.Morph.init('node-modules/az/dicts', function() {
var parses = Az.Morph('стали');
console.log(parses); // => 6 вариантов разбора
console.log(parses[0].tag.toString()); // => 'VERB,perf,intr plur,past,indc'
console.log(parses[1].tag.toString()); // => 'NOUN,inan,femn plur,nomn'
});
Чекал код библиотеки, по идее должен был работать для винди и без первого параметра, но почему-то у меня не работает))
бьёт в файле az.js
строчка 14
fs.readFile(url, { encoding: responseType == 'json' ? 'utf8' : null }, function (err, data) {
Может я чего не понимаю, подскажи как пофиксить ПЖ или расскажи чё нужно для работы
Надо ли делать какие-то изменения в словаре чтобы использовать https://pypi.org/project/pymorphy2-dicts-uk/ вместе с библиотекой?
попытка просто переписать файлы поверх существующих не удалась - на init() не ругается но и Morph все равно ничего не находит :(
Abbreviation of numarals "2-й, 3-й, 4-й, 5-й..." wont analyze by Az.Morph - its returning just empty array.
Сокращения числительных 2-й, 3-й, 4-й и т.д. не обрабатываются Az.Morph - возвращается пустой массив.
Пожалуйста добавьте License файл.
Пытаюсь склонять фамилии, но Az почему-то упорно не может определить фамилии вроде "Исинбаев" или "Иммануилов" как фамилии (Surn: true
). Как быть ?
"Петров" же нормально определяет...
Может ли библиотека приводить слово к нужной форме, как pymorphy2?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.