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
Zestawy narzędzi, które obejmują wykrywanie zdań

Zobacz też

Bibliografia

Linki zewnętrzne