Топ питань
Часова шкала
Чат
Перспективи

Розрізнення меж речення

З Вікіпедії, вільної енциклопедії

Remove ads

Розрізнення меж речення, також відоме, як розбиття речення, виявлення меж речення і сегментація речення   задача в галузі обробки природної мови, яка визначає місце початку й закінчення речення. Інструменти обробки тексту часто вимагають, щоб вхідні дані були розділені на самостійні фрагменти; однак ідентифікація їхніх меж може бути складною через потенційну неоднозначність розділових знаків. На письмі крапка може позначати як кінець твердження, так і абревіатуру, десятковий роздільник, трикрапку чи адресу електронної пошти. Близько 47 % крапок у корпусі The Wall Street Journal позначають акроніми.[1] Знаки питання та оклику так само можуть бути невизначеними через використання в смайликах, комп'ютерному коді й сленгу.

Деякі мови, зокрема японська та китайська, мають чіткі маркери кінців речень.

Remove ads

Стратегії

Стандартний 'vanilla'-підхід для знаходження кінця речення:[прояснити]

(a) Якщо це крапка, вона закінчує твердження.
(b) Якщо попередній токен зі складеного вручну списку скорочень, то це не завершує речення.
(c) Якщо наступний токен починається з великої літери   це кінець тези.

Ця стратегія правильно знаходить близько 95 % речень.[2] Такі речі, як скорочені імена, напр. «Д. Г. Лоуренс»пробілами між окремими словами, які утворюють повне ім'я), ідіосинкратичний орфоепічний правопис, що використовується для стилістичних цілей (часто стосується однієї концепції, наприклад, заголовок розважального твору «.hack//SIGN[en]») і використання нестандартної пунктуації у тексті часто підпадають під решту 5 %.

Інший підхід полягає в тому, щоб автоматично вивчати правила з набору документів, де кінці речень попередньо розмічені. Такі рішення базуються на моделі максимальної ентропії[en].[3] Наприклад, архітектура SATZ використовує нейронну мережу для усунення неоднозначності меж речень і досягає 98,5 % точності.

Remove ads

Програмне забезпечення

Приклади застосування Perl-сумісних регулярних виразів («PCRE»)
  • ((?<=[a-z0-9][.?!])|(?<=[a-z0-9][.?!]\"))(\s|\r\n)(?=\"?[A-Z])
  • $sentences = preg_split("/(?<!\..)([\?\!\.]+)\s(?!.\.)/", $text, -1, PREG_SPLIT_DELIM_CAPTURE); (для PHP)
Онлайн-сервіси, бібліотеки та API
Набори інструментів, які включають виявлення речень
Remove ads

Див. також

Примітки

Посилання

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads