2015-05-26 10 views
5

Sto cercando di trovare parti corrette del parlato per ogni parola del paragrafo. Sto usando Stanford POS Tagger. Tuttavia, sono bloccato in un punto.Identificare le preposizioni e i singoli POS

Desidero identificare le preposizioni dal paragrafo.

Penn Treebank Tagset dice che:

IN Preposition or subordinating conjunction 

come, posso essere sicuro se parola corrente è essere preposizione o subordinare congiunzione. Come posso estrarre solo le preposizioni dal paragrafo in questo caso?

risposta

2

Ho avuto qualche svolta per capire se la parola è in realtà preposizione o congiunzione subordinata.

ho analizzato frase seguente:

Ha lasciato presto perché Mike è arrivato con la sua nuova fidanzata.

(qui perché è subordinare congiunzione)

Dopo POS codifica

She_PRP left_VBD early_RB because_IN Mike_NNP arrived_VBD with_IN his_PRP $ new_JJ girlfriend_NN ._.

qui, per assicurarsi che perché è una preposizione o no ho analizzato la frase.

Parse Tree for Sentence 1

qui perché ha controllante diretta dopo IN come SBAR (proposizione subordinata) come root.

con viene anche sotto IN, ma la sua controllante diretta sarà PP quindi è una preposizione.

Esempio 2:

tenere la mano sulla ferita fino a quando l'infermiera si chiede di toglierlo. (qui fino a quando sta coordinando insieme)

POS tag è:

Keep_VB your_PRP $ hand_NN on_IN the_DT wound_NN until_IN the_DT nurse_NN asks_VBZ you_PRP to_TO take_VB it_PRP off_RP ._.

Quindi, fino a quando non sono contrassegnati come IN.

Tuttavia, l'immagine diventa più chiara quando analizziamo la frase.

Quindi alla fine concludo perché è subordinato alla congiunzione e alla preposizione.

provato per molte varianti di frasi .. ha lavorato per quasi tutti, tranne alcuni casi, per la prima e dopo. Example 2

+0

Questa è certamente una soluzione computazionalmente costosa, ma elaborata. – lenz

+0

Possiamo usare Tregex o Tsurgeon per ridurre ulteriormente il tempo di calcolo. – swapyonubuntu

+0

Intendo parsing stesso (non cercando l'albero) è costoso in primo luogo. Non c'è niente di sbagliato in generale, dipende molto dallo scenario. Se è necessario elaborare continuamente enormi quantità di testo, il tagging PoS dovrebbe essere ancora possibile, ma l'analisi potrebbe non esserlo. – lenz

2

Non si può essere sicuri. La ragione di questo PoS un po 'strano è che è davvero difficile determinare automaticamente se, ad esempio, per è una preposizione o una congiunzione subordinata. Quindi, affinché i tagger automatici abbiano una precisione migliore, questa distinzione viene semplicemente ignorata. Si noti che esiste anche un tag TO, che viene dato a qualsiasi occorrenza di a, indipendentemente dalla sua funzione come preposizione, particella infinita o qualsiasi altra cosa (penso che ce ne siano altri).

Se è necessario identificare correttamente le preposizioni, è necessario riqualificare un tagger con un set di tag modificato o magari formare un classificatore che prende il testo con tag PoS e fa solo questa disambiguazione finale.

Problemi correlati