|
|
|
Анализатор текста
|
|||
|---|---|---|---|
|
#18+
Извините, если не в тему... Приятель (геннетик по специальности) спросил меня, а как сделать сравнение двух буквенных последовательностей на совпадение букв с выводом результата. Например: первая послед. qwertyqwerty вторая - qwerquickerti результат: qwer----ert- Вопрос вот в чем: можно ли это делать в чем-то, типа Access и нужно ли.. Может есть уже готовые решения? У них была прога, но под DOS, а под 2000 - она не работает. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 10:06 |
|
||
|
Анализатор текста
|
|||
|---|---|---|---|
|
#18+
Медленно будет, но сделать можно. Возможно какой-то другой язык программирования сделает требуемой одной строчкой, но не VB/VBA. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 10:10 |
|
||
|
Анализатор текста
|
|||
|---|---|---|---|
|
#18+
Есть программа нестрогого сравнения строк, написанная на VB60. Думаю, ты сможешь имортировать модули из этой програмы. Вот описание: автор писал:Часто сталкивался с проблемой, когда нужно сравнивать строки, полученные из разных источников, которые имеют свою точку зрения на вопросы предоставления данных написание, грамотность, очепятки и т.д.). Например, "ул. Лёни Голикова" и "ул.Лени Голикава" в чём-то похожие названия, и хотелось бы как то это выразить. Данные пример как раз и служит для таких целей. Выдает результат в виде числа от 0 до 1. Чем оно больше - тем больше схожесть строк. Скачать можно здесь Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 10:17 |
|
||
|
Анализатор текста
|
|||
|---|---|---|---|
|
#18+
Что-то не совсем понятно. В таком виде проблем особых я не вижу. Это ж по сути надо просто сравнить символы на одной позиции и поставить "-" или оставить сам символ. Может там еще какие-нибудь трудности, как сравнивать то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 10:20 |
|
||
|
Анализатор текста
|
|||
|---|---|---|---|
|
#18+
Тебе так что-ли надо: первая послед. dddqwertyqwerty вторая - qwerquickerti результат: ---qwer----ert- т.е. найти еще точку вхождения или как? при этом способе кстати возникают другие проблемы с интерпретацией результатов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 10:24 |
|
||
|
Анализатор текста
|
|||
|---|---|---|---|
|
#18+
2 Nektov Спасибо. Сейчас посмотрю 2 SergeySV >Тебе так что-ли надо: Я, к сожалению, не знаю подробностей, что нужно геннетикам, но , похоже, ты прав. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 10:32 |
|
||
|
Анализатор текста
|
|||
|---|---|---|---|
|
#18+
Вообщем сделать можно все что угодно, надо только уточнить подробности, потому что в такой постановке задачи пока слишком много вопросов, которые влияют на конечную реализацию. А так в принципе, я для себя делал функцию Instr, которая позволяла вводить маску аки оператор Like, просто было интересно самому разработать алгоритм сравнения строки с маской. Получился не очень сложный алгоритм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 11:45 |
|
||
|
Анализатор текста
|
|||
|---|---|---|---|
|
#18+
А еще лучше сходить в магазин и купить книгу. Как точно называется не помню, но есть как раз по этой теме - алгоритмы в генетике ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 11:48 |
|
||
|
Анализатор текста
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 11:52 |
|
||
|
Анализатор текста
|
|||
|---|---|---|---|
|
#18+
Саныч, че-то не работает Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 12:04 |
|
||
|
Анализатор текста
|
|||
|---|---|---|---|
|
#18+
Или я задачу не допонял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 12:05 |
|
||
|
Анализатор текста
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. Кусок "ert" не нашелся, потому что он в исходных строках находится в разных местах. В задачке не сказано, что делать в таком случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 12:11 |
|
||
|
Анализатор текста
|
|||
|---|---|---|---|
|
#18+
Все правильно, именно об этом простом решении я и говорил. Мы просто сравниваем символы на одинаковой позиции, а вот если ему надо что-то другое, тогда не обойтись без уточнений, типа таких, первый символ дожен быть всегда, ищем первое вхождение, а потом уже бацаем "-" или буквы или еще как-нибудь, но в первоначальной формулировке пока слишком много вопросов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 12:14 |
|
||
|
Анализатор текста
|
|||
|---|---|---|---|
|
#18+
Для уточнения формулировки предлагаю пример: 123456789 123789456 - что должно получиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 12:19 |
|
||
|
Анализатор текста
|
|||
|---|---|---|---|
|
#18+
Зачем прога на VB если есть стнандартные функции MSSQL SOUNDEX Returns a four-character (SOUNDEX) code to evaluate the similarity of two strings. DIFFERENCE Returns the difference between the SOUNDEX values of two character expressions as an integer. PATINDEX Returns the starting position of the first occurrence of a pattern in a specified expression, or zeros if the pattern is not found, on all valid text and character data types. CHARINDEX Returns the starting position of the specified expression in a character string. Загнать символьные массивы в базу и обрабатывать построчно. А в принципе ,для еще большего убыстрения ,если есть исходник проги или хотябы алгоритм, то надо просто переписать на C++ и для тюнинга постаратся распаралелить для возможности многпроцессорной обработки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 12:40 |
|
||
|
Анализатор текста
|
|||
|---|---|---|---|
|
#18+
2ВС: не, предлагаю такой пример: 555123456789 123789456 т.е. когда исходная строка больше и начинается с других символов, ну и для полного счастья наоборот, что делать когда исходная строка меньше - вообще не сравнивать, потому что такая ситуация невозможно по условию??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 12:49 |
|
||
|
Анализатор текста
|
|||
|---|---|---|---|
|
#18+
Вообще, сам недавно искал подобную прогу. Нашел нечто похожее, называется bykva (ссылку только из дома могу дать). Позволяет искать вхождение строки в любом файле, а также дает статистику по входящим словам в тексте и можно сделать по словосочетаниям. В общем, достаточно ползеная штучка. А что касается кода Саныча, то его надо доработать, ИМХО. Как я себе это вижу. Берем 1-ю строку и берем 1-ый символ второй строки и начинаем оследовательно сравнивать с символами 1-ой строки. Как только нашли, берем 2-ой символ 2-ой строки и сравниваем со следующим символом 1-й строки. Если есть совпадение, то началась совпадающая последовательноть. Как только закончиласть, продолжаем дальше. Только вот тут вопрос, как автору надо это сравнивать? Продолжать дальше с того места, где остановились на 1-ой строке или начинать ее сначала?? В общем, нужна конкретная постановка задачи. ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 13:44 |
|
||
|
Анализатор текста
|
|||
|---|---|---|---|
|
#18+
к "решению" ВС. Если надо бистро, то не циклами, а побитово. Что-то наподобие: "Оператор And выполняет также поразрядное сравнение двух числовых выражений и присваивает соответствующему разряду в переменной результат следующее значение:". И, сдается мне, пИсать сие надо не на сИ а на ассемблере. т.ч. вопрос не по адресу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 15:45 |
|
||
|
Анализатор текста
|
|||
|---|---|---|---|
|
#18+
Ну почему же именно на асме?? Можно еще на Perl'e написать. Этот язык достаточно быстро работает со строками, насколько мне известно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 15:59 |
|
||
|
Анализатор текста
|
|||
|---|---|---|---|
|
#18+
Кстати, мой алгоритм можно ускорить. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 16:03 |
|
||
|
Анализатор текста
|
|||
|---|---|---|---|
|
#18+
мне кажется .http://algolist.manual.ru/search/ страничка может помочь с алгоритмами http://algolist.manual.ru/search/ http://doors.infor.ru/allsrs/alg/index.html вот здесь есть литературка.. http://www.3ka.mipt.ru/vlib/books/Programming/ComputerScience/StryngAnalysis/ а ещё можно копнуть такую книженцию.. http://pascal.sources.ru/docs/knuth3.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2003, 10:35 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32320106&tid=1678317]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
137ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 452ms |

| 0 / 0 |
