Ujednoznacznienie granic zdań - Sentence boundary disambiguation
Skazać brzegowy ujednoznacznienie ( SBD ), znany również jako łamaniu zdanie , zdanie wykrywania granicznej i zdanie segmentacji , jest problem w języku naturalnym przetwarzaniu decydowania gdzie zdania początek i koniec. Narzędzia do przetwarzania języka naturalnego często wymagają podzielenia danych wejściowych na zdania; jednak identyfikacja granic zdań może być trudna ze względu na potencjalną niejednoznaczność znaków interpunkcyjnych . W piśmie języka angielskiego , wykorzystując okres może wskazywać na końcu zdania, lub może oznaczać skrót , a dziesiętny , jest wielokropek lub adres e-mail, wśród innych możliwości. Około 47% okresów w korpusie Wall Street Journal to skróty. Znaki zapytania i wykrzykniki mogą być podobnie niejednoznaczne ze względu na użycie w emotikonach , kodzie komputerowym i slangu .
Niektóre języki, w tym japoński i chiński, mają jednoznaczne znaczniki końca zdań.
Strategie
Standardowe `` waniliowe '' podejście do lokalizacji końca zdania:
- (a) Jeśli jest to kropka, kończy zdanie.
- (b) Jeśli poprzedni token znajduje się na ręcznie opracowanej liście skrótów , nie kończy zdania.
- (c) Jeśli następny token jest pisany wielkimi literami, kończy zdanie.
Ta strategia sprawia, że około 95% zdań jest poprawnych. Takie rzeczy, jak skrócone nazwy, np. „ DH Lawrence ” (z odstępami między poszczególnymi wyrazami, które tworzą pełną nazwę), idiosynkratyczna ortograficzna pisownia używana do celów stylistycznych (często odnosząca się do pojedynczego pojęcia, np. Tytułu produktu rozrywkowego, takiego jak „ .hack / / SIGN „) oraz wykorzystanie niestandardowym interpunkcyjnych (lub nietypowych użycia z interpunkcyjnego) w tekście często podlegają pozostałe 5%.
Innym podejściem jest automatyczne nauczenie się zestawu reguł z zestawu dokumentów, w których podziały zdań są wstępnie zaznaczone. Rozwiązania zostały oparte na modelu maksymalnej entropii . SATZ architektura wykorzystuje sieć neuronową do disambiguate granice zdanie i osiąga dokładność 98,5%.
Oprogramowanie
- Przykłady użycia wyrażeń regularnych zgodnych z Perlem („ PCRE ”)
-
((?<=[a-z0-9][.?!])|(?<=[a-z0-9][.?!]\"))(\s|\r\n)(?=\"?[A-Z])
-
$sentences = preg_split("/(?<!\..)([\?\!\.]+)\s(?!.\.)/", $text, -1, PREG_SPLIT_DELIM_CAPTURE);
(dla PHP )
- Użytkowanie online, biblioteki i interfejsy API
-
- sent_detector - Java
- Lingua-EN-Sentence - perl
- Sentence.pm - perl
- SATZ - Adaptive Sentence Segmentation System - autor: David D. Palmer - C.
- Zestawy narzędzi, które obejmują wykrywanie zdań
Zobacz też
- Odstępy między zdaniami
- Dzielnik słów
- Sylabizacja
- Interpunkcja
- Segmentacja tekstu
- Segmentacja mowy
- Ekstrakcja zdań
- Pamięć tłumaczeń
- Wyrażenie wielowyrazowe