Что такое смарт теги в ворде
Технология Smart Tags (или просто смарт-теги) — это одна из изюминок нового пакета Office XP. Судя по всему, Microsoft делает серьезную ставку на это новшество: демонстрации данной технологии было уделено большое внимание, в том числе и на прошедшей в середине сентября презентации русской версии пакета.
Скажу сразу, я пока не очень понимаю революционности технологии Smart Tags. Никто не спорит: повышение интеллектуальности средств обработки текста — вещь полезная. Но если посмотреть на примеры применения Smart Tags (в публикациях, на презентациях), приходишь к мысли, что все они могут быть довольно легко реализованы средствами уже имеющихся офисных приложений, начиная с версии 97. Впрочем, сразу оговорюсь: возможно, пока мне доводилось видеть лишь весьма примитивные примеры. Вполне вероятно, что при изучении тонкостей новой технологии мы действительно сможем обнаружить нечто принципиально новое. Тем более что после версии 1.0 скорее всего появятся расширенные варианты с качественно новой функциональностью.
В этой статье мы рассмотрим общие принципы применения технологии, а также разработку простейших собственных смарт-тегов в Office XP. А чтобы пользователи Office 97/2000 не очень переживали по поводу отсутствия у них нового офисного пакета, покажем, как примерно то же самое можно сделать в среде имеющихся у них средств.
Как все это работает
Механизм смарт-тегов реализован в Word 2002 и Excel 2002 (отдельные приложения Office XP имеют номер версии 2002), а также в новой версии Internet Explorer 6.0, но только если на ПК установлен Office XP. Он также доступен в Outlook 2002, если для ввода HTML-текста применяется тот же Word 2002 (в нем предусмотрен такой режим). Применение технологии Smart Tags выглядит примерно так.
На жесткий диск записываются одна или несколько специальных программ-распознавателей (recognizer), которые после регистрации становятся доступными для приложений, поддерживающих данную технологию.
Каждый распознаватель содержит набор терминов (лексем) и присоединенных к нему (именно ко всему набору, а не к отдельному термину) функций. В настоящее время имеется два варианта создания распознавателей:
В диалоговом окне «Смарт-теги» имеются также флажки управления режимами работы: «Добавить смарт-теги к тексту» — включает/выключает режим применения смарт-тегов, «Показать действие кнопки» — включает/выключает поддержку контекстного меню. А отключение выделения смарт-тегов путем подчеркивания осуществляется с помощью флажка «Смарт-теги» в области «Показывать» во вкладке «Сервис | Параметры | Вид». В нижней части окна находятся кнопки выполнения операций: «Удалить» — убирает все смарт-теги документа, а «Проверка» — восстанавливает их с учетом текущей конфигурации.
При загрузке документа (или в ходе его коррекции) приложение выполняет анализ содержимого данного фрагмента на наличие терминов, заданных в подключенных распознавателях. Найденные распознавателем термины помечаются как лексемы (одному термину могут соответствовать несколько распознавателей) и на экране подчеркивается фиолетовой пунктирной линией. Если к такому слову подвести курсор мыши, то появится кнопка Smart Tag Actions («Действия для смарт-тегов»), после щелчка по которой выводится меню с перечнем доступных операций (рис. 3).
Вот, собственно, и вся логика работы технологии в ее простейшем варианте.
Использование XML-распознавателей
Как мы уже говорили, в состав поставки Office XP не входят распознаватели данного типа (в английской документации они называются Smart Tag List Definition Files). Но мы можем легко сделать такой файл, например с названием MedTerms.XML, взяв в качестве примера код, приведенный в Smart Tag SDK 1.1 (листинг 1), с описанием медицинских терминов. Запишем этот файл в каталог C:\Program Files\Common Files\Microsoft Shared\Smart Tag\Lists. Теперь после перезапуска Word 2002 в окне «Автозамена | Смарт-теги» (рис. 4) мы увидим, что строка «Списки смарт-тегов» пополнилась описанием нашего файла — Medical Condition Terms.
Установим флажок этой строки. Теперь введем текст, который содержит термины, перечисленные в XML-теге , например allergy (аллергия), и убедимся, что наш обработчик смарт-тегов работает исправно (рис. 5).
MOSTL Generator реализован в виде XLT-шаблона и представляет собой типичное приложение, реализованное в среде Excel. Обязательно ознакомьтесь с ним (и со упомянутой выше статьей), так как это — очень удачный и простой пример разработки с использованием электронных таблиц и MS XML Parser 3.0. Создать подобный генератор (в том числе в среде VB) сможет за пару часов любой программист с минимальным опытом работы.
Мы воспользуемся генератором для создания собственного XML-файла. На рис. 6 приведен диалоговый интерфейс генератора с нашими данными, где хорошо видно, что XML-распознаватель состоит из трех частей: общие сведения, описание действий и список терминов. (Генератор реализует не все возможные теги — только самые необходимые для работы. Другие инструменты применяют расширенный состав тегов.)
Код, который у нас получился с помощью генератора, приведен на листинге 2. Мы использовали термины на русском языке, что вполне допустимо, так как генератор сохраняет XML-файл в кодировке Unicode, о чем говорит заглавная строка:
Можно также использовать кодировку Windows-1251 при работе с русско-английским алфавитом, и при этом файл можно сохранять в обычном однобайтовом ANSI-формате.
Посмотрим, как будет работать технология Smart Tags с русскими буквами (рис. 7).
Здесь есть проблема: английские термины выделены без различия строчных и прописных букв (см. Basic и basic), а для «Фортран» — выделена только точная его копия. Слова «фортран» и тем более «Фортраном» осталось нераспознанным. Кроме того, на примере слова «vba» виден конфликт между выделением смарт-тегов и грамматических ошибок — два вида подчеркивания наложились друг на друга (режим распознавания смарт-тегов автоматически включает проверку грамматики).
А что же будет, если один и тот же термин определен в двух распознавателях? Эта ситуация приведена на рис. 7 для слова «Бейсик». В этом случае при обращении к кнопке «Действия для смарт-тегов» выдается комбинированное меню с возможностью выбора нужного обработчика (рис. 8).
Почти то же самое, но в Office 2000
А теперь, как и было обещано, о том, как можно нечто подобное сделать средствами Word 2000 (или 97), которым недоступна технология Smart Tags.
Для этого напишем макрокоманду MySmartTags (листинг 3). Из кода видно, что она обращается к форме UserForm1, которая содержит метку Label1 (для вывода найденного термина) и два списка. ListBox1 используется в качестве меню при выборе операции, а во втором хранится описание выполняемых действий (URL), поэтому мы описали его как «невидимый» (ListBox1.Visible=False). Для выполнения операции напишем код для событий ListBox1_DblClick (листинг 4). Для удобного обращения к макрокоманде поместим с помощью окна Customize кнопку ее вызова на панель меню. Вот и все, теперь посмотрим, как это будет работать.
Введем некий текст, выделим в нем двойным щелчком мыши слово «фортраном», затем щелкнем команду MySmartTags. Появится форма со списком предлагаемых действий (рис. 9).
Дважды щелкните по нужной позиции и убедитесь, что началось выполнение соответствующей операции (рис. 10).
Обратите внимание: вся эта обработка выполняется на основе данных, хранимых в ранее сформированных XML-описателях — именно в тех, что применялись выше в рамках технологии Smart Tags в примере с Word 2002. Но есть и заметные отличия, которые нуждаются в дополнительном обсуждении.
Понятно, что макрокоманда MySmartTags представляет собой очень простой пример реализации обработки текста, который должен лишь проиллюстрировать основные подходы к этому вопросу. Например, поиск теримнов выполняется до первого описателя, где этот термин встречается. Однако очевидно, что совсем нетрудно написать код с созданием комбинированного меню, если найдены несколько распознавателей для одного термина.
При этом на приведенном примере хорошо видны достоинства данного варианта по сравнению с технологией смарт-тегов в случае с XML-описателями:
- Здесь мы решили описанную выше проблему с игнорированием регистра русских терминов и наличия склонений. Ведь в описателе у нас записано слово «Фортран», а мы обрабатывали «фортраном» (рис. 9). При этом в качестве аргумента применяется именно ключевой термин, а не выделенное слово. Понятно, что для разработчика здесь открывается полная свобода в организации поиска.
- Вся регистрация обработчиков Smart Tags выполняется на уровне данного компьютера, в фиксированном каталоге. В нашем же примере с использованием макрокоманд мы можем гибко управлять режимами обработки, привязывая нужные режимы обработки не только к конкретным приложениям, но и к документам. Действительно, где-то будет необходимо включать обработку лекарственных терминов, а где-то — слов по теме программирования.
Конечно, при прочих равных условиях макрокоманды работают медленнее машинного кода, но никто не мешает нам реализовать эту же функциональность в виде двоичных ActiveX DLL, в том числе с применением модели COM Add-Ins.
Разумеется, приведенный здесь вариант не является точной копией технологии Smart Tags. Есть одно качественное отличие — в случае Smart Tags распознавание терминов выполняется автоматически при вводе текста. В случае макрокоманд это делается по запросу пользователя в явном виде. И вот тут мы подходим к одному из главных вопросов: а насколько в реальной жизни необходимо это автоматическое распознавание? Может быть, гораздо чаще требуется именно выполнение подобных операций по специальной команде? Поясним это на простом примере.
В Office XP нет обработки русских имен. А нужно ли создавать такое автоматическое распознавание подобных терминов (тем более для русского языка с его склонениями)? Ведь пользователю гораздо проще самому понять, где фамилия человека, а где номер телефона. Тогда ему нужно только выделить нужный фрагмент и обратиться к соответствующей функции.
Этими вопросами и хотелось бы закончить статью, подчеркнув при этом, что данная тема нуждается в более глубоком обсуждении, так как некоторые интересные моменты в технологии Smart Tags действительно имеются. Например, все та же возможность выполнения автоматического анализа текста при его вводе (ведь это может быть не только выделение смарт-тегов!). Или использование новых VBA-объектов, связанных с этой технологией. Не говоря уже о том, что Internet Explorer не имеет cреды VBA. Хотя, возможно, было бы лучше включить ее в состав браузера.
You can save time by using Smart Tags to perform actions in Microsoft Word that you would normally start other programs to perform.
One action you can take is to add a person's name and address from your document to a Microsoft Outlook contact folder. With the Smart Tag, you do not need to copy the information in Word, start Outlook, and then paste the information into Outlook. Instead, click a Smart Tag, and then select the action Add to Contacts. The New Contact dialog box opens with the name and address already entered. If you want, you can fill out any additional information, and then continue with your work in Word.
How Smart Tags Work
Word recognizes certain types of data that it labels with Smart Tags. The type of action you can take depend on the type of data that Word recognizes and labels with a Smart Tag.
For example, "Nate Sun" is recognized as a "person name" Smart Tag with actions you can take such as Open Contact, Schedule a Meeting, Add to Contacts, or Insert Address. The Smart Tag indicators appear beneath the text as you type. They may also appear when you open a previously saved document.
How to Use Smart Tags
When Word recognizes types of data, the data is marked with a Smart Tag indicator, or purple dotted underline. To find out what actions you can take with a Smart Tag, move the insertion point over the text with a Smart Tag indicator until the Smart Tag Actions button appears. Click the button to see a menu of actions.
If you save a Word document that contains Smart Tags as a Web page, some tasks can be performed on the Web using Microsoft Internet Explorer 5 or later. You can also use Smart Tags in your Outlook e-mail messages and in Microsoft Excel.
You can use Smart Tags to perform actions in Microsoft Word that you would normally start other programs to do. The purple dotted lines beneath text in your document indicate Smart Tags.
Move the insertion point over text underlined with a purple dotted line until the Smart Tag Actions button appears.
Click the button to see the actions you can perform, and then select an action.
Change Smart Tag Options
To change Smart Tag options, use any of the following methods.
Turn Smart Tags on or off
On the Tools menu, click AutoCorrect Options, and then click the Smart Tags tab.
Note In Microsoft Office Word 2007, click the Microsoft Office Button, click Word Options, click Proofing, and then click AutoCorrect Options. Then, click Smart Tags in the AutoCorrect dialog box.
Select or clear the Label text with Smart Tags check box.
Show or Hide Smart Tags
You can show or hide the purple dotted lines that indicate Smart Tags.
On the Tools menu, click Options, and then click the View tab.
Under Show, select or clear the Smart tags check box.
Note In Word 2007, click the Microsoft Office Button, click Word Options, click Advanced, and then select or clear the Show Smart Tags check box under the Show document content.
Show or Hide Smart Tag Actions Buttons
The Smart Tag Actions buttons appear when you move the insertion point over Smart Tags. Hiding the buttons hides the menu of actions that you can choose with Smart Tags.
On the Tools menu, click AutoCorrect Options, and then click the Smart Tags tab.
Note In Word 2007, click the Microsoft Office Button, click Word Options, click Proofing, and then click AutoCorrect Options. Then, click Smart Tags in the AutoCorrect dialog box.
Select or clear the Show Smart Tag Actions check box.
Save or Discard Smart Tags
On the Tools menu, click Options, and then click the Save tab.
Under Save options, select or clear the Embed Smart Tags check box.
Note In Word 2007, click the Microsoft Office Button, click Word Options, click Advanced, and then select or clear the Embed smart tags check box under Preserve fidelity when sharing this document.
Save Smart Tags as XML
On the Tools menu, click Options, and then click the Save tab.
Under Save options, select the Save smart tags as XML properties in Web pages check box.
Note In Word 2007, click the Microsoft Office Button, click Word Options, click Advanced, and then select or clear the Save smart tags as XML properties in Web pages check box under Preserve fidelity when sharing this document.
Turn Smart Tags on or off for E-mail Messages
Smart Tags can be saved in an e-mail message so that the recipient can use them. Recipients must view their e-mail messages in Outlook 2002 and Outlook 2003.
On the Tools menu, click Options, and then click the General tab.
Click E-mail Options, and then click the General tab.
Under HTML options, select or clear the Save smart tags in e-mail check box.
Note By default,Save smart tags in e-mail is set to Turn on in Word 2007.
Remove Download URLs from Smart Tags
On the Tools menu, click Options, and then click the Security tab.
Under Privacy options, select the Remove personal information from this file on save check box.
Note In Word 2007, click the Microsoft Office Button, click Word Options, click Privacy Options, and then select the Remove personal information from file properties on save check box under Document-specific settings.
Remove Smart Tags
To remove Smart Tags, use either of the following methods.
Method 1: Remove a Single Smart Tag from Text
Move the insertion point over the text until the Smart Tag Actions button appears.
Click the Smart Tag Actions button, and then click Remove this Smart Tag.
Method 2: Remove All Smart Tags
This method removes all Smart Tags, including Smart Tags labeled by recognizers you may no longer have and Smart Tags recognized in a document opened on someone else's computer. You cannot undo this action.
On the Tools menu, click AutoCorrect Options, and then click the Smart Tags tab.
Note In Word 2007, click the Microsoft Office Button, click Word Options, click Proofing, and then click AutoCorrect Options under AutoCorrect options. In the AutoCorrect dialog box, click Smart Tags.
On the Smart Tags tab, click Remove Smart Tags.
Method 3: Remove Specific Types of Smart Tags
This method removes some Smart Tags, but it leaves the feature turned on.
On the Tools menu, click AutoCorrect Options, and then click the Smart Tags tab.
Note In Word 2007, click the Microsoft Office Button, click Word Options, click Proofing, and then click AutoCorrect Options under AutoCorrect options. In the AutoCorrect dialog box, click Smart Tags.
Under Recognizers, clear the check boxes for the Smart Tags you want to remove.
Click Remove Smart Tags.
How to Get More Smart Tags
The Smart Tags that come with Word are just the beginning. To get more Smart Tags, do either of the following:
On the Tools menu, click AutoCorrect Options, and then click the Smart Tags tab. Click More Smart Tags.
Note In Word 2007, click the Microsoft Office Button, click Word Options, click Proofing, and then click AutoCorrect Options under AutoCorrect options. In the AutoCorrect dialog box, click Smart Tags, and then click More Smart Tags.-OR-
Click the Smart Tag Actions button, and then click Check for New Actions to go to Web sites to find new Smart Tags and actions.
NOTE: The Check for New Actions menu item is available if additional Smart Tags items have been downloaded from the Web or your company's intranet.
You may find additional Smart Tags created by Microsoft, by third-party companies, or by Information Technology (IT) professionals, who may design Smart Tags and actions for the specific products or services that you work with. For example, if you work in a sales department, you might be able to click a "product name" Smart Tag in your document that offers actions such as "check quantity" in stock or price.
NOTE: The types of Smart Tags that come with Word vary with the language that is enabled and the grammar checker that is in use.
References
For more information about troubleshooting Smart Tags, click Microsoft Word 2002 Help on the Help menu, type troubleshoot smart tags in the Office Assistant or the Answer Wizard, and then click Search to view the topic.
Word старается контролировать все случаи появления в вашем документе новых имен. Когда в тексте встречается новое имя, Word подчеркивает его красной точечной линией. Таким образом программа получает сигнал, что, возможно, для данного имени имеется дополнительная информация. А подчеркивание красными точками означает, что к слову "прикреплен" смарт-тег.
Если поместить указатель мыши на смарт-тег (подчеркнутое красными точками слово), рядом с ним всплывет пиктограмма Действия для смарт-тегов. Щелкните на этой пиктограмме, и перед вами раскроется меню, с которым можно работать только при условии, что на компьютере установлено приложение Microsoft Outlook (заметьте, не Outlook Express) и все необходимые параметры для работы с базой данных ваших контактов.
Чтобы выключить функцию сопровождения текста смарт-тегами, выберите команду Сервис>Параметры автозамены и вызовите вкладку Смарт-теги, щелкнув на соответствующем ярлыке. Снимите флажок Добавить смарт-теги к тексту. Затем щелкните на кнопке ОК.
Упражнение. Добавление элемента
Автозамена
Команда Автозамена служит для исправления ошибок, которые часто возникают при наборе (опечаток). Словарь автозамены содержит правильные и ошибочные написания слов. При ошибочном написанииMicrosoft Word автоматически исправляет его на правильное. Это существенно ускоряет набор текста, так как пользователю не нужно отвлекаться на исправление опечаток.
Microsoft Word содержит список наиболее часто возникающих ошибок и вариантов их замены. Этот список можно дополнить вручную.
Для добавления нового элемента автозамены сделайте следующее.
Рис. 3.34. Кнопка Параметры автозамены
- В поле заменить области Заменять при вводе введите слово с ошибкой, которое часто встречается в тексте (например, слоово).
- В поле на области наберите правильный вариант написания этого слова (например, слово) (рис. 3.35).
Рис. 3.35. Диалоговое окно Автозамена
Функцию Автозамена можно использовать не только для устранения опечаток, но и для быстрого ввода каких-нибудь слов и предложений.Например, если вам часто приходится набирать фразу нелинейный видеомонтаж, то введите ее в поле на окна Автозамена, а в полезаменить наберите нели. Теперь после набора этих четырех букв появится вся фраза.
В диалоговом окне Автозамена также устанавливаются некоторые настройки, которые существенно облегчают работу. Обязательно проверьте, установлены ли у вас следующие флажки:
- Исправлять ДВе ПРoпиcные бyквы в нaчaлe cлoвa;
- Делать первые буквы предложений прописными;
- Уcтpaнять пocледcтвия cлyчaйнoгo нaжaтия сAPS LOCK.
Смарт-теги также относятся к функциям автозамены. Они дают возможность распознавать разные типы данных и выполнять их преобразование. Одна из удобных функций смарт-тегов – преобразование единиц измерения, что может быть полезно, например, если вы переводите текст с английского языка на русский. Представьте себе, что в этом тексте идет речь о выловленной рыбе и приводится ее вес в фунтах. Мало какой русский читатель сможет сходу преобразовать фунты в килограммы, это лучше сделать переводчику.
Используя смарт-теги, вы сможете выполнить преобразование автоматически. Когда программа распознает данные, которые могут быть преобразованы, текст подчеркивается розовой пунктирной линией.Необходимо подвести курсор к таким данным, после чего щелкнуть по значку в виде буквы i и в появившемся меню выбрать предложенный вариант преобразования (рис. 3.36). Word автоматически переведет величины, и в тексте появятся привычные для российских читателей килограммы (рис. 3.37). Теперь они смогут искренне позавидовать английскому рыбаку.
Рис. 3.36. Преобразование фунтов в килограммы
Рис. 3.37. Автоматическое преобразование выполнено
Для того чтобы включить использование смарт-тегов, сделайте следующее.
Рис. 3.38. Выбор окна параметров смарт-тегов из контекстного меню
СОВЕТ. Получить быстрый доступ к параметрам смарт-тегов можно и из меню, которое появляется при распознавании данных. В нем следует выбрать команду Параметры смарт-тегов (рис. 3.39).
Рис. 3.39. Выбор окна параметров смарт-тегов из контекстного меню
Не нашли то, что искали? Воспользуйтесь поиском:
Лучшие изречения: Только сон приблежает студента к концу лекции. А чужой храп его отдаляет. 8959 — | 7624 — или читать все.
Отключите adBlock!
и обновите страницу (F5)
очень нужно
Смарт-теги
Смарт-тег (Smart Tag) позволяет выполнить действие, связанное с работой другого приложения. Он имеет вид небольшого значка, внутри которого виден кружок и буква I (рис. 5.8). Индикатор смарт-тега подчеркивается фиолетовой пунктирной линией. Переместите курсор по тексту, подчеркнутому фиолетовой линией, на экране отобразится кнопка, позволяющая увидеть список команд меню, перечень которых зависит от типа распознанных и отмеченных смарт-тегом данных. Например, команды меню позволяют добавить имя и адрес контактного лица из документа в папку контактов Microsoft Outlook без копирования этих сведений в Microsoft Word, запуска Microsoft Outlook и последующей вставки этих сведений в Microsoft Outlook.
Рис. 5.8. Смарт-тег даты
Окна смарт-тегов отличаются от подсказок помощника тем, что с их помощью можно изменить настройки и выполнить команду, не обращаясь к меню Элемент, распознаваемый смарт-тегом: имя, дата, время, называется распознавателем. В области Распознаватели (Recognizers) на вкладке Смарт-теги снимите флажки для тех типов смарт-тегов, которыми вы не хотите пользоваться.
Фиолетовые пунктирные линии, выделяющие смарт-теги, можно отобразить или скрыть. Для этого в меню Сервис (Tools) выберите команду Параметры (Options), а затем откройте вкладку Вид (View). В области Показывать (Show) установите или снимите флажок смарт-теги (Smart tags).
В Microsoft Office XP впервые реализована новая технология интеллектуальной обработки текста Smart Tags (в русской версии Office она так и называется - смарт-теги). Судя по всему, это одна из наиболее интересных новинок пакета, которая наверняка получит развитие и, скорее всего, в недалеком будущем станет доступной для приложений, создаваемых независимыми разработчиками.
Очевидно, что уже реализованный в версии 1.0 механизм представляет практический интерес для решения конкретных задач. Однако, несмотря на внешнюю простоту идей, заложенных в основу технологии, первое знакомство с внутренней ее реализацией позволяет увидеть некоторые "подводные камни" и узкие места. Но тут нужно подчеркнуть, что сегодня мы имеем дело по сути дела с опытным образцом, - как известно, промышленная работа с новой технологией обычно начинается с появлением версии 2.0, а то и 3.0.
Интеллектуальная обработка текста
Ранее Microsoft Word, Excel и Outlook позволяли автоматически распознавать адреса Web-сайтов и электронной почты, преобразуя их в соответствующие ссылки. Теперь эти же приложения версии 2002 (для Outlook 2002 - только в режиме ввода текста в формате HTML, когда применяется Word 2002), а также новый Internet Explorer 6.0 (но только если на компьютере установлен Office XP) могут существенно расширить возможности подключения разнообразных функций, обеспечивающих связь между документами и различными информационными и вычислительными ресурсами.
Идея технологии достаточно проста - пользователь может применять механизм распознавания, который связывает наборы терминов (лексем) с различными "присоединенными" к ним функциями. То есть каждой группе лексем будет соответствовать свое контекстное меню с набором самых произвольных команд, которые можно выполнять непосредственно при работе с данным документом.
Общая схема работы смарт-тегов выглядит следующим образом.
На уровне операционной системы регистрируется один или несколько специальных программных компонентов - "распознавателей" (recognizer). Каждый распознаватель включает список обрабатываемых им лексем, а также набор действий (команды контекстного меню), которые могут к ним применяться.
В процессе ввода текста (точнее, при завершении ввода ячейки в Excel или абзаца в Word) содержимое данного фрагмента анализируется на наличие заданных терминов. Найденные распознавателем термины помечаются как лексемы (одному термину могут соответствовать несколько распознавателей). На экране такие слова подчеркиваются фиолетовой пунктирной линией.
Рис. 1. Так работает технология смарт-тегов. |
В состав Office XP входит несколько готовых англоязычных распознавателей. Но важнее всего, что пользователи могут создавать собственные "распознаватели", реализованные двумя способами. В простейшем случае они формируются в виде XML-файла - это может сделать человек с минимальной компьютерной подготовкой с помощью самого примитивного текстового редактора, такого как NotePad. Однако при применении XML-описаний дополнительная обработка ограничивается достаточно узким кругом операций, связанных в основном со ссылками на Web-ресурсы.
Следует также подчеркнуть, что технология смарт-тегов активно используется для реализации внутреннего механизма самого Office XP. Это можно проиллюстрировать на следующем примере. Заполните в Excel 2002 несколько ячеек, выделите диапазон и скопируйте его через буфер обмена в Word 2002. В среде Word рядом со вставленной таблицей появится кнопка смарт-тега, с помощью которой можно получить доступ к дополнительным операциям оформления таблицы (рис. 2).
Рис. 2. Смарт-теги применяются для программирования внутренних операций офисных приложений. |
Подключение смарт-тегов к приложению
Набор распознавателей регистрируется на уровне ОС, но каждое из офисных приложений (в данном случае Word и Excel) может определять состав подключенных к нему модулей (по имеющейся информации, Internet Explorer 6.0 не позволяет делать такого выбора). Управляют смарт-тегами с помощью вкладки Tools | AutoCorrect options | Smart Tags (Сервис | Параметры автозамены | Смарт-теги), приведенной на рис. 3.
Рис. 3. Управление режимами в окне "Автозамена | Смарт-теги". |
Следует обратить внимание на кнопки "Проверка документа" и "Удалить смарт-теги". Дело в том, что в документе сохраняются все лексемы, которые были ранее помечены распознавателями, даже если некоторые из этих модулей удалены с компьютера (или документ распознавался на другом компьютере). Кнопка "Удалить" убирает все смарт-теги документа, а "Проверка" восстанавливает их с учетом текущей конфигурации.
Все позиции окна "Распознаватели", кроме "Списки смарт-тегов", - это средства распознавания, реализованные в виде DLL. "Списки смарт-тегов" - это наборы распознавателей, представленные XML-описаниями (на рис. 3 видно, что таких описателей в данном случае нет).
Все остальные представленные распознаватели - это стандартные модули, поставляемые в виде DLL. Они реализованы пока только для английского языка. Получатели электронной почты также распознаются только в случае английских имен. К сожалению, в документации о работе стандартных распознавателей практически ничего не говорится. Конечно, довольно легко догадаться, что подразумевается под "Именами" и "Телефонами", но что понимается под "Местами" и сколько человек умещается в понятие "Последние" - не вполне очевидно.
Тем не менее действие готового набора смарт-тегов при наборе текста может выглядеть примерно следующим образом (рис. 4). Мое имя удостоилось чести попасть в число смарт-тегов вместе с главой Microsoft, но от этого механизм распознавания имен не становится понятнее. Например, если добавить в предложение еще одно имя (рис. 5), то нас с Биллом почему-то удалят из смарт-тегов.
Рис. 4. Использование встроенных распознавателей. |
Рис. 5. Почему-то не все имена распознаются. |
Обратим также внимание, что в первой фразе (рис. 4 и 5) выделен номер телефона, а во второй - нет. Судя по всему, в последнем случае роль сыграло то, что предложение набрано на русском языке. Дата также распознается только в американском формате, даже если она введена неверно (20/09/2001 - тут перепутаны месяц и день).
При работе со смарт-тегами следует иметь в виду и такие моменты:
1. При сохранении документа (но только в родных форматах приложений Word и Excel, а также HTML) смарт-теги сохраняются. Если размер файла критичен, отключите параметр для сохранения смарт-тегов. Для этого нужно очистить флажок "Внедрять смарт-теги" на вкладке "Сервис | Параметры | Сохранение".
3. При отключении проверки орфографии и грамматики средство проверки правописания продолжает работать для распознавания смарт-тегов. Если требуется полностью отключить средство проверки правописания, следует также отключить смарт-теги. Отметим, что выделение ошибок правописания и выделение смарт-тегов довольно часто накладываются друг на друга.
4. Отключение или подключение распознавателей в окне "Автозамена | Смарт-теги" не влияет на состав выделенных в тексте смарт-тегов. Для того, чтобы обновить документ с применением указанного списка распознавателей, нужно нажать кнопку "Проверка документа".
Программное управление смарт-тегами
- ActiveDocument.RemoveSmartTags - "Удалить смарт-теги";
- ActiveDocument.EmbedSmartTags - "Внедрять смарт-теги" (оставить при сохранении документа);
- ActiveDocument.RecheckSmartTags - "Повторная проверка;
- Application.Options.LabelSmartTags - "Показывать смарт-теги";
- ActiveWindow.View.DisplaySmartTags - "Показывать выделение смарт-тегов";
- Application.EmailOptions.EmbedSmartTag - Сохранять информацию о смарт-тегах в электронных письмах в формате HTML при работе в Outlook 2002.
Кроме того, имеется объект SmartTag и коллекция SmartTags, которые позволяют работать собственно со смарт-тегами. Например, следующий код позволяет получить информацию об именах используемых в документе смарт-тегов (точнее, именах распознавателей, к которым относятся этим смарт-теги; получить имя самого термина, к сожалению, нельзя):
С помощью свойства XML можно получить соответствующее описание смарт-тега:
В окне мы увидим такой XML-текст:
Можно также добавить пользовательские свойства смарт-тегу:
и получить информацию обо всех свойствах всех смарт-тегов документов (см. листинг 1):
Сейчас трудно оценить практическую пользу от применения объекта SmartTag в его нынешнем виде. Отметим, что у него почему-то нет возможности получить напрямую информацию об имени самого смарт-тега (правда, это можно сделать через XML-свойство). Наверное, пригодились бы в работе и события, обрабатывающие операции со смарт-тегами на уровне VBA-кода.
Тут нужно еще сказать, что кроме перечисленных средств Excel включает дополнительно (в Word'е их нет) объекты SmartTagAction и SmartTagRecognizer для программирования распознавателей с помощью VBA. Но с этим вопросом нужно будет разбираться дополнительно.
Создание простейшего XML-распознавателя
- Закроем Word 2002.
- В простейшем редакторе Notepad введем XML-код с описанием медицинских терминов, приведенный в Smart Tag SDK 1.1 (листинг 2).
- Сохраним файл с именем Medical.xml в каталоге C:\Program Files\Common Files\Microsoft Shared\Smart Tag\Lists.
- Запустим Word 2002 и откроем окно "Автозамена | Смарт-теги" (рис. 6). Здесь мы увидим, что строка "Списки смарт-тегов" пополнилась описанием нашего файла - Medical Condition Terms. Установим флажок для этой строки.
- Введем текст, которые содержит термины, перечисленные в XML-теге , например cough (кашель), и убедимся, что наш обработчик смарт-тегов исправно работает (рис. 7).
Рис. 6. В окне "Автозамена | Смарт-теги" появилось имя XML-описания в строке "Списки смарт-тегов". |
Рис. 7. Работа XML-обработчика смарт-тегов. |
Мы сейчас не будем детально рассматривать все элементы синтаксиса XML-описания обработчика смарт-тегов - во многом их смысл понятен из имен, а более подробная информация имеется в Smart Tag SDK. Обратим внимание только на некоторые ключевые моменты.
Корневой элемент файла – а общая структура файла имеет следующий вид:
"Набор вспомогательных элементов" в общем случае необязателен. Однако следует иметь в виду, что большая группа этих элементов обеспечивает автоматическое обновление списка элементов, а также возможность ссылки на XML-описание, хранящееся на удаленном сервере (в том числе на Web-сервере).
Список терминов описывается в элементе (единственном в файле). Набор терминов можно также считывать из двоичного файла с помощью элемента . Обратите внимание, что все термины записаны с помощью строчных букв; в этом случае в документе будут выделяться термины, набранные в любом регистре. Если же определить термин, например Allergy, то будет выделяться только слово точно такого написания.
Элементы описывают пользовательские операции по обработке смарт-тега: имя позиции меню (caption) и URL-ссылку для выполнения действий. Обратите внимание, что с помощью параметра можно передать конкретный выделенный термин.
Все изменения XML-описания вступают в силу только в момент перезагрузки офисного приложения. Более того, если вы модифицировали имя смарт-тега в элементе , то необходимо инициировать его работу, нажав кнопку "Проверка документа" в окне "Автозамена | Смарт-теги".
Для регистрации XML-описаний смарт-тегов достаточно простой записи файлов в предопределенный каталог C:\Program Files\Common Files\Microsoft Shared\Smart Tag\Lists. Можно изменить этот каталог, откорректировав системный Реестр.
Еще один XML-описатель, русскоязычный
Чтобы лучше разобраться с работой XML-описателей, создадим еще один файл - Andy.xml (листинг 3) с использованием русских букв. Сразу обратим внимание на появление заглавной строки XML-кода с описанием русской кодировки:
В этом случае файл после создания в NotePad нужно сохранить как текст. В среде Windows XP программа NotePad может сохранять текстовый файл как в однобайтном (ANSI), так и двухбайтном (Unicode) коде. Для ANSI следует применять Windows-1251, а для Unicode - UTF-16.
Действие нового описателя при распознавании текста показано на рис. 8. Здесь следует отметить два момента. Во-первых, английские термины выделены без различия строчных и прописных букв. С русским словом "бейсик" видны проблемы - выделена только точная его копия. Слово "Бейсик", не говоря уже о "Бейсиком" и "бейсиком", осталось нераспознанным.
Второе - на примере слова QuickBASIC хорошо виден конфликт (наложение подчеркивания) между выделением смарт-тегов и грамматических ошибок.
Рис. 8. Обработка русских терминов с помощью XML-описателя. |
Обратим также внимание, что в новом описателе используется и слово cough, которое уже задействовано в файле Medical.xml. В данном случае никакого конфликта не происходит - при обращении к кнопке "Действия для смарт-тегов" выдается комбинированное меню с возможностью выбора нужного обработчика (рис. 9).
Рис. 9. При использовании одного термина в двух обработчиках выдается комбинированное меню. |
Что же дальше
Более широкие возможности обработки смарт-тегов дает использование программных DLL-компонентов, технологию разработки которых мы рассмотрим в следующей статье. А пока хотелось бы сделать несколько предварительных выводов и замечаний.
Судя по всему, Smart Tags - это очень перспективная технология, но для оценки ее реальных достоинств требуется время и изучение практических примеров. К тому же некоторые элементы технологии кажутся пока сыроватыми. Например, только в этом обзоре мы столкнулись с неоднозначным распознаванием имен (Билла Гейтса то узнают, то нет), с проблемой распознавания русских терминов, набранных в разных регистрах. Довольно запутанно выглядит ситуация с сохранением смарт-тегов при удалении ранее использованных распознавателей.
Лично для меня самое непонятное - насколько актуальна идея автоматического распознавания терминов для практической работы? Не запутается ли пользователь во всех этих распознавателях и выделенных терминах в тексте?
Никто не спорит, возможность интеллектуальной обработки текста очень полезна. Но ведь все то, о чем говорилось выше, достаточно просто и более эффективно реализовать с помощью давно известных средств программирования офисных приложений! Делается это несложно - подводите курсор к нужному слову, открываете нажатием "горячей клавиши" макрокоманду в контекстном меню и делаете все, что нужно. Ведь пользователь сам, без проблем (и гораздо лучше программы), поймет, где записан телефон, где название организации, а где имя клиента.
Впрочем, возможно, я просто пока не вижу новых потенциальных возможностей технологии смарт-тегов. Что же, поживем - увидим.
Если вы не хотите использовать смарт-теги Word, вы можете отключить их
Microsoft Word 2003 или 2007 может идентифицировать определенные типы данных в документе, такие как адрес или номер телефона, и применять к ним смарт-тег. Смарт-тег обозначен фиолетовым подчеркиванием идентифицированного текста данных и позволяет использовать дополнительные функции, связанные с теговым текстом.
Если навести указатель мыши на текст, появится небольшое поле с надписью «i». Если щелкнуть это поле, откроется меню возможных действий со смарт-тегами, которые Word может выполнять на основе данных. Например, адрес с смарт-тегами дает вам возможность добавить адрес в ваши контакты Outlook. Это избавляет вас от необходимости выбирать и копировать адрес, открывать Outlook, а затем следовать процессу создания нового контакта.
Отключение смарт-тегов
Некоторые пользователи считают, что смарт-теги могут мешать работе. В качестве решения смарт-теги могут быть отключены выборочно, или они могут быть отключены полностью.
Чтобы отключить смарт-тег, выполните следующие действия.
Наведите указатель мыши на текст смарт-тега.
Когда появится кнопка Смарт-тег , нажмите ее.
Нажмите Удалить этот смарт-тег в меню. Если вы хотите удалить все экземпляры этого смарт-тега из документа, вместо этого переместите указатель мыши вниз к пункту меню Остановить распознавание… и выберите как смарт-тег из дополнительного меню. ,
Чтобы полностью отключить смарт-теги, выполните следующие действия.
Word 2003
Нажмите Инструменты .
Выберите Параметры автозамены .
Перейдите на вкладку Смарт-теги .
Снимите флажок Пометить текст смарт-тегами .
Снимите флажок Показать кнопки действий со смарт-тегами .
Нажмите ОК .
Word 2007
Перейдите на вкладку Проверка .
В диалоговом окне «Автозамена» перейдите на вкладку смарт-теги .
Снимите флажок Пометить текст смарт-тегами .
Снимите флажок Показать кнопки действий со смарт-тегами .
Нажмите OK .
Смарт-теги устарели в более поздних версиях Word
Смарт-теги не были включены в Word 2010 и более поздние версии программного обеспечения. Данные в более поздних версиях больше не распознаются автоматически и не выделяются фиолетовым пунктирным подчеркиванием.
Однако действия по распознаванию и смарт-тегам все еще могут быть активированы. Выберите данные в документе, такие как адрес или номер телефона, и щелкните по нему правой кнопкой мыши. В контекстном меню наведите курсор мыши на Дополнительные действия . Вторичное меню выдвинется, предлагая больше действий.
Читайте также: