私は NLP と NLTK を初めて使用します。あいまいな単語、つまり少なくともn
異なるタグを持つ単語を見つけたいと考えています。私はこの方法を持っていますが、出力は混乱を招くだけではありません。
コード:
def MostAmbiguousWords(words, n):
# wordsUniqeTags holds a list of uniqe tags that have been observed for a given word
wordsUniqeTags = {}
for (w,t) in words:
if wordsUniqeTags.has_key(w):
wordsUniqeTags[w] = wordsUniqeTags[w] | set(t)
else:
wordsUniqeTags[w] = set([t])
# Starting to count
res = []
for w in wordsUniqeTags:
if len(wordsUniqeTags[w]) >= n:
res.append((w, wordsUniqeTags[w]))
return res
MostAmbiguousWords(brown.tagged_words(), 13)
出力:
[("what's", set(['C', 'B', 'E', 'D', 'H', 'WDT+BEZ', '-', 'N', 'T', 'W', 'V', 'Z', '+'])),
("who's", set(['C', 'B', 'E', 'WPS+BEZ', 'H', '+', '-', 'N', 'P', 'S', 'W', 'V', 'Z'])),
("that's", set(['C', 'B', 'E', 'D', 'H', '+', '-', 'N', 'DT+BEZ', 'P', 'S', 'T', 'W', 'V', 'Z'])),
('that', set(['C', 'D', 'I', 'H', '-', 'L', 'O', 'N', 'Q', 'P', 'S', 'T', 'W', 'CS']))]
今、私は何がわからないB
、、、C
などQ
。表すことができます。だから、私の質問:
- これは何?
- 彼らはどういう意味ですか?(タグの場合)
- と「疑問詞」を示すタグがないので
who
、タグではないと思います。whats
WH
可能なすべてのタグとその意味のマッピングを含むリンクを誰かが投稿できれば幸いです。