Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом разделе описываются рекомендации по использованию параметров агглютинации языков и суррогатных пар Юникода, а также использование суррогатных пар для расширения набора символов Юникода для размещения различных наборов символов. В этом разделе также описывается, как средства разбиения слов определяют фразы в тексте и обрабатывают неразрывные пробелы, а также как средства разбиения слов и стволовые модули обрабатывают числа и даты, составные слова, сложные фразы, специальные слова и символы, акронимы и аббревиатуры, а также заглавную букву.
Этот раздел организован следующим образом:
- идентификация фраз
- агглютинационные языки
- числа, время и даты
- составные слова
- составные фразы
- специальные символы и слова
- акронимы и аббревиатуры
- прописной буквы
- неразрывные пробелы
- суррогатные пары
Идентификация фраз
Фразы — это слово или группа слов, которые изменяются одним или несколькими другими. Фразы трудно определить последовательно, так как один и тот же модификатор может использоваться в нескольких фразах с одним существительным. Например, "новый дом", "Палата парламента", "новый дом парламента".
Поиск Windows использует фразы чаще всего во время запроса. Фразы в тексте запроса получают более высокий вес, чем отдельные слова. В предыдущем примере документ, содержащий "Палату парламента", занимает более высокий уровень, чем один, содержащий "Дом" и "Парламент" в различных точках в документе. Рекомендуется создавать фразу во время запроса, если фраза, скорее всего, соответствует хотя бы одному документу.
Агглютинационные языки
Агглютинивные языки формируют слова с помощью сочетания небольших морфем для выражения составных идей. Каждый из этих морфем обычно имеет одно значение или функцию и сохраняет свою исходную форму и значение во время сочетания. Для языков, имеющих агглютинативную морфологию, например турецкий, финский, венгерский или корейский, можно создавать тысячи форм для данного корневого слова.
В следующей таблице показан список перегибаемых форм для финского слова "talo" ("дом").
| Слово | Перевод |
|---|---|
| Тало | Дом |
| Taloni | Мой дом |
| Талосса | В доме |
| Талоссани | В моем доме |
| Талоя | Дома |
| Талоисса | В домах |
Перегибаемые языки, такие как английский, французский и латинский, имеют очень небольшое количество возможных форм слов для одного корневого слова. В переопределенных языках морфемы влияют друг на друга при привязке. Большинство изменений в перегибе присутствуют в конце стебля или слова. В отличие от агглютинационных языков, инфильтрированные языки, как правило, имеют разные функции для одного морфема. Например, морфем может определить как число, так и регистр.
Стеммеры для агглютинационных языков должны взвешивать компромисс между производительностью и точностью, чтобы создать только подмножество количества возможных форм слов.
Числа, время и даты
Средства разбиения слов должны использовать общий формат для представления чисел, времени и дат для упрощения согласованного запроса.
При создании средства разбиения слов рекомендуется нормализовать числа разбиения слов к каноническому представлению с помощью шаблона "NNddDcc", где NN является литеральной последовательностью "NN", dd является целочисленной частью числа, D является литеральным "D", а cc является дробной частью числа. Средства разбиения слов не ограничивают число цифр для целого числа или дробной части числа. Рекомендуется распознать числовые шаблоны, разделенные как точками (.), так и запятыми (,). Например, поиск Windows представляет как "1000.2", так и "1.000,2" как "NN1000D2".
Выберите один формат для средства разбиения слов и стеммера. Однобайтовые арабские цифры нормализуются таким образом, что запрос, содержащий любую из этих форм, соответствует документам с другими формами.
При создании средства разбиения слов рекомендуется, чтобы средство разбиения слов отображалось все время в виде 24-часового представления с помощью шаблона "TThhmmss", где TT является литеральным префиксом "TT", hh часами, мм это минуты, и ss секунды. Поиск Windows не соответствует дополнительным единицам времени, например миллисекундам. Анализ шаблонов A.M. и P.M. необязателен.
При создании средства разбиения слов рекомендуется создавать даты в каноническом формате "DDггггмдд", где DD является литеральным "DD", гггг годами, мм месяцы, и dd это дни. Мы также рекомендуем хранить двухзначные годы в форматах двадцатого и двадцать первого века. Например, средства разбиения слов представляют "2.2.99" как "DD19990202" и "DD20990202". Во время запроса поиск Windows наследует дату с помощью интерфейсов программирования приложений Windows (API) для определения даты перекрестной передачи сервера для отображения правильного формата, 19XX или 20XX.
Составные слова
На некоторых языках, таких как немецкий, существительные составляются из простых существительных. Эти составные существительные слишком конкретные в значении для разумного отзыва запросов. Например, без декомпозиции запрос на "Versicherung" ("страхование") не соответствует "Lebensverscherungsgeschaft" ("менеджер по страхованию жизни"). В таких случаях рекомендуется разбить эти составные слова на базовые компоненты во время создания индекса и времени запроса. Немецкий разбиение слов разбивает "Lebensverscherungsgeschaft" на компоненты слова "Leben", "Versicherung", и "Gesellschaft". Он применяет то же декомпозицию во время запроса, а также необязательный стебли для каждого результирующих терминов.
Составные фразы
Некоторые языки, такие как корейский, содержат сложные фразы, которые могут быть нарушены различными способами. Корейский фраза состоит из слов содержимого, таких как существительные, существительные, глаголы и прилагательные слова, а затем функциональные слова. Функциональные слова находятся в пост-позициях и концах. Пост-позиции указывают функциональную роль существительного или существительного в предложении; окончания указывают функциональную роль глагола или прилагательного.
Одна фраза может иметь несколько анализов, и каждый анализ может состоять из нескольких слов содержимого. Средство разбиения слов должно использовать эвристики, относящиеся к языку, чтобы определить, от контекста, сколько веса дать различным анализам. Средство разбиения слов может определить, какое декомпозиция следует использовать на основе количества результирующих слов компонента. Некоторые разбиения слов могут использовать короткие последовательности более длинных терминов, в то время как другие средства разбиения слов могут использовать длинные последовательности небольших слов.
Еще одним соображением является то, что в корейском, существительные и существительные могут храниться в индексе без соответствующих функциональных слов. Корейский является агглютинационным языком и объединяет множество слов, заканчивающихся глаголами и прилагательными для формирования бесчисленных перегибаемых форм. Команды и прилагательные, определенные в фразах, сохраняются с их концами в индексе, но средство разбиения слов не создает новые формы.
Специальные символы и слова
Специальные символы — это такие символы, как ", "©" и "™". Эти символы редко используются в запросах. Средства разбиения слов должны удалять специальные символы во время создания индекса и во время запроса.
Рекомендуется, чтобы средства разбиения слов распознали специальные слова, такие как "C++", "C#", ".NET", а также музыкальные нотации. Средства разбиения слов могут использовать эвристики языка, чтобы определить шаблон для специальных слов. Средства разбиения по словам также могут использовать пользовательский словарь, содержащий распознанные специальные слова.
Акронимы и аббревиатуры
При реализации средства разбиения слов необходимо учитывать акронимы и аббревиатуры. На многих языках отдельные буквы акронимов разделяются периодами. Иногда слова, которые не распознаются акронимами или аббревиатурами, сокращены. Например, "Соединенные Штаты Америки" могут быть сокращены как "США" или "США". Средства разбиения по словам, включенные в поиск Windows, обычно определяют однобуквенный текст как шумовые слова и обрабатывают эти слова как заполнители во время запроса. Во время запроса средство разбиения слов, которое не знает о распространенных акронимах или не распознает аббревиатуры, преобразует аббревиатуру "США" в "U", "S" и "A". Эта декомпозиция не предоставляет достаточно информации для сопоставления слов в полнотекстовом индексе, так как все термины запроса являются шумными словами. При создании средства разбиения слов рекомендуется удалить периоды, разделяющие буквы акронимов. В примере "США" хранится как "США" и термин запроса, содержащий фактически запросы "США" для "США". Если средство разбиения слов обрабатывает аббревиацию, период в этой аббревиаций не рассматривается как разрыв EOS. Из-за этого средство разбиения слов может неправильно определить разрыв EOS, если сокращение находится в конце предложения.
Капитализация
Поиск Windows в настоящее время не сохраняет заглавную букву при сохранении слов в полнотекстовый индекс. Средства разбиения по словам и стволовые модули не должны изменять вариант для слов.
Неразрывные пробелы
При создании средства разбиения слов рекомендуется убедиться, что средство разбиения слов обрабатывает неразрывные пробелы как разделители слов. Рекомендуется также создать альтернативные формы слова с неразрывными пробелами и без неразрывных пробелов. Некоторые символы, такие как подчеркивания, являются специальными символами, которые рассматриваются как неразрывные символы из-за источников текста, в котором они найдены. Например, исходный код или имена файлов могут включать символы подчеркивания как неразрывные символы.
Суррогатные пары
Суррогатные пары — это символьные представления в исходном коде, представляющие один символ, состоящий из последовательности двух значений Юникода. В закодированной паре первое значение является высоким суррогатным, а второй — низкой суррогатной. Высокий суррогат — это символ в диапазоне U+D800 по U+DBFF. Низкий суррогат — это символ в диапазоне U+DC00 до U+DFFF. Суррогатные пары расширяют набор символов за пределами символа Юникода. Рекомендуется использовать следующие правила при обработке суррогатных пар:
- Высокий суррогат должен предшествовать низкому суррогату.
- Низкий суррогат должен следовать высокому суррогату.
- Высокий или низкий суррогат без соответствующего значения для другой половины не имеет смысла.
Средства разбиения по словам должны учитывать все пары и создавать пары как таковые в индексе. Дополнительные сведения см. в суррогатах и дополнительных символах.