我想找到一個帶API的詞典,它允許我查找與通配符和特定詞類(名詞/動詞/形容詞...)匹配的詞,例如,給我一個以「ize」結尾的動詞列表。允許通配符查找的英文詞典API
我一直在看Wordnet,但看起來像它不支持通配符查找。
謝謝。
我想找到一個帶API的詞典,它允許我查找與通配符和特定詞類(名詞/動詞/形容詞...)匹配的詞,例如,給我一個以「ize」結尾的動詞列表。允許通配符查找的英文詞典API
我一直在看Wordnet,但看起來像它不支持通配符查找。
謝謝。
您可以分兩步實現:
在我的例子,我用文字非常小的列表: ( 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
希望這有助於。
感謝您的詳細解釋和示例代碼。不過,我決定採用SQL路由,因爲它在性能方面更加靈活和高效。 – Sandeep
當然。無論你最適合什麼。 –
您可以使用單詞LIKE搜索的Wordnet的SQL版本。 – HappyTimeGopher
謝謝,我想你是在談論這個http://wnsql.sourceforge.net/,經過一番研究,我發現它也需要這個http://wnsqlbuilder.sourceforge.net/。我將開始研究它,但如果可以的話,我仍然會更喜歡更直接的解決方案(即另一個直接支持SQL或查找類型的字典/ API)。 – Sandeep