Напишите скрипт, пожалуйста

svetohod

Новичок
Здравствуйте!

Есть идея, но не хватает собственных мозгов для ее реализации. По сему обращаюсь к сообществу за помощью.

Первая задача сводится к тому, чтобы во входной строке распознать текст. Т.е. произвести анализ строки, а на выходе получить набор найденных паттернов (слово, точка, пробел, красная строка, телефон, и т.п.). Но есть ряд сложностей.
Во-первых, для паттерна 'слово' словарь слов, в потенции, будет составлять более 3 млн. слов.
Во-вторых, текст может содержать ошибки (опечатки), что делает невозможным прямой поиск слов, а требуется, как это называется, 'нечеткий' поиск.
В-третьих, все это должно работать при помещении всего словаря в оперативную память (от этого условия можно отказаться, если появится лучший кандидат).
В-четвертых, вариантов решения может быть тьма, отсюда проблема выбора.

По каждому пункту я пытался что-то придумать, и даже были всякие экзотические решения (например, сжатие словаря размером 37МБ в 12МБ и помещение в ОП). Но потом я понял, что все-таки я не программист.

Сразу говорю, это не 'задание для приема на работу'. Собственная инициатива, для создания общественно полезной вещи, т.е. не только для себя. Напишите, что еще требует уточнения.
 
Последнее редактирование:

Фанат

oncle terrible
Команда форума
Писать за тебя никто не будет, так что придется самому.

Почитай про регулярные выражения.
Потом подумай, что это такое вообще - слово. Это явно набор определенных символов. Каких?
А дальше просто
 

svetohod

Новичок
Писать за тебя никто не будет, так что придется самому.

Почитай про регулярные выражения.
Потом подумай, что это такое вообще - слово. Это явно набор определенных символов. Каких?
А дальше просто
Я не смогу решить задачу чисто технически, без философских размышлений о предмете, а это долгое, нудное, многовариантное и отвлеченное занятие. Выражаясь жаргонно, здесь нужен технарь.

Слово - одновременно является множеством и единицей.
Множество - подстрока, отражающая общие признаки всех известных слов.
Единица - подстрока, отражающая конкретные признаки известного слова.
Обобщение - действие по созданию множества.
Признаки слова - 1) набор символов (алфавит) 2) очередность символов 3) длина (количество символов вдоль оси измерения) 4) число по каждому символу N) можно придумывать любые признаки (грамматические -ч.р,род,чис.., морфологические -прист,кор,оконч,.., смысловые и др.).
Общие признаки слова - 1) общий набор символов слов 2) общие правила очередности (следования) символов 3) мин., средняя, макс. длина слова.
Сравнение - выяснение схожести двух и более предметов, имеющих сравнимый набор признаков, при установленном отношении схожести.
Число - выражение отношения в определенной системе измерения, длины, количества, наличия.
Единица измерения - ...
и т.д.

Все это и многое другое связано с определением понятия 'слово'.
 

Фанат

oncle terrible
Команда форума
Дааааа... Уважаю. Таакой талант редко встречается.
Если отвлечься от всех этих высоких материй, чем отличается слово от не слова?
ну или еще проще - что у нас нсходится между словами?
 

svetohod

Новичок
Дааааа... Уважаю. Таакой талант редко встречается.
Если отвлечься от всех этих высоких материй, чем отличается слово от не слова?
ну или еще проще - что у нас нсходится между словами?
Если взять слово 'дом' и число '12', то они отличаются длиной - 3/2, набором символов - дом/12, типом символов (языком) - рус+альфафит/рус+анг+цифра, значением - вещь с именем дом / число равное 12.

Вы про пробелы? Это разделительный знак, отступ. Или в смысле, что между словами находится величина схожести этих слов?
 
Последнее редактирование:

Фанат

oncle terrible
Команда форума
не надо усложнять.
технари не потому технари, что они какие-то особенные, а потому что не усложняют на пустом месте.

Ты в своих рассуждениях уже упомянул простой технический признак, по которому можно отделать слова друг от друга.
Вот и дальше отталкивайс от чисто технических признаков. Технология работает с символами, а не со смыслом.
Поэтому все смысловые характеристики оставь для диссертации. и занимайся только внешними.
 
Сверху