Me gustaría saber qué texto viene después de la instancia que retorna concordace. Entonces, por ejemplo, si nos fijamos en un ejemplo dan en 'Searching Text' section, obtienen la concordancia de la palabra 'monstruosa'. ¿Cómo obtendrías palabras que vienen justo después de una instancia monstruosa?Llamando a la concordancia de NLTK - ¿cómo obtener texto antes/después de una palabra que se usó?
10
A
Respuesta
18
import nltk
import nltk.book as book
text1 = book.text1
c = nltk.ConcordanceIndex(text1.tokens, key = lambda s: s.lower())
print([text1.tokens[offset+1] for offset in c.offsets('monstrous')])
produce
['size', 'bulk', 'clubs', 'cannibal', 'and', 'fable', 'Pictures', 'pictures', 'stories', 'cabinet', 'size']
yo encontramos este por buscar cómo se define el método concordance
.
Esto demuestra text1.concordance
se define en /usr/lib/python2.7/dist-packages/nltk/text.py
:
In [107]: text1.concordance?
Type: instancemethod
Base Class: <type 'instancemethod'>
String Form: <bound method Text.concordance of <Text: Moby Dick by Herman Melville 1851>>
Namespace: Interactive
File: /usr/lib/python2.7/dist-packages/nltk/text.py
En ese archivo usted encontrará
def concordance(self, word, width=79, lines=25):
...
self._concordance_index = ConcordanceIndex(self.tokens,
key=lambda s:s.lower())
...
self._concordance_index.print_concordance(word, width, lines)
Esto muestra cómo crear una instancia de ConcordanceIndex
objetos.
Y en el mismo archivo también encontrará:
class ConcordanceIndex(object):
def __init__(self, tokens, key=lambda x:x):
...
def print_concordance(self, word, width=75, lines=25):
...
offsets = self.offsets(word)
...
right = ' '.join(self._tokens[i+1:i+context])
Con un poco de experimentación en el intérprete IPython, esto muestra self.offsets('monstrous')
da una lista de números (offsets) donde la palabra monstrous
se puede encontrar. Puede acceder a las palabras reales con self._tokens[offset]
, que es lo mismo que text1.tokens[offset]
.
Así que la siguiente palabra después de monstrous
viene dada por text1.tokens[offset+1]
.
Cuestiones relacionadas
- 1. En NLTK, ¿cómo obtengo la concordancia de un texto?
- 2. ¿Cómo creo mi propio texto NLTK a partir de un archivo de texto?
- 3. NLTK - ¿Cuándo se debe normalizar el texto?
- 4. ¿Qué palabra lectora debo usar en nltk?
- 5. ¿Cómo puedo obtener la palabra que dice que está dentro de una div contenida?
- 6. Concordancia exacta de la palabra de búsqueda posiblemente usando la distancia de Levenshtein
- 7. Obtener texto que se muestran de TextBlock
- 8. log4j: ¿qué archivo de configuración se usó?
- 9. ¿Cómo puedo permitir que el texto se ajuste dentro de una palabra si es necesario?
- 10. Cómo obtener la palabra tocada en una UILabel/UITextView
- 11. Obtener palabra de mucho toque en una palabra de UITextView
- 12. ¿Cómo obtener la palabra debajo del cursor?
- 13. ¿Cómo se puede agregar una nueva palabra clave a clang, una palabra clave que se trataría como principal?
- 14. Archivo de texto C# buscar palabra específica y eliminar toda la línea de texto que contiene esa palabra
- 15. JavaScript - Obtener llamando objeto
- 16. palabras clave de concordancia regex que no están entre comillas
- 17. ¿Cómo capturo las funciones de Javascript que se están llamando?
- 18. Cómo hacer que la palabra se ajuste con respecto a la sangría en Visual Studio?
- 19. Texto a voz: resaltando palabra por palabra para iphone
- 20. Cómo bloquear la primera palabra de un área de texto?
- 21. Llamando al método estático de la clase B (que se extiende a la clase A) de la clase A
- 22. error de jsLint: "somefunction() se usó antes de definirse"
- 23. llamando al método base usando la nueva palabra clave
- 24. Métodos de instancia llamando a métodos de clase llamando a los métodos de instancia
- 25. Cómo insertar una palabra/texto al comienzo de cada línea
- 26. ¿Qué idioma se usó para programar la aplicación 'Angry Birds'?
- 27. encontrar la palabra raíz de una palabra
- 28. llamando a la función c desde C#
- 29. cómo obtener texto de autocompletar textview android
- 30. Obtener la última palabra de un NSString