HP中の%の入っている文を取り出したかったから作ったやーつ

なにで使ったかはひ・み・つ!!

#!/usr/bin/python
# -*- encoding: utf-8 -*-

import re
import urllib2
pattern1 = re.compile(r"\d+\.\d+\s%|\b\d+\s%|\b\d+%|\b\d+\s*\.\d+\s%|\b\d+\s*\.\d+%")#数字と%のやつ

url ="HPのURL"

fp = urllib2.urlopen(url)
inline = fp.readlines()
len_inline = len(inline)
for i in range(0,len_inline):
    a = pattern1.findall(inline[i])
    if a:#文字列型の場合は空文字列("")は偽(false)、""以外は真(true)
        print inline[i]   

 

csvのファイルの数字の部分だけ消して、フォルダ内のテキストを結合

csvファイルを一つのテキストファイルにまとめたかったので。

f:id:alakialaca:20160805193242p:plain

↑エクセルで開いたとき。

f:id:alakialaca:20160805193246p:plain

↑メモ帳で開いたとき。

 

この数字の部分消したいと思ったので。

 正規表現でたくさん数字ある部分を消して結合した。

続きを読む

ball playing という言葉から baseballという言葉にをつなげられなかった。

Word2VecをPythonでやってみる – 学生コーダーの備忘録

コードは上記サイト様のを丸パクリです。

 

僕としてはball playing からbase balと連想できるのかと、そんな軽い気持ちです。。。

 

まずは公式様のテストデータで学習して、ball playingで近いものを30個上げて見ましょう。

f:id:alakialaca:20160722000740p:plain

続きを読む

フォルダ内のテキストファイルの中身を全て合わせる君

言葉の通り、フォルダ内のテキストファイルを全て、一つのテキストファイルに突っ込むというだけです。

 

# -*- coding: utf-8 -*-
import glob

f = open("ketsu.txt","w") #これに全てを突っ込みたい。
files = glob.glob('/home/araki/デスクトップ/corpus/training/*of-00100')  #tof-00100で終わる1billlionファイルすべてを取得

for file_count in files:
    print file_count
    for i in open(file_count,"r"):
        f.write(i)
続きを読む

wordnetのやつをコマンドラインからいろいろ出来るように〜

 

所要で簡単に類似度とか見たかったので、

-sでsynsetの表示、-dで定義表示、-eで上位語表示、-oで下位語表示、-tで深度、-lで類似度を表示できるようにしただけです。

参考にしたサイト様

Python Programming Tutorials

自然言語処理 :: 自然言語処理ツールNLTK、WordNetを利用して単語間類似度を算出するには

WordNet Interface

#!/usr/bin/python3
# coding: utf-8
#import jp_wordnet as JPWN
from nltk.corpus.reader.wordnet import WordNetCorpusReader
import nltk
from nltk.corpus import wordnet as wn
import os
import sys
from optparse import OptionParser
parser = OptionParser()

#https://pythonprogramming.net/wordnet-nltk-tutorial/
#http://www.welearn.jp/nlp/wordnet_similarity_among_words.html
#↓wup_simiの説明
#http://www.anlp.jp/proceedings/annual_meeting/2012/pdf_dir/P1-8.pdfprint(wn.synsets("newspaper"))
#wordnetの関数 http://www.nltk.org/howto/wordnet.html

parser.add_option(
    "-s", "--syn",
     action="store_true", # Trueを保存
                          # store_falseならFalseを保存
     default=False,
     help="synsetの表示"
)

parser.add_option(
    "-d", "--definition",
     action="store_true", # Trueを保存
                          # store_falseならFalseを保存
     default=False,
     help="定義の表示"
)

parser.add_option(
    "-e", "--hypernym",
     action="store_true", # Trueを保存
                          # store_falseならFalseを保存
     default=False,
     help="上位語"
)

parser.add_option(
    "-o", "--hyponym",
     action="store_true", # Trueを保存
                          # store_falseならFalseを保存
     default=False,
     help="下位語"
)

parser.add_option(
    "-t", "--depth",
     action="store_true", # Trueを保存
                          # store_falseならFalseを保存
     default=False,
     help="深度"
)

parser.add_option(
    "-l", "--similarity",
     action="store_true", # Trueを保存
                          # store_falseならFalseを保存
     default=False,
     help="類似度"
)

(options, args) = parser.parse_args()

if options.syn == True:
    input_char = input("文字列をください。")
    for syn in wn.synsets(input_char):
        print(syn)

if options.definition == True:
    input_char = input("文字列をください。")
    for syn in wn.synsets(input_char):
        print(syn.definition())
if options.hypernym == True:
    input_char = input("文字列をください。")
    for syn in wn.synsets(input_char):
        print(syn.hypernyms())
if options.hyponym == True:
    input_char = input("文字列をください。")
    for syn in wn.synsets(input_char):
        #下位語
        print(syn.hyponyms())
if options.depth == True:
    input_char = input("文字列をください。")
    for syn in wn.synsets(input_char):
        #深度
        print(syn.min_depth())

if options.similarity == True:
    input_char = input("文字列をください。")
    input_char2 = input("もうひとつ文字列をください。")
    for syn in wn.synsets(input_char):
        print("----")
        print (syn)
        for syn2 in wn.synsets(input_char2):
            print("--------")
            print(syn2)
            print(syn.path_similarity(syn2))
#同じものだと1になる
#apple1 = wn.synset('apple.n.01')
#apple2 = wn.synset('apple.n.01')
#print(apple1.path_similarity(apple2))
#print(syn.wup_similarity(syn2))

 

 

 

smurakamiさんの日本語版wordnetのサンプルプログラムを動かした。

とりあえず今日やったことです。

ちゃんと書いておかないと何やったのかも忘れてしまうことに気づいたので・・・(ボケ老人)

wordnet使ってみるか・・・とりあえず他人のコード読んでみるか・・・ということで。ぱっと目に止まった。

GitHub - smurakami/jp_wordnet: 日本語版wordnetをpythonで使うサンプルです。

とりあえずこのサンプルを動かしてみることに。

続きを読む