# Introduction
This api has 2 features:  
1. Helps you add punctuation and named entity recognition(NER) to Ming-Shilu, it also shows the position where ner or punctuation is used.
2. Compare the articles in Qing-Shilu and Manchu-Old-Archives to see if they describe the same event.
# Requirement
python>=3.9.19
# Installation
```
pip install IISRapi
```
# Usage
### Punctuation and NER
#### Import:
```python
from IISRapi import tool, data
```
#### To use GPU:
You can check the No. of the GPU you want to use by going to task manager
```python
ner_result=tool.IISRner(dev=your_GPU_num)
pun_result=tool.IISRpunctuation(dev=your_GPU_num)
```
#### To use CPU:
Change your_GPU_num to -1

#### Result:
##### method 1:
```python
print(ner_result(your_str))
print(pun_result(your_str))
```
##### method 2:
```python
a=data.struct(your_str)
print(ner_result(a))
print(pun_result(a))
```
Both will print out result in the format struct(Input_string, Result_string, Ner_position, Punctuation_position)
### Paraphrasing
#### Import:
```python
from IISRapi import tool
```
#### To use GPU:
```python
test=tool.eamac(gpu="cuda: your_gpu_num")
result=test(s1=qsl,s2=moa)
```
#### To use CPU:
torch.device is set to cpu by default
#### Result:
```python
print(result)
```
If both articles describe the same event, print out True, otherwise print out False.
# Example
### Punctuation and NER
```python
# -*- coding: utf-8 -*-
from IISRapi import tool,data

pun_result=tool.IISRpunctuation(dev=1)
ner_result=tool.IISRner(dev=1)

test_str=data.struct(ori_txt="天啟元年閏二月癸酉朔免肅藩貢馬先是萬歷十四年奉旨令肅府歲進馬百匹 上以額外煩費免之")

for element in pun_result(test_str):
    print(element)
    print('\n')

for element in ner_result(test_str):
    print(element)
    print('\n')
```

