<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Information Retrieval Blog &#187; Uncategorized</title>
	<atom:link href="http://blog.zye.me/category/uncategorized/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.zye.me</link>
	<description>REAL TIME DATA PROCESSING, DISTRIBUTED COMPUTING, PATTERN DISCOVERY</description>
	<lastBuildDate>Tue, 31 Jan 2012 02:05:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Linux commands</title>
		<link>http://blog.zye.me/2011/12/55818.html</link>
		<comments>http://blog.zye.me/2011/12/55818.html#comments</comments>
		<pubDate>Wed, 07 Dec 2011 05:30:39 +0000</pubDate>
		<dc:creator>yezheng</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.zye.me/?p=55818</guid>
		<description><![CDATA[Command Description • apropos whatis Show commands pertinent to string. See also threadsafe • man -t man &#124; ps2pdf &#8211; &#62; man.pdf make a pdf of a manual page which command Show full path name of command time command See how long a command takes • time cat Start stopwatch. Ctrl-d to stop. See also sw dir <a href='http://blog.zye.me/2011/12/55818.html'>[...]</a>]]></description>
			<content:encoded><![CDATA[<table>
<tbody>
<tr id="misc">
<td colspan="2"><strong>Command</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr>
<td>•</td>
<td>apropos whatis</td>
<td>Show commands pertinent to string. See also <a href="http://www.pixelbeat.org/scripts/threadsafe">threadsafe</a></td>
</tr>
<tr>
<td>•</td>
<td><a href="http://www.pixelbeat.org/lkdb/less.html">man</a> -t man | ps2pdf &#8211; &gt; man.pdf</td>
<td>make a pdf of a manual page</td>
</tr>
<tr>
<td></td>
<td>which command</td>
<td>Show full path name of command</td>
</tr>
<tr>
<td></td>
<td>time command</td>
<td>See how long a command takes</td>
</tr>
<tr>
<td>•</td>
<td>time cat</td>
<td>Start stopwatch. Ctrl-d to stop. See also <a href="http://www.pixelbeat.org/scripts/stopwatch/">sw</a></td>
</tr>
<tr id="dirs">
<td colspan="3"><strong>dir navigation</strong></td>
</tr>
<tr>
<td>•</td>
<td>cd -</td>
<td>Go to previous directory</td>
</tr>
<tr>
<td>•</td>
<td>cd</td>
<td>Go to $HOME directory</td>
</tr>
<tr>
<td></td>
<td>(cd dir &amp;&amp; command)</td>
<td>Go to dir, execute command and return to current dir</td>
</tr>
<tr>
<td>•</td>
<td>pushd <strong>.</strong></td>
<td>Put current dir on stack so you can <strong>popd</strong> back to it</td>
</tr>
<tr id="file_search">
<td colspan="3"><strong>file searching</strong></td>
</tr>
<tr>
<td>•</td>
<td><a href="http://www.pixelbeat.org/settings/.bashrc">alias</a> l=&#8217;ls -l &#8211;color=auto&#8217;</td>
<td>quick dir listing</td>
</tr>
<tr>
<td>•</td>
<td>ls -lrt</td>
<td>List files by date. See also <a href="http://www.pixelbeat.org/scripts/newest">newest</a> and <a href="http://www.pixelbeat.org/scripts/find_mm_yyyy">find_mm_yyyy</a></td>
</tr>
<tr>
<td>•</td>
<td>ls /usr/bin | pr -T9 -W$COLUMNS</td>
<td>Print in 9 columns to width of terminal</td>
</tr>
<tr>
<td></td>
<td>find -name &#8216;*.[ch]&#8216; | xargs grep -E &#8216;expr&#8217;</td>
<td>Search &#8216;expr&#8217; in this dir and below. See also <a href="http://www.pixelbeat.org/scripts/findrepo">findrepo</a></td>
</tr>
<tr>
<td></td>
<td>find -type f -print0 | xargs -r0 grep -F &#8216;example&#8217;</td>
<td>Search all regular files for &#8216;example&#8217; in this dir and below</td>
</tr>
<tr>
<td></td>
<td>find -maxdepth 1 -type f | xargs grep -F &#8216;example&#8217;</td>
<td>Search all regular files for &#8216;example&#8217; in this dir</td>
</tr>
<tr>
<td></td>
<td>find -maxdepth 1 -type d | while <a href="http://www.pixelbeat.org/programming/readline/">read</a> dir; do echo $dir; echo cmd2; done</td>
<td>Process each item with multiple commands (in while loop)</td>
</tr>
<tr>
<td>•</td>
<td>find -type f ! -perm -444</td>
<td>Find files not readable by all (useful for web site)</td>
</tr>
<tr>
<td>•</td>
<td>find -type d ! -perm -111</td>
<td>Find dirs not accessible by all (useful for web site)</td>
</tr>
<tr>
<td>•</td>
<td>locate -r &#8216;file[^/]*.txt&#8217;</td>
<td>Search cached index for names. This re is like glob *file*.txt</td>
</tr>
<tr>
<td>•</td>
<td>look reference</td>
<td>Quickly search (sorted) dictionary for prefix</td>
</tr>
<tr>
<td>•</td>
<td>grep <a href="http://www.pixelbeat.org/settings/.bashrc">&#8211;color</a> reference /usr/share/dict/words</td>
<td>Highlight occurances of regular expression in dictionary</td>
</tr>
<tr id="archives">
<td colspan="3"><strong>archives and compression</strong></td>
</tr>
<tr>
<td></td>
<td>gpg -c file</td>
<td>Encrypt file</td>
</tr>
<tr>
<td></td>
<td>gpg file.gpg</td>
<td>Decrypt file</td>
</tr>
<tr>
<td></td>
<td>tar -c dir/ | bzip2 &gt; dir.tar.bz2</td>
<td>Make compressed archive of dir/</td>
</tr>
<tr>
<td></td>
<td>bzip2 -dc dir.tar.bz2 | tar -x</td>
<td>Extract archive (use gzip instead of bzip2 for tar.gz files)</td>
</tr>
<tr>
<td></td>
<td>tar -c dir/ | gzip | gpg -c | ssh user@remote &#8216;dd of=dir.tar.gz.gpg&#8217;</td>
<td>Make encrypted archive of dir/ on remote machine</td>
</tr>
<tr>
<td></td>
<td>find dir/ -name &#8216;*.txt&#8217; | tar -c &#8211;files-from=- | bzip2 &gt; dir_txt.tar.bz2</td>
<td>Make archive of subset of dir/ and below</td>
</tr>
<tr>
<td></td>
<td>find dir/ -name &#8216;*.txt&#8217; | xargs cp -a &#8211;target-directory=dir_txt/ &#8211;parents</td>
<td>Make copy of subset of dir/ and below</td>
</tr>
<tr>
<td></td>
<td>( tar -c /dir/to/copy ) | ( cd /where/to/ &amp;&amp; tar -x -p )</td>
<td>Copy (with permissions) copy/ dir to /where/to/ dir</td>
</tr>
<tr>
<td></td>
<td>( cd /dir/to/copy &amp;&amp; tar -c <strong>.</strong> ) | ( cd /where/to/ &amp;&amp; tar -x -p )</td>
<td>Copy (with permissions) contents of copy/ dir to /where/to/</td>
</tr>
<tr>
<td></td>
<td>( tar -c /dir/to/copy ) | ssh -C user@remote &#8216;cd /where/to/ &amp;&amp; tar -x -p&#8217;</td>
<td>Copy (with permissions) copy/ dir to remote:/where/to/ dir</td>
</tr>
<tr>
<td></td>
<td>dd bs=1M if=/dev/sda | gzip | ssh user@remote &#8216;dd of=sda.gz&#8217;</td>
<td>Backup harddisk to remote machine</td>
</tr>
<tr id="rsync">
<td colspan="3"><strong>rsync</strong> (Network efficient file copier: Use the &#8211;dry-run option for testing)</td>
</tr>
<tr>
<td></td>
<td>rsync -P rsync://rsync.server.com/path/to/file file</td>
<td>Only get diffs. Do multiple times for troublesome downloads</td>
</tr>
<tr>
<td></td>
<td>rsync &#8211;bwlimit=1000 fromfile tofile</td>
<td>Locally copy with rate limit. It&#8217;s like nice for I/O</td>
</tr>
<tr>
<td></td>
<td>rsync -az -e ssh &#8211;delete ~/public_html/ remote.com:&#8217;~/public_html&#8217;</td>
<td>Mirror web site (using compression and encryption)</td>
</tr>
<tr>
<td></td>
<td>rsync -auz -e ssh remote:/dir/ <strong>.</strong> &amp;&amp; rsync -auz -e ssh <strong>.</strong> remote:/dir/</td>
<td>Synchronize current directory with remote one</td>
</tr>
<tr id="ssh">
<td colspan="3"><strong>ssh</strong> (Secure SHell)</td>
</tr>
<tr>
<td></td>
<td>ssh $USER@$HOST command</td>
<td>Run command on $HOST as $USER (default command=shell)</td>
</tr>
<tr>
<td>•</td>
<td>ssh -f -Y $USER@$HOSTNAME xeyes</td>
<td>Run GUI command on $HOSTNAME as $USER</td>
</tr>
<tr>
<td></td>
<td>scp -p -r $USER@$HOST: file dir/</td>
<td>Copy with permissions to $USER&#8217;s home directory on $HOST</td>
</tr>
<tr>
<td></td>
<td>ssh -g -L 8080:localhost:80 root@$HOST</td>
<td>Forward connections to $HOSTNAME:8080 out to $HOST:80</td>
</tr>
<tr>
<td></td>
<td>ssh -R 1434:imap:143 root@$HOST</td>
<td>Forward connections from $HOST:1434 in to imap:143</td>
</tr>
<tr>
<td></td>
<td>ssh-copy-id $USER@$HOST</td>
<td>Install $USER&#8217;s public key on $HOST for password-less log in</td>
</tr>
<tr id="wget">
<td colspan="3"><strong>wget</strong> (multi purpose download tool)</td>
</tr>
<tr>
<td>•</td>
<td>(cd dir/ &amp;&amp; wget -nd -pHEKk http://www.pixelbeat.org/cmdline.html)</td>
<td>Store local browsable version of a page to the current dir</td>
</tr>
<tr>
<td></td>
<td>wget -c http://www.example.com/large.file</td>
<td>Continue downloading a partially downloaded file</td>
</tr>
<tr>
<td></td>
<td>wget -r -nd -np -l1 -A &#8216;*.jpg&#8217; http://www.example.com/dir/</td>
<td>Download a set of files to the current directory</td>
</tr>
<tr>
<td></td>
<td>wget ftp://remote/file[1-9].iso/</td>
<td>FTP supports globbing directly</td>
</tr>
<tr>
<td>•</td>
<td>wget -q -O- http://www.pixelbeat.org/timeline.html | grep &#8216;a href&#8217; | head</td>
<td>Process output directly</td>
</tr>
<tr>
<td></td>
<td>echo &#8216;wget url&#8217; | at 01:00</td>
<td>Download url at 1AM to current dir</td>
</tr>
<tr>
<td></td>
<td>wget &#8211;limit-rate=20k url</td>
<td>Do a low priority download (limit to 20<a href="http://www.pixelbeat.org/speeds.html">KB/s</a> in this case)</td>
</tr>
<tr>
<td></td>
<td>wget -nv &#8211;spider &#8211;force-html -i bookmarks.html</td>
<td>Check links in a file</td>
</tr>
<tr>
<td></td>
<td>wget &#8211;mirror http://www.example.com/</td>
<td>Efficiently update a local copy of a site (handy from cron)</td>
</tr>
<tr id="net">
<td colspan="3"><strong>networking</strong> (Note ifconfig, route, mii-tool, nslookup commands are obsolete)</td>
</tr>
<tr>
<td></td>
<td><acronym title="usually in /sbin/">ethtool</acronym> eth0</td>
<td>Show status of ethernet interface eth0</td>
</tr>
<tr>
<td></td>
<td>ethtool &#8211;change eth0 autoneg off speed 100 duplex full</td>
<td>Manually set ethernet interface speed</td>
</tr>
<tr>
<td></td>
<td><acronym title="usually in /sbin/">iwconfig</acronym> eth1</td>
<td>Show status of wireless interface eth1</td>
</tr>
<tr>
<td></td>
<td>iwconfig eth1 rate 1Mb/s fixed</td>
<td>Manually set wireless interface speed</td>
</tr>
<tr>
<td>•</td>
<td><acronym title="usually in /sbin/">iwlist</acronym> scan</td>
<td>List wireless networks in range</td>
</tr>
<tr>
<td>•</td>
<td><acronym title="usually in /sbin/">ip</acronym> link show</td>
<td>List network interfaces</td>
</tr>
<tr>
<td></td>
<td>ip link set dev eth0 name wan</td>
<td>Rename interface eth0 to wan</td>
</tr>
<tr>
<td></td>
<td>ip link set dev eth0 up</td>
<td>Bring interface eth0 up (or down)</td>
</tr>
<tr>
<td>•</td>
<td>ip addr show</td>
<td>List addresses for interfaces</td>
</tr>
<tr>
<td></td>
<td>ip addr add 1.2.3.4/24 brd + dev eth0</td>
<td>Add (or del) ip and mask (255.255.255.0)</td>
</tr>
<tr>
<td>•</td>
<td>ip route show</td>
<td>List routing table</td>
</tr>
<tr>
<td></td>
<td>ip route add default via 1.2.3.254</td>
<td>Set default gateway to 1.2.3.254</td>
</tr>
<tr>
<td>•</td>
<td>host pixelbeat.org</td>
<td>Lookup DNS ip address for name or vice versa</td>
</tr>
<tr>
<td>•</td>
<td>hostname -i</td>
<td>Lookup local ip address (equivalent to host `hostname`)</td>
</tr>
<tr>
<td>•</td>
<td>whois pixelbeat.org</td>
<td>Lookup whois info for hostname or ip address</td>
</tr>
<tr>
<td>•</td>
<td>netstat -tupl</td>
<td>List internet services on a system</td>
</tr>
<tr>
<td>•</td>
<td>netstat -tup</td>
<td>List active connections to/from system</td>
</tr>
<tr id="windows">
<td colspan="3"><strong>windows networking</strong> (Note samba is the package that provides all this windows specific networking support)</td>
</tr>
<tr>
<td>•</td>
<td>smbtree</td>
<td>Find windows machines. See also findsmb</td>
</tr>
<tr>
<td></td>
<td>nmblookup -A 1.2.3.4</td>
<td>Find the windows (netbios) name associated with ip address</td>
</tr>
<tr>
<td></td>
<td>smbclient -L windows_box</td>
<td>List shares on windows machine or samba server</td>
</tr>
<tr>
<td></td>
<td>mount -t smbfs -o fmask=666,guest //windows_box/share /mnt/share</td>
<td>Mount a windows share</td>
</tr>
<tr>
<td></td>
<td>echo &#8216;message&#8217; | smbclient -M windows_box</td>
<td>Send popup to windows machine (off by default in XP sp2)</td>
</tr>
<tr id="text">
<td colspan="3"><strong>text manipulation</strong> (Note sed uses stdin and stdout. Newer versions support inplace editing with the -i option)</td>
</tr>
<tr>
<td></td>
<td>sed &#8216;s/string1/string2/g&#8217;</td>
<td>Replace string1 with string2</td>
</tr>
<tr>
<td></td>
<td>sed &#8216;s/(.*)1/12/g&#8217;</td>
<td>Modify anystring1 to anystring2</td>
</tr>
<tr>
<td></td>
<td>sed &#8216;/ *#/d; /^ *$/d&#8217;</td>
<td>Remove comments and blank lines</td>
</tr>
<tr>
<td></td>
<td>sed &#8216;:a; /\$/N; s/\n//; ta&#8217;</td>
<td>Concatenate lines with trailing</td>
</tr>
<tr>
<td></td>
<td>sed &#8216;s/[ t]*$//&#8217;</td>
<td>Remove trailing spaces from lines</td>
</tr>
<tr>
<td></td>
<td>sed &#8216;s/([`"$])/\1/g&#8217;</td>
<td>Escape shell metacharacters active within double quotes</td>
</tr>
<tr>
<td>•</td>
<td>seq 10 | sed &#8220;s/^/      /; s/ *(.{7,})/1/&#8221;</td>
<td>Right align numbers</td>
</tr>
<tr>
<td></td>
<td>sed -n &#8217;1000{p;<acronym title="quit ASAP">q</acronym>}&#8217;</td>
<td>Print 1000th line</td>
</tr>
<tr>
<td></td>
<td>sed -n &#8217;10,20p;<acronym title="quit ASAP">20q</acronym>&#8216;</td>
<td>Print lines 10 to 20</td>
</tr>
<tr>
<td></td>
<td>sed -n &#8216;s/.*&lt;title&gt;(.*)&lt;/title&gt;.*/1/ip;<acronym title="quit after match">T;q</acronym>&#8216;</td>
<td>Extract title from HTML web page</td>
</tr>
<tr>
<td></td>
<td>sed -i 42d ~/.ssh/known_hosts</td>
<td>Delete a particular line</td>
</tr>
<tr>
<td></td>
<td>sort -t. -k1,1n -k2,2n -k3,3n -k4,4n</td>
<td>Sort IPV4 ip addresses</td>
</tr>
<tr>
<td>•</td>
<td>echo &#8216;Test&#8217; | tr &#8216;[:lower:]&#8216; &#8216;[:upper:]&#8216;</td>
<td>Case conversion</td>
</tr>
<tr>
<td>•</td>
<td>tr -dc &#8216;[:print:]&#8216; &lt; /dev/urandom</td>
<td>Filter non printable characters</td>
</tr>
<tr>
<td>•</td>
<td>tr -s &#8216;[:blank:]&#8216; &#8216;t&#8217; &lt;/proc/diskstats | cut -f4</td>
<td>cut fields separated by blanks</td>
</tr>
<tr>
<td>•</td>
<td>history | wc -l</td>
<td>Count lines</td>
</tr>
<tr id="sets">
<td colspan="3"><strong>set operations</strong> (Note you can <a href="http://www.pixelbeat.org/docs/env.html">export LANG=C</a> for speed. Also these assume no duplicate lines within a file)</td>
</tr>
<tr>
<td></td>
<td>sort file1 file2 | uniq</td>
<td><acronym title="Items in either file1 or file2">Union</acronym> of unsorted files</td>
</tr>
<tr>
<td></td>
<td>sort file1 file2 | uniq -d</td>
<td><acronym title="Items both in file1 and file2">Intersection</acronym> of unsorted files</td>
</tr>
<tr>
<td></td>
<td>sort file1 file1 file2 | uniq -u</td>
<td><acronym title="Items in file2 not in file1">Difference</acronym> of unsorted files</td>
</tr>
<tr>
<td></td>
<td>sort file1 file2 | uniq -u</td>
<td><acronym title="Items in only one file">Symmetric Difference</acronym> of unsorted files</td>
</tr>
<tr>
<td></td>
<td>join <acronym title="process whole line (assuming no NUL characters present)">-t&#8217;�&#8217;</acronym> -a1 -a2 file1 file2</td>
<td>Union of sorted files</td>
</tr>
<tr>
<td></td>
<td>join -t&#8217;�&#8217; file1 file2</td>
<td>Intersection of sorted files</td>
</tr>
<tr>
<td></td>
<td>join -t&#8217;�&#8217; -v2 file1 file2</td>
<td>Difference of sorted files</td>
</tr>
<tr>
<td></td>
<td>join -t&#8217;�&#8217; -v1 -v2 file1 file2</td>
<td>Symmetric Difference of sorted files</td>
</tr>
<tr id="math">
<td colspan="3"><strong>math</strong></td>
</tr>
<tr>
<td>•</td>
<td>echo &#8216;(1 + sqrt(5))/2&#8242; | bc -l</td>
<td>Quick math (Calculate φ). See also <a href="http://www.pixelbeat.org/scripts/bc">bc</a></td>
</tr>
<tr>
<td>•</td>
<td>echo &#8216;pad=20; min=64; (100*10^6)/((pad+min)*8)&#8217; | bc</td>
<td>More complex (int) e.g. This shows max FastE packet rate</td>
</tr>
<tr>
<td>•</td>
<td>echo &#8216;pad=20; min=64; print (100E6)/((pad+min)*8)&#8217; | python</td>
<td>Python handles scientific notation</td>
</tr>
<tr>
<td>•</td>
<td>echo &#8216;pad=20; plot [64:1518] (100*10**6)/((pad+x)*8)&#8217; | gnuplot -persist</td>
<td>Plot FastE packet rate vs packet size</td>
</tr>
<tr>
<td>•</td>
<td>echo &#8216;obase=16; ibase=10; 64206&#8242; | bc</td>
<td>Base conversion (decimal to hexadecimal)</td>
</tr>
<tr>
<td>•</td>
<td>echo $((0x2dec))</td>
<td>Base conversion (hex to dec) ((shell arithmetic expansion))</td>
</tr>
<tr>
<td>•</td>
<td>units -t &#8217;100m/<a href="http://www.pixelbeat.org/misc/usain_bolt/">9.58s</a>&#8216; &#8216;miles/hour&#8217;</td>
<td>Unit conversion (metric to imperial)</td>
</tr>
<tr>
<td>•</td>
<td>units -t &#8217;500GB&#8217; &#8216;GiB&#8217;</td>
<td>Unit conversion (<acronym title="powers of 10">SI</acronym> to <acronym title="powers of 2">IEC</acronym> prefixes)</td>
</tr>
<tr>
<td>•</td>
<td>units -t &#8217;1 googol&#8217;</td>
<td>Definition lookup</td>
</tr>
<tr>
<td>•</td>
<td>seq 100 | (tr &#8216;n&#8217; +; echo 0) | bc</td>
<td>Add a column of numbers. See also <a href="http://www.pixelbeat.org/scripts/add">add</a> and <a href="http://www.pixelbeat.org/scripts/funcpy">funcpy</a></td>
</tr>
<tr id="dates">
<td colspan="3"><strong>calendar</strong></td>
</tr>
<tr>
<td>•</td>
<td>cal -3</td>
<td>Display a calendar</td>
</tr>
<tr>
<td>•</td>
<td>cal 9 1752</td>
<td>Display a calendar for a particular month year</td>
</tr>
<tr>
<td>•</td>
<td>date -d fri</td>
<td>What date is it this friday. See also <a href="http://www.pixelbeat.org/scripts/day">day</a></td>
</tr>
<tr>
<td>•</td>
<td>[ $(date -d "tomorrow" +%d) = "01" ] || exit</td>
<td>exit a script unless it&#8217;s the last day of the month</td>
</tr>
<tr>
<td>•</td>
<td>date &#8211;date=&#8217;25 Dec&#8217; +%A</td>
<td>What day does xmas fall on, this year</td>
</tr>
<tr>
<td>•</td>
<td>date &#8211;date=&#8217;@2147483647&#8242;</td>
<td>Convert seconds since the epoch (1970-01-01 UTC) to date</td>
</tr>
<tr>
<td>•</td>
<td>TZ=&#8217;America/Los_Angeles&#8217; date</td>
<td>What time is it on west coast of US (use tzselect to find TZ)</td>
</tr>
<tr>
<td>•</td>
<td>date &#8211;date=&#8217;TZ=&#8221;America/Los_Angeles&#8221; 09:00 next Fri&#8217;</td>
<td>What&#8217;s the local time for 9AM next Friday on west coast US</td>
</tr>
<tr id="locale">
<td colspan="3"><strong>locales</strong></td>
</tr>
<tr>
<td>•</td>
<td>printf &#8220;%&#8217;dn&#8221; 1234</td>
<td>Print number with thousands grouping appropriate to locale</td>
</tr>
<tr>
<td>•</td>
<td>BLOCK_SIZE=&#8217;1 ls -l</td>
<td>Use locale thousands grouping in ls. See also <a href="http://www.pixelbeat.org/scripts/l">l</a></td>
</tr>
<tr>
<td>•</td>
<td>echo &#8220;I live in `locale territory`&#8221;</td>
<td>Extract info from locale database</td>
</tr>
<tr>
<td>•</td>
<td>LANG=en_IE.utf8 locale int_prefix</td>
<td>Lookup locale info for specific country. See also <a href="http://www.pixelbeat.org/scripts/ccodes">ccodes</a></td>
</tr>
<tr>
<td>•</td>
<td>locale | cut -d= -f1 | xargs locale -kc | less</td>
<td>List fields available in locale database</td>
</tr>
<tr id="recode">
<td colspan="3"><strong>recode</strong> (Obsoletes iconv, dos2unix, unix2dos)</td>
</tr>
<tr>
<td>•</td>
<td>recode -l | less</td>
<td>Show available conversions (aliases on each line)</td>
</tr>
<tr>
<td></td>
<td>recode windows-1252.. file_to_change.txt</td>
<td>Windows &#8220;ansi&#8221; to local charset (auto does CRLF conversion)</td>
</tr>
<tr>
<td></td>
<td>recode utf-8/CRLF.. file_to_change.txt</td>
<td>Windows utf8 to local charset</td>
</tr>
<tr>
<td></td>
<td>recode iso-8859-15..utf8 file_to_change.txt</td>
<td>Latin9 (western europe) to utf8</td>
</tr>
<tr>
<td></td>
<td>recode ../b64 &lt; file.txt &gt; file.b64</td>
<td>Base64 encode</td>
</tr>
<tr>
<td></td>
<td>recode /qp.. &lt; file.qp &gt; file.txt</td>
<td>Quoted printable decode</td>
</tr>
<tr>
<td></td>
<td>recode ..HTML &lt; file.txt &gt; file.html</td>
<td>Text to HTML</td>
</tr>
<tr>
<td>•</td>
<td>recode -lf windows-1252 | grep euro</td>
<td>Lookup <a href="http://www.pixelbeat.org/docs/utf8.html">table of characters</a></td>
</tr>
<tr>
<td>•</td>
<td>echo -n 0&#215;80 | recode latin-9/x1..dump</td>
<td>Show what a code represents in latin-9 charmap</td>
</tr>
<tr>
<td>•</td>
<td>echo -n 0x20AC | recode ucs-2/x2..latin-9/x</td>
<td>Show latin-9 encoding</td>
</tr>
<tr>
<td>•</td>
<td>echo -n 0x20AC | recode ucs-2/x2..utf-8/x</td>
<td>Show utf-8 encoding</td>
</tr>
<tr id="CDs">
<td colspan="3"><strong><acronym title="Compact Disks">CDs</acronym></strong></td>
</tr>
<tr>
<td></td>
<td>gzip &lt; /dev/cdrom &gt; cdrom.iso.gz</td>
<td>Save copy of data cdrom</td>
</tr>
<tr>
<td></td>
<td>mkisofs -V LABEL -r dir | gzip &gt; cdrom.iso.gz</td>
<td>Create cdrom image from contents of dir</td>
</tr>
<tr>
<td></td>
<td>mount -o loop cdrom.iso /mnt/dir</td>
<td>Mount the cdrom image at /mnt/dir (read only)</td>
</tr>
<tr>
<td></td>
<td>cdrecord -v dev=/dev/cdrom blank=fast</td>
<td>Clear a CDRW</td>
</tr>
<tr>
<td></td>
<td>gzip -dc cdrom.iso.gz | cdrecord -v dev=/dev/cdrom -</td>
<td>Burn cdrom image (use dev=ATAPI -scanbus to confirm dev)</td>
</tr>
<tr>
<td></td>
<td>cdparanoia -B</td>
<td>Rip audio tracks from CD to wav files in current dir</td>
</tr>
<tr>
<td></td>
<td>cdrecord -v dev=/dev/cdrom -audio -pad *.wav</td>
<td>Make audio CD from all wavs in current dir (see also cdrdao)</td>
</tr>
<tr>
<td></td>
<td>oggenc &#8211;tracknum=&#8217;track&#8217; track.cdda.wav -o &#8216;track.ogg&#8217;</td>
<td>Make ogg file from wav file</td>
</tr>
<tr id="disk_space">
<td colspan="3"><strong>disk space</strong> (See also <a href="http://www.pixelbeat.org/fslint/">FSlint</a>)</td>
</tr>
<tr>
<td>•</td>
<td>ls -lSr</td>
<td>Show files by size, biggest last</td>
</tr>
<tr>
<td>•</td>
<td>du -s * | sort -k1,1rn | head</td>
<td>Show top disk users in current dir. See also <a href="http://www.pixelbeat.org/scripts/dutop">dutop</a></td>
</tr>
<tr>
<td>•</td>
<td>du -hs /home/* | sort -k1,1<acronym title="available since coreutils 7.5">h</acronym></td>
<td>Sort paths by easy to interpret disk usage</td>
</tr>
<tr>
<td>•</td>
<td>df -h</td>
<td>Show free space on mounted filesystems</td>
</tr>
<tr>
<td>•</td>
<td>df -i</td>
<td>Show free inodes on mounted filesystems</td>
</tr>
<tr>
<td>•</td>
<td><acronym title="usually in /sbin/">fdisk</acronym> -l</td>
<td>Show disks partitions sizes and types (run as root)</td>
</tr>
<tr>
<td>•</td>
<td><a href="http://www.pixelbeat.org/docs/packaging.html">rpm</a> -q -a &#8211;qf &#8216;%10{SIZE}t%{NAME}n&#8217; | sort -k1,1n</td>
<td>List all <a href="http://www.pixelbeat.org/docs/packaging.html">packages</a> by installed size (Bytes) on rpm distros</td>
</tr>
<tr>
<td>•</td>
<td><a href="http://www.pixelbeat.org/docs/packaging.html">dpkg</a>-query -W -f=&#8217;${Installed-Size;10}t${Package}n&#8217; | sort -k1,1n</td>
<td>List all <a href="http://www.pixelbeat.org/docs/packaging.html">packages</a> by installed size (KBytes) on deb distros</td>
</tr>
<tr>
<td>•</td>
<td>dd bs=1 seek=2TB if=/dev/null of=ext3.test</td>
<td>Create a large test file (taking no space). See also <a href="http://www.pixelbeat.org/scripts/truncate">truncate</a></td>
</tr>
<tr>
<td>•</td>
<td>&gt; file</td>
<td>truncate data of file or create an empty file</td>
</tr>
<tr id="monitor">
<td colspan="3"><strong>monitoring/debugging</strong></td>
</tr>
<tr>
<td>•</td>
<td>tail -f /var/log/messages</td>
<td><a href="http://www.pixelbeat.org/docs/web/access_log/monitoring.html">Monitor messages</a> in a log file</td>
</tr>
<tr>
<td>•</td>
<td>strace -c ls &gt;/dev/null</td>
<td>Summarise/profile system calls made by command</td>
</tr>
<tr>
<td>•</td>
<td>strace -f -e open ls &gt;/dev/null</td>
<td>List system calls made by command</td>
</tr>
<tr>
<td>•</td>
<td>ltrace -f -e getenv ls &gt;/dev/null</td>
<td>List library calls made by command</td>
</tr>
<tr>
<td>•</td>
<td><acronym title="usually in /usr/sbin/">lsof</acronym> -p <acronym title="process id of current shell">$</acronym></td>
<td>List paths that process id has open</td>
</tr>
<tr>
<td>•</td>
<td>lsof ~</td>
<td>List processes that have specified path open</td>
</tr>
<tr>
<td>•</td>
<td>tcpdump not port 22</td>
<td>Show network traffic except ssh. See also <a href="http://www.pixelbeat.org/scripts/tcpdump_not_me">tcpdump_not_me</a></td>
</tr>
<tr>
<td>•</td>
<td>ps -e -o pid,args &#8211;forest</td>
<td>List processes in a hierarchy</td>
</tr>
<tr>
<td>•</td>
<td>ps -e -o pcpu,cpu,nice,state,cputime,args &#8211;sort pcpu | sed &#8216;/^ 0.0 /d&#8217;</td>
<td>List processes by % cpu usage</td>
</tr>
<tr>
<td>•</td>
<td>ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS</td>
<td>List processes by mem (KB) usage. See also <a href="http://www.pixelbeat.org/scripts/ps_mem.py">ps_mem.py</a></td>
</tr>
<tr>
<td>•</td>
<td>ps -C firefox-bin -L -o pid,tid,pcpu,state</td>
<td>List all threads for a particular process</td>
</tr>
<tr>
<td>•</td>
<td>ps -p 1,$ -o etime=</td>
<td>List elapsed wall time for particular process IDs</td>
</tr>
<tr>
<td>•</td>
<td>last reboot</td>
<td>Show system reboot history</td>
</tr>
<tr>
<td>•</td>
<td>free -m</td>
<td>Show amount of (remaining) RAM (-m displays in MB)</td>
</tr>
<tr>
<td>•</td>
<td>watch -n.1 &#8216;cat /proc/interrupts&#8217;</td>
<td>Watch changeable data continuously</td>
</tr>
<tr>
<td>•</td>
<td>udevadm monitor</td>
<td>Monitor udev events to help configure rules</td>
</tr>
<tr id="sysinfo">
<td colspan="3"><strong>system information</strong> (see also <a href="http://www.pixelbeat.org/scripts/sysinfo">sysinfo</a>) (&#8216;#&#8217; means root access is required)</td>
</tr>
<tr>
<td>•</td>
<td>uname -a</td>
<td>Show kernel version and system architecture</td>
</tr>
<tr>
<td>•</td>
<td>head -n1 /etc/issue</td>
<td>Show name and version of distribution</td>
</tr>
<tr>
<td>•</td>
<td>cat /proc/partitions</td>
<td>Show all partitions registered on the system</td>
</tr>
<tr>
<td>•</td>
<td>grep MemTotal /proc/meminfo</td>
<td>Show RAM total seen by the system</td>
</tr>
<tr>
<td>•</td>
<td>grep &#8220;model name&#8221; /proc/cpuinfo</td>
<td>Show CPU(s) info</td>
</tr>
<tr>
<td>•</td>
<td><acronym title="usually in /sbin/">lspci</acronym> -tv</td>
<td>Show PCI info</td>
</tr>
<tr>
<td>•</td>
<td><acronym title="usually in /sbin/">lsusb</acronym> -tv</td>
<td>Show USB info</td>
</tr>
<tr>
<td>•</td>
<td>mount | column -t</td>
<td>List mounted filesystems on the system (and align output)</td>
</tr>
<tr>
<td>•</td>
<td>grep -F capacity: /proc/acpi/battery/BAT0/info</td>
<td>Show state of cells in laptop battery</td>
</tr>
<tr>
<td>#</td>
<td>dmidecode -q | less</td>
<td>Display SMBIOS/DMI information</td>
</tr>
<tr>
<td>#</td>
<td>smartctl -A /dev/sda | grep Power_On_Hours</td>
<td>How long has this disk (system) been powered on in total</td>
</tr>
<tr>
<td>#</td>
<td>hdparm -i /dev/sda</td>
<td>Show info about disk sda</td>
</tr>
<tr>
<td>#</td>
<td>hdparm -tT /dev/sda</td>
<td>Do a read speed test on disk sda</td>
</tr>
<tr>
<td>#</td>
<td>badblocks -s /dev/sda</td>
<td>Test for unreadable blocks on disk sda</td>
</tr>
<tr id="interactive">
<td colspan="3"><strong>interactive</strong> (see also <a href="http://www.pixelbeat.org/lkdb/">linux keyboard shortcuts)</a></td>
</tr>
<tr>
<td>•</td>
<td><a href="http://www.pixelbeat.org/lkdb/readline.html">readline</a></td>
<td>Line editor used by bash, python, bc, gnuplot, &#8230;</td>
</tr>
<tr>
<td>•</td>
<td><a href="http://www.pixelbeat.org/lkdb/screen.html">screen</a></td>
<td>Virtual terminals with detach capability, &#8230;</td>
</tr>
<tr>
<td>•</td>
<td><a href="http://www.pixelbeat.org/lkdb/mc.html">mc</a></td>
<td>Powerful file manager that can browse rpm, tar, ftp, ssh, &#8230;</td>
</tr>
<tr>
<td>•</td>
<td><a href="http://www.pixelbeat.org/docs/web/access_log/analyzing.html">gnuplot</a></td>
<td>Interactive/scriptable graphing</td>
</tr>
<tr>
<td>•</td>
<td>links</td>
<td>Web browser</td>
</tr>
<tr>
<td>•</td>
<td>xdg-open <strong>.</strong></td>
<td>open a file or url with the registered desktop application</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://blog.zye.me/2011/12/55818.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SIGIR PAPER LIST 2005,2006,2007</title>
		<link>http://blog.zye.me/2011/08/22765.html</link>
		<comments>http://blog.zye.me/2011/08/22765.html#comments</comments>
		<pubDate>Sat, 06 Aug 2011 02:29:28 +0000</pubDate>
		<dc:creator>yezheng</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[information Retrieval]]></category>
		<category><![CDATA[papers]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[SIGIR]]></category>
		<category><![CDATA[信息检索]]></category>

		<guid isPermaLink="false">http://www.5yiso.cn/2008/03/22765.html</guid>
		<description><![CDATA[The 30th Annual International ACM SIGIR Conference 23-27 July 2007, Amsterdam Accepted Papers Hierarchical Classification for Automatic Image Annotation Jianping Fan Alternatives to Bpref Tetsuya Sakai Laplacian Optimal Design for Image Retrieval Xiaofei He, Deng Cai Federated Text Retrieval From Uncooperative Overlapped Collections Milad Shokouhi, Justin Zobel A New Approach for Evaluating Query Expansion: Query-document <a href='http://blog.zye.me/2011/08/22765.html'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p class="sigirWebTitle">The 30<sup>th</sup> Annual International ACM SIGIR Conference<br />
23-27 July 2007, Amsterdam</p>
<h2>Accepted Papers</h2>
<p>Hierarchical Classification for Automatic Image Annotation<br />
<em>Jianping Fan </em></p>
<p>Alternatives to Bpref<br />
<em>Tetsuya Sakai </em></p>
<p>Laplacian Optimal Design for Image Retrieval<br />
<em>Xiaofei He, Deng Cai </em></p>
<p>Federated Text Retrieval From Uncooperative Overlapped Collections<br />
<em>Milad Shokouhi, Justin Zobel </em></p>
<p>A New Approach for Evaluating Query Expansion: Query-document  Term Mismatch<br />
<em>Tonya Custis, Khalid Al-Kofahi </em></p>
<p>Fast Generation of Result Snippets in Web Search<br />
<em>Andrew Turpin, Yohannes Tsegay, David Hawking, Hugh E. Williams </em></p>
<p>Updating Collection Representations For Federated Search<br />
<em>Milad Shokouhi, Mark Baillie, Leif Azzopardi </em></p>
<p>HITS hits TREC: Exploring IR evaluation results with network analysis<br />
<em>Stefano Mizzaro, Stephen Robertson </em></p>
<p>Latent Concept Expansion Using Markov Random Fields<br />
<em>Donald Metzler, Bruce Croft </em></p>
<p>Query Performance Prediction in Web Search Environments<br />
<em>Yun Zhou, Bruce Croft </em></p>
<p>Indexing Confusion Networks for Morph-based Spoken Document  Retrieval<br />
<em>Ville Turunen, Mikko Kurimo </em></p>
<p>Reliable Information Retrieval Evaluation with Incomplete and Biased  Judgements<br />
<em>Stefan Buettcher, Charles Clarke, Peter Yeung, Ian Soboroff </em></p>
<p>New Event Detection Based on Indexing-tree and Named Entity<br />
<em>Kuo ZHANG, JuanZi LI, Gang WU </em></p>
<p>A Time Machine for Text Search<br />
<em>Klaus Berberich, Srikanta Bedathur, Thomas Neumann, Gerhard Weikum </em></p>
<p>Compressed Permuterm Index<br />
<em>Paolo Ferragina, Rossano Venturini </em></p>
<p>Detecting, Categorizing and Clustering Entity Mentions in Chinese  Text<br />
<em>Wenjie Li, Donglei Qian, Chunfa Yuan, Qin Lu </em></p>
<p>FRank: A Ranking Method with Fidelity Loss<br />
<em>Ming-Feng Tsai, Tie-Yan Liu, Tao Qin, Hsin-Hsi Chen, Wei-Ying Ma </em></p>
<p>A Regression Framework for Learning Ranking Functions Using  Relative Relevance Judgments<br />
<em>Zhaohui Zheng, Hongyuan Zha, Keke Chen, Gordon Sun </em></p>
<p>History Repeats Itself: Re-Finding Queries in a Major Search  Engine&#8217;s Logs<br />
<em>Jaime Teevan, Eytan Adar, Rosie Jones, Michael Potts </em></p>
<p>Random Walks on the Click Graph<br />
<em>Nick Craswell, Martin Szummer </em></p>
<p>Towards Automatic Extraction of Event and Place Semantics from  Flickr Tags<br />
<em>Tye Rattenbury, Nathaniel Good, Mor Naaman </em></p>
<p>Clustering of Documents with Local and Global Regularization<br />
<em>Fei Wang, Changshui Zhang, Tao Li </em></p>
<p>An InterActive Algorithm For Asking And Incorporating Feature  Feedback into Support Vector Machines<br />
<em>Hema Raghavan, James Allan </em></p>
<p>Efficient Document Retrieval in Main Memory<br />
<em>Trevor Strohman, Bruce Croft </em></p>
<p>A Boosting Algorithm for Information Retrieval<br />
<em>Jun Xu, Hang Li </em></p>
<p>How well does result relevance predict session satisfaction?<br />
<em>Scott Huffman, Michael Hochster </em></p>
<p>A Support Vector Method for Optimizing Average Precision<br />
<em>Yisong Yue, Thomas Finley, Filip Radlinski, Thorsten Joachims </em></p>
<p>Strategic System Comparisons via Targeted Relevance Judgments<br />
<em>Alistair Moffat, William Webber, Justin Zobel </em></p>
<p>Topic Segmentation with Shared Topic Detection and Alignment of  Multiple Documents<br />
<em>Sun Bingjun, Prasenjit Mitra, Lee Giles, Hongyuan Zha, John Yen </em></p>
<p>HITS on the Web: How does it Compare?<br />
<em>Marc Najork, Hugo Zaragoza, Michael Taylor </em></p>
<p>Effective Missing Data Prediction for Collaborative Filtering<br />
<em>Hao Ma, Irwin King, Michael R. Lyu </em></p>
<p>Feature Selection for Ranking<br />
<em>Xiubo Geng, Tie-Yan Liu, Tao Qin </em></p>
<p>Interesting Nuggets and Their Impact on Definitional Question  Answering<br />
<em>Kian-Wei Kor, Tat Seng Chua </em></p>
<p>Ranking with Multiple Hyperplanes<br />
<em>Tao Qin, Tie-Yan Liu, Wei Lai, Xu-Dong Zhang, De-Sheng Wang, Hang Li </em></p>
<p>Building Simulated Queries for Known-Item Topics: An Analysis  using Six European Languages<br />
<em>Leif Azzopardi, Maarten de Rijke, Krisztian Balog </em></p>
<p>CollabSum: Exploiting Multiple Document Clustering for Collaborative  Single Document Summarizations<br />
<em>Xiaojun Wan </em></p>
<p>The Influence of Caption Features on Clickthrough Patterns in Web  Search<br />
<em>Charles Clarke, Eugene Agichtein, Susan Dumais, Ryen White </em></p>
<p>Personalized Query Expansion for the Web<br />
<em>Paul &#8211; Alexandru Chirita, Claudiu Firan, Wolfgang Nejdl </em></p>
<p>Principles of Hash-based Text Retrieval<br />
<em>Benno Stein </em></p>
<p>An Outranking Approach for Rank Aggregation in Information  Retrieval<br />
<em>Mohamed Farah, Daniel Vanderpooten </em></p>
<p>Deconstructing Nuggets: The Stability and Reliability of Complex  Question Answering Evaluation<br />
<em>Jimmy Lin, Pengyi Zhang </em></p>
<p>DiffusionRank: A Possible Penicillin for Web Spamming<br />
<em>Haixuan Yang, Irwin King, Michael R. Lyu </em></p>
<p>Investigating the Querying and Browsing Behavior of Advanced  Search Engine Users<br />
<em>Ryen White, Dan Morris </em></p>
<p>Neighborhood Restrictions in Geographic IR<br />
<em>Steven Schockaert, Martine De Cock </em></p>
<p>A Probabilistic Graphical Model for Joint Answer Ranking in Question  Answering<br />
<em>Jeongwoo Ko, Luo Si, Eric Nyberg </em></p>
<p>Towards Task-based PIM Evaluations<br />
<em>David Elsweiler, Ian Ruthven </em></p>
<p>Utility-based Information Distillation Over Temporally Sequenced  Documents<br />
<em>Yiming Yang, Abhimanyu Lad, Ni Lao, Abhay Harpale, Bryan Kisiel, Monica Rogati, Jian Zhang, Jaime Carbonell, Peter Brusilovsky, Daqing He </em></p>
<p>A Semantic Approach to Contextual Advertising<br />
<em>Vanja Josifovski, Andrei Broder, Lance Riedel, Marcus Fontoura </em></p>
<p>Test Theory for Assessing IR Test Collections<br />
<em>David Bodoff, Pu Li </em></p>
<p>Vocabulary Independent Spoken Term Detection<br />
<em>Jonathan Mamou, Bhuvana Ramabhadran, Olivier Siohan </em></p>
<p>ESTER: Efficient Search on Text, Entities, and Relations<br />
<em>Holger Bast, Alexandru Chitea, Fabian Suchanek, Ingmar Weber </em></p>
<p>A Combined Component Approach for Finding Collection-Adapted  Ranking Functions based on Genetic Prog<br />
<em>Humberto Almeida, Marcos Goncalves, Marco Cristo, Pavel Calado </em></p>
<p>Supporting Multiple Information Seeking Strategies in a Single  System Framework<br />
<em>Xiaojun Yuan, Nicholas Belkin </em></p>
<p>Context Sensitive Stemming for Web Search<br />
<em>Fuchun Peng, Nawaaz Ahmed, Xin Li, Yumao Lu </em></p>
<p>Know your Neighbors: Web Spam Detection using the Web Topology<br />
<em>Carlos Castillo, Debora Donato, Aristides Gionis, Vanessa Murdock,  Fabrizio Silvestri </em></p>
<p>Combining Content and Link for Classification using Matrix  Factorization<br />
<em>Shenghuo Zhu, Kai Yu, Yun Chi, Yihong Gong </em></p>
<p>Evaluating sampling methods for uncooperative collections<br />
<em>Paul Thomas, David Hawking </em></p>
<p>An Exploration of Proximity Measures in Information Retrieval<br />
<em>Tao Tao, ChengXiang Zhai </em></p>
<p>Relaxed Online Support Vector Machines for Spam Filtering<br />
<em>D. Sculley, Gabriel Wachman (best student paper)</em></p>
<p>Robust Classification of Rare Queries Using Web Knowledge<br />
<em>Andrei Broder, Marcus Fontoura, Evgeniy Gabrilovich, Amruta Joshi, Vanja  Josifovski, Tong Zhang </em></p>
<p>Multiple-signal duplicate detection for search evaluation<br />
<em>Scott Huffman, April Lehman, Alexei Stolboushkin, Howard Wong-Toi, Fan  Yang, Hein Roehrig </em></p>
<p>Structured Retrieval for Question Answering<br />
<em>Matthew Bilotti, Paul Ogilvie, Jamie Callan, Eric Nyberg </em></p>
<p>Robust Evaluation of Information Retrieval Systems<br />
<em>Ben Carterette </em></p>
<p>On the Robustness of Relevance Measures with Incomplete  Judgments<br />
<em>Tanuja Bompada, Chi-Chao Chang, John Chen, Ravi Kumar, Rajesh  Shenoy </em></p>
<p>Cross-Lingual Query Suggestion Using Query Logs of Different  Languages<br />
<em>Wei Gao, Cheng Niu, Jian-Yun Nie, Ming Zhou, Jian Hu, Kam-Fai Wong,  Hsiao-Wuen Hon </em></p>
<p>Efficient Bayesian Hierarchical User Modeling for Recommendation  Systems<br />
<em>Yi Zhang, Jonathan Koren </em></p>
<p>Studying the Use of Popular Destinations to Enhance Web Search  Interaction<br />
<em>Ryen White, Mikhail Bilenko, Silviu Cucerzan (best paper)</em></p>
<p>Knowledge-intensive Conceptual Retrieval and Passage Extraction of  Biomedical Literature<br />
<em>Wei Zhou, Clement Yu, Neil Smalheiser, Vetle Torvik, Jie Hong </em></p>
<p>The Impact of Caching on Search Engines<br />
<em>Ricardo Baeza-Yates, Aristides Gionis, Flavio Junqueira, Vanessa Murdock,  Vassilis Plachouras, Fabrizio Silvestri </em></p>
<p>Heavy-Tailed Distributions and Multi-Keyword Queries<br />
<em>Arnd Konig, Surajit Chaudhuri, Liying Sui, Kenneth Church </em></p>
<p>Improving Text Classification for Oral History Archives with Temporal  Domain Knowledge<br />
<em>James Olsson, Douglas Oard </em></p>
<p>Estimation and Use of Uncertainty in Pseudo-relevance Feedback<br />
<em>Kevyn Collins-Thompson, Jamie Callan </em></p>
<p>Term Feedback for Information Retrieval with Language Models<br />
<em>Bin Tan, Atulya Velivelli, Hui Fang, ChengXiang Zhai </em></p>
<p>Enhancing Relevance Scoring With Chronological Term Rank<br />
<em>Adam Troy, Guo-Qiang Zhang </em></p>
<p>Inverted Index Pruning with Correctness Guarantee<br />
<em>Alexandros Ntoulas, Junghoo-John Cho </em></p>
<p>A Study of Poisson Query Generation Model for Information Retrieval<br />
<em>Qiaozhu Mei, Hui Fang, ChengXiang Zhai </em></p>
<p>ARSA: A Sentiment-Aware Model for Predicting Sales Performance  Using Blogs<br />
<em>Yang Liu, Jimmy Huang, Aijun An, Xiaohui Yu </em></p>
<p>A Music Search Engine Built upon Audio-based and Web-based  Similarity Measures<br />
<em>Peter Knees, Tim Pohle, Markus Schedl, Gerhard Widmer </em></p>
<p>Learn from Web Search Logs to Organize Search Results<br />
<em>Xuanhui Wang, ChengXiang Zhai </em></p>
<p>Using Query Contexts in Information Retrieval<br />
<em>Jing Bai, Jian-Yun Nie, Hugue Bouchard, Guihong Cao </em></p>
<p>Measuring the Spatial Correlation of Retrieval Functions for Zero- Judgment Performance Prediction<br />
<em>Fernando Diaz </em></p>
<p>Towards Musical Query-by-Semantic-Description using the CAL500  Data Set<br />
<em>Douglas Turnbull, Luke Barrington, David Torres, Gert Lanckriet </em></p>
<p>Web Text Retrieval with a P2P Query-Driven Index<br />
<em>Gleb Skobeltsyn, Toan Luu, Ivana Podnar, Martin Rajman, Karl Aberer </em></p>
<p>Analyzing Feature Trajectories for Event Detection<br />
<em>Qi He, Kuiyu Chang, Ee-Peng Lim </em></p>
<p>Broad Expertise Retrieval in Sparse Data Environments<br />
<em>Krisztian Balog, Maarten de Rijke, Leif Azzopardi </em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zye.me/2011/08/22765.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>自然语言理解技术及其应用探讨（转）</title>
		<link>http://blog.zye.me/2011/08/18582.html</link>
		<comments>http://blog.zye.me/2011/08/18582.html#comments</comments>
		<pubDate>Thu, 04 Aug 2011 02:27:22 +0000</pubDate>
		<dc:creator>yezheng</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[NLP]]></category>
		<category><![CDATA[信息检索]]></category>
		<category><![CDATA[自然语言理解]]></category>
		<category><![CDATA[英语]]></category>

		<guid isPermaLink="false">http://www.5yiso.cn/2008/03/18582.html</guid>
		<description><![CDATA[2005年12月12日 21:01:00 自然语言理解技术及其应用探讨随着社会的日益信息化，人们越来越强烈地希望用自然语言同计算机交流。自然语言理解是计算机科学中的一个引人入胜的、富有挑战性的课题。从计算机科学特别是从人工智能的观点看，自然语言理解的任务是建立一种计算机模型，这种计算机模型能够给出象人那样理解、分析并回答自然语言（即人们日常使用的各种通俗语言）的结果。 现在的计算机的智能还远远没有达到能够象人一样理解自然语言的水平，而且在可预见的将来也达不到这样的水平。因此，关于计算机对自然语言的理解一般是从实用的角度进行评判的。如果计算机实现了人机会话，或机器翻译，或自动文摘等语言信息处理功能，则认为计算机具备了自然语言理解的能力。 第一部分 了解自然语言理解技术 自然语言处理就是研究如何能让计算机理解并生成人们日常所使用的(如汉语、英语)语言，使得计算机懂得自然语言的含义，并对人给计算机提出的问题，通过对话的方式，用自然语言进行回答。目的在于建立起一种人与机器之间的密切而友好的关系，使之能进行高度的信息传递与认知活动。自然语言理解系统可以用作专家系统、知识工程、情报检索、办公室自动化的自然语言人机接口，有很大的实用价值。 自然语言处理研究在电子计算机问世之初就开始了，并于 50年代初开展了机器翻译试验。当时的研究方法还不能称作带有&#8221;智能&#8221;。到了60年代乔姆斯基的转换生成语法得到广泛的认可，生成语法的核心是短语结构规则，分析句子结构的过程就是利用规则自顶向下或自底向上的句法树生成过程。 由于认识到生成语法缺少表示语义知识的手段，在70年代随着认知科学的兴盛，研究者又相继提出了语义网络、CD理论、格框架等语义表示理论。这些语法和语义理论经过各自的发展，逐渐开始趋于相互结合。到80年代一批新的语法理论脱颖而出，具有代表性的有词汇功能语法(LFG)、功能合一语法(FUG)和广义短语结构语法(GPSG) 等。 这些基于规则的分析方法可以称之为自然语言处理中的&#8221;理性主义&#8221;。现有的手段虽然基本上掌握了单个句子的分析技术，但是还很难覆盖全面的语言现象，特别是对于整个段落或篇章的理解还无从下手。 与&#8221;理性主义&#8221;相对的是&#8221;经验主义&#8221;的研究思路，主要是指针对大规模语料库的研究。语料库是大量文本的集合。计算机出现后，语料可以被方便地存贮起来，利用计算机查找也很容易。随着电子出版物的出现，采集语料也不再成为困难。最早于60年代编制的Brown和LOB两个计算机语料库，分别具有100万词次的规模。进入90 年代可以轻易列举出的语料库有几十个之多，象DCI、ECI、ICAME、BNC、LDC、 CLR等，其规模最高达到109数量级。 对语料库的研究分成3个方面：工具软件的开发、语料库的标注、基于语料库的语言分析方法。采集到以后未经处理的生语料不能直接提供有关语言的各种知识，只有通过词法、句法、语义等多层次的加工才能使知识获取成为可能。加工的方式就是在语料中标注各种记号，标注的内容包括每个词的词性、语义项、短语结构、句型和句间关系等。随着标注程度的加深语料库逐渐熟化，成为一个分布的、统计意义上的知识源。利用这个知识源可以进行许多语言分析工作，如根据从已标注语料中总结出的频度规律可以给新文本逐词标注词性，划分句子成分等。 语料库提供的知识是用统计强度表示的，而不是确定性的，随着规模的扩大，旨在覆盖全面的语言现象。但是对于语言中基本的确定性的规则仍然用统计强度的大小去判断，这与人们的常识相违背。这种&#8221;经验主义&#8221;研究中的不足要靠&#8221;理性主义&#8221; 的方法来弥补。两类方法的融合也正是当前自然语言处理发展的趋势。 自然语言理解系统的发展阶段 自然语言理解系统的发展可以分为第一代系统和第二代系统两个阶段。第一代系统建立在对词类和词序分析的基础之上，分析中经常使用统计方法；第二代系统则开始引进语义甚至语用和语境的因素，几乎完全抛开了统计技术。 第一代自然语言理解系统又可分为四种类型： （1）特殊格式系统 早期的自然语言理解系统大多数是特殊格式系统，根据人机对话内容的特点，采用特殊的格式来进行人机对话。1963年，林德赛（R.Lindsay）在美国卡内基技术学院用IPL－V表处理语言设计了SAD－SAM系统，就采用了特殊格式来进行关于亲属关系方面的人机对话，系统内建立了一个关于亲属关系的数据库，可接收关于亲属关系方面的问题的英语句子提问，用英语作出回答。1968年，波布洛（D.Bobrow）在美国麻省理工学院设计了STUDENT系统，这个系统把高中代数应用题中的英语句子归纳为一些基本模式，由计算机来理解这些应用题中的英语句子，列出方程求解，并给出答案。六十年代初期，格林（B.Green）在美国林肯实验室建立了BASEBALL系统，也使用IPL－V表处理语言，系统的数据库中存贮了关于美国1959年联邦棒球赛得分记录的数据，可回答有关棒球赛的一些问题。该系统的句法分析能力较差，输入句子十分简单，没有连接词，也没有比较级形式的形容词和副词，主要靠一部机器词典来进行单词的识别，使用了14个词类范畴，所有的问题都采用一种特殊的规范表达式回答。 （2）以文本为基础的系统 某些研究者不满意在特殊格式系统中的种种格式限制，因为就一个专门领域来说，最方便的还是使用不受特殊格式结构限制的系统来进行人机对话，这就出现了以文本为基础的系统，1966年西蒙（R.F.Simmons）、布尔格（J.F. Burger）和龙格（R.E. Long）设计的PROTOSYNTHEX－I系统，就是以文本信息的存贮和检索方式工作的。 （3）有限逻辑系统 有限逻辑系统进一步改进了以文本为基础的系统。在这种系统中，自然语言的句子以某种更加形式化的记号来替代，这些记号自成一个有限逻辑系统，可以进行某些推理。1968年，拉菲尔（B.Raphael）在美国麻省理工学院用LI SP语言建立了SIR系统，针对英语提出了24个匹配模式，把输入的英语句子与这些模式相匹配，从而识别输入句子的结构，在从存贮知识的数据库到回答问题的过程中，可以处理人们对话中常用的一些概念，如集合的包含关系、空间关系等等，并可进行简单逻辑推理，机器并能在对话中进行学习，记住已学过的知识，从事一些初步的智能活动。1965年，斯莱格勒（J.R. Slagle）建立了DEDUCOM系统，可在情报检索中进行演绎推理。1966年，桑普逊（F.B.Thompson）建立了DEACON系统，通过英语来管理一个虚构的军用数据库，设计中使用了环结构和近似英语的概念来进行推理。1968年，凯罗格（C.Kellog）在IBM360/67计算机上，建立了CONVERSE系统，该系统能根据关于美国120个城市的1000个事实的文件来进行推理。 （4）一般演绎系统 一般演绎系统使用某些标准数学符号（如谓词演算符号）来表达信息。逻辑学家们在定理证明工作上取得的全部成就，就可以用来作为建立有效的演绎系统的根据，从而能够把任何一个问题用定理证明的方式表达出来，并实际地演绎出所需要的信息，用自然语言作出回答。一般演绎系统可以表达那些在有限逻辑系统中不容易表达出来的复杂信息，从而进一步提高了自然语言理解系统的能力。1968－1969年，格林和拉菲尔建立的的QA2,QA3系统，采用谓词演算的方式和格式化的数据（formated data）来进行演绎推理，解答问题，并用英语作出回答，这是一般演绎系统的典型代表。 1970年以来，出现了一定数量的第二代自然语言理解系统，这些系统绝大多数是程序演绎系统，大量地进行语义、语境以至语用的分析。其中比较有名的系统是LUNAR 系统、SHRDLU系统、MARGIE系统、SAM系统、PAM系统。 LUNAR系统是伍兹（W.Woods）于1972年设计的一个自然语言情报检索系统。这个系统采用形式提问语言（formal query language）来表示所提问的语义，从而对提问的句子作出语义解释，最后把形式提问语言执行于数据库，产生出对问题的回答。 SHRDLU系统是维诺格拉德（T.Winograd）于1972年在美国麻省理工学院建立了一个用自然语言指挥机器人动作的系统。该系统把句法分析、语义分析、逻辑推理结合起来，大大地增强了系统在语言分析方面的功能。该系统对话的对象是一个具有简单的 &#8220;手&#8221;和&#8221;眼&#8221;的玩具机器人，它可以操作放在桌子上的具有不同颜色、尺寸和形状的玩具积木，如立方体、棱锥体、盒子等，机器人能够根据操作人员的命令把这些积木捡起来，移动它们去搭成新的积木结构，在人机对话过程中，操作人员能获得他发给机器人的各种视觉反馈，实时地观察机器人理解语言、执行命令的情况。在电视屏幕上还可以显示出这个机器人的模拟形象以及它同一个真正的活人在电传机上自由地用英语对话的生动情景。 MARGIE系统是杉克（R.Schank）于1975年在美国斯袒福人工智能实验室研制出来的。该系统的目的在于提供一个自然语言理解的直观模型。系统首先把英语句子转换为概念依存表达式，然后根据系统中有关信息进行推理，从概念依存表达式中推演出大量的事实。由于人们在理解句子时，总要牵涉到比句子的外部表达多得多的内容，因此，该系统的推理有16种类型，如原因、效应、说明、功能等等，最后，把推理的结果转换成英语输出。 SAM系统是阿贝尔森（R.Abelson）于1975年在美国耶鲁大学建立的。这个系统采用&#8221;脚本&#8221;（script）的办法来理解自然语言写的故事。所谓脚本，就是用来描述人们活动（如上饭馆、看病）的一种标准化的事件系列。 PAM系统是威林斯基（R.Wilensky）于1978年在美国耶鲁大学建立的另一个理解故事的系统。PAM系统也能解释故事情节，回答问题，进行推论，作出摘要。它除了 &#8220;脚本&#8221;中的事件序列之外，还提出了&#8221;计划&#8221;（plan）作为理解故事的基础。所谓&#8221; 计划&#8221;，就是故事中的人物为实现其目的所要采取的手段。如果要通过&#8221;计划&#8221;来理解故事，就要找出人物的目的以及为完成这个目的所采取的行动。系统中设有一个&#8221;计划库&#8221;（plan box），存贮着有关各种目的的信息以及各种手段的信息。这样，在理解故事时，只要求出故事中有关情节与计划库中存贮的信息相重合的部分，就可以理解到这个故事的目的是什么。当把一个一个的故事情节与脚本匹配出现障碍时，由于&#8221;计划库&#8221;中可提供关于一般目的的信息，就不致造成故事理解的失败。例如，营救一个被暴徒抢走的人，在&#8221;营救&#8221;这个总目的项下列若干个子目的，包括到达暴徒的巢穴以及杀死暴徒的各种方法，就可以预期下一步的行为。同时能根据主题来推论目的。例如，输入故事：&#8221;约翰爱玛丽。玛丽被暴徒抢走了。&#8221;PAM 系统即可预期约翰要采取行动营救玛丽。故事中虽然没有这样的内容， 但是， 根据计划库中的&#8221;爱情主题&#8221;，可以推出 &#8220;约翰要采取行动营救玛丽&#8221;的情节。 上述的系统都是书面的自然语言理解系统，输入输出都是用书面文字。口头的自然语言理解系统，还牵涉到语音识别、语音合成等复杂的技术，显然是更加困难的课题，口头自然语言理解系统的研究近年来也有进展。 我国的发展状况 我国自然语言理解的研究起步较晚，比国外晚了17年。国外在1963年就建成了早期的自然语言理解系统，而我国直到1980年才建成了两个汉语自然语言理解模型，都以人机对话的方式来实现。 八十年代中期，在国际新一代计算机激烈竞争的影响下，自然语言理解的研究在国内得到了更多的重视，&#8221;自然语言理解和人机接口&#8221;列入了新一代计算机的研制规划，研究单位增多了，研究队伍也壮大了。 <a href='http://blog.zye.me/2011/08/18582.html'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>2005年12月12日 21:01:00</p>
<p class="postText">
<table width="100%" cellPadding="0" cellSpacing="0" style="table-layout: fixed">
<tr>
<td width="32" vAlign="top"></td>
<td style="left: 0px; width: 100%; word-wrap: break-word">
<table width="100%" cellPadding="0" cellSpacing="0" height="120" style="table-layout: fixed">
<tr vAlign="top">
<td style="left: 0px; width: 100%; word-wrap: break-word"><font color="#000000">自然语言理解技术及其应用探讨随着社会的日益信息化，人们越来越强烈地希望用自然语言同计算机交流。自然语言理解是计算机科学中的一个引人入胜的、富有挑战性的课题。从计算机科学特别是从人工智能的观点看，自然语言理解的任务是建立一种计算机模型，这种计算机模型能够给出象人那样理解、分析并回答自然语言（即人们日常使用的各种通俗语言）的结果。</p>
<p>现在的计算机的智能还远远没有达到能够象人一样理解自然语言的水平，而且在可预见的将来也达不到这样的水平。因此，关于计算机对自然语言的理解一般是从实用的角度进行评判的。如果计算机实现了人机会话，或机器翻译，或自动文摘等语言信息处理功能，则认为计算机具备了自然语言理解的能力。</p>
<p>第一部分 了解自然语言理解技术<br />
自然语言处理就是研究如何能让计算机理解并生成人们日常所使用的(如汉语、英语)语言，使得计算机懂得自然语言的含义，并对人给计算机提出的问题，通过对话的方式，用自然语言进行回答。目的在于建立起一种人与机器之间的密切而友好的关系，使之能进行高度的信息传递与认知活动。自然语言理解系统可以用作专家系统、知识工程、情报检索、办公室自动化的自然语言人机接口，有很大的实用价值。</p>
<p>自然语言处理研究在电子计算机问世之初就开始了，并于 50年代初开展了机器翻译试验。当时的研究方法还不能称作带有&#8221;智能&#8221;。到了60年代乔姆斯基的转换生成语法得到广泛的认可，生成语法的核心是短语结构规则，分析句子结构的过程就是利用规则自顶向下或自底向上的句法树生成过程。</p>
<p>由于认识到生成语法缺少表示语义知识的手段，在70年代随着认知科学的兴盛，研究者又相继提出了语义网络、CD理论、格框架等语义表示理论。这些语法和语义理论经过各自的发展，逐渐开始趋于相互结合。到80年代一批新的语法理论脱颖而出，具有代表性的有词汇功能语法(LFG)、功能合一语法(FUG)和广义短语结构语法(GPSG) 等。</p>
<p>这些基于规则的分析方法可以称之为自然语言处理中的&#8221;理性主义&#8221;。现有的手段虽然基本上掌握了单个句子的分析技术，但是还很难覆盖全面的语言现象，特别是对于整个段落或篇章的理解还无从下手。</p>
<p>与&#8221;理性主义&#8221;相对的是&#8221;经验主义&#8221;的研究思路，主要是指针对大规模语料库的研究。语料库是大量文本的集合。计算机出现后，语料可以被方便地存贮起来，利用计算机查找也很容易。随着电子出版物的出现，采集语料也不再成为困难。最早于60年代编制的Brown和LOB两个计算机语料库，分别具有100万词次的规模。进入90 年代可以轻易列举出的语料库有几十个之多，象DCI、ECI、ICAME、BNC、LDC、 CLR等，其规模最高达到109数量级。</p>
<p>对语料库的研究分成3个方面：工具软件的开发、语料库的标注、基于语料库的语言分析方法。采集到以后未经处理的生语料不能直接提供有关语言的各种知识，只有通过词法、句法、语义等多层次的加工才能使知识获取成为可能。加工的方式就是在语料中标注各种记号，标注的内容包括每个词的词性、语义项、短语结构、句型和句间关系等。随着标注程度的加深语料库逐渐熟化，成为一个分布的、统计意义上的知识源。利用这个知识源可以进行许多语言分析工作，如根据从已标注语料中总结出的频度规律可以给新文本逐词标注词性，划分句子成分等。</p>
<p>语料库提供的知识是用统计强度表示的，而不是确定性的，随着规模的扩大，旨在覆盖全面的语言现象。但是对于语言中基本的确定性的规则仍然用统计强度的大小去判断，这与人们的常识相违背。这种&#8221;经验主义&#8221;研究中的不足要靠&#8221;理性主义&#8221; 的方法来弥补。两类方法的融合也正是当前自然语言处理发展的趋势。</p>
<p>自然语言理解系统的发展阶段<br />
自然语言理解系统的发展可以分为第一代系统和第二代系统两个阶段。第一代系统建立在对词类和词序分析的基础之上，分析中经常使用统计方法；第二代系统则开始引进语义甚至语用和语境的因素，几乎完全抛开了统计技术。</p>
<p>第一代自然语言理解系统又可分为四种类型：</p>
<p>（1）特殊格式系统<br />
早期的自然语言理解系统大多数是特殊格式系统，根据人机对话内容的特点，采用特殊的格式来进行人机对话。1963年，林德赛（R.Lindsay）在美国卡内基技术学院用IPL－V表处理语言设计了SAD－SAM系统，就采用了特殊格式来进行关于亲属关系方面的人机对话，系统内建立了一个关于亲属关系的数据库，可接收关于亲属关系方面的问题的英语句子提问，用英语作出回答。1968年，波布洛（D.Bobrow）在美国麻省理工学院设计了STUDENT系统，这个系统把高中代数应用题中的英语句子归纳为一些基本模式，由计算机来理解这些应用题中的英语句子，列出方程求解，并给出答案。六十年代初期，格林（B.Green）在美国林肯实验室建立了BASEBALL系统，也使用IPL－V表处理语言，系统的数据库中存贮了关于美国1959年联邦棒球赛得分记录的数据，可回答有关棒球赛的一些问题。该系统的句法分析能力较差，输入句子十分简单，没有连接词，也没有比较级形式的形容词和副词，主要靠一部机器词典来进行单词的识别，使用了14个词类范畴，所有的问题都采用一种特殊的规范表达式回答。</p>
<p>（2）以文本为基础的系统<br />
某些研究者不满意在特殊格式系统中的种种格式限制，因为就一个专门领域来说，最方便的还是使用不受特殊格式结构限制的系统来进行人机对话，这就出现了以文本为基础的系统，1966年西蒙（R.F.Simmons）、布尔格（J.F. Burger）和龙格（R.E. Long）设计的PROTOSYNTHEX－I系统，就是以文本信息的存贮和检索方式工作的。</p>
<p>（3）有限逻辑系统<br />
有限逻辑系统进一步改进了以文本为基础的系统。在这种系统中，自然语言的句子以某种更加形式化的记号来替代，这些记号自成一个有限逻辑系统，可以进行某些推理。1968年，拉菲尔（B.Raphael）在美国麻省理工学院用LI SP语言建立了SIR系统，针对英语提出了24个匹配模式，把输入的英语句子与这些模式相匹配，从而识别输入句子的结构，在从存贮知识的数据库到回答问题的过程中，可以处理人们对话中常用的一些概念，如集合的包含关系、空间关系等等，并可进行简单逻辑推理，机器并能在对话中进行学习，记住已学过的知识，从事一些初步的智能活动。1965年，斯莱格勒（J.R. Slagle）建立了DEDUCOM系统，可在情报检索中进行演绎推理。1966年，桑普逊（F.B.Thompson）建立了DEACON系统，通过英语来管理一个虚构的军用数据库，设计中使用了环结构和近似英语的概念来进行推理。1968年，凯罗格（C.Kellog）在IBM360/67计算机上，建立了CONVERSE系统，该系统能根据关于美国120个城市的1000个事实的文件来进行推理。</p>
<p>（4）一般演绎系统<br />
一般演绎系统使用某些标准数学符号（如谓词演算符号）来表达信息。逻辑学家们在定理证明工作上取得的全部成就，就可以用来作为建立有效的演绎系统的根据，从而能够把任何一个问题用定理证明的方式表达出来，并实际地演绎出所需要的信息，用自然语言作出回答。一般演绎系统可以表达那些在有限逻辑系统中不容易表达出来的复杂信息，从而进一步提高了自然语言理解系统的能力。1968－1969年，格林和拉菲尔建立的的QA2,QA3系统，采用谓词演算的方式和格式化的数据（formated data）来进行演绎推理，解答问题，并用英语作出回答，这是一般演绎系统的典型代表。</p>
<p>1970年以来，出现了一定数量的第二代自然语言理解系统，这些系统绝大多数是程序演绎系统，大量地进行语义、语境以至语用的分析。其中比较有名的系统是LUNAR 系统、SHRDLU系统、MARGIE系统、SAM系统、PAM系统。</p>
<p>LUNAR系统是伍兹（W.Woods）于1972年设计的一个自然语言情报检索系统。这个系统采用形式提问语言（formal query language）来表示所提问的语义，从而对提问的句子作出语义解释，最后把形式提问语言执行于数据库，产生出对问题的回答。</p>
<p>SHRDLU系统是维诺格拉德（T.Winograd）于1972年在美国麻省理工学院建立了一个用自然语言指挥机器人动作的系统。该系统把句法分析、语义分析、逻辑推理结合起来，大大地增强了系统在语言分析方面的功能。该系统对话的对象是一个具有简单的 &#8220;手&#8221;和&#8221;眼&#8221;的玩具机器人，它可以操作放在桌子上的具有不同颜色、尺寸和形状的玩具积木，如立方体、棱锥体、盒子等，机器人能够根据操作人员的命令把这些积木捡起来，移动它们去搭成新的积木结构，在人机对话过程中，操作人员能获得他发给机器人的各种视觉反馈，实时地观察机器人理解语言、执行命令的情况。在电视屏幕上还可以显示出这个机器人的模拟形象以及它同一个真正的活人在电传机上自由地用英语对话的生动情景。</p>
<p>MARGIE系统是杉克（R.Schank）于1975年在美国斯袒福人工智能实验室研制出来的。该系统的目的在于提供一个自然语言理解的直观模型。系统首先把英语句子转换为概念依存表达式，然后根据系统中有关信息进行推理，从概念依存表达式中推演出大量的事实。由于人们在理解句子时，总要牵涉到比句子的外部表达多得多的内容，因此，该系统的推理有16种类型，如原因、效应、说明、功能等等，最后，把推理的结果转换成英语输出。</p>
<p>SAM系统是阿贝尔森（R.Abelson）于1975年在美国耶鲁大学建立的。这个系统采用&#8221;脚本&#8221;（script）的办法来理解自然语言写的故事。所谓脚本，就是用来描述人们活动（如上饭馆、看病）的一种标准化的事件系列。</p>
<p>PAM系统是威林斯基（R.Wilensky）于1978年在美国耶鲁大学建立的另一个理解故事的系统。PAM系统也能解释故事情节，回答问题，进行推论，作出摘要。它除了 &#8220;脚本&#8221;中的事件序列之外，还提出了&#8221;计划&#8221;（plan）作为理解故事的基础。所谓&#8221; 计划&#8221;，就是故事中的人物为实现其目的所要采取的手段。如果要通过&#8221;计划&#8221;来理解故事，就要找出人物的目的以及为完成这个目的所采取的行动。系统中设有一个&#8221;计划库&#8221;（plan box），存贮着有关各种目的的信息以及各种手段的信息。这样，在理解故事时，只要求出故事中有关情节与计划库中存贮的信息相重合的部分，就可以理解到这个故事的目的是什么。当把一个一个的故事情节与脚本匹配出现障碍时，由于&#8221;计划库&#8221;中可提供关于一般目的的信息，就不致造成故事理解的失败。例如，营救一个被暴徒抢走的人，在&#8221;营救&#8221;这个总目的项下列若干个子目的，包括到达暴徒的巢穴以及杀死暴徒的各种方法，就可以预期下一步的行为。同时能根据主题来推论目的。例如，输入故事：&#8221;约翰爱玛丽。玛丽被暴徒抢走了。&#8221;PAM 系统即可预期约翰要采取行动营救玛丽。故事中虽然没有这样的内容， 但是， 根据计划库中的&#8221;爱情主题&#8221;，可以推出 &#8220;约翰要采取行动营救玛丽&#8221;的情节。</p>
<p>上述的系统都是书面的自然语言理解系统，输入输出都是用书面文字。口头的自然语言理解系统，还牵涉到语音识别、语音合成等复杂的技术，显然是更加困难的课题，口头自然语言理解系统的研究近年来也有进展。</p>
<p>我国的发展状况<br />
我国自然语言理解的研究起步较晚，比国外晚了17年。国外在1963年就建成了早期的自然语言理解系统，而我国直到1980年才建成了两个汉语自然语言理解模型，都以人机对话的方式来实现。</p>
<p>八十年代中期，在国际新一代计算机激烈竞争的影响下，自然语言理解的研究在国内得到了更多的重视，&#8221;自然语言理解和人机接口&#8221;列入了新一代计算机的研制规划，研究单位增多了，研究队伍也壮大了。</p>
<p>关于HNC理论<br />
HNC理论是&#8221;Hierarchical Network of Concepts（概念层次网络）&#8221;的简称，是关于自然语言理解处理的一个理论体系。它以概念化、层次化、网络化的语义表达为基础，所以称它为概念层次网络理论。HNC理论把人脑认知结构分为局部和全局两类联想脉络，认为对联想脉络的表达是语言深层（即语言的语义层面）的根本问题。</p>
<p>HNC理论的中心目标是建立自然语言的表述和处理模式，使计算机能够模拟人脑的语言感知功能。该理论使自然语言理解获得了突破性的进展，它所蕴涵的精深丰富的思想对人工智能、语言学、计算机科学和认知科学等都具有重要的理论和应用价值，对中文信息处理和汉语研究尤其具有实际意义。</p>
<p>HNC理论完全摆脱了我国现有的这套语法学的束缚，而从语言的深层入手，以语义表达为基础，为汉语理解开辟了一条新路。HNC理论提出了可供工程实现的完整的自然语言理解的理论框架，它是一个面向整个自然语言理解的强大而完备的语义描述体系，包括语句处理、句群处理、篇章处理、短时记忆向长时记忆扩展处理、文本自动学习处理。HNC理论的出发点就是运用两类联想脉络来&#8221;帮助&#8221;计算机理解自然语言。自然语言的词汇是用来表达概念的，因此，HNC建立的词汇层面的局部联想脉络体现为一个概念表达体系。概念分为抽象概念与具体概念。HNC理论的概念表达体系侧重于抽象概念的表达。对具体概念采取挂靠近似表达方法。HNC理论认为应该从多元性表现和内涵两个方面来描述概念。<br />
它创立了五元组用来表达抽象概念的多元性表现，对抽象概念的内涵采用网络层次符号来表达。其网络层次符号包含三大语义网络：基元概念语义网络、基本概念语义网络和逻辑概念语义网络。HNC的五元组符号和三大语义网络的层次符号组合起来就可完成对抽象概念的完整表达，从而为计算机理解自然语言的语义提供了有力的手段。</p>
<p>自然语言理解技术大致可分为机器翻译、语义理解及人机会话技术几个方面。其中机器翻译(machine translation)，又称机译(MT)，是利用计算机把一种自然语言转变成另一种自然语言的过程。智能搜索引擎在这一领域的研究将使得用户可以使用母语搜索非母语的网页，并以母语浏览搜索结果。语义理解通过将语言学的研究成果和计算机技术结合在一起，实现了对词语在语义层次上的理解。人机会话技术可以为计算机提供下一代的人机交互接口，实现从文字接口、图形接口到自然语言接口的革命，同时在家用电器的人性化设计方面有着广泛的应用前景，其技术内涵主要包括语音识别、语音合成两个核心部分。</p>
<p>在语义理解的整个过程中，智能分词技术是最初的一个环节，它将组成语句的核心词提炼出来供语义分析模块使用。在分词的过程中，如何能够恰当地提供足够的词来供分析程序处理，并且过滤掉冗余的信息，这是后期语义分析的质量和速度的重要前提。尤里卡的智能分词避免了传统分词技术在拆分时产生的歧义组合。从而为语义理解的处理提供了良好的原始材料。同时，在分词的过程中，知识库当中的同义词会被逐个匹配并同时提交给语义理解模块使用，这样处理过的句子，不仅提供了原始的句型，还同时搭载了语句的概念部分。</p>
<p>第二部分 在搜索技术中的应用<br />
众所周知，随着互联网的迅速发展和广泛普及而导致网上信息爆炸性增长。如何在庞大的互联网上获得有价值的信息已成为网民日益关注的问题。这种以一定的策略在互联网中搜集、发现信息，对信息进行理解、提取、组织和处理，并为用户提供检索服务，从而起到信息导航的目的的搜索技术的出现为网民快速找到所需信息带来了福音。</p>
<p>但是，2001年，Roper Starch的调查指出，36%的互联网用户一个星期花了超过2个小时时间在网上搜索；71%的用户在使用搜索引擎的时候遇到过麻烦；平均搜索12分钟以后发现搜索受挫；搜索受挫中46%都是因为链接错误；绝大部分(86%)的互联网用户感到应当出现更有效的、准确的信息搜索技术。另一项由Keen所做的调查显示，人们平均每天有四个问题需要从外界获取答案；其中31%的人使用搜索引擎寻找答案；平均每周花费8.75个小时找寻答案；53.3%时间花在从旁人那里获得答案，29%的时间花在亲戚朋友身上，24.3%的是时间花在销售商那里；网上查找答案的，半数以上都不成功；他们每周将花费14.5美元以上，以获取正确的信息。</p>
<p>从这些调查数据中不难看出，尽管搜索服务提供者在研发搜索技术方面已经花费了大量的时间和精力，但是目前的搜索引擎仍然存在不少的局限性，比如信息丢失、返回信息太多、信息无关，这使得网民对于现有的搜索技术仍然不满，期盼更完美的搜索技术的出现。</p>
<p>由于自然语言理解技术的三方面功能，即机器翻译、语义理解及人机会话技术能够赋予搜索技术更具人性化、方便易用的特点。因此，近年来在搜索界得到了广泛的应用。无论是国内外的搜索引擎，都可以寻觅到语义理解、机器翻译的踪迹。</p>
<p>目前在搜索引擎方面主要应用的自然语言理解技术是机器翻译与语义理解技术。应用了这些技术的搜索引擎我们称之为智能搜索引擎。由于它将信息检索从目前基于关键词层面提高到基于知识（或概念）层面，对知识有一定的理解与处理能力，因而具有信息服务的智能化、人性化特征。它允许网民采用自然语言进行信息的检索，为他们提供更方便、更确切的搜索服务。</p>
<p>与传统的目录查询、关键词查询模式相比，自然语言查询的优势体现在：一是使网络交流更加人性化；二是使信息查询变得更加方便、快速和准确。现在，已经有越来越多的搜索引擎宣布支持自然语言搜索特性。比如国外的搜索引擎Google,，AskJeeves；国内的搜索引擎网易、尤里卡、问一问、21世纪互联、孙悟空、悠游等。在这里我们将重点介绍应用语义理解技术的中文智能搜索引擎。</p>
<p>首先以尤里卡搜索引擎为例简要说明一下这种智能搜索的过程。</p>
<p>实现智能搜索的过程主要分三部分：语义理解、知识管理和知识检索。其中，知识库是实现智能搜索的基础和核心。知识库提供的是语义理解中最终将要提供给用户的结果，同互联网的状况相同，人类的知识结构和容量都在飞速膨胀，所以知识库也需要有良好的适应能力。在语义理解的整个过程中，智能分词技术是最初的一个环节，它将组成语句的核心词提炼出来供语义分析模块使用。在分词的过程中，如何能够恰当地提供足够的词来供分析程序处理，并且过滤掉冗余的信息，这是后期语义分析的质量和速度的重要前提。</p>
<p>加入了知识库处理技术的智能分词能够避免了传统分词技术在拆分时产生的歧义组合。从而为语义理解的处理提供了良好的原始材料。知识检索可以利用语义分析的结果，对知识库进行概念级的检索，对用户提出问题给出准确度最高、相关度最强的检索结果。比如：&#8221;我想在北京找工作？&#8221;。首先进行语义理解，在知识库中&#8221;找工作&#8221;属于求知招聘的范畴，所以分析出用户想查询&#8221;在北京求职&#8221;。然后利用&#8221;在北京求职&#8221;这个概念查询知识库，得出答案。</p>
<p>下面我们再来看看各家宣称应用了自然语言理解的搜索技术有哪些特点。</p>
<p>问一问（www.weniwen.com）自然语言检索<br />
问一问是由闻易网科技有限公司（Weniwen Technologies, Inc.）开发的智能搜索引擎。它允许用户以自然的、整句的方式、以汉语或英语发出查询请求。易于快速地、以比较经济的方式扩展到不同的语言。 并可以同时从两种语言中识别出词汇。使用自然语言处理（NLP）技术，与传统的、基于关键词匹配的搜索技术相比，NLP技术可使问一问&#8221;理解&#8221;请求中的上下文和含义。通过使用NLP技术，问一问可以更准确地检索出适当的信息。尤其适用于旅游/休闲、金融以及消费品工业的、正在寻求可增强消费者通过Internet来访问其信息或进行自动交易的途径的大企业或门户。</p>
<p>21ilink（www.21ilink.com）中文智能搜索引擎<br />
世纪讯联公司开发的基于自然语言处理和人工神经网络的智能互动技术解决了传统信息分类中的一些语意交叉词汇抽象概念、边缘类别的信息查询问题实现了模糊查询。查询过程突出了个性化、人性化。采用了自然语言的语句单元，还可设定地方语言特色。界面更加友好，能够满足不同层次，不同查询目的客户的特殊需求。并能引导查询者快速准确地找到所需要的信息。此项智能搜索技术采用国内独创的中文问答方式，并兼容了其他传统的搜索引擎的查询方式。支持基于概念的信息搜索、行业化、专业化的智能搜索、客户定制的商务模型，还可完成管理、追踪、支付等一系列的供应链的分析、行业研究等咨询项目。实现了多方协作,业务拓展的无缝结合。</p>
<p>此项智能搜索系统是将现代智能计算技术、交换技术、网络技术、数据库技术融为一体，而建成的一个面向客户的，全方位高质量的服务体系。采用了独有的Smart Hit（智能语义）、和Kengine（知识引擎）。开放性、先进性和超前性均大大领先于同类系统。全套系统拥有完整的智能网络接入服务功能，支持各网络平台的语音文字、数据及图像，是一种智能多媒体平台。平台无中断，支持宽频网络，满足对数据库全内容覆盖要求。支持概念检索、动态页面检索。</p>
<p>孙悟空（search.chinaren.com）搜索引擎<br />
孙悟空搜索引擎是ChinaRen开发并拥有自主版权的产品,能按照用户的需求，搜索大陆和港澳台的中文网页。孙悟空搜索不仅可用传统的关键词搜索方式，更是在所有中文搜索引擎里率先采用了提问式搜索，这是ChinaRen研究并实现的一种智能中文处理技术。通过该技术，您可以直接通过提出问题的方式搜索您想要找的内容，这样不仅更符合我们平时的习惯，而且准确率更高。孙悟空搜索引擎拥有强大的搜索能力，提高搜索的智能性和准确性；智能的评价体系，保证检索结果高度相关。</p>
<p>悠游（www.goyoyo.com.cn）中文智能搜索引擎<br />
北京悠游科技开发有限公司（Beijing Goyoyo）成立于1998年10月，是一个以中文自然语言处理技术为基础建立的互联网信息咨询及技术服务网站（www.goyoyo.com）。悠游中文智能搜索引擎通过www.goyoyo.com 提供主要服务。为了更贴近用户的语言使用习惯，凭借先进的自然语言处理技术，悠游中文智能搜索引擎充分考虑到中文语句的表达结构以及丰富多样的词语表达形式，通过&#8221;口语化的提问，智能化的结果&#8221; ，让用户在查询时只需用口语化的表达方式输入欲查询的关键词、自然语句甚至输入中英文混合语句，选择要查询的网站或网页，单击&#8221;搜索&#8221;按纽，悠游中文智能搜索引擎就会根据您的查询请求自动分析语句，并且提炼主题，找到满意的答案，满足了广大用户的各种查询需求，使您能够悠闲自得的在网上畅游。</p>
<p>下面举例说明应用了语义理解技术的搜索引擎与传统搜索引擎相比的优势。</p>
<p>1、更高的搜索的易用性<br />
由于智能搜索引擎具有智能分词功能，因此使得查询变得更为简单、易于操作。以网易为例说明：需要搜索&#8221;刘德华的最新个人专辑&#8221;，只需要将整个搜索内容全部输入到搜索框中就可以找到相关的内容；而在传统的搜索引擎中则必须遵守搜索的基本数学规则，输入&#8221;刘德华 最新 个人专辑&#8221;才能够找到搜索的内容。显然在搜索的易用性方面智能搜索引擎具有明显的优势。</p>
<p>2、搜索结果的范围定位准确<br />
由于采用知识（概念）检索技术，明确和缩小的搜索范围，减少对无用信息的搜索。以尤里卡为例说明：要查找&#8221;北京的天气&#8221;只需要输入&#8221;北京天气&#8221;就可以找到相关程度甚高的北京的天气预报，同时还会给出相关的天气的内容。而在传统搜索引擎的查询结果中不但有北京天气的内容，还会给出所有与北京天气字样有关的各种内容，增大了用户查找搜索结果的难度。</p>
<p>3、搜索结果的智能性<br />
由于智能搜索引擎有综合知识库为背景，使得信息检索与导航服务更具有智能性。知识库中的知识有助于解决表达差异的问题。所谓表达差异就是用户使用不同的词表达同一概念。而知识库中关于同义词的定义正好可以消除这种表达差异带来的检索困难。</p>
<p>从上面的示例及比较不难看出运用了先进的自然语言理解技术后，搜索引擎可以识别并回答用户的问题，使用户摆脱了传统搜索引擎基于关键字的束缚，指引用户更有效更快捷地寻找到所需的资料，同时为用户提供相关的有参考价值的其他内容。由于这些特点，使得智能搜索技术能够在互联网信息检索的各个方面得到广泛的应有。它可以为大型综合搜索引擎提供后台支持，使之具有人性化、交互性的特点。它能够方便的实现垂直搜索引擎的专业类别内搜索。当然它也可以为信息门户网站提供方便快捷的站内信息搜索服务。</p>
<p></font></td>
</tr>
</table>
</td>
</tr>
</table>
<p id="TBPingURL">Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=550607</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zye.me/2011/08/18582.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>谷歌十周年 系列</title>
		<link>http://blog.zye.me/2011/07/42302.html</link>
		<comments>http://blog.zye.me/2011/07/42302.html#comments</comments>
		<pubDate>Tue, 26 Jul 2011 14:28:22 +0000</pubDate>
		<dc:creator>yezheng</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[谷歌十周年]]></category>

		<guid isPermaLink="false">http://www.5yiso.cn/2008/09/42302.html</guid>
		<description><![CDATA[谷歌十周年  下一个互联网 构建一个干净、绿色的未来 消灭下一个天花病毒 数据的民主化 移动的未来 智慧的云 网络视频的未来 谷歌十岁了，但网络广告才刚刚开始 社交网络：关心身边点滴事 搜索的未来]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.blogger.com/img/triangle.gif" border="0" id="toggleimg1" />谷歌十周年</p>
<p> <a href="http://googlechinablog.com/2008/09/blog-post_2726.html" target="_blank">下一个互联网</a><br />
<a href="http://googlechinablog.com/2008/09/blog-post_3378.html" target="_blank">构建一个干净、绿色的未来</a><br />
<a href="http://googlechinablog.com/2008/09/blog-post_27.html" target="_blank">消灭下一个天花病毒</a><br />
<a href="http://googlechinablog.com/2008/09/blog-post_26.html" target="_blank">数据的民主化</a><br />
<a href="http://googlechinablog.com/2008/09/blog-post_3803.html" target="_blank">移动的未来</a><br />
<a href="http://googlechinablog.com/2008/09/blog-post_25.html" target="_blank">智慧的云</a><br />
<a href="http://googlechinablog.com/2008/09/blog-post_6435.html" target="_blank">网络视频的未来</a><br />
<a href="http://googlechinablog.com/2008/09/blog-post_1623.html" target="_blank">谷歌十岁了，但网络广告才刚刚开始</a><br />
<a href="http://googlechinablog.com/2008/09/blog-post_24.html" target="_blank">社交网络：关心身边点滴事</a><br />
<a href="http://googlechinablog.com/2008/09/blog-post_23.html" target="_blank">搜索的未来</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zye.me/2011/07/42302.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>百度的一道笔试题</title>
		<link>http://blog.zye.me/2011/07/20532.html</link>
		<comments>http://blog.zye.me/2011/07/20532.html#comments</comments>
		<pubDate>Sun, 24 Jul 2011 02:27:57 +0000</pubDate>
		<dc:creator>yezheng</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[百度]]></category>
		<category><![CDATA[笔试题]]></category>

		<guid isPermaLink="false">http://www.5yiso.cn/2008/03/20532.html</guid>
		<description><![CDATA[是百度的一道题 寻找热门查询： 搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来，每个查询串 的长度为1-255字节。假设目前有一千万个记录， 这些查询串的重复度比较高，虽然总数是1千万，但如果除去重复后，不超过3百万个 。一个查询串的重复度越高，说明查询它的用户越多， 也就是越热门。请你统计最热门的10个查询串，要求使用的内存不能超过1G。 （1）请描述你解决这个问题的思路； （2）请给出主要的处理流程，算法，以及算法的复杂度。]]></description>
			<content:encoded><![CDATA[<p>是百度的一道题</p>
<p>寻找热门查询： <br />搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来，每个查询串 <br />的长度为1-255字节。假设目前有一千万个记录， <br />这些查询串的重复度比较高，虽然总数是1千万，但如果除去重复后，不超过3百万个 <br />。一个查询串的重复度越高，说明查询它的用户越多， <br />也就是越热门。请你统计最热门的10个查询串，要求使用的内存不能超过1G。 <br />（1）请描述你解决这个问题的思路； <br />（2）请给出主要的处理流程，算法，以及算法的复杂度。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zye.me/2011/07/20532.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Baidu 考试题</title>
		<link>http://blog.zye.me/2011/07/15416.html</link>
		<comments>http://blog.zye.me/2011/07/15416.html#comments</comments>
		<pubDate>Tue, 19 Jul 2011 02:27:26 +0000</pubDate>
		<dc:creator>yezheng</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Baidu]]></category>
		<category><![CDATA[笔试题]]></category>

		<guid isPermaLink="false">http://www.5yiso.cn/2008/03/15416.html</guid>
		<description><![CDATA[请用脚本语言 Shell完成如下功能： 给定URL 列表统计每个站点出现的 URL数 请用脚本语言 Shell完成如下功能，要求实现越简单越好： 1/ 给定URL 列表统计每个站点出现的 URL数 2/ 从一批url中grep出首页 3/ 从一批url中grep出目录页 4/ 从一批url中grep出日期页面 5/ 求两文件的交集、并集、差集 注：（1）必须使用bash script；（2）可以内嵌awk。 提供一个文本文件1（all.site），每行两列，格式为 site urlnum。 提供一个文本文件2（all.domain），每行一列，格式为 每行一个主域名 定义：主域名，如下： news.sina.com.cn 主域为sina.com.cn www.5yiso.cn   主域为5yiso.cn apple.club.sohu.com 主域为sohu.com 要求计算： （1）文件2中每个主域上在文件1中存在的站点数(文件1中站点不能保证无重复)和url数量总和 （2）站点上url数量超过所在主域上站点平均url数量的站点集合 如文件1为 hshlkm.yp.sina.net 234 www.sina.net 220 www.combuilders.org 3 cmcy.hljeca.com 1 www.gafffe.com 2 文件2为 sina.net combuilders.org 则计算结果1为: sina.net 2 454 combuilders.org <a href='http://blog.zye.me/2011/07/15416.html'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>请用脚本语言 Shell完成如下功能：<br />
给定URL 列表统计每个站点出现的 URL数</p>
<p>请用脚本语言 Shell完成如下功能，要求实现越简单越好：<br />
1/ 给定URL 列表统计每个站点出现的 URL数<br />
2/ 从一批url中grep出首页<br />
3/ 从一批url中grep出目录页<br />
4/ 从一批url中grep出日期页面<br />
5/ 求两文件的交集、并集、差集</p>
<p>注：（1）必须使用bash script；（2）可以内嵌awk。</p>
<p>提供一个文本文件1（all.site），每行两列，格式为 site urlnum。</p>
<p>提供一个文本文件2（all.domain），每行一列，格式为 每行一个主域名</p>
<p>定义：主域名，如下：</p>
<p>news.sina.com.cn 主域为sina.com.cn</p>
<p><a href="http://www.baidu.com">www.5yiso.cn</a>   主域为5yiso.cn</p>
<p>apple.club.sohu.com 主域为sohu.com</p>
<p>要求计算：</p>
<p>（1）文件2中每个主域上在文件1中存在的站点数(文件1中站点不能保证无重复)和url数量总和</p>
<p>（2）站点上url数量超过所在主域上站点平均url数量的站点集合</p>
<p>如文件1为</p>
<p>hshlkm.yp.sina.net 234</p>
<p><a href="http://www.sina.net">www.sina.net</a> 220</p>
<p><a href="http://www.combuilders.org">www.combuilders.org</a> 3</p>
<p>cmcy.hljeca.com 1</p>
<p><a href="http://www.gafffe.com">www.gafffe.com</a> 2</p>
<p>文件2为</p>
<p>sina.net</p>
<p>combuilders.org</p>
<p>则计算结果1为:</p>
<p>sina.net 2 454</p>
<p>combuilders.org 1 3</p>
<p>数据位置：zixia:/home/work/TraningData/statdomain/</p>
<p>*********************************************************************<br />
*********************************************************************</p>
<p>comm 属于 diff 家族的命令, 相当于寻找两个字符串的最长公共子串. 在寻找前, 要对两个文件先排序. 然后diff内部哈希把一行字符变成一个整数, 再使用寻找最长公共子串的动态规划. 因此, 比较一个 m 长文件和一个 n 长文件的复杂度还是比较大. 读者有兴趣的可以阅读这篇论文[PS]. 其实我自己以前也用Comm, 但是不知道为什么, comm 求集合差集的效果不好. 即使排好了序, 有很多文件之间算差集还是做不对.</p>
<p>找两个文件的交集和差集是很普通的一个事情. 举个简单的例子, 我每周都去Google 音乐趋势抓歌曲名, 抓完了以后, 我要知道哪些是我需要下的新歌 (因为有的歌可能在榜好几个星期, 不需要重复下载). 假设我机器上存的歌曲是集合B, 新抓取了集合A. 假设这些集合这都用文件存着, 每行一个歌曲名. 任务就是计算 A-B, 也就是在集合A中而不在集合B 中的那些歌曲. 我长期的使用经验证明, comm 并不能准确的算出差集.</p>
<p>抓耳挠腮了好久, 想: 要是的确有这个需求, 又没这个现成的工具, 那么肯定一行脚本能写出来. 其实只要运用集合论知识一想就知道, 就是在A中把同时在 A和B 中出现的剔除了呗. 因此办法是, 把 两个B 集合和一个 A 文件放到一起成一个大文件(集合), 然后选取这个大集合中唯一的. 那么这个唯一的肯定就是只在A中不在B中的, 仔细想想就知道是对的. 所以, 方法是:</p>
<p>sort B B A | uniq -u</p>
<p>同理, 对称差是:</p>
<p>sort A B | uniq -u</p>
<p>为什么我不喜欢用 comm 呢, 因为comm 是对有序的列表做操作的, 如果对集合, sort 和 uniq 足矣. 可能车大虾说的 join 两个表就是这个了, 不过我觉得, 这个看上去可能更加容易写一点, 毕竟用 comm 的比用 sort 和 uniq 的少一点, 而且, 复杂度也低, 构造也巧妙, 这个多能显示良好的数学和计算机功底啊 <img src='http://blog.zye.me/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Linux 不是玩具, 是提高工作效率的智慧的工具. 我越用越觉得缺少的只是想象力.</p>
<p>Update: Linux 下面解决问题从来就不止一种方法, 今天一个美国同事告诉我另一个方法求差集 A-B:</p>
<p>grep -F -f listb lista -v</p>
<p>那求交集可以用grep -F -f listb lista -v 了，呵呵．</p>
<p>＝＝＝＝＝<br />
我原文当中好像就写了吧：</p>
<p>grep -F -f listb lista -v</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zye.me/2011/07/15416.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction to Google Search Quality</title>
		<link>http://blog.zye.me/2011/07/33355.html</link>
		<comments>http://blog.zye.me/2011/07/33355.html#comments</comments>
		<pubDate>Wed, 13 Jul 2011 02:28:21 +0000</pubDate>
		<dc:creator>yezheng</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[ranking]]></category>
		<category><![CDATA[信息检索]]></category>

		<guid isPermaLink="false">http://www.5yiso.cn/2008/06/33355.html</guid>
		<description><![CDATA[from goolge official blog Introduction to Google Search Quality 5/20/2008 06:20:00 PM Posted by Udi Manber, VP Engineering, Search Quality Search Quality is the name of the team responsible for the ranking of Google search results. Our job is clear: A few hundreds of millions of times a day people will ask Google questions, and <a href='http://blog.zye.me/2011/07/33355.html'>[...]</a>]]></description>
			<content:encoded><![CDATA[<h2 class="post-title">
</h2>
<h2 class="post-title">from goolge official blog<br /></h2>
<h2 class="post-title"><a href="http://googleblog.blogspot.com/2008/05/introduction-to-google-search-quality.html">Introduction to Google Search Quality</a></h2>
<h2 class="post-title">
</h2>
<div class="date-header">
5/20/2008 06:20:00 PM
</div>
<p><span class="byline-author">Posted by Udi Manber, VP Engineering, Search Quality</span></p>
<p>Search<br />
Quality is the name of the team responsible for the ranking of Google<br />
search results. Our job is clear: A few hundreds of millions of times a<br />
day people will ask Google questions, and within a fraction of a second<br />
Google needs to decide which among the billions of pages on the web to<br />
show them &#8212; and in what order. Lately, we have been doing other things<br />
as well. But more on that later.</p>
<p>For something that is used so<br />
often by so many people, surprisingly little is known about ranking at<br />
Google. This is entirely our fault, and it is by design. We are, to be<br />
honest, quite secretive about what we do. There are two reasons for it:<br />
competition and abuse. Competition is pretty straightforward. No<br />
company wants to share its secret recipes with its competitors. As for<br />
abuse, if we make our ranking formulas too accessible, we make it<br />
easier for people to game the system. Security by obscurity is never<br />
the strongest measure, and we do not rely on it exclusively, but it<br />
does prevent a lot of abuse.</p>
<p>The details of the ranking<br />
algorithms are in many ways Google&#8217;s crown jewels. We are very proud of<br />
them and very protective of them. By some estimate, more than one<br />
thousand programmer/scientist years have gone directly into their<br />
development, and the rate of innovation has not slowed down.</p>
<p>But<br />
being completely secretive isn’t ideal, and this blog post is part of a<br />
renewed effort to open up a bit more than we have in the past. We will<br />
try to periodically tell you about new things, explain old things, give<br />
advice, spread news, and engage in conversations. Let me start with<br />
some general pieces of information about our group. More blog posts<br />
will follow.</p>
<p>I should take a moment to introduce myself. My name<br />
is Udi Manber, and I am a VP of engineering at Google in charge of<br />
Search Quality. I have been at Google for over two years, and I have<br />
been working on search technologies for almost 20 years.</p>
<p>The<br />
heart of the group is the team that works on core ranking. Ranking is<br />
hard, much harder than most people realize. One reason for this is that<br />
languages are inherently ambiguous, and documents do not follow any set<br />
of rules. There are really no standards for how to convey information,<br />
so we need to be able to understand all web pages, written by anyone,<br />
for any reason. And that&#8217;s just half of the problem. We also need to<br />
understand the queries people pose, which are on average fewer than<br />
three words, and map them to our understanding of all documents. Not to<br />
mention that different people have different needs. And we have to do<br />
all of that in a few milliseconds.</p>
<p>The most famous part of our ranking algorithm is <a href="http://www.google.com/technology/" id="b0hb" title="PageRank">PageRank</a>,<br />
an algorithm developed by Larry Page and Sergey Brin, who founded<br />
Google. PageRank is still in use today, but it is now a part of a much<br />
larger system. Other parts include language models (the ability to<br />
handle phrases, synonyms, diacritics, spelling mistakes, and so on),<br />
query models (it&#8217;s not just the language, it&#8217;s how people use it<br />
today), time models (some queries are best answered with a 30-minutes<br />
old page, and some are better answered with a page that stood the test<br />
of time), and personalized models (not all people want the same thing).</p>
<p>Another<br />
team in our group is responsible for evaluating how well we&#8217;re doing.<br />
This is done in many different ways, but the goal is always the same:<br />
improve the user experience. This is not the main goal, it is the only<br />
goal. There are automated evaluations every minute (to make sure<br />
nothing goes wrong), periodic evaluations of our overall quality, and,<br />
most importantly, evaluations of specific algorithmic improvements.<br />
When an engineer gets a new idea and develops a new algorithm, we test<br />
their ideas thoroughly. We have a team of statisticians who look at all<br />
the data and determine the value of the new idea. We meet weekly<br />
(sometimes twice a week) to go over those new ideas and approve new<br />
launches. In 2007, we launched more than 450 new improvements, about 9<br />
per week on the average. Some of these improvements are simple and<br />
obvious &#8212; for example, we fixed the way Hebrew acronym queries are<br />
handled (in Hebrew an acronym is denoted by a (&#8220;) next to the last<br />
character, so IBM will be IB&#8221;M), and some are very complicated &#8212; for<br />
example, we made significant changes to the PageRank algorithm in<br />
January. Most of the time we look for improvements in relevancy, but we<br />
also work on projects where the sole purpose is to simplify the<br />
algorithms. Simple is good.</p>
<p>International search has been one of<br />
our key focus areas in the past two years. This means all spoken<br />
languages, not just the major ones. Last year, for example, we made<br />
major improvements in Azerbaijani, a language spoken by about 8 million<br />
people. In the past few months, we launched spell checking in Estonian,<br />
Catalan, Serbian, Serbo-Croatian, Ukranian, Bosnian, Latvian, <strike>Filipino</strike><br />
Tagalog, Slovenian and Farsi. We organized a network of people all over<br />
the world who provide us with feedback, and we have a large set of<br />
volunteers from all parts of Google who speak different languages and<br />
help us improve search.</p>
<p>Another team is dedicated to new<br />
features and new user interfaces. Having a great engine is necessary<br />
for a great car, but it is not sufficient. The car has to be<br />
comfortable and easy to drive. The Google search user interface is<br />
quite simple. Very few of our users ever read our <a href="http://www.google.com/support/?ctx=web" id="w0:e" title="help pages">help pages</a>,<br />
and they can do very well without them (but they&#8217;re good reading<br />
nevertheless, and we&#8217;re working to improve them). When we add new<br />
features we try to ensure that they will be intuitive and easy to use<br />
for everyone. One of the most visible changes we made in the past year<br />
was <a href="http://googleblog.blogspot.com/2007/05/behind-scenes-with-universal-search.html" id="lsn6" title="Universal Search">Universal Search</a>. Others include the <a href="http://www.google.com/notebook" id="chsw" title="Google Notebook">Google Notebook</a>, <a href="http://www.google.com/cse" id="brd:" title="Custom Search Engines">Custom Search Engines</a>,<br />
and of course, many improvements to iGoogle. The UI team is helped by a<br />
team of usability experts who conduct user studies and evaluate new<br />
features. They travel all over the world, and they even go to people&#8217;s<br />
homes to see users in their natural habitat. (Don&#8217;t worry, they do not<br />
come unannounced or uninvited!)</p>
<p>There is a whole team that concentrates on fighting <a href="http://www.google.com/support/webmasters/bin/answer.py?hl=en&amp;answer=35769#quality" id="e-24" title="webspam and other types of abuse">webspam and other types of abuse</a>.<br />
That team works on variety of issues from hidden text to off-topic<br />
pages stuffed with gibberish keywords, plus many other schemes that<br />
people use in an attempt to rank higher in our search results. The team<br />
spots new spam trends and works to counter those trends in scalable<br />
ways; like all other teams, they do it internationally. The webspam<br />
group works closely with the <a href="http://www.google.com/webmasters/" id="gr:b" title="Google Webmaster Central">Google Webmaster Central</a> team, so they can share insights with everyone and also listen to site owners.</p>
<p>There<br />
are other teams devoted to particular projects. In general, our<br />
organizational structure is quite informal. People move around, and new<br />
projects start all the time.</p>
<p>One of the key things about search<br />
is that users&#8217; expectations grow rapidly. Tomorrow&#8217;s queries will be<br />
much harder than today&#8217;s queries. Just as Moore&#8217;s law governs the<br />
doubling of computing speed every 18 months, there is a hidden<br />
unwritten law that doubles the complexity of our most difficult queries<br />
in a short time. This is impossible to measure precisely, but we all<br />
feel it. We know we cannot rest on our laurels, we have to work hard to<br />
meet the challenge. As I mentioned earlier, we will continue providing<br />
you with updates on search quality in the coming months, so stay tuned.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zye.me/2011/07/33355.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>通过谷歌地图查看：四川大地震震中汶川在中国的方位及周围地形</title>
		<link>http://blog.zye.me/2011/07/31926.html</link>
		<comments>http://blog.zye.me/2011/07/31926.html#comments</comments>
		<pubDate>Tue, 05 Jul 2011 14:28:03 +0000</pubDate>
		<dc:creator>yezheng</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[地图]]></category>
		<category><![CDATA[地震]]></category>
		<category><![CDATA[捐款]]></category>
		<category><![CDATA[汶川]]></category>

		<guid isPermaLink="false">http://www.5yiso.cn/2008/05/31926.html</guid>
		<description><![CDATA[from Google 黑板报 &#8212; Google 中国的博客网志 作者：joydandan 发表者：谷歌市场部 潘茜 5 月 12 日下午，中国四川汶川发生了强度达 7.8 级的地震。谷歌中国已于地震当天夜里紧急启动了“地震形势图”，让大家可以看到四川汶川当地的地理位置以及全国各地最新的抗震救灾情况，并找到提供捐赠的链接。我们的员工将随时在此图上更新最新消息与进展： &#38;nbsp 此外，你还可以通过如下操作，在 Google Earth 上看到汶川所在的地理位置： 直接下载美国地质调查局地震危害项目网站上的本次地震的位置地标：http://earthquake.usgs.gov/eqcenter/recenteqsww/Quakes/us2008ryan.kml 或通过如下步骤：1．在谷歌地图上搜索汶川， 或打开上述“地震形势图”；2．选择保存到“我的地图”（你需要 Google 账号才可以保存）；3．点击地图上方的 KML 链接，你将可以下载一个Google Earth (谷歌地球)的地标文件。 如果你已经有Google Earth 软件， 双击这个KML文件，你将可以直接把它在Google Earth中打开，这样你就可以看到如下的地理位置的标注，并通过推进拉出的方式，了解它的具体方位、周边地形、与全国其他城市的距离等： &#38;nbsp 同时，你还可以在这个网址下载该网站提供的英文的地震新情况 Google Earth 地标http://earthquake.usgs.gov/eqcenter/catalogs/eqs7day-age.kmz (你同样需要有Google Earth 软件才可以查看这个地标)。它拥有实时更新功能，将随时告诉你最新地震的地理位置、震级等等。勾选左侧操作面板中“Places” 下面 Earthquake 文件夹内的“shakemap”选项，你将可以看到根据地震强度所显示的不同颜色的各地震级和影响范围，如下图所示： &#38;nbsp &#38;nbsp 上述美国地质调查局地震危害项目网站，是最快报告全球地震最新情况的专业网站之一。你可以通过谷歌翻译产品，直接用中文查看浏览该网站。虽然机器的自动翻译水准大概在高中生水平，基本数据如经纬度位置、震源深度等都是可以参考的。 我们会随时关注最新进展，并尽量提供最完备的地理信息]]></description>
			<content:encoded><![CDATA[<div class="entry-author"><span class="entry-source-title-parent">from <a href="http://www.google.com/reader/view/feed/http%3A%2F%2Fgooglechinablog.com%2Fatom.xml" class="entry-source-title" target="_blank">Google 黑板报 &#8212; Google 中国的博客网志</a></span> 作者：<span class="entry-author-name">joydandan</span></div>
<p><span>发表者：谷歌市场部 潘茜</span></p>
<p>5 月 12 日下午，中国四川汶川发生了强度达 7.8 级的地震。谷歌中国已于地震当天夜里紧急启动了<a target="_blank" href="http://ditu.google.com/maps/ms?hl=zh-CN&amp;ie=UTF8&amp;oe=UTF8&amp;msa=0&amp;msid=105498083399349668294.00044d0490f73e7f5c173&amp;mid=1210583203">“地震形势图”</a>，让大家可以看到四川汶川当地的地理位置以及全国各地最新的抗震救灾情况，并找到提供捐赠的链接。我们的员工将随时在此图上更新最新消息与进展：</p>
<p>   &amp;nbsp<a target="_blank" href="http://googlechinablog.com/uploaded_images/image001-770753.jpg"><br /><img style="border: 1px solid grey;" src="http://googlechinablog.com/uploaded_images/image001-770742.jpg" alt="" border="0" /></a></p>
<p>此外，你还可以通过如下操作，在 Google Earth 上看到汶川所在的地理位置：</p>
<p>直接下载<a target="_blank" href="http://earthquake.usgs.gov/eqcenter/eqinthenews/2008/us2008ryan/">美国地质调查局地震危害项目网站</a>上的本次地震的位置地标：<a target="_blank" href="http://earthquake.usgs.gov/eqcenter/recenteqsww/Quakes/us2008ryan.kml">http://earthquake.usgs.gov/eqcenter/recenteqsww/Quakes/us2008ryan.kml</a></p>
<p>或通过如下步骤：<br />1．在<a target="_blank" href="http://ditu.google.com/">谷歌地图</a>上搜索<a target="_blank" href="http://ditu.google.com/maps?f=q&amp;hl=zh-CN&amp;geocode=&amp;q=%E6%B1%B6%E5%B7%9D%E5%8E%BF&amp;ie=UTF8&amp;z=13&amp;iwloc=addr">汶川</a>， 或打开上述“地震形势图”；<br />2．选择保存到“我的地图”（你需要 Google 账号才可以保存）；<br />3．点击地图上方的 KML 链接，你将可以下载一个Google Earth (谷歌地球)的地标文件。 如果你已经有<a target="_blank" href="http://earth.google.com/intl/zh-TW/">Google Earth</a> 软件， 双击这个KML文件，你将可以直接把它在Google Earth中打开，这样你就可以看到如下的地理位置的标注，并通过推进拉出的方式，了解它的具体方位、周边地形、与全国其他城市的距离等：</p>
<p>   &amp;nbsp<a target="_blank" href="http://googlechinablog.com/uploaded_images/image004-710630.jpg"><br /><img style="border: 1px solid grey;" src="http://googlechinablog.com/uploaded_images/image004-710626.jpg" alt="" border="0" /></a></p>
<p>同时，你还可以在这个网址下载该网站提供的英文的地震新情况 Google Earth 地标<a target="_blank" href="http://earthquake.usgs.gov/eqcenter/catalogs/eqs7day-age.kmz">http://earthquake.usgs.gov/eqcenter/catalogs/eqs7day-age.kmz </a>(你同样需要有<a target="_blank" href="http://earth.google.com/intl/zh-TW/">Google Earth</a><br />
软件才可以查看这个地标)。它拥有实时更新功能，将随时告诉你最新地震的地理位置、震级等等。勾选左侧操作面板中“Places” 下面<br />
Earthquake 文件夹内的“shakemap”选项，你将可以看到根据地震强度所显示的不同颜色的各地震级和影响范围，如下图所示：</p>
<p>   &amp;nbsp<a target="_blank" href="http://googlechinablog.com/uploaded_images/image005-719718.jpg"><br /><img style="border: 1px solid grey;" src="http://googlechinablog.com/uploaded_images/image005-719708.jpg" alt="" border="0" /></a></p>
<p>   &amp;nbsp<a target="_blank" href="http://googlechinablog.com/uploaded_images/image007-783885.jpg"><br /><img style="border: 1px solid grey;" src="http://googlechinablog.com/uploaded_images/image007-783881.jpg" alt="" border="0" /></a></p>
<p>上述<a target="_blank" href="http://earthquake.usgs.gov/eqcenter/eqinthenews/2008/us2008ryan/">美国地质调查局地震危害项目网站</a>，是最快报告全球地震最新情况的专业网站之一。你可以通过谷歌翻译产品，直接用<a target="_blank" href="http://209.85.171.104/translate_c?hl=zh-CN&amp;sl=en&amp;tl=zh-CN&amp;u=http://earthquake.usgs.gov/eqcenter/eqinthenews/2008/us2008ryan/">中文查看</a>浏览该网站。虽然机器的自动翻译水准大概在高中生水平，基本数据如经纬度位置、震源深度等都是可以参考的。</p>
<p>我们会随时关注最新进展，并尽量提供最完备的地理信息</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zye.me/2011/07/31926.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>被Google惩罚了</title>
		<link>http://blog.zye.me/2011/07/31680.html</link>
		<comments>http://blog.zye.me/2011/07/31680.html#comments</comments>
		<pubDate>Mon, 04 Jul 2011 02:28:46 +0000</pubDate>
		<dc:creator>yezheng</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[排名]]></category>

		<guid isPermaLink="false">http://www.5yiso.cn/2008/05/31680.html</guid>
		<description><![CDATA[最近本站的PR值刚升到3，以为google的排名能更上一层楼，以为能从google带来更多的流量，没想这段时间从google来的ip几乎为0。用site：5yiso.cn看搜录，一点变化也没有，而且还是每天都更新，说明不想百度那么恶心K站，而是降低了本站的权重。 想想这些天也没干吗啊，就51期间换了模版，换个心情，应该不会因为这个惩罚。另外，还测试了一下yigao的链接广告（3天），感觉很垃圾就撤了，不想因为这个受惩罚吧。只听说google惩罚通过国外像text-link那个ads提供商出售链接才惩罚，难道小小破yigao也引起了google的注意。挂两天也惩罚！？ 很少搞SEO，不太清楚具体是何原因，有知道的朋友请帮忙分析下。 现在可惨了，每天访问量100ip都没有，google惩罚，百度就是不怎么搜录。晕，不过继续自娱自乐，哪怕每天就我自己一个ip呵呵。]]></description>
			<content:encoded><![CDATA[<p>最近本站的PR值刚升到3，以为google的排名能更上一层楼，以为能从google带来更多的流量，没想这段时间从google来的ip几乎为0。用site：5yiso.cn看搜录，一点变化也没有，而且还是每天都更新，说明不想百度那么恶心K站，而是降低了本站的权重。</p>
<p>想想这些天也没干吗啊，就51期间换了模版，换个心情，应该不会因为这个惩罚。另外，还测试了一下yigao的链接广告（3天），感觉很垃圾就撤了，不想因为这个受惩罚吧。只听说google惩罚通过国外像text-link那个ads提供商出售链接才惩罚，难道小小破yigao也引起了google的注意。挂两天也惩罚！？ </p>
<p>很少搞SEO，不太清楚具体是何原因，有知道的朋友请帮忙分析下。</p>
<p>现在可惨了，每天访问量100ip都没有，google惩罚，百度就是不怎么搜录。晕，不过继续自娱自乐，哪怕每天就我自己一个ip呵呵。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zye.me/2011/07/31680.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>PageRank up&#8211;纪念</title>
		<link>http://blog.zye.me/2011/07/30834.html</link>
		<comments>http://blog.zye.me/2011/07/30834.html#comments</comments>
		<pubDate>Fri, 01 Jul 2011 14:27:29 +0000</pubDate>
		<dc:creator>yezheng</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[pagerank]]></category>

		<guid isPermaLink="false">http://www.5yiso.cn/2008/05/30834.html</guid>
		<description><![CDATA[今天早上踢完球，甚是痛快，这把老骨头好久没有这么大运动量了。回到实验室打开qq，一哥们给我发个消息，说我的博客PR值升到3了，呵呵打开网页一看，还真是，感觉不错，特留下几个字留念。 这是好像是今年第三词PR值更新了，你的PR值up了吗？我感觉首页PR到1-3都还是比较容易的，只要你找几个站交换链接，下次更新应该就没什么问题，无需太多技巧，但听说突破4还是比较难的。 继续交换链接，具体说明请看http://www.5yiso.cn/2008/03/19274.html]]></description>
			<content:encoded><![CDATA[<p>今天早上踢完球，甚是痛快，这把老骨头好久没有这么大运动量了。回到实验室打开qq，一哥们给我发个消息，说我的博客PR值升到3了，呵呵打开网页一看，还真是，感觉不错，特留下几个字留念。</p>
<p>这是好像是今年第三词PR值更新了，你的PR值up了吗？我感觉首页PR到1-3都还是比较容易的，只要你找几个站交换链接，下次更新应该就没什么问题，无需太多技巧，但听说突破4还是比较难的。</p>
<p>继续交换链接，具体说明请看<br /><a target="_blank" href="http://www.5yiso.cn/2008/03/19274.html">http://www.5yiso.cn/2008/03/19274.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zye.me/2011/07/30834.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

