Попытка подсчитать количество существительных, появившихся в абзаце, с помощью API Google NL с использованием ruby.
Искал документ, не нашел, как это сделать.
Придумайте решение прошлой ночью
text = 'xxxxxxxxxx'
response = language.analyze_syntax content: text, type: :PLAIN_TEXT
sentences = response.sentences
tokens = response.tokens
x= tokens.count
a = Array.new(x-1)
for i in 1..x
a[i-1] = tokens[i-1].part_of_speech.tag.to_s
end
for i in 1..x
if a[i-1] == 'NOUN'
num= num+1
end
end
все еще интересно, существует ли что-то вроде (tokens.noun.count?) в nl api https://cloud.google.com/natural-language/docs/analyzing-syntax#language-syntax-string-ruby.
что ты уже испробовал? StackOverflow не является бесплатным сервисом для написания кода (вот почему вы получаете отрицательное голосование); нужно приложить немного больше усилий. Какие библиотеки вы используете? На какую документацию вы ссылаетесь? У вас есть частичное решение? Неверный результат? Сообщение об ошибке? Вообще ничего?
ОК. Я просто нашел частичное решение. Я поставлю это в исходный пост.
С первого взгляда ... tokens.select { |t| t.part_of_speech.tag.to_s == 'NOUN' }.count
? Требуются только первые 4 строки вашего кода; остальное можно удалить. (И я предполагаю, что вы используете sentences
для чего-то еще, ниже?)
Оно работает. Большое спасибо. И да, мне нужны предложения по другому: D
Основываясь на вашем примере, вы можете подсчитать количество NOUN
следующим образом:
text = 'xxxxxxxxxx'
response = language.analyze_syntax content: text, type: :PLAIN_TEXT
tokens = response.tokens
tokens.count { |t| t.part_of_speech.tag.to_s == 'NOUN' }
Обратите внимание, что в ruby очень распространен стиль использования итераторы, подобного этому, вместо определения временных переменных и использования циклов for
. (Фактически, вы должны почти никогда найти необходимость использовать петли for
в ruby!)
Этот чистый и лаконичный синтаксис - одна из самых привлекательных сторон языка ruby. Очень часто вы можете получить желаемый результат в одной такой строке кода, а не во всех объявлениях этого временного массива и счетчика индексов.
Благодарю. и руководство по стилю рубина действительно помогает.
просто пытаюсь найти решение