3

ワイルドカードと特定の品詞 (名詞/動詞/形容詞...) に一致する単語を検索できる API を備えた辞書を見つけたいと思います。たとえば、で終わる動詞のリストを教えてください。 「イズ」。

Wordnet を見てきましたが、ワイルドカード検索をサポートしていないようです。

ありがとう。

4

1 に答える 1

2

これは、次の 2 つの手順で実現できます。

  1. 単語の大きなリスト ( Peter Norvig の word listなどの英語辞書) から、ワイルドカードに一致する単語のみをサブセット化できます。
  2. 一致する単語については、品詞をテストして、ターゲット (動詞、名詞など) と一致するかどうかを確認します。

私の例では、非常に小さな単語リストを使用しています: (Python)

import nltk
import re

#replace with English dictionary
#Using a small list of words for illustration
lst = ['swim', 'while', 'greet', 'prize', 'jeopardize', 'quartz', 'zebra']

def subset_words_by_wildcard(wordlist, pattern):
    matchingwords = []
    for w in wordlist:
        if re.search(pattern, w):
            matchingwords.append(w)
    return matchingwords

def subset_words_by_pos(words, pos):
    wpos = nltk.pos_tag(words)
    for w,p in wpos:
        if p == pos:
            print w,p


if __name__ == '__main__':

    pattern = r'ize$'
    #target_pos = "NN" 
    target_pos = "VBP"

    mlist = subset_words_by_wildcard(lst, pattern)
    subset_words_by_pos(mlist, target_pos)

これを実行すると、次が生成されます。

>>> jeopardize VBP

お役に立てれば。

于 2013-01-06T03:28:38.507 に答える