Używam tokenizera z NLTK w języku Python.Jak usunąć interpunkcję?
Istnieje już cała masa odpowiedzi na usuwanie interpunkcji na forum. Jednak żaden z nich nie rozwiązuje wszystkich poniższych zagadnień razem:
- więcej niż jeden symbol w rzędzie. Na przykład zdanie: Powiedział: "to jest to." Ponieważ istnieje przecinek, po którym następuje znak cudzysłowu, tokenizer nie usunie "w zdaniu, a tokenizator poda [" On "," powiedział ",", "", "to", "to", "to". "] zamiast [" On "," powiedział "," to "," s "," to "]. Niektóre inne przykłady to "...", "-", "!?", "," "Itd.
- Usuń symbol na końcu zdania. tj. Zdanie: Hello World. Tokenizer poda ['Hello', 'World.'] Zamiast ['Hello', 'World'] Zwróć uwagę na okres na końcu słowa "World". Inne przykłady to "-", ", 'na początku, w środku lub na końcu każdej postaci.
- usunąć znaki z symbolami przed i po tj.
'*u*', '''','""'
Czy istnieje elegancki sposób rozwiązywania zarówno problemów?
Co masz trudności w realizacji tych wymagań? Jakie masz problemy z aktualną wersją kodu? – jfs
btw, jest wiele pytań, które mają odpowiedzi, które spełniają wszystkie wymagania, np. [Usuń znaki z ciągów sformatowanych w Unicode] (http://stackoverflow.com/q/11066400/4279) – jfs
W jaki sposób odpowiedzi od [Najlepszy sposób na rozbierania się interpunkcja z łańcucha w języku Python] (http://stackoverflow.com/q/265960/4279) zawiedzie Cię? – jfs