### Result:
```
天啟元年閏二月癸酉朔免肅藩貢馬先是萬歷十四年奉旨令肅府歲進馬百匹 上以額外煩費免之


天啟元年閏二月癸酉朔，免肅藩貢馬。先是，萬歷十四年奉旨令肅府歲進馬百匹，上以額外煩費，免之。


None


[('，', 9), ('。', 14), ('，', 16), ('，', 31), ('，', 37), ('。', 40)]


天啟元年閏二月癸酉朔免肅藩貢馬先是萬歷十四年奉旨令肅府歲進馬百匹 上以額外煩費免之


天啟元年閏二月癸酉朔免<LOC>肅藩</LOC>貢馬先是萬歷十四年奉旨令<LOC>肅府</LOC>歲進馬百匹 上以額外煩費免之


[(11, 13, 'LOC', '肅藩'), (25, 27, 'LOC', '肅府')]

None
```
### Paraphrasing
```python
# -*- coding: utf-8 -*-
from IISRapi import tool
qsl=["○復以多羅武英郡王阿濟格等出征明國、捷奏。遣官詣福陵。陳香燭酒果。焚楮祭告","○復以多羅武英郡王阿濟格等出征明國、捷奏。遣官詣福陵。陳香燭酒果。焚楮祭告"]
moa=["初九日，前往蒙古喀爾喀部馬哈撒嘛諦汗處議和之衛寨桑等，攜馬哈撒嘛諦汗來朝議和進貢則畜使臣衛徵喇嘛、畢車齊吳巴希、哲赫渾津、畢車齊班第、德得依冰圖、烏珠穆沁之納木渾津等六人及商人一百五十六人還。十一日，馬哈撒嘛諦汗使臣衛徵喇嘛等朝見聖汗，陳所貢財物牲畜，衛徵喇嘛捧其汗奏疏率眾跪。蒙古大學士希福受之，跪讀於聖汗前。其疏曰：\"馬哈撒嘛諦色臣汗謹奏威服一切之天聰汗。共持和睦之道，相互遣使往來，乃謂典籍之所首尚。然奉有與明國貿易易不合賣馬之諭，我等正欲禁止貿易，因見喀爾喀部七旗及厄魯特四部落俱往交易，幫我等亦往交七旗及厄魯特四部落俱往交易，幫我等亦往交易。為首使臣以衛徵喇嘛在內共六人。\"讀畢，衛徵喇嘛等行三跪九叩頭禮。大筵宴之。馬哈撒嘛諦汗貢馬三十、野驢一、兒鵰翎四、弓二。為首前來議和之衛徵喇嘛貢馬三、其跟役十人。古穆西班第貢馬一，畢車齊吳巴希貢其跟役二人。畢車齊吳巴希轉獻班迪大喇嘛所貢馬一，哲赫渾津貢其跟役三人，畢車齊班第貢其跟役三人，德得依貢其跟役三人。浩齊特巴琫土謝圖貢馬三，前來議和之納穆寨侍衛巴克什貢其跟役三人。烏珠穆沁之多爾吉車臣濟濃貢馬四，前來議和之納木渾津達爾漢班第貢其跟役四人。碩雷之子色稜諾木奇爾漢班第貢其跟役四人。碩雷之子色稜諾木奇、阿當阿貢馬二、跟役四人。蘇尼特戴青黃臺吉貢馬二、跟役四人。戴青黃臺吉、額爾德尼鄂木布喇嘛貢馬一、跟役二人。衛徵巴圖魯臺吉貢馬跟役二人。囊蘇喇嘛貢馬一、跟役二人。古穆臺吉貢馬一、跟役二人。烏珠穆沁之奇塔特皁鵰翎一、跟役二人。烏珠穆沁之奇塔特哈坦巴圖魯貢馬二、跟役五人。恩克依代巴圖魯貢馬三、跟役二人。奇塔特臺吉貢馬二、跟役二人。浩齊特額爾德　諾木齊奇巴海貢馬一、跟役二人。額爾德尼諾木齊貢馬一、活皁雕一、跟役二人。碩洛依額爾克齋桑貢馬二。烏珠穆沁之塞冷額爾德尼貢馬一、桑貢馬二。烏珠穆沁之塞冷額爾德尼貢馬一、跟役四人。齊巴幹齊喇嘛貢馬二、跟役三人。杜斯噶爾濟濃下達爾漢諾彥貢馬二、跟役三人。碩洛依額爾哲伊圖嘎巴楚喇嘛貢馬一。布雅胡達爾漢諾顏下西達布哈岱貢馬二。班迪大喇嘛貢馬二。濟濃綽爾濟貢馬二。諾木漢喇嘛貢馬三。衛徵班第貢馬二。鬆艾蓋嘎布楚喇嘛貢馬三。達賴綽爾吉喇嘛貢馬二。浩齊特之巴琫土謝圖下託哩喇嘛之薩滿達班第貢馬二。古希貢馬一。額吉根諾彥合貢馬四、貂皮皮端罩一。蘇米爾侍衛臺吉貢馬二。袞楚克貢馬二。恩德恩侍衛臺吉貢馬一。烏珠穆沁之色楞額爾德尼額木齊喇嘛貢馬一。色楞額爾之色楞額爾德尼額木齊喇嘛貢馬一。色楞額爾德尼滿朱習禮喇嘛貢馬二。衛徵班第貢馬二。杜斯噶爾貢馬二。","二十六日，賜阿魯喀爾喀部人：衛徵喇嘛好蟒緞一、緞二、毛青二十四，跟役三人，各毛青五。哲赫渾津、畢車齊吳巴希、納穆寨、達爾漢班第、昆德恩、納穆、額森拜七人各蟒緞一、緞二、毛青二十四，彼等跟役各二人，各毛青五。又賜達爾漢班第雕帶一，煙十刀。納穆銀盃一、煙十刀。烏蘭巴克什、畢車齊班第、德得依三人各緞衣一、緞一、毛青十六，彼等跟役各二人，各毛青五。杜斯噶爾濟濃之博依託蟒緞一、緞一、毛青十六，跟役二人，各毛青十。託羅克、僧額德依二人各緞二、毛青十六，跟役各二人，各毛青五。達爾漢諾彥石青素緞一、毛青十、煙二十刀，跟爾漢諾彥石青素緞一、毛青十、煙二十刀，跟役緞一、毛青六。鬆愛銀一百兩、單層雕鞍一，送馬之圖倫銀五兩，跟役銀二兩。碩羅依班第大喇嘛銀六十兩、海獺皮二、送馬之圖倫銀五兩，跟役銀二兩。烏珠穆沁之達爾漢喇嘛銀六十兩、海獺皮二，送馬之圖倫銀五兩，跟役銀二兩。額兒吉圖噶布楚喇嘛銀四十兩、海獺皮一，送馬之圖倫銀五兩，跟役銀二兩。額穆齊喇嘛銀四十兩、海獺皮一，送馬之圖倫銀五兩，跟役銀二兩。班地特屯喇嘛銀五十兩、海獺皮一，送馬之圖倫銀五兩，跟役銀二兩。浩齊特古希雕鞍一、海獺皮一、送馬之圖倫銀五兩。滿珠習禮喇嘛銀六十兩、海馬之圖倫銀五兩。滿珠習禮喇嘛銀六十兩、海獺皮二、察哈爾雕鞍一。蘇尼特鄂木布喇嘛銀五十兩、海獺皮一，送馬之圖倫銀五兩。烏珠穆沁之額爾克齊塔特紅披領一、帽緞一、綢子一、彭緞一、毛青布十、雕鞍一、七飾件撒袋一、十兩重之銀碗一、酒杯一，伊所遣之人訥歐訥根彭緞一、毛青八，跟役毛青四。衛徵班第銀六十兩、虎皮一、海獺皮一、圖鞋帶一、銀盃一、煙二十刀。碩洛依布雅胡達爾漢諾彥銀酒海一、甲一、蟒緞一、緞三、雕鞍一、毛青布十五，送馬之圖倫銀五兩，跟役銀二兩。浩齊特土謝圖託哩喇嘛銀三十兩、雕鞍一，送馬之圖倫銀五兩，跟役銀二兩。、雕鞍一，送馬之圖倫銀五兩，跟役銀二兩。蘇尼特囊蘇喇嘛銀二十兩、雕鞍一，送馬之圖倫銀五兩，跟役銀二兩。衛徵喇嘛銀六十兩、海獺皮一、虎皮一、雕鞍一。碩洛依濟濃綽爾吉五十兩重之銀酒海一、虎皮一，送馬之圖倫銀五兩，跟役銀二兩。諾木漢百兩重之銀槽盆一、緞四、紅蟒緞衣一、茶桶一、毛青布十，送馬之圖倫銀五兩，跟役銀二兩。達賴綽爾濟紅蟒緞一、衣一、緞二、毛青布二十、雕鞍一、酒海一、茶桶一、送馬之圖倫銀五兩，跟役銀二兩。色稜布圖瑪兒元青蟒緞一、彭緞一、帽緞一、綢子一、縫衣一、毛青布三十、雕鞍一、七飾件之撒袋一、帶一、綠布三十、雕鞍一、七飾件之撒袋一、帶一、綠斜皮二、杯碟一對。囊蘇喇嘛狐皮端罩一、黃茶四十包、歸化城茶一百包、煙十刀。碩洛依莽乃和紹齊補子緞一、縫衣一、毛青布十、圖帶板腰帶一。碩洛依紅縫衣一。青素緞縫衣一、藍綢縫衣一、藍彭緞縫衣一、倭緞縫慢一、綾子縫幔二、紅褐布衣一、氈車圍一、棉索子衣一、大毛青布一百、小毛青布一百、煙一百刀、八十兩重有足銀酒海一。後加賞縫犬雅　衣一、藍緞一、綢衣一、毛青布十、煙二十刀、綠斜皮一、銀盃二。碩洛依之孫諾爾布補子縫緞一、毛青布十。阿海博替蘇克紅蟒緞一、寶花彭緞一、洋緞一、綢子一、克紅蟒緞一、寶花彭緞一、洋緞一、綢子一、帽緞一、青素緞一、縫衣一、縫犬牙衣二、游龍一、金盃一、水晶杯一、銀瓶一、銀盃二、珊瑚素球一、毛青布四十、煙四十刀。額齊克諾彥紅蟒緞一、藍大立蟒緞一、兀青大立蟒緞一、補子緞一、大緞一、紅蟒緞衣一、彭緞五、帽緞二、綢子三、縫犬牙衣二、素縫衣一、褐布衣一、毛青布一百、薰水獺皮二、貂皮十、綠斜皮四、薰貂帽四、縫貂皮裹金黃捏摺女朝衣及縫藍緞捏摺女朝褂一對、青素緞捏摺女朝褂及捏摺女朝衣一對，綠倭緞鑲貂皮灰鼠皮裹皮襖一、縫紅緞鑲貂皮腹皮裹皮襖一、藍彭緞一、綢棉襖一、紡絲衫一、煙皮襖一、藍彭緞一、綢棉襖一、紡絲衫一、煙五十刀、雕鞍配雙層馬韂一。恩格德依巴圖魯蟒緞一、縫藍緞衣一、縫幔一、補子緞二、青素緞一、綢子二、毛青布四十、四十兩重之銀酒海一、煙四十刀　多腳銀盃一，伊所遣之人弓一。色稜塔布囊紅披領一、毛青布八。蘇尼特之滕吉斯銀茶桶一、酒海一、七飾件之撒袋一、橫刃彎柄腰刀一。東宮側福晉之母白蟒緞一、紅蟒緞衣一、補子緞一、紫色大緞一、縫犬牙衣一、彭緞一、青素緞一、綢子二、帽緞一、毛青布四十、配馬韂雕鞍一。蘇米爾紅披領一、帽緞一、綢子一、毛青布十、七飾件之撒袋一、弓一、配馬韂雕鞍一。十、七飾件之撒袋一、弓一、配馬韂雕鞍一。博羅特諾木齊縫紅緞衣一、毛青布八。蘇尼特之滕吉斯銀瓶一、人像杯一、弓一。恭格林沁喇嘛紅披領一、帽緞一、綢子一、毛青布十、銀盃碟二對、煙四十刀、綠斜皮二、雕刻實頭漆鞍一、七飾件之撒袋一、橫刃彎柄腰刀一、扁鞋帶一、浩齊特巴琫紅蟒緞衣一、帽緞一、彭緞一、毛青布十、煙二十刀，五十兩重之銀酒海一、人像杯中、察哈爾雕鞍一。烏珠穆沁之額爾克齊塔特弓一，煙二十刀，伊所遣之人緞一、毛青布二。巴琫所遣之人銀盃一、毛青布四。恩德恩披領一、毛青布八，伊所遣之人毛青布五，跟役毛青布二。阿玉，伊所遣之人毛青布五，跟役毛青布二。阿玉希毛青布七，跟役毛青布二。烏珠穆沁之濟濃褐布妝緞衣一、縫衣二、披領一、補子緞二、彭緞一、帽緞一、綢子二、毛青布五十、煙五十刀、四十兩重之有腳銀酒海一。奉聖汗諭旨，遣往喀爾喀部馬哈撒嘛諦汗處之人：察漢喇嘛本人，跟役七人，拜虎之二人，烏特格之三人，伊巴兒之四人，衛徵囊蘇之四人，戴青囊蘇之三人，奇塔特塔布囊之三人，禮親王之使者一人、跟役一人，鄭親王之使者一人、跟役一人，睿親王之使者一人、跟役二人，豫親王之使者一人、跟役二人，阿達禮郡王之使者一人、跟役一人，饒餘貝勒之使。郡王之使者一人、跟役一人，饒餘貝勒之使。者一人、跟役二人，豪格貝勒之使者一人、跟役二人，恭格林沁之一人，跟役二人。果莽綽爾濟之一人，於嘎雜哩喇嘛之一人，白喇嘛之二人，畢裡克圖之一人，賓圖喇嘛之一人，巴琫臺吉之二人，多諾依之三人，土謝圖親王之二人，杜稜郡王之六人，德森之二人，索諾木葉兒米之一人。阿布達哩及索哩二人送此往喀爾喀之使者，出齊諾河烏蘭哈達以遠。於初五日還。"]
test=tool.eamac()
result=test(s1=qsl,s2=moa)
print(result)
```
### Result:
```
[0,0]
```
# Notice
1. If you want to use GPU to run modules, visit https://pytorch.org/get-started/locally/ 
2. If you use both functions at the same time, either ner_res(pun_res(your_str)) or pun_res(ner_res(your_str)), the result will only show the result of the function which is done later.
3. Description for models:  
   https://github.com/DH-code-space/EAMAC_paraphrasing (eamac)  
   https://github.com/DH-code-space/Named-entity-Recognition-for-Ming-Shilu (NER)  
   https://github.com/DH-code-space/Automatic-Punctuation-for-Ming-Shilu (punctuation)
4. It's recommended to always have the newest version of this package.
