私は、concordaceが返すインスタンスの後にどのテキストが来るかを知りたいと思います。例えば、あなたが'Searching Text' sectionで示した例を見ると、彼らは単語 '怪物'の一致を得ます。あなたは怪物のインスタンスの直後に来る言葉をどうやって得るのですか?NLTKの一致を呼び出す - 使用された単語の前/後にテキストを取得する方法?
10
A
答えて
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')])
利回り
['size', 'bulk', 'clubs', 'cannibal', 'and', 'fable', 'Pictures', 'pictures', 'stories', 'cabinet', 'size']
私はconcordance
メソッドが定義されている方法を検索することでこれを見つけました。
これはtext1.concordance
を示しては/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
あなたはこれがConcordanceIndex
オブジェクトをインスタンス化する方法を示し
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)
見つけることができます。
、同じファイルであなたも見つける:IPythonインタプリタでいくつかの実験では
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])
が、これはself.offsets('monstrous')
は言葉monstrous
を見つけることができる番号(オフセット)のリストを与える示しています。実際の単語にはself._tokens[offset]
でアクセスできます。これはtext1.tokens[offset]
と同じです。
monstrous
の次の単語は、text1.tokens[offset+1]
です。
関連する問題
- 1. NLTKのチャンクパーサーと一致する単語
- 2. 一致する単語の前または後に1単語を取得しますか?
- 3. 一度呼び出された後にAndroidタブビューから呼び出されたwebviewをリフレッシュする方法
- 4. Whmcsで呼び出されるフックの名前を取得する方法は?
- 5. 呼び出すバットスクリプトの名前を取得する方法
- 6. pythonでファイル内の単語に正確に一致する単語を取得する方法
- 7. 単一のmysql値を取得し、それをajax呼び出しに出力する方法は?
- 8. LuceneのSpanNearQueryから一致する単語を取得する
- 9. NLTKでは、テキストの一致をどのように取得できますか?
- 10. 一致する単語の後にregexを使用して文字列を取得しますか?
- 11. Lucene - simpleAnalyzer - 一致する単語を取得するには?
- 12. groupByを呼び出した後に通常のDataFrameを取得する方法
- 13. HTMLInputElement:テキストが変更された後に角度イベントハンドラを呼び出す方法
- 14. C++単一リンクリストで一致するノードに前ノードを取得
- 15. 一致する単語を取得する方法(ラインではない)
- 16. glDrawElementsを呼び出した後、FrameBufferからglReadPixelsを使ってレンダリングされたイメージを取得する方法
- 17. RegExは前後に特定の単語のない単語のみを一致させます
- 18. テキストファイル内の特定の単語の前後の単語を取得する
- 19. Javaで特定の単語の後に単語を取り出す方法は?
- 20. 一致するパターンの前後に単語を追加/削除する
- 21. ラップ配列内の単語と一致したテキスト中の単語、および一意のクラス名を追加
- 22. リスト内の単語を正確に一致させる方法
- 23. LUISで定義された単語リストにエンティティを一致させる方法
- 24. onfocus()メソッドを呼び出さずにjavascript&tagName(no jQuery)を使用して入力テキストを取得する方法
- 25. nltkツリーから単語の深さを取得
- 26. 変数から一致する単語数を取得する
- 27. テキスト内の単語の一致
- 28. 指定された単語の後にデータを取得
- 29. OpenWhiskで呼び出されたアクションのアクティベーションIDを取得する方法は?
- 30. 呼び出されたAWSラムダタスクのパフォーマンス統計を取得する方法は?