Я ищу здесь , но базовый пример установлен так:
const request = require('request')
const uuidv4 = require('uuid/v4')
const YAML = require('js-yaml')
const subscriptionKey = '<mykey>'
// https://docs.microsoft.com/en-us/azure/cognitive-services/translator/translator-text-how-to-signup
const input = process.argv[2]
let LANGS = {
"af": "Afrikaans",
"bn": "Bangla",
"bs": "Bosnian (Latin)",
"bg": "Bulgarian",
"yue": "Cantonese (Traditional)",
"ca": "Catalan",
"zh-Hans": "Chinese Simplified",
"zh-Hant": "Chinese Traditional",
"hr": "Croatian",
"cs": "Czech",
"da": "Danish",
"nl": "Dutch",
"en": "English",
"et": "Estonian",
"fj": "Fijian",
"fil": "Filipino",
"fi": "Finnish",
"fr": "French",
"de": "German",
"el": "Greek",
"ht": "Haitian Creole",
"he": "Hebrew",
"hi": "Hindi",
"mww": "Hmong Daw",
"hu": "Hungarian",
"is": "Icelandic",
"id": "Indonesian",
"it": "Italian",
"ja": "Japanese",
"sw": "Kiswahili",
"tlh": "Klingon",
"tlh-Qaak": "Klingon (plqaD)",
"ko": "Korean",
"lv": "Latvian",
"lt": "Lithuanian",
"mg": "Malagasy",
"ms": "Malay",
"mt": "Maltese",
"nb": "Norwegian",
"fa": "Persian",
"pl": "Polish",
"pt": "Portuguese",
"otq": "Queretaro Otomi",
"ro": "Romanian",
"ru": "Russian",
"sm": "Samoan",
"sr-Cyrl": "Serbian (Cyrillic)",
"sr-Latn": "Serbian (Latin)",
"sk": "Slovak",
"sl": "Slovenian",
"es": "Spanish",
"sv": "Swedish",
"ty": "Tahitian",
"ta": "Tamil",
"te": "Telugu",
"th": "Thai",
"to": "Tongan",
"tr": "Turkish",
"uk": "Ukrainian",
"ur": "Urdu",
"vi": "Vietnamese",
"cy": "Welsh",
"yua": "Yucatec Maya",
"gu": "Gujarati",
"kn": "Kannada",
"ml": "Malayalam",
"mr": "Marathi",
"or": "Oriya",
"pa": "Punjabi"
}
let langs = Object.keys(LANGS)
let i = 0
let out = {}
next(() => {
console.log(JSON.stringify(out, null, 2))
})
function next(fn) {
let lang = langs[i++]
if (!lang) return fn()
let options = {
method: 'POST',
baseUrl: 'https://api.cognitive.microsofttranslator.com/',
url: 'translate',
qs: {
'api-version': '3.0',
'to': [lang]
},
headers: {
'Ocp-Apim-Subscription-Key': subscriptionKey,
'Content-type': 'application/json',
'X-ClientTraceId': uuidv4().toString()
},
body: [{
'text': input
}],
json: true
};
console.log('translating to ' + lang)
request(options, function(err, res, body){
if (body.error) return next(fn)
let translations = body[0].translations
translations.forEach(translation => {
out[LANGS[translation.to].toLowerCase()] = translation.text
})
setImmediate(function(){
next(fn)
})
});
}
Однако он просто отвечает text
переведенного слова, вот и все,Это не содержит:
- часть речи
- примеры предложений
- определение
Я быхотел бы знать, есть ли способ получить (на данный момент) только часть речи .
Более конкретно, я хочу знать, что если я ищу слово «свидетель»,что именно это будет делать.Я не уверен, будет ли возвращаться существительное («свидетель») или глагол («свидетельствовать») для каждого перевода.Я также не уверен в смысле слова, которое возвращается.Я не уверен в примере с головы до головы, но скажу, что у вас есть слово типа «группа», которое может означать «музыкальная группа», «группа людей» или «группа, подобная резинке»"или" полоса ".Как узнать в переведенном тексте, что это такое?
Я просто хотел бы сделать следующее:
- поиск формы существительного слова
- ищите форму глагола того же слова
- знайте, что определение - это то, что я ожидаю (поэтому для группы, я получаю обратно "полоса, как резиновая полоса")
Wonderingкак я это делаю.