Python Pattern Packageのシンセットによる交換
質問
私の目標は、ランダムなテキスト、文を抽出し、句読みの削除、そしてその後、Bare文(それらのうちの1つ)に、NNまたはVBタグ付き単語をそれらの正規系on)に置き換えることができるシステムを作成することです。、ホリニムまたはシンオニム、およびWordnetシネジットからの同様の言葉。先に多くの仕事がありますが、私は最初は問題があります。
このため、パターンとTextBlobパッケージを使用します。これは私がこれまでにやったことです...
from pattern.web import URL, plaintext
from pattern.text import tokenize
from pattern.text.en import wordnet
from textblob import TextBlob
import string
s = URL('http://www.fangraphs.com/blogs/the-fringe-five-baseballs-most-compelling-fringe-prospects-35/#more-157570').download()
s = plaintext(s, keep=[])
secam = (tokenize(s, punctuation=""))
simica = secam[15].strip(string.punctuation)
simica = simica.replace(",", "")
simica = TextBlob(simica)
simicaTg = simica.words
synsimica = wordnet.synsets(simicaTg[3])[0]
djidja = synsimica.hyponyms()
.
今すぐすべてが欲しい道で動作しますが、このdjidja
変数からの次のような以下のものは、Synset
オブジェクトであるため、不可能であることがわかります。
ハイズコンリストで報告されている非常に単語を抽出する方法(print(djidja[2])
には、これからSynset(u'bowler')
のみを抽出する方法)?
解決
シネセットが同義語としてマークされた単語のリストだけであることを思い出してください。日没を考えると、それを形成する単語を抽出することができます:
from pattern.text.en import wordnet
s = wordnet.synsets('dog')[0] # a word can belong to many synsets, let's just use one for the sake of argument
print(s.synonyms)
.
この出力:
Out[14]: [u'dog', u'domestic dog', u'Canis familiaris']
.
ハイパーニムとハイフニムを抽出することもできます。
print(s.hypernyms())
Out[16]: [Synset(u'canine'), Synset(u'domestic animal')]
print(s.hypernyms()[0].synonyms)
Out[17]: [u'canine', u'canid']
. 所属していません StackOverflow