Фон
Создайте лексикон вероятностей на основе CSV-файла слов и подсчетов. Это прелюдия к проблеме с сегментацией текста, а не домашнее задание.
Проблема
Дан файл CSV со следующими словами и числами:
aardvark,10
aardwolf,9
armadillo,9
platypus,5
zebra,1
Создайте файл с вероятностями относительно наибольшего числа в файле:
aardvark,1
aardwolf,0.9
armadillo,0.9
platypus,0.5
zebra,0.1
Где, например, aardvark,1
вычисляется как aardvark,10/10
, а platypus,0.5
рассчитывается как platypus,5/10
.
Вопрос
Каков наиболее эффективный способ реализации сценария оболочки для создания файла относительных вероятностей?
Ограничения
- Ни слова, ни числа не идут ни в каком порядке.
- Нет основных языков программирования (таких как Perl, Ruby, Python, Java, C, Fortran или Cobol).
- Приветствуются стандартные инструменты Unix, такие как
awk
,sed
илиsort
. - Все вероятности должны относиться к самой высокой вероятности в файле.
- Слова уникальны, числа нет.
- Подсчеты — натуральные числа.
Благодарю вас!
bc
- это не bashcalc, это настольный калькулятор, аdc
- настольный калькулятор. - person Dennis Williamson   schedule 07.02.2011