Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2009, 10:12   #1
Neymexa
Proffesional
Форумчанин
 
Аватар для Neymexa
 
Регистрация: 18.11.2008
Сообщений: 417
Печаль Анализ текста

кто-нибудь помогите написать прогу которая анализировала текст.
Пример1 : Юзер дурак
результат:-1

Пример2:Юзер молодец
результат:+1
О, степь родимая, как я скучаю по тебе...
Neymexa вне форума Ответить с цитированием
Старый 13.01.2009, 14:09   #2
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

По какому принципу текст анализировать???? По наличию слов дурак или молодец??? А если оба встречаются??? А если написано: Юзер не дурак????
Точнее задачу указывайте, т.к. решать анализ текста в общем смысле задача не из легкихи люди на это пол жизни тратят.
Hollander вне форума Ответить с цитированием
Старый 13.01.2009, 16:27   #3
Neymexa
Proffesional
Форумчанин
 
Аватар для Neymexa
 
Регистрация: 18.11.2008
Сообщений: 417
Печаль

Если одно слово + а второе - то выдает 0 тоесть нейтральное.
На счет не вы правы - не дурак это +1

Сразу прошу помоч на счет этого эпизода
if Memo1.Lines=m[0] then
showmessage('1') ;
[Error] Unit1.pas(31): Incompatible types: 'String' and 'TStrings'
Что это значит?Несоответствие типов данных?
О, степь родимая, как я скучаю по тебе...
Neymexa вне форума Ответить с цитированием
Старый 13.01.2009, 16:43   #4
OLEG'arh
Пользователь
 
Аватар для OLEG'arh
 
Регистрация: 23.11.2006
Сообщений: 42
По умолчанию

переменная m должна быть String.
var
m:string;
OLEG'arh вне форума Ответить с цитированием
Старый 13.01.2009, 16:59   #5
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

а ты знаешь сколько слов у тебя в строке будет?
Hollander вне форума Ответить с цитированием
Старый 13.01.2009, 17:18   #6
Neymexa
Proffesional
Форумчанин
 
Аватар для Neymexa
 
Регистрация: 18.11.2008
Сообщений: 417
По умолчанию

Обычное предложение т.е. примерно 10 слов. скорее всего меньше около 7
О, степь родимая, как я скучаю по тебе...
Neymexa вне форума Ответить с цитированием
Старый 13.01.2009, 17:37   #7
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Если хочешь помощи напиши конкретные условия.
Т.е. дана предложение: .... В нем если есть слова такое и такое, то делать это и т.д.
Пойми задача не решается по абстрактному описанию
Hollander вне форума Ответить с цитированием
Старый 13.01.2009, 18:03   #8
Neymexa
Proffesional
Форумчанин
 
Аватар для Neymexa
 
Регистрация: 18.11.2008
Сообщений: 417
Радость

Цитата:
Сообщение от Hollander Посмотреть сообщение
Если хочешь помощи напиши конкретные условия.
Т.е. дана предложение: .... В нем если есть слова такое и такое, то делать это и т.д.
Пойми задача не решается по абстрактному описанию
В общем есть текст он будет сверять слова из массивов на + и -
я пока сам пытаюсь но не получается.
Пример:Юзер дурак.
Прога из массива поэлементно сравнивает слова находящиеся в нем если слово есть то результат -1
Я подробно объяснил?
Ты сильно не парься мне нужен толчок а дальше сам как нибудь
О, степь родимая, как я скучаю по тебе...

Последний раз редактировалось Neymexa; 13.01.2009 в 18:06.
Neymexa вне форума Ответить с цитированием
Старый 13.01.2009, 18:35   #9
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

В обшем, вот код который разбирает строку по словам, нашел где-то в сети. Текст берется из Memo, а слова кидаются в ListBox
Код:
procedure TForm1.Button1Click(Sender: TObject);
const DelSym = ' .,!?';
var Text,Word: string; i: integer;
begin
  Text:=Memo1.Lines.Text;
  for i := 1 to Length(Text) do
    if Pos(Text[i],DelSym) > 0 then
      Text[i]:=',';
 
  if Text[1] = ',' then
    Delete(Text,1,1);
  while Pos(',,',Text) > 0 do
    Delete(Text,Pos(',,',Text),1);
	
  repeat
    Word:=Copy(Text,1,Pos(',',Text)-1);
    Delete(Text,1,Length(Word)+1);
    ListBox1.Items.Add(Word);
  until Length(Text) = 0;
end;
Затем берешь свой массив и проверяешь есть ли слова в ListBox'е.
Hollander вне форума Ответить с цитированием
Старый 13.01.2009, 18:40   #10
Neymexa
Proffesional
Форумчанин
 
Аватар для Neymexa
 
Регистрация: 18.11.2008
Сообщений: 417
По умолчанию

СПС в любом случае
О, степь родимая, как я скучаю по тебе...
Neymexa вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
анализ и преобразование текста строки Черная тень Паскаль, Turbo Pascal, PascalABC.NET 6 10.01.2009 17:33
спектральный анализ DeDoK Общие вопросы Delphi 7 19.09.2008 22:47
Анализ словосочетаний. PUH Помощь студентам 19 11.06.2008 01:53