Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation
This project
Loading...
Sign in
石磊
/
cihai
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 5128e47b
authored
Dec 07, 2017
by
石头
Browse Files
Options
Browse Files
Tag
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
2 parents
6cd3fbaf
04701e41
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
65 additions
and
39 deletions
serverside/cihai-core/src/main/java/com/dookay/cihai/core/aip/AipUtilBean.java → serverside/cihai-core/src/main/java/com/dookay/cihai/core/aip/AipWordUtilBean.java
serverside/cihai-core/src/main/java/com/dookay/cihai/core/aip/DepParserItem.java → serverside/cihai-core/src/main/java/com/dookay/cihai/core/aip/model/DepParserItem.java
serverside/cihai-core/src/main/java/com/dookay/cihai/core/aip/LexerItem.java → serverside/cihai-core/src/main/java/com/dookay/cihai/core/aip/model/LexerItem.java
serverside/cihai-core/src/main/java/com/dookay/cihai/core/aip/WordRelation.java → serverside/cihai-core/src/main/java/com/dookay/cihai/core/aip/model/WordRelation.java
serverside/cihai-core/src/main/java/com/dookay/cihai/core/aip/model/WordSequence.java
serverside/cihai-core/src/test/java/com/dookay/cihai/core/BaiduTest.java
serverside/cihai-wechat/src/main/java/com/dookay/cihai/wechat/controller/HomeController.java
serverside/cihai-core/src/main/java/com/dookay/cihai/core/aip/AipUtilBean.java
→
serverside/cihai-core/src/main/java/com/dookay/cihai/core/aip/Aip
Word
UtilBean.java
View file @
5128e47
...
@@ -20,6 +20,9 @@ import com.dookay.cihai.core.aip.consts.DepPostTagConst;
...
@@ -20,6 +20,9 @@ import com.dookay.cihai.core.aip.consts.DepPostTagConst;
import
com.dookay.cihai.core.aip.consts.DeprelConst
;
import
com.dookay.cihai.core.aip.consts.DeprelConst
;
import
com.dookay.cihai.core.aip.consts.LexerNeConst
;
import
com.dookay.cihai.core.aip.consts.LexerNeConst
;
import
com.dookay.cihai.core.aip.consts.LexerPosConst
;
import
com.dookay.cihai.core.aip.consts.LexerPosConst
;
import
com.dookay.cihai.core.aip.model.DepParserItem
;
import
com.dookay.cihai.core.aip.model.LexerItem
;
import
com.dookay.cihai.core.aip.model.WordRelation
;
import
com.dookay.coral.common.core.exception.ServiceException
;
import
com.dookay.coral.common.core.exception.ServiceException
;
import
com.dookay.coral.common.core.utils.lang.CollectionUtils
;
import
com.dookay.coral.common.core.utils.lang.CollectionUtils
;
import
com.dookay.coral.common.core.utils.lang.StringUtils
;
import
com.dookay.coral.common.core.utils.lang.StringUtils
;
...
@@ -47,7 +50,7 @@ import java.util.stream.Collectors;
...
@@ -47,7 +50,7 @@ import java.util.stream.Collectors;
*/
*/
@Component
@Component
@Slf4j
@Slf4j
public
final
class
AipUtilBean
{
public
final
class
Aip
Word
UtilBean
{
private
static
final
ConcurrentHashMap
<
String
,
Double
>
SCORE_MAP
=
new
ConcurrentHashMap
<>();
private
static
final
ConcurrentHashMap
<
String
,
Double
>
SCORE_MAP
=
new
ConcurrentHashMap
<>();
...
@@ -64,7 +67,7 @@ public final class AipUtilBean {
...
@@ -64,7 +67,7 @@ public final class AipUtilBean {
private
final
StringRedisTemplate
template
;
private
final
StringRedisTemplate
template
;
@Autowired
@Autowired
public
AipUtilBean
(
AipNlp
aipNlp
,
StringRedisTemplate
template
)
{
public
Aip
Word
UtilBean
(
AipNlp
aipNlp
,
StringRedisTemplate
template
)
{
this
.
aipNlp
=
aipNlp
;
this
.
aipNlp
=
aipNlp
;
this
.
template
=
template
;
this
.
template
=
template
;
}
}
...
@@ -211,9 +214,10 @@ public final class AipUtilBean {
...
@@ -211,9 +214,10 @@ public final class AipUtilBean {
double
score
=
doSimnet
(
word1
,
word
);
double
score
=
doSimnet
(
word1
,
word
);
if
(
score
>
RELATE_CRITICAL_VALUE
)
{
if
(
score
>
RELATE_CRITICAL_VALUE
)
{
WordRelation
relation
=
new
WordRelation
();
WordRelation
relation
=
new
WordRelation
();
relation
.
setWord1
(
word1
);
int
from
=
words
.
indexOf
(
word1
);
relation
.
setWord2
(
word
);
int
to
=
words
.
indexOf
(
word
);
relation
.
setScore
(
score
);
relation
.
setFrom
(
from
);
relation
.
setTo
(
to
);
wordRelations
.
add
(
relation
);
wordRelations
.
add
(
relation
);
}
}
}
}
...
...
serverside/cihai-core/src/main/java/com/dookay/cihai/core/aip/DepParserItem.java
→
serverside/cihai-core/src/main/java/com/dookay/cihai/core/aip/
model/
DepParserItem.java
View file @
5128e47
package
com
.
dookay
.
cihai
.
core
.
aip
;
package
com
.
dookay
.
cihai
.
core
.
aip
.
model
;
/*****************************************
/*****************************************
* *
* *
...
...
serverside/cihai-core/src/main/java/com/dookay/cihai/core/aip/LexerItem.java
→
serverside/cihai-core/src/main/java/com/dookay/cihai/core/aip/
model/
LexerItem.java
View file @
5128e47
package
com
.
dookay
.
cihai
.
core
.
aip
;
package
com
.
dookay
.
cihai
.
core
.
aip
.
model
;
/*****************************************
/*****************************************
* *
* *
...
...
serverside/cihai-core/src/main/java/com/dookay/cihai/core/aip/WordRelation.java
→
serverside/cihai-core/src/main/java/com/dookay/cihai/core/aip/
model/
WordRelation.java
View file @
5128e47
package
com
.
dookay
.
cihai
.
core
.
aip
;
package
com
.
dookay
.
cihai
.
core
.
aip
.
model
;
/*****************************************
/*****************************************
* *
* *
...
@@ -24,7 +24,6 @@ import lombok.Data;
...
@@ -24,7 +24,6 @@ import lombok.Data;
*/
*/
@Data
@Data
public
class
WordRelation
{
public
class
WordRelation
{
private
String
word1
;
private
int
from
;
private
String
word2
;
private
int
to
;
private
double
score
;
}
}
serverside/cihai-core/src/main/java/com/dookay/cihai/core/aip/model/WordSequence.java
0 → 100644
View file @
5128e47
package
com
.
dookay
.
cihai
.
core
.
aip
.
model
;
/*****************************************
* *
* @dookay.com Internet make it happen *
* ----------- ----------------------- *
* dddd ddddd Internet make it happen *
* o o o Internet make it happen *
* k k k Internet make it happen *
* a a a Internet make it happen *
* yyyy yyyyy Internet make it happen *
* ----------- ----------------------- *
* @dookay.com Internet make it happen *
* *
****************************************/
import
lombok.Data
;
/**
* @author houkun
* @date 2017/12/7
*/
@Data
public
class
WordSequence
{
private
int
id
;
private
String
label
;
public
WordSequence
(
int
id
,
String
label
)
{
this
.
id
=
id
;
this
.
label
=
label
;
}
}
serverside/cihai-core/src/test/java/com/dookay/cihai/core/BaiduTest.java
View file @
5128e47
...
@@ -14,10 +14,9 @@ package com.dookay.cihai.core;
...
@@ -14,10 +14,9 @@ package com.dookay.cihai.core;
* *
* *
****************************************/
****************************************/
import
com.alibaba.fastjson.JSON
;
import
com.dookay.cihai.core.aip.AipWordUtilBean
;
import
com.dookay.cihai.core.aip.AipUtilBean
;
import
com.dookay.cihai.core.aip.model.WordRelation
;
import
com.dookay.cihai.core.aip.WordRelation
;
import
com.dookay.cihai.core.aip.model.WordSequence
;
import
org.apache.commons.lang3.tuple.Pair
;
import
org.junit.Assert
;
import
org.junit.Assert
;
import
org.junit.Test
;
import
org.junit.Test
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -28,7 +27,7 @@ import org.springframework.util.FileCopyUtils;
...
@@ -28,7 +27,7 @@ import org.springframework.util.FileCopyUtils;
import
java.io.File
;
import
java.io.File
;
import
java.io.FileReader
;
import
java.io.FileReader
;
import
java.util.List
;
import
java.util.List
;
import
java.util.
Map
;
import
java.util.
stream.Collectors
;
/**
/**
* @author houkun
* @author houkun
...
@@ -37,7 +36,7 @@ import java.util.Map;
...
@@ -37,7 +36,7 @@ import java.util.Map;
public
class
BaiduTest
extends
CihaiCoreApplicationTests
{
public
class
BaiduTest
extends
CihaiCoreApplicationTests
{
@Autowired
@Autowired
private
Aip
UtilBean
aip
UtilBean
;
private
Aip
WordUtilBean
aipWord
UtilBean
;
@Test
@Test
public
void
testQuery
()
throws
Exception
{
public
void
testQuery
()
throws
Exception
{
...
@@ -49,11 +48,11 @@ public class BaiduTest extends CihaiCoreApplicationTests {
...
@@ -49,11 +48,11 @@ public class BaiduTest extends CihaiCoreApplicationTests {
String
expectResult
=
"十九大"
;
String
expectResult
=
"十九大"
;
String
keyword1
=
aipUtilBean
.
extractQueryKeyword
(
text1
);
String
keyword1
=
aip
Word
UtilBean
.
extractQueryKeyword
(
text1
);
String
keyword2
=
aipUtilBean
.
extractQueryKeyword
(
text2
);
String
keyword2
=
aip
Word
UtilBean
.
extractQueryKeyword
(
text2
);
// String keyword3 = aipUtilBean.extractQueryKeyword(text3);
// String keyword3 = aipUtilBean.extractQueryKeyword(text3);
// String keyword4 = aipUtilBean.extractQueryKeyword(text4);
// String keyword4 = aipUtilBean.extractQueryKeyword(text4);
String
keyword5
=
aipUtilBean
.
extractQueryKeyword
(
text5
);
String
keyword5
=
aip
Word
UtilBean
.
extractQueryKeyword
(
text5
);
Assert
.
assertEquals
(
expectResult
,
keyword1
);
Assert
.
assertEquals
(
expectResult
,
keyword1
);
Assert
.
assertEquals
(
expectResult
,
keyword2
);
Assert
.
assertEquals
(
expectResult
,
keyword2
);
// Assert.assertEquals(expectResult, keyword3);
// Assert.assertEquals(expectResult, keyword3);
...
@@ -72,19 +71,12 @@ public class BaiduTest extends CihaiCoreApplicationTests {
...
@@ -72,19 +71,12 @@ public class BaiduTest extends CihaiCoreApplicationTests {
File
file
=
resource
.
getFile
();
File
file
=
resource
.
getFile
();
FileReader
reader
=
new
FileReader
(
file
);
FileReader
reader
=
new
FileReader
(
file
);
String
text
=
FileCopyUtils
.
copyToString
(
reader
);
String
text
=
FileCopyUtils
.
copyToString
(
reader
);
List
<
String
>
list
=
aipUtilBean
.
extractKeyWords
(
"中国共产党第十九次全国代表大会"
,
text
,
15
);
List
<
String
>
list
=
aipWordUtilBean
.
extractKeyWords
(
"中国共产党第十九次全国代表大会"
,
text
,
15
);
System
.
out
.
println
(
JSON
.
toJSONString
(
list
));
List
<
WordSequence
>
wordSequences
=
list
.
stream
().
map
(
l
->
new
WordSequence
(
list
.
indexOf
(
l
),
l
)).
collect
(
Collectors
.
toList
());
// Map<Pair<String, String>, Double> map = aipUtilBean.calcKeywordsRelated("中国共产党第十九次全国代表大会", list);
List
<
WordRelation
>
wordRelations
=
aipWordUtilBean
.
generateWordsMap
(
list
);
// System.out.println(map);
System
.
out
.
println
(
wordSequences
);
// for (String s : list) {
// Map<Pair<String, String>, Double> map1 = aipUtilBean.calcKeywordsRelated(s, list);
// System.out.println(map1);
// }
List
<
WordRelation
>
wordRelations
=
aipUtilBean
.
generateWordsMap
(
list
);
System
.
out
.
println
(
wordRelations
);
System
.
out
.
println
(
wordRelations
);
System
.
out
.
println
(
wordRelations
.
size
());
System
.
out
.
println
(
wordRelations
.
size
());
// Map<String, Long> map = aipUtilBean.extractNounWordsWithCount(text);
// System.out.print(map.toString());
}
}
}
}
serverside/cihai-wechat/src/main/java/com/dookay/cihai/wechat/controller/HomeController.java
View file @
5128e47
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
package
com
.
dookay
.
cihai
.
wechat
.
controller
;
package
com
.
dookay
.
cihai
.
wechat
.
controller
;
import
com.dookay.cihai.core.aip.AipUtilBean
;
import
com.dookay.cihai.core.aip.Aip
Word
UtilBean
;
import
com.dookay.cihai.core.theme.domain.ThemeDomain
;
import
com.dookay.cihai.core.theme.domain.ThemeDomain
;
import
com.dookay.cihai.core.theme.query.ThemeQuery
;
import
com.dookay.cihai.core.theme.query.ThemeQuery
;
import
com.dookay.cihai.core.theme.service.IThemeService
;
import
com.dookay.cihai.core.theme.service.IThemeService
;
...
@@ -45,7 +45,7 @@ public class HomeController extends BaseController {
...
@@ -45,7 +45,7 @@ public class HomeController extends BaseController {
private
IThemeService
themeService
;
private
IThemeService
themeService
;
@Autowired
@Autowired
private
Aip
UtilBean
aip
UtilBean
;
private
Aip
WordUtilBean
aipWord
UtilBean
;
/**
/**
* @author 石磊
* @author 石磊
...
@@ -66,18 +66,17 @@ public class HomeController extends BaseController {
...
@@ -66,18 +66,17 @@ public class HomeController extends BaseController {
@RequestMapping
(
value
=
"/home/search"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/home/search"
,
method
=
RequestMethod
.
GET
)
@ResponseBody
@ResponseBody
public
JsonResult
search
(
String
keyword
)
{
public
JsonResult
search
(
String
keyword
)
{
System
.
out
.
println
(
"进入搜索"
);
try
{
try
{
System
.
out
.
println
(
"keyword="
+
keyword
);
String
result
=
aipWordUtilBean
.
extractQueryKeyword
(
keyword
);
String
result
=
aipUtilBean
.
extractQueryKeyword
(
keyword
);
System
.
out
.
println
(
"搜索result"
+
result
);
ThemeQuery
query
=
new
ThemeQuery
();
ThemeQuery
query
=
new
ThemeQuery
();
query
.
setKeyword
(
result
);
query
.
setKeyword
(
keyword
);
ThemeDomain
themeDomain
=
themeService
.
getFirst
(
query
);
ThemeDomain
themeDomain
=
themeService
.
getFirst
(
query
);
if
(
themeDomain
==
null
)
return
errorResult
(
String
.
format
(
"暂无\"%s\"检索结果"
,
keyword
)
);
if
(
themeDomain
==
null
)
return
errorResult
(
"暂无检索结果"
);
System
.
out
.
println
(
themeDomain
);
System
.
out
.
println
(
themeDomain
);
return
successResult
(
"success"
,
"/theme/detail/"
+
themeDomain
.
getId
());
return
successResult
(
"success"
,
"/theme/detail/"
+
themeDomain
.
getId
());
}
catch
(
Exception
ex
)
{
}
catch
(
Exception
ex
)
{
return
errorResult
(
String
.
format
(
"暂无\"%s\"检索结果"
,
keyword
)
);
return
errorResult
(
"暂无检索结果"
);
}
}
}
}
}
}
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